Update for the week ending on Friday, Sep 12, 2025
mtlynch.io
- Published my August 2025 retrospective
- Retroactively retitled my Refactoring English to be explicitly about the book rather than “Educational Products”
- Simplified semantics in my frontmatter for blog images
- Previously, I used Hugo’s default of
images:with a list of full paths to images - I changed it to a custom
banner_imagevalue that just has a single filename that’s assumed to be in the same directory as the Markdown file
- Previously, I used Hugo’s default of
- Fixed dead links
- Fixed a dead link to the Selenium docs
- Simplified Fastmail instructions for couple’s email domain post
Refactoring English
- Published my interview with Adam Gordon Bell
- Started working on blog post about influential software ssays
- Added edit markers to the section on honing the introductions to make the edits more obvious
- Tweaked the style of the navbar
- Tweaked style on the Early Access page
- Emailed another dev author for advice
HN Popularity Contest
- Bars in the per-domain bar chart now link to the ranking for that year
- Spent way too long debugging why the last story timestamp file wasn’t updating properly
- To indicate when the data was last updated, I have a file in the dataset that just contained the UNIX timestamp of the most recent story in the dataset
- For some reason, this file wouldn’t get updated when everything else was
- I couldn’t tell if it was a problem with my FTP command or a problem with my caching on Bunny
- First, I changed the format from UNIX timestamp to RFC3339 so I could understand at a glance what day the timestamp represented
- Then, I added debugging to the FTP upload script so it would dump the local version of the timestamp before uploading to Bunny, then query the data from Bunny after uploading to compare them
- It turned out that
--ignore-timein my FTP command causedlftpto skip the timestamp file because the local version had the same file size as the server-side version - I changed it to
--transfer-all, but that ended up trying to query all the timestamps from the server again, even though I want to overwrite everything. - So, the working solution was to pass both
--ignore-timeand--transfer-all.
- Fixed table style
- I messed it up with other CSS changes
beancount-chase-bank
- Added support for an additional ACH format
- Tried to add a Python + requirements nix flake
- But it kept failing in weird ways, I’m assuming because some of my requirements are not packaged for Nix
- So I switched to a Python-only flake and just manually install the requirements in a virtual environment
- Made a slight change to the format of my
dev_requirements.txtfile- This ended up not really mattering, but I thought it would eliminate a hoop in my Nix flake stuff
NixOS config
- Tidied up my personal NixOS config
- Got the open-source NVIDIA drivers working
- I was seeing a lot of crashes with the proprietary ones, so I’m hoping this fixes things.
- It still can’t recover from sleep without an awkward workaround where I switch to Terminal then back to Gnome.
- Got the open-source NVIDIA drivers working
- Got local LLMs working again
- I feel like I do this every once in a while, and then updating nixpkgs breaks them and I have to disable them because I don’t have time to debug
- Hopefully the NVIDIA stuff makes it more stable
- Got ollama + gpt-oss:20B working on my system
- Was cool for a second, then felt underwhelming.
- It’s just so much slower than cloud-hosted models, and I can’t get it to work with Cline
- I decided I needed to get a chat interface working to make it cool
- Got open-webui working
- Cool for a second, then underwhelming for the same reasons bare ollama was.
- Got rid of the
--impureflag on my standard nixos-rebuild command- I added it at some point to get around some bug, probably with VS Code, but now it builds cleanly without, and I feel less dirty.
- Went back to nixpkgs-unstable
- I had gone back to 25.05 because I felt like things were crashing a lot, but then after a few weeks on 25.05, I felt like things were more stable on
-unstable.
- I had gone back to 25.05 because I felt like things were crashing a lot, but then after a few weeks on 25.05, I felt like things were more stable on
HN Observer
HN Observer is a tool I’m working on to predict the outcome of submissions to Hacker News based on past historical data.
- Added a graph tracking for submission rates and front page rates per hour
- Added a table view of submissions within an hour slice by which ended up reaching the front page
- Modified the story history chart to offer different time scales
- Fixed a bug where I kept querying status updates on deleted/dead posts forever
fuzz-xpdf
- Updated fuzzing corpus to pull in new edge-case PDFs from pdf.js 5.4.149
- I tried running the fuzzer for a couple days on my cloud VPS, but it didn’t turn up anything new.
Misc
- Did my monthly bookkeeping
- Fixed my freezer again
- Hopefully long-term this time, as I ran a 5’ snake through the drain
- I didn’t feel any clogs, but it reached the bottom.
- Had a call with the AirGradient team about issues I ran into with their product
- It prompted them to finally merge in my whitespace cleanup PR
- Upgraded the CPU on my homelab NAS server
- Discovered that the new CPU had bent pins and wouldn’t fit in the motherboard
- Fortunately, I was able to fix the pins by sliding a utility blade through the rows of pins, a fix I was surprised worked.
- It was satisfying because it’s one of those things where, 10 years ago, I would have just sent it back and had to go through a bunch of hassle to get it replaced because it feels scary to touch CPU pins, but I had a recent experience fixing a bent pin on a motherboard cable, so I gave it a shot, and it worked.
- Successfully negotiated a $30 refund on the CPU
- Listed my old CPU for sale
- Attended a non-fiction book club
- Got some doors repaired in my house