







There are many things that are uncertain in our industry right now, but one thing I am certain about, and have been for almost 13 years, is that Nix is a terrible programming language. I remember when I first learned it, it felt like pushing shit uphill. The learning cliff
Please Stop Using `nixos-rebuild switch`
Better practices for safely and reliably deploying and updating NixOS systems.
nix-community/nixos-apple-silicon
Resources to install NixOS bare metal on Apple Silicon Macs [maintainers=@tpwrules,@flokli,@yuyuyureka]

Improving My Hardware Workflow With CI and Nix
One thing you might notice if you read my blog is that I do a lot of hardware projects. Generally, these include a board, some software, and possibly some extraneous components (like CAD design, such as a case). Software tooling is quite mature, but I find that hardware had traditionally lagged quite a bit behind. For a while, I just lived with this, but over the last few months I've put in a bunch of effort to improve my workflow.

Any Nix package, live in your browser
tl;dr Try it at https://trynix.dev. Click hello, or python 3.6.2 from 2017, or two eras of hello at once, or a package that exists in no public cache. A Linux machine boots in the tab and you get a shell with those Nix packages on PATH.
trynix — boot anything nixpkgs ever shipped, in your browser
Pick any package from 13 years of nixpkgs history and boot it in an x86_64 Linux VM in your tab. No server anywhere.
I can haz smoller NixOS ISOs? | natkr's ramblings
In which I painstakingly remove functionality from a Linux live image. Like a normal person.
I've gone full Nix: Proxmox to NixOS + Incus | Bas Nijholt
After years of running a Proxmox cluster, I migrated my entire homelab to NixOS with Incus. I explain the philosophical friction of imperative 'appliance' OSs vs declarative hosts, share how I migrated my LXC/VM workloads, and why it is the perfect infrastructure to manage using AI agents.
Scott Jenson: Are we really going to use the same Desktop UX forever?
Tracking NixOS option values and dependencies | oddlama's blog
oddlama's personal web page and blog
Why the fuss about conversational programming?
First, there isn’t much fuss … yet. But there will be.

The Era of Software Quality, or the Era of Ostriches?
Humans are bad at writing secure code, and GNOME developers are no exception. GNOME is primarily written using unsafe programming languages where simple mistakes in our code lead to devastating...
Forking is Cool, or: A Unix Shell in Zig, or: Dave Learns How to Fork - ratfactor
In this article, I make a real, working interactive shell written in Zig. Though essentially a toy, it demonstrates the incredible elegance of the fork() system call and is an example of what can be done with absolutely no runtime memory allocations.
The peril of laziness lost | The Observation Deck
In his classic Programming Perl — affectionately known to a generation of technologists as "the Camel Book" — Larry Wall famously wrote of the three virtues of a programmer as laziness, impatience, and hubris: If we’re going to talk about good software design, we have to talk about Laziness, Impatience, and Hubris, the basis of good software design. We’ve all fallen into the trap of using cut-and-paste when we should have defined a higher-level abstraction, if only just a loop or subroutine. To be sure, some folks have gone to the opposite extreme of defining ever-growing mounds of higher level abstractions when they should have used cut-and-paste. Generally, though, most of us need to think about using more abstraction rather than less.
Reading Code Is Hard, and tips to improve - Trisha Gee
This week's video for Dave Farley's Continuous Delivery YouTube channel is me ranting about why reading code sucks, and offering some advice on how to improve. "Every programmer occasionally, when nobody’s home, turns off the lights, pours a glass of scotch, puts on some light German electronica, and opens up a file on their computer. ... Read more
