Weeknotes: 2025-W30
Published: , updated:
Summary
Got my multi-agent orchestration project bootstrapped, and used it to work on a few projects this week. Tried to wrangle the complex Seattle Worldcon 2025 program by downloading it and using Claude Code to remove and highlight sessions, and then made a text app to do that myself.
Took a long weekend since I was starting to get a bit bored on writing code.
Photos
(Based more on time of processing than time of taking…)
Enjoying
- Reading:
- The Waiting (Renée Ballard #6) by Michael Connelly (★★★★★)
- Was great to see Maddie Bosch feature more in this, especially if it increases the chance of seeing her in the Ballard TV Series in the future (although I imagine Madison Lintz may want a break from that role for a while)
- Nightshade (Catalina #1) by Michael Connelly
- The Waiting (Renée Ballard #6) by Michael Connelly (★★★★★)
- Watching (📺🏃🐌📅🎥📽️🏠🔄🏁💑👥★☆):
- 📺🐌💑🏁 Hacks season 4 (★★★★☆)
- 📺🐌💑 This Old House season 45
- 📺📅 Revival season 1
- 📺🏃🔄🏁 Lost Girl seasons 5 and 6
- 📺🏃 Sullivan’s Crossing seasons 1 and 2
- Playing:
Newly discovered
Textual
Textual is a text-based application user interface library for Python, which also supports usage via the web.
I’m a bit late to this since I’ve been writing primarily Rust for years now, but for some reason I decided to work in Python last week on a text client to look through the Seattle Worldcon 2025 program, and Textual was what I ran into.
There’s some rough edges around widget focus and keybinding (possibly made worse by introducing tmux into things), but it got me started way quicker than I expected.
Highlights
We will need to compensate: to reach out, to mentor, to create on‑ramps. To instil the idea that you should be looking for a community, because the AI won’t do that. We need to turn a solitary interaction with an AI into a shared journey with a community, and to move them towards learning the important lessons about engineering.
– “Welcoming The Next Generation of Programmers” by Armin Ronacher
An interesting insight - in the past, “self-taught” and further learning often included participation or at least observation of a community which brought along norms and skills beyond those needed to solve the problem in front of you right now. How will things change now that AI can act as mentor and teacher?
Among its features, the ability to use classes for object-oriented programming is both powerful and frequently recommended. However, classes aren’t always the best solution. In many cases, Python’s built-in types, functions, and standard library modules provide simpler, cleaner alternatives. Here are several scenarios where you might not need a Python class
– “You might not need a Python class” by Adam Grant
This is a good set of advice on appropriate non-use of classes in Python (which map pretty directly to Rust’s common practices).
Your type system is there to help you. Use it.
In programming, we often need to deal with simple values that can be represented by simple, generic types built into our programming language or provided by libraries: types like integer, string, or UUID.
In any nontrivial codebase, this inevitably leads to bugs when, for example, a string representing a user ID gets used as an account ID, or when a critical function accepts three integer arguments and someone mixes up the correct order when calling it.
A much better solution is to define different types and use them when representing different things! int or string are excellent building blocks, but passing them around your system as-is means you slowly but inevitably lose important context: what they actually represent.
– “Use Your Type System” by Chris Dzombak
The other half to the advice above - fewer classes, more types - especially simple ones that wrap primitive types.
Recommended reading
Reverse Proxy Deep Dive - Mitendra Mahto
This is a series about reverse proxies, something that I spent a lot of time working with over the last decade. They’re an interesting domain, and the latest two entries written in the last week cover some real-world issues the teams around me worked on solving.
Recommended watching
The Making of Until Dawn - ponysmasher (aka David F. Sandberg)
Assuming you can handle the gore, this is some great behind-the-scenes on challenges and approaches taken in directing a film - including a pretty straightforward discussion of the “practical vs. CG” discussion/argument.
Beat the Compression! How to Get Better YouTube Uploads - Gerald Undone
A great explanation of the trade-offs involved in avoiding compression artifacts (like banding) while dealing with the accompanying loss of bit rate for important areas. I only wish there were something quantitative like MS-SSIM or VMAF accompanying the pictures.