Latest · July 20, 2026
Linux kernel will support $ORIGIN, sort of
For some reason, during TacoSprint 2026 I decided to see if we could tackle relocatable binaries in Nix.
Read →
2026 20 posts
- Jul 18 How to piss off your Nix friends
- Jul 09 Who does Anubis actually stop?
- Jun 29 A TacoSprint 2026 Retrospective
- Jun 25 GuixPkgs: every Guix package, as a Nix flake
- Jun 22 Hijacking ELF entry points for NixOS compatibility or WTF is wrap-buddy?
- Jun 21 Nix needs relocatable binaries
- Jun 21 nix-build in under 100 lines
- Jun 15 A trillion dollars
- Jun 08 Relocatable Derivations
- Jun 05 The Guix Nix Abomination: Leveraging Guix derivations in Nix
- Jun 01 Every byte matters
- May 31 AI is a Boon for the Anal-Retentive
- May 23 Leaving performance on the table
- Mar 27 Does anyone actually use the large code-model?
- Mar 07 Nix is a lie, and that's ok
- Feb 18 Linker Pessimization
- Feb 11 Creating massively huge fake files and binaries
- Feb 03 Crazy shit linkers do: Common Data (COMDAT) sections
- Jan 30 Crazy shit linkers do: Relaxation
- Jan 01 Bespoke software is the future
2025 42 posts
- Dec 30 Huge binaries: papercuts and limits
- Dec 29 Huge binaries: I thunk therefore I am
- Dec 28 Huge binaries
- Dec 26 Failing interviews
- Oct 29 Nix derivation madness
- Oct 07 Fuzzing for fun and profit
- Sep 09 Bazel Knowledge: Smuggling capabilities through a tarball
- Sep 05 Writing a protoc plugin in Java
- Sep 02 Bazel Knowledge: Testing for clean JVM shutdown
- Aug 27 Bazel Knowledge: dive into unused_deps
- Aug 17 Using Nix as a library
- Aug 11 GitHub Code Search is the real MVP
- Aug 10 Angle brackets in a Nix flake world
- Jul 28 Bazel Knowledge: Mixing and matching how to build third_party is lunacy
- Jul 15 Bazel Knowledge: Beyond _deploy.jar for OCI images
- Jul 08 Bazel Knowledge: transition with style
- Jul 07 home-manager is a false enlightenment
- Jul 02 Nix S3 multi-user woes
- Jun 22 Bazel's Original Sins
- Jun 15 Bazel Knowledge: Homonymous Bazel Modules
- Jun 10 Bazel Knowledge: Diagnostic messages only on failure
- May 26 Linux cgroup from first principles
- May 22 Bazel Knowledge: Recursive Bazel for testing
- May 20 Bazel Knowledge: A practical guide to depset
- May 14 Bazel linux-sandbox and cgroups
- May 08 Bazel cgroup memory investigation
- May 07 Chaining Nix stores for fun
- Apr 02 Nix that looks like Bazel
- Mar 28 What's in a Nix store path
- Mar 27 Nix vanity store paths
- Mar 23 Nix derivations by hand
- Mar 12 Nix Dynamic Derivations: A lang2nix practicum
- Mar 11 Nix Dynamic Derivations: A practical application
- Mar 10 An early look at Nix Dynamic Derivations
- Mar 08 Demystifying Nix's Intensional Model
- Mar 03 404s and updated CSS
- Feb 28 Jekyll Git commit
- Feb 28 Nix migraines: NIX_SSL_CERT_FILE
- Feb 26 Nix pragmatism: nix-ld and envfs
- Feb 02 Nix: string interpolation of directories gone awry
- Jan 28 Bazel: Build Event Protocol Viewer
- Jan 12 Bazel Knowledge: Be mindful of Build Without the Bytes (bwob)
2024 26 posts
- Dec 18 Faking incremental Docker loads
- Nov 28 Bazel Knowledge: Protobuf is the worst when it should be the best
- Nov 08 JVM boot optimization via JavaIndex
- Oct 29 Bazel Knowledge: What's an Interface JAR?
- Oct 23 Bazel Knowledge: mind your PATH
- Oct 13 Bazel Knowledge: Aspects to generate Java CLASSPATH
- Sep 26 Bazel Knowledge: reproducible outputs
- Sep 25 Bazel Knowledge: Secret //external directory
- Sep 23 Bazel Knowledge: Reference targets by output name
- Aug 29 Bazel Overlay Pattern
- Aug 29 Bazel WORKSPACE chunking
- Aug 13 NixOS, Raspberry Pi & Me
- Jul 31 Automatic Nix flake follows
- Jul 29 Import but don't import your NixOS modules
- Jul 28 NixOS Option Inspection
- Jul 24 Management Time
- Jul 21 Scaling past 1 million ELF symbol relocations
- Jul 17 Fish the bash way
- Jul 12 Nix secrets for dummies
- Jul 10 Nix remote building with Yubikey
- Jul 05 Learn Nix the Fun Way
- Jul 02 Reproducibility in Disguise: Bazel, Dependencies, and the Versioning Lie
- May 03 Speeding up ELF relocations for store-based systems
- Mar 03 Visualizing GitHub workflow run length time
- Feb 27 Hermetic, but at what cost?
- Jan 14 Abusing GitHub as a PyPI server
2023 2 posts
- Sep 11 Quick insights using sqlelf
- Mar 19 sqlelf and 20 years of Nix
2022 3 posts
2021 10 posts
- Sep 10 Using an overlay filesystem to improve Nix CI builds
- Sep 02 The yak shave for reproducibility
- Aug 12 A Nix Binary Cache Specification
- Aug 10 Investigating hydration times with Nix
- Aug 05 The search for a minimal nix-shell continued; mkShellMinimal
- Aug 02 A minimal nix-shell
- Jul 31 Eval the Nix
- Jun 27 Java, Nix & Reproducibility
- Jun 22 setting up a Nix Google Cloud Storage (GCS) binary cache
- Mar 13 JRuby and Sorbet
2020 23 posts
- Dec 01 autopatchelf - what it can look like
- Nov 17 On-demand linked libraries for Nix
- Nov 12 Debugging a JNR-FFI bug in Nix
- Nov 10 Isolation using Java's ClassLoader
- Oct 20 Nix parallelism & Import From Derivation
- Sep 28 nix-copy-closure your nix-shell
- Sep 23 VPNs continued
- Sep 20 VPNs from first principles
- Sep 17 Tailscale is magic; even more so with NixOS
- Sep 08 NixOS; what's in a rebuild? Continued.
- Sep 06 NixOS; what's in a rebuild?
- Sep 04 mvn2nix; welcoming Maven into Nix's warm embrace
- Sep 02 quassel core on NixOS with Let's Encrypt
- Sep 02 nix coercion trick
- Aug 11 caching your nix-shell
- Jul 20 Packaging a Maven application with Nix
- Jul 18 what is bundlerEnv doing?
- Jul 15 setting up a Nix S3 binary cache
- Jun 08 my love letter to redo
- May 31 Containers from first principles
- Apr 12 bpf_helpers and you...
- Apr 02 Parallel Task Execution
- Mar 31 New blog. New format.