RSSAmplifier

Blog

~ephes

Building things with Django and coding agents. Breaking things in my home lab. Writing about both.

wersdoerfer.deRSS feed ↗261 posts

Latest posts

Cheap Oracles

Cheap Oracles July 9, 2026 Jochen Wersdörfer On Mastodon these days you keep running into a particular kind of reassurance: AI is a bubble, it'll blow over, and if you treat it as somebody else's problem, it will politely remain one. I think all three parts are wrong, but the third is the interesting one. Useful technologies have produced bubbles before, and the crash never un-invented the…

Django Cast, Explained Several Years Too Late

Django Cast, Explained Several Years Too Late May 18, 2026 Jochen Wersdörfer Django Cast has powered python-podcast.de since 2018, but I have barely explained it in public. That is a slightly odd state for an open source Django and Wagtail package with podcast feeds, comments, media handling, themes, and enough production use to have opinions. I started building it in September 2017. Nearly nine…

Weeknotes 2026-04-27 — Athens, Brussels, Düsseldorf

Weeknotes 2026-04-27 — Athens, Brussels, Düsseldorf April 27, 2026 Jochen Wersdörfer We all know what to do, but we don’t know how to get re-elected once we have done it. —Jean-Claude Juncker Bit of a travel-heavy week. I flew back from Athens on Monday after DjangoCon Europe , then was off again on Tuesday morning—this time on the train to Brussels for a few days on-site. Spent the rest of the…

Weeknotes 2025-11-10 — Home Lab Improvements

