Brandon Rhodes

Number of videos:
19
PyOhio 2011: Squinting at Python Objects
PyOhio 2011
Brandon Rhodes
Added: Feb. 23, 2012Language: English
How To Shut Down Tolkien
PyGotham 2014
Brandon Rhodes
Recorded: Oct. 20, 2014Language: English
The Clean Architecture in Python
PyOhio 2014
Brandon Rhodes
Recorded: July 27, 2014Language: English

Even design-conscious programmers find large applications difficult to maintain. Come learn about how the recently propounded “Clean Architecture” applies in Python, and how this high-level design pattern fits particularly well with the features of the Python language and answers questions that experienced programmers have been asking. (An update of my un-recorded talk from PyCon Ireland 2013!)

Watch your Python script with strace
PyOhio 2014
Brandon Rhodes
Recorded: July 26, 2014Language: English

Modern operating systems sandbox each process inside of a virtual memory map from which direct I/O operations are generally impossible. Instead, a process has to ask the operating system every time it wants to modify a file or communicate bytes over the network. By using operating system specific tools to watch the system calls a Python script is making -- using "strace" under Linux or "truss" under Mac OS X -- you can study how a program is behaving and address several different kinds of bugs.

The Day of the EXE Is Upon Us
PyCon US 2014
Brandon Rhodes
Recorded: April 13, 2014Language: English

It was once quite painful to build your Python app as a single .exe file. Support forums filled with lamentations as users struggled with primitive tools. But today, two separate tools exist for compiling your Python to real machine language! Come learn about how one of the biggest problems in commercial and enterprise software has now been solved and how you can benefit from this achievement.

All Your Ducks In A Row: Data Structures in the Standard Library and Beyond
PyCon US 2014
Brandon Rhodes
Recorded: April 12, 2014Language: English

Why are Python programmers crazy about lists and dictionaries, when other languages tout bitmaps, linked lists, and B+ trees? Are we missing out? Come learn how data structures are implemented on bare metal, how to select the right data structure, how the list and dictionary cover a wide swath of use cases, and when to dip into the Standard Library or a third-party package for an alternative.

Skyfield and 15 Years of Bad APIs
PyCon CA 2013
Brandon Rhodes
Recorded: Aug. 10, 2013Language: English

I released the first version of PyEphem in 1998. Built with SWIG, it made astronomical calculations in Python only slightly more convenient than writing C code to make raw calls to the libastro library. A massive rewrite five years later improved the interface, but a decade of fielding questions from users has convinced me to re-think how an API can better help programmers cope with an unfamiliar and complex domain like astronomy. This talk will explore how API design, NumPy integration, and modern high-performance Python computation combine in Skyfield, the new pure-Python astronomy library that I will release during the PyCon Canada sprints!

PyOhio 2013 Keynote: Sine Qua Nons
PyOhio 2013
Brandon Rhodes
Recorded: July 27, 2013Language: English

What are the key features of a modern dynamic language like Python that let a programmer make progress even against difficult problems, even on days when things are not going well? Starting simple and then ramping up to complex, Brandon takes us from how beginners can use a Python dictionary to pair up matching data, to how to use ctypes to work around limitations in the built-in Python SSL module, as he takes us through the tools and approaches that for a Python programmer are all part of a day's work — the features without which we would not be as productive.

The Naming of Ducks: Where Dynamic Types Meet Smart Conventions
PyCon US 2013
Brandon Rhodes
Recorded: March 15, 2013Language: English

While Java and C# use static type declarations to eliminate ambiguity, the Python programmer must survive through sheer clarity and consistency in naming variables. We will explore the deep unspoken conventions that the Python community has developed and honed over two decades to make Python code readable and meaningful within the freedom that a dynamically-typed language grants us.

Documenting Your Project in Sphinx
PyCon US 2013
Brandon Rhodes
Recorded: March 14, 2013Language: English

Projects can succeed or fail because of their documentation. When you write, you need to concentrate on your prose—not on how to get text rendered, indexed, highlighted, and cross-referenced. The Sphinx documentation framework exists to make these parts easy so you can focus on writing. This tutorial will use hands-on exercises to teach you to write, theme, and deploy documentation using Sphinx!

A Python Æsthetic: Beauty and Why I Python
PyCon CA 2012
Brandon Rhodes
Recorded: Nov. 10, 2012Language: English

Why did I start using Python in the late 1990s? Was it for any of the reasons that I remain a fan today? In this talk we will explore how Python, even while training us to avoid and become blind to its rough edges, works to teach us new ways of making programs beautiful. Even novices should learn new things to love about Python by listening to this talk!

Python Design Patterns 1
PyOhio 2012
Brandon Rhodes
Recorded: July 29, 2012Language: English

The Python community has learned a lot about how to use our language since we started back in the 1990s, and this talk will use simple one-slide programs to illustrate the crucial refactorings that can help make a large real-life application far more testable and maintainable while making its code easier to re-use. This will not be a re-hash of Gang-of-Four refactorings, but specific to Python.

Python, Linkers, and Virtual Memory
PyCon US 2012
Brandon Rhodes
Recorded: March 11, 2012Language: English

Why does “top” show that your Python process uses 110 MB of virtual memory but has a resident set size of 9 MB? Does it consume more memory to spawn several interpreters, or to run one Python and have it fork() further workers? What is an “undefined symbol,” anyway? Learn about how an operating system manages memory, loads shared libraries, and what this means for Python servers and applications.

Flexing SQLAlchemy's Relational Power
PyCon US 2012
Brandon Rhodes
Recorded: March 10, 2012Language: English

How do you take the big step from casual SQLAlchemy user, who treats your database as a mysterious object store, to advanced power user, who optimizes critical queries, plans indexing and migrations, and generates efficient reports? This talk will teach you how databases think; why humanity invented the Relational Algebra; and how SQLAlchemy grants you access to relational power.

Documenting Your Project With Sphinx
PyCon US 2012
Brandon Rhodes
Recorded: March 8, 2012Language: English

Python projects can succeed or fail because of their documentation. Thanks to Sphinx, Python now has a “documentation framework” with indexing, syntax highlighting, and integration with your code. Students will be given a small undocumented Python package, and during the exercises they will give the package a tutorial and reference manual. Plus: deployment and theming!

SQL for Python Developers
PyCon US 2012
Brandon Rhodes
Recorded: March 7, 2012Language: English

Relational databases are often the bread-and-butter of large-scale data storage, yet they are often poorly understood by Python programmers. Organizations even split programmers into SQL and front-end teams, each of which jealously guards its turf. These tutorials will take what you already know about Python programming, and advance into a new realm: SQL programming and database design.

The Mighty Dictionary (#55)
PyCon US 2010
Brandon Rhodes
Recorded: Feb. 19, 2010Language: English