Articles on Python · Rust · AI
-
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 authentication, and it ships with Django out of the box. -
August 18, 2026
Guardrails Protect Your Codebase. What Protects Your Judgment?
Cal Newport's On AI Coding and Its Discontents lands on an uncomfortable point: the speed AI gives you is paid for with the thinking that made us good engineers in the first place.
Read code instead of writing it and you get passive recognition where you used to have an active model of the code.
-
July 13, 2026
Learning New Skills in the AI Era (vBrownBag)
I joined the vBrownBag podcast with Damian to talk about how to actually learn a new language or skill when an agent can write the code before you finish typing the prompt.
-
July 10, 2026
Rust, AI, and the Developer Mindset (Develpreneur Podcast)
I joined the Develpreneur podcast with Jim Hodapp to talk about the Rust developer mindset and what makes Rust a good fit for AI-assisted work.
-
July 8, 2026
Judgment: The Skill AI Can't Give You
Every time I hear the phrase coding is solved, I worry about where this industry is heading. Yes, AI writes the code, you review it, ship it, move on. Is there still value in writing the code yourself and going deep into the problem? Yes, and I think it matters more than ever.
-
July 4, 2026
One Core, Two Interfaces, No Rewrites
When building applications, I always build the core first, then the interfaces. It was no different with Ask the Canon: a
uv run main.py ask "..."CLI for quick iteration and validation, then the web app for MVP. Search, ranking, citations, all using the same engine. -
June 30, 2026
Ask the Canon: Semantic Search Without a Vector Database
I built out askthecanon.com this weekend, a semantic search over 100 public-domain books (from the Gutenberg project). You ask a question in plain language and get the passages that mean that, cited by author, title, and chapter. I wanted a local, no-generative-AI solution: a retrieval engine using Hugging Face embeddings and NumPy that returns original passages, no full vector database (yet), no API calls at query time.
-
June 26, 2026
There Is No Magic: An AI Agent in 60 Lines of Python
Everybody talks about agents, and a lot of people assume they're some new kind of model. They aren't. An agent is a small amount of plumbing around an LLM you already understand. Let's build one from scratch in Python and see exactly what that plumbing is.
-
June 25, 2026
Python Is Not Enough: Why Pythonistas Love Rust (Podcast)
I joined Bas Steins and Michal Martinka on their complexity.fm show to talk about why Pythonistas are picking up Rust, what AI really does to how we learn, and why vibe coding is a myth. The conversation ran for over an hour because there was a lot to unpack.
-
June 24, 2026
AI Is an Accelerator, Not a Compass
A Reddit thread caught my eye this week. A developer spent three days with AI building out an authentication system, then realized the entire user flow was wrong. Not because the code was bad. Because nobody had mapped out what the system was actually supposed to do before line one.
That's what happens when speed gets decoupled from direction.