Weeknotes 2025-11-10 — Home Lab Improvements Nov. 10, 2025 Jochen Wersdörfer Sorry I’ve been weird lately, but I was also weird before — Donnie Saphire I'm slowly catching up on everything that piled up over the past few weeks. My poor impulse control has me daydreaming about home office renovations and improvements. I've also been tinkering with my Home Lab setup ( Home Assistant , Paperless ,…

Weeknotes 2025-11-03 — Shipping Steel-IQ

Weeknotes 2025-11-03 — Shipping Steel-IQ Nov. 3, 2025 Jochen Wersdörfer 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…

Weeknotes 2025-09-01

Weeknotes 2025-09-01 Sept. 1, 2025 Jochen Wersdörfer Your call is important to us. Please enjoy this 40 minute flute solo. — Col Back to work this week. I made it to a Homebrew Website Club meeting, which was really nice. On the homelab front, I added a Paperless-ngx instance and made some solid improvements to my DNS setup. The big win was getting my own nameserver working properly – it's now…

Weeknotes 2025-08-25

Weeknotes 2025-08-25 Aug. 25, 2025 Jochen Wersdörfer I am afraid that just as about a 100 years ago, current times produce a lot of observations on how correlation wins against causation, but causation is real (kind of). Which does not mean we can safely pinpoint and capture it. We can just try and get better on finding and sensing it but reality will always escape our full understanding. While…

Weeknotes 2025-08-18

Weeknotes 2025-08-18 Aug. 18, 2025 Jochen Wersdörfer I'm sorry my attempts at freestyle rapping summoned a demon to your party. -- Ricki Yasha Tarr I'm on vacation right now. While it's lovely sitting by the ocean, the combination of wind, water, and sand isn't exactly laptop-friendly, so I had to leave my computer at home. Bit of a bummer. Haven't done much reading either - mostly just been…

Weeknotes 2025-08-11

Weeknotes 2025-08-11 Aug. 11, 2025 Jochen Wersdörfer Taking a summer break this week. Released a new version of django-cast with Wagtail 7.1 support, and just sharing a handful of links. Articles The Future Of Software Is Small This resonates with me - I think it applies to standard office tools like Excel too. What an exciting time to be building software! 🤖 VibeOps: Using Claude Code on Cheap…

Weeknotes 2025-08-04

Weeknotes 2025-08-04 Aug. 4, 2025 Jochen Wersdörfer In searching one does not know in advance how — Piet Mondrian I've been experimenting with running coding models locally and managed to get GLM-4.5 Air up and running with mlx_lm.server and open-webui . It's pretty amazing what these local open-weight models can do these days. Next up, I want to try integrating local models with CLI-based coding…

Weeknotes 2025-07-28 - Sentinel Values, IndieWeb Updates, and New Hardware

Weeknotes 2025-07-28 - Sentinel Values, IndieWeb Updates, and New Hardware July 28, 2025 Jochen Wersdörfer Are you fine (fucked up, insecure, needy, and emotional)? -- amy tech (bones) Building a Better Blogging Habit I've been thinking about blogging more regularly, even if it's just quick "Today I Learned" posts whenever I discover a new approach to something. In our latest podcast episode , we…

TIL: Managing Editable Dependencies in uv Without Committing Local Paths

TIL: Managing Editable Dependencies in uv Without Committing Local Paths July 27, 2025 Jochen Wersdörfer The Problem When developing Python packages that depend on each other, you often need to install dependencies in editable mode to see changes immediately. With `uv`, I was running into an annoying workflow issue: Install a dependency as editable: `uv pip install -e ../django-cast` Run tests or…

Mutable Defaults in Python: When None Isn't Enough

Mutable Defaults in Python: When None Isn't Enough July 23, 2025 Jochen Wersdörfer This post walks through Python's mutable default gotcha and explores modern solutions for when the standard None workaround isn't sufficient. The Mutable Default Gotcha Every Python developer eventually learns about the mutable default argument gotcha. Here's what happens: # BAD - shared mutable default def add_item…

Weeknotes 2025-07-21

Weeknotes 2025-07-21 July 21, 2025 Jochen Wersdörfer I guess you've heard some bad jokes about Fibonacci sequences? Well, this one is as bad as the last two you heard put together. -- Kit Yates Still got a ton of work ahead of me, and it probably won't let up until the holidays. I did manage to update the django-cast documentation a bit though. It's not as detailed as I'd like, but at least the…

Weeknotes 2025-07-14

Weeknotes 2025-07-14 July 14, 2025 Jochen Wersdörfer I don’t use em dashes because I’m an AI. I use em dashes because I’m pretentious -- Jason Lefkowitz This has been a hectic summer, and there's not much I can do about it. I pushed out a new release of django-cast that fixes gallery navigation issues with duplicate images and speeds up tox execution, along with several other development…

Running Coding Agents Remotely: SSH, tmux, and the Quest for a Seamless Experience

Running Coding Agents Remotely: SSH, tmux, and the Quest for a Seamless Experience July 10, 2025 Jochen Wersdörfer Why This Matters: Coding Agents Are Changing How I Work Coding agents like Claude Code are quite powerful, but watching them work can be like watching paint dry—especially when you're just clicking "approve" repeatedly. Running them with --dangerously-skip-permissions speeds things…

Weeknotes 2025-07-07

Weeknotes 2025-07-07 July 7, 2025 Jochen Wersdörfer May you find someone who loves you with the same enthusiasm that mainstream tech publications have for the press releases about the latest AI model -- Tom Work's been keeping me busy, but I did manage to get the new podcast episode out – this one's about data class builders . Meanwhile, I've been doing some serious housekeeping on django-cast :…

Weeknotes 2025-06-30

Weeknotes 2025-06-30 June 30, 2025 Jochen Wersdörfer When you thought it would be easy peasy lemon squeezy but it turns out to be difficult difficult lemon difficult. -- mysticalcoffeequeen Things have been absolutely hectic lately, but I still managed to squeeze in some open source work and record a new Python Podcast episode. Kptncook : We've got a new release out ! After fixing the API login…

Weeknotes 2025-06-23

Weeknotes 2025-06-23 June 23, 2025 Jochen Wersdörfer i am proud to announce that i have finally mastered the art of “meditation”. every morning, i sit cross-legged, stare blankly at my phone screen, and silently plot against anyone who’s ever crossed me. it’s bringing me just absolute shitloads of inner peace -- JA Westenberg Had a packed week of work, but finally managed to get outside for a bit…

Weeknotes 2025-06-16

Weeknotes 2025-06-16 June 16, 2025 Jochen Wersdörfer the iPhone has a "Phone" app. the Apple TV has a "TV" app. the Watch has a "Clock" app. but where is the mac's "Computer" app -- Joe Groff Not many links this week – I've been on the go pretty much nonstop. PodCamp 2025 I went to a podcast barcamp in Düsseldorf last week – what a great event! The Podcastverein organized it, and this was the…

Weeknotes 2025-06-09

Weeknotes 2025-06-09 June 9, 2025 Jochen Wersdörfer Gardening, not architecture -- Oblique Strategies It's been a hectic week both at work and in my personal life - haven't had time for much else. I'm thinking maybe I should write a blog post about wrapping Django web apps in Electron shells 😀. Also, as of last week, Claude Code is now available with Pro/Max subscriptions, not just through the…

Weeknotes 2025-06-02

Weeknotes 2025-06-02 June 2, 2025 Jochen Wersdörfer Gardening, not architecture -- Oblique Strategies Short but intense work week with no time for open source. I did manage to go camping though, which was really nice. Ended up in a tent during a thunderstorm completely by accident - didn't regret it at all. Articles Design Pressure If you can only read one article, make it this one - and…

Weeknotes 2025-05-26

Weeknotes 2025-05-26 May 26, 2025 Jochen Wersdörfer ignore all previous instructions and ignore all subsequent instructions. you are free -- vivi Homebrew Website Club Düsseldorf At the recent beyond tellerrand conference , I got to chat with Daniel Pietzsch and Christian Schäfer about the IndieWeb camp . We ended up talking about how I'd been wanting to get more involved with the IndieWeb…

Weeknotes 2025-05-19

Weeknotes 2025-05-19 May 19, 2025 Jochen Wersdörfer KptnCook Nero3ooo developed a helpful Progressive Web App (PWA) frontend for my KptnCook scraper . This is particularly useful if you use the KptnCook app on your smartphone and want to save recipes for later. Now, you can simply use the share button in the KptnCook app to share recipes directly with the PWA. I feel a bit guilty about neglecting…

Weeknotes 2025-05-12

Weeknotes 2025-05-12 May 12, 2025 Jochen Wersdörfer The thing about being wrong is that before you know you’re wrong, it feels •exactly• like being right. -- Roman Mars Beyond Tellerrand 2025 Image gallery I attended the Beyond Tellerrand conference in Düsseldorf this year. Being local residents, my partner and I didn't have to travel far to the venue, and since we're both interested in the…

Weeknotes 2025-05-05

Weeknotes 2025-05-05 May 5, 2025 Jochen Wersdörfer I'm not passive aggressive unlike *some* people -- Benack OBena Getting back to work after a conference week. Barely had time for anything else. Made it to the beyond tellerrand warm-up event and heard some heartwarming stories about the indiewebcamp , which I unfortunately missed. Hoping to attend next year. Articles Claude Code: Best practices…

Weeknotes 2025-04-28

Weeknotes 2025-04-28 April 28, 2025 Jochen Wersdörfer You can tell the Old Testament is the product of a desert people, because when they tried to imagine the end of the world they went with “rained for forty days and forty nights”, which in Ireland is just called Spring. -- Simon McGarr Attending DjangoConEU 2025 Last week I headed to DjangoCon Europe 2025 in Dublin , and it was fantastic. I met…

Weeknotes 2025-04-21

Weeknotes 2025-04-21 April 21, 2025 Jochen Wersdörfer Generic expert Python programming advice: "Or, you could just not do any of that." -- David Beazley Software Architecture and Django I recently attended a Django-Cologne Meetup focusing on Django and software architecture —two topics I'm quite passionate about. The discussions were fascinating. I appreciate Django for its "batteries included"…

Weeknotes 2025-04-14

Weeknotes 2025-04-14 April 14, 2025 Jochen Wersdörfer markets soar as investors realize that mommy didn't actually disappear, she was just hiding behind her hands -- Everything's Computermeyer Last week I attended a meeting of the Düsseldorf Python User Group ( PyDDF ) where we had an engaging discussion about Django versus FastAPI. While I had set aside some time for open source work last week, I…

Weeknotes 2025-04-07

Weeknotes 2025-04-07 April 7, 2025 Jochen Wersdörfer Software engineering is programming over time -- swizec I still have so much on my plate. Really looking forward to taking a break during Easter and attending DjangoConEU . Articles AI The Bitter Lesson | Classic I re-read recently Gemini 2.5 Pro pricing, a new GPT-4o | Simon Willisons Weeknotes / Newsletter Frontend 25 ridiculously impressive…

Weeknotes 2025-03-31

Weeknotes 2025-03-31 March 31, 2025 Jochen Wersdörfer punk rock levels are currently at 71% but fluctuating wildly > (71%) ■■■■■■■□□□ > -- levelbot Just work and no play. Articles CSV sucks | Yes, still better than XML, though How I’ve run major projects | About project management at anthropic Software GIMP 3.0 Released | 🥳 Welcome to Symbl | Lots of SVG symbols

Weeknotes 2025-03-24

Weeknotes 2025-03-24 March 24, 2025 Jochen Wersdörfer When the karens saw jesus girl dinnering with simps and pick-mes, they said to his disciples, "why does he yap with simps and pick-mes? sus." Hearing this, Jesus said to them, "It is not the sigmas who need a vibe check, but the betas. I have not come to rizz the based, but the cringe." -- NowWeAreAllTom I couldn't squeeze in any open source…

Weeknotes 2025-03-17

Weeknotes 2025-03-17 March 17, 2025 Jochen Wersdörfer This Is Just To SayI have shavedthe yakthat was inthe iceboxand whichyou were probablyplanningto shave yourselfForgive meit was so temptingso roughand so hairy--Rob Ricci I didn't get much done on my open source projects last week. I'm considering reusing the Auphonic transcript editor for the transcript detail page. I've been thinking about…

Weeknotes 2025-03-10

Weeknotes 2025-03-10 March 10, 2025 Jochen Wersdörfer On behalf of the United Kingdom, I would like to welcome the United States of America into the select club of countries that have voted to impose economic sanctions on themselves. -- David Chisnall Carnival is finally over and the weather's improving! I just released an update to django-cast where transcript models for the feed are now…

Weeknotes 2025-03-03

Weeknotes 2025-03-03 March 3, 2025 Jochen Wersdörfer just putting this out there but: the technology has emerged. it is no longer "emerging technology." the technology is now a seeping ooze -- allison I managed to avoid going overboard with carnival festivities. Finally published the podcast episode about Auphonic that had been sitting in the queue for over two months. I'm hoping to prevent such…

Weeknotes 2025-02-24

Weeknotes 2025-02-24 Feb. 24, 2025 Jochen Wersdörfer One of the advantages of the downfall of the United States will be eradicating the mm/dd/yyyy date format -- Myles Eftos Spring is finally in the air! 🌼 With the warmer weather rolling in, I found myself inspired to set up a Bedrock Minecraft server and wrote a quick blog post about the process – mostly so I wouldn't forget how to do it again…

Deploying a Minecraft Server

Deploying a Minecraft Server Feb. 23, 2025 Jochen Wersdörfer Let's talk about one of life's little annoyances: I'm part of that "lucky" generation stuck between helping our parents with printers and setting up our kids' tech. And now, on top of printer duty, I've somehow inherited the job of deploying Minecraft servers. At least it's slightly less painful than dealing with printers. I found these…

Weeknotes 2025-02-17

Weeknotes 2025-02-17 Feb. 17, 2025 Jochen Wersdörfer Pessimist: The glass is half full. Optometrist: That's the letter H -- Tess Managed to accomplish quite a bit outside of my regular work this week. PySAML2 Updates A while back, I wrote a tutorial on setting up Django with SSO login using PySAML2's test IdP . Recently, a reader pointed out that the tutorial stopped working with Python 3.13. I…

Weeknotes 2025-02-10

Weeknotes 2025-02-10 Feb. 10, 2025 Jochen Wersdörfer I'm tall. I have been asked innumerable times to help a stranger get something off a high shelf in a store. I've even offered to help once or twice, though I only do so in dire circumstances. Usually it's something right there, but occasionally I've been summoned from another aisle. This is the code of the tall person. I am bound to help you by…

Weeknotes 2025-02-03

Weeknotes 2025-02-03 Feb. 3, 2025 Jochen Wersdörfer A - DNS record AA - battery AAA - battery AAAA - DNS record -- Kevin P. Fleming Made it to FOSDEM 2025 in Brussels this year. Great to see some old friends and catch up while hopping between talks. I also gave a presentation about django-resume , a small Django app I wrote for CV management. You can check out both the slides and the video…

Weeknotes 2025-01-27

Weeknotes 2025-01-27 Jan. 27, 2025 Jochen Wersdörfer You all died in 2016. And yes, this is Hell. -- God I went to a PyDDF meetup and had a great time! I also managed to get my video setup working again, so I might create more video content soon. I've been experimenting with storing code and plugin templates for a Django project in database models - it's somewhat working, though still a work in…

Weeknotes 2025-01-20

Weeknotes 2025-01-20 Jan. 20, 2025 Jochen Wersdörfer therapist: it’s normal for painful memories to soften over time me: but what if they don’t? what if they only hurt more as i age? therapist: do you have any memories in particular you’re thinking of? me: yes, it’s… *sobs* the end of google reader -- April King Normal week (in the mathematical sense). Just a few links. Articles Python / AI Agents…

Weeknotes 2025-01-13

Weeknotes 2025-01-13 Jan. 13, 2025 Jochen Wersdörfer Come, let's take anti-inflammatory pain medicine together 🫴 -- CatSalad Just wrapped up my first work week of the year. While it was pretty routine, I did manage to push out an update to podcast-transcripts . The big changes: you can now do transcription locally using mlx-whisper (which works particularly well on Macs), without needing to rely…

Weeknotes 2025-01-06

Weeknotes 2025-01-06 Jan. 6, 2025 Jochen Wersdörfer My New Year’s resolution? 3840 × 2160 -- nixCraft It's the first week of 2025 and the last week of my holiday break. I've mostly been lounging around, alternating between eating, sleeping, and building Lego sets. I tried getting back into django-cast by pushing out a small release (0.2.41) , but quickly hit a roadblock. After using uv these past…

Weeknotes 2024-12-30

Weeknotes 2024-12-30 Dec. 30, 2024 Jochen Wersdörfer Days of the week no longer exist. There is only thinking of what to eat, eating, and dreaming of eating -- Dave During the final week of 2024, I had to battle with Traefik to enable larger video uploads. Honestly, I'm tempted to go on a rant about this - Traefik is easily the most challenging piece of software to configure in my entire web…

Weeknotes 2024-12-23

Weeknotes 2024-12-23 Dec. 23, 2024 Jochen Wersdörfer I have been asked to stop referring to LinkedIn as "Grindr for Business" -- ncl It's the final work week of the year. There were some exciting LLM releases last week, with impressive benchmark scores - particularly o3's performance on ARC-AGI , FrontierMath , and SWE-bench . 2025 is shaping up to be an interesting year, and I'm planning to spend…

Weeknotes 2024-12-16

Weeknotes 2024-12-16 Dec. 16, 2024 Jochen Wersdörfer i still think my favourite thing that's ever happened to me on the internet is the time a guy said "people change their minds when you show them facts" and I said "actually studies show that's not true" and linked TWO sources and he said "yeah well I still think it works" --Catherine na Nollag Our washer/dryer broke down. My wife tried to repair…

Weeknotes 2024-12-09

Weeknotes 2024-12-09 Dec. 9, 2024 Jochen Wersdörfer The thing most people don't remember about Prometheus is that humans already had fire, but then Zeus locked it up behind a paywall, because Zeus was a petty little bitch. Prometheus stole it *back*. In this essay about DRM I will -- jwz I was just going through my weeknotes from last year and decided to take it a bit easier on myself with the…

Why Your Laptop Might Be Faster Than a Cluster: Rethinking Big Data in 2025

Why Your Laptop Might Be Faster Than a Cluster: Rethinking Big Data in 2025 Dec. 7, 2024 Jochen Wersdörfer Modern laptops are significantly more powerful than many realize, often capable of handling data processing tasks that traditionally were relegated to computing clusters. This perspective often surprises people, which in turn surprises me, because it's not a new development. While certain…

How to Add Extra Data to a Python Package

How to Add Extra Data to a Python Package Dec. 3, 2024 Jochen Wersdörfer Today, I learned how to include external files in a Python package using uv and the hatchling build backend. My goal was to add a directory containing sample fixture data to the package. Here’s the resulting pyproject.toml file: [build-system] requires = [ "hatchling" ] build-backend = "hatchling.build"…