Weeknotes 2025-11-03 â Shipping Steel-IQ
OH: Dance like no one is watching, love like youâve never been hurtâbut code like all your repos are public. âli5a
I haven't published Weeknotes in a few monthsâbeen heads down on Steel-IQ, easily one of the most complex projects I've worked on in recent years. Last week we finally shipped it: an open-source modelling platform for steel decarbonisation, now out in the world for anyone to explore. I was genuinely impressed by how deep you can go into the details of industrial decarbonisation.
Beyond the source code, we packaged a standalone build so you can install it locally, feed in your own data, and run scenarios that stretch the steel system out to 2050 (no Python setup required). It's a standalone Django/Electron app with a graphical interface for configuring runs, so definitely run some simulations before installing that blast furnace in your backyard. đ
Last week we had another Homebrew Website Club DĂŒsseldorf meetup. Big thanks to Daniel for spotting a bug in my django-indieweb packageâwe actually managed to fix it right there during the session. I also spent some time last week installing Arch Linux on an old 2019 Intel MacBook Pro. It went pretty smoothly, though I'm still having issues with sleep/suspend and the touchbar isn't working.
Articles
- While we're talking about weird Python edge cases, what do you think this does? | cool thread đ§”
- The PSF has withdrawn a $1.5 million proposal to US government grant program | right decision, I set up a monthly donationâyou should do the same.
- Async Django: a solution in search of a problem | Interesting take, though I think there's some confusion here. Mixing async as an I/O multiplexing concept with background tasks like Celery (which is completely different) doesn't really help the argument. And useful benchmarks are genuinely hardânot difficult to get this wrong! đ Ironically, I actually agree with the conclusion that most Django developers won't need async views. Most websites simply don't need to have lots of long-lived open connections. But when you DO need thatâwhether for WebSockets, SSE, serving large files, or minimizing latency with multiple backend service callsâasync support is probably the most elegant solution we have right now. Maybe threads will be a viable alternative once Python's threading story improves (especially with the recent free-threading work), but that's also complex and will take years. The async effort definitely wasn't wastedâit's what makes Django viable for all use cases without having to switch frameworks.
- Scripts I wrote that I use all the time | Some nice ideas in there..
- Building a typical section design with modern CSS | CSS can be really nice if you know what you are doing..
- Same-document view transitions have become Baseline Newly available | go firefox đ
- moneyflow - Terminal UI for personal finance power users | This is interesting. I use a combination of moneymoney and YNAB but am looking for a self hosted replacement for YNAB.
- Default Apps 2025 | Nice overview.
- The State of Django 2025 | It's fascinating how quickly things are evolving. Just this February, I was giving a talk advocating for Django with htmx over the complexity of SPAs. Now, when I run into a broken SPA projectâwhether it won't build or the tests are failing after updatesâI can just point Claude Code or codex at it, say "please fix," and it actually works most of the time. Makes you wonder if all these architectural debates even matter anymore.
Videos
- Talking AI and Agentic Coding with Yury Selivanov | Great discussion, really insightful! And yes, these tools are hard to use. Yes, they're dangerous. Yes, they make it incredibly easy to fool yourself. But are they actually useful? Absolutely.
- Build to Last Chris Lattner on software craftsmanship and AI