Articles on Python · Rust · AI
Popular
Recent
-
September 26, 2026
The Programming Books I Still Recommend After 15 Years
Someone asked me the other day which programming books are worth reading. I found an old blog post of mine from 2011 (!) and my favorites have barely changed, which is telling. And with AI writing much of the code these days, I think these books are more useful, not less.
-
September 19, 2026
Ship Your First Python App: a Free Course on the Local Dev Workflow
I keep hearing this a lot: the Python syntax I picked up in an afternoon, but shipping a real project meant learning ten more things. There is a stark difference between writing some code in Python vs building an app that someone else can run on their system. These skills are taught, but rarely together in one place. So I am building a free course to teach this.
-
September 18, 2026
Protocol or ABC? Designing a pluggable provider interface
I was designing the provider boundary with a developer for a CLI tool that talks to two different image-generation backends.
Same inputs from the user, two different SDKs underneath. We were figuring out how best to define the shared contract: an abstract base class, or a
typing.Protocol? This article has the answer. -
September 17, 2026
Why Rust makes you import a trait to use its methods
An interesting challenge for a new developer came up in our Rust cohort: they opened a file and wanted to read its contents from disk, but the compiler refused to let them call
read_to_string. -
September 13, 2026
How Libraries Run Rust Inside Python (with PyO3)
Every time you validate data with Pydantic v2, the data-validation library most Python apps reach for, a Rust extension does the work. Its core, pydantic-core, is built with PyO3, the same toolchain we'll use here.
-
September 11, 2026
Why Learn to Code If AI Can Code? 6 Reasons
Stanford's Chris Piech runs Code in Place, an intro programming class with 17,000 students and over 1,000 teachers. They've run it both before and after Cursor and Claude Code arrived, and enrollment basically doubled. It turns out that more people, not less, want to learn to code now that AI can write it.
-
September 9, 2026
Database-Driven RBAC with FastAPI and Azure Entra ID
This came out of a coaching project: a FastAPI service backing a geotechnical database. We use Azure Entra ID for authentication, but we needed role-based access control (RBAC) granularly per endpoint and across different user roles. It turned into an interesting sprint where we designed it so that role changes did not require code changes.
-
September 7, 2026
5 design patterns used in my new habit tracker app
There are plenty of habit trackers, but I wanted to build mine with constraints, a calendar view and habit streaks. So I built commitgraph: a small Django + HTMX app. Here are five Python design and testing patterns from building it.
-
September 4, 2026
Why does Alembic need an import you never use?
A coaching session this week surfaced a good question: Alembic autogenerate only works if you import your models first, even though you never reference them.
Ruff flags the import as unused.
So why is it there?
-
August 22, 2026
Unsubscribe links without a login: Django signing
Django has a signing module that makes it easy to build an unsubscribe link that works with no login and no session:
token = signing.dumps(recipient.pk, salt=UNSUBSCRIBE_SALT). The token itself is the credential, and it ships with Django out of the box.