2026-04-15
Immutable Systems: NixOS + systemd-repart + systemd-sysupdate
x86.lol/generic/2024/08/28/systemd-sysupdate.htmlWhen you build software for embedded devices (your Wi-Fi router or home automation setup on your Raspberry Pi), there is always the question how to build these images and how to update them.
2026-04-05
Killing the ISP Appliance: An eBPF/XDP Approach to Distributed BNG
markgascoyne.co.uk/posts/ebpf-bngAn open-source, eBPF-accelerated BNG that runs directly on OLT hardware - eliminating expensive centralised appliances
2026-01-09
Decorative Cryptography
www.dlp.rip/decorative-cryptographyLast year, I came agross a Linux kernel feature called TCG_TPM2_HMAC. It claims to detect or prevent active and passive interposer attackers.
It all sounds really great. We should care about interposer adversaries. It’s great to use the TPM features that were invented to help us with these problems.
2025-11-18
Patterns for Defensive Programming in Rust | corrode Rust Consulting
corrode.dev/blog/defensive-programming[...] hard-learned patterns to write more defensive Rust code, learned throughout years of shipping Rust code to production. I’m not talking about design patterns here, but rather small idioms, which are rarely documented, but make a big difference in the overall code quality.
2025-08-27
Inside Windows 3
www.xtof.info/inside-windows3.htmlWindows 3 is often said to be just an UI on top of DOS. This article presents some of the inner side of Windows 3.x and will show that it is more ambitious and advanced than that.
2025-06-27
How fast are Linux pipes anyway?
mazzo.li/posts/fast-pipes.htmlPipes are ubiquitous in Unix --- but how fast can they go on Linux? In this post we'll iteratively improve a simple pipe-writing benchmark from 3.5GiB/s to 65GiB/s, guided by Linux
perf.
2025-05-22
Collaborative Text Editing without CRDTs or OT - Matthew Weidner
mattweidner.com/2025/05/21/text-without-crdts.htmlThis blog post describes an alternative, straightforward approach to collaborative text editing, without Conflict-free Replicated Data Types (CRDTs) or Operational Transformation (OT). By making text editing flexible and easy to DIY, I hope that the approach will let you create rich collaborative apps that are challenging to build on top of a black-box CRDT/OT library.
2025-03-19
Comptime Zig ORM
matklad.github.io/2025/03/19/comptime-zig-orm.htmlThis post can be considered an advanced Zig tutorial. I will be covering some of the more unique
aspects of the language, but won't be explaining the easy part. If you haven't read the Zig
Language Reference, you might start there. Additionally,
we will also learn the foundational trick for implementing relational model.
2025-01-22
Building a tiny Linux from scratch
blinry.org/tiny-linuxLast week, I built a tiny Linux system from scratch, and booted it on my laptop!
2024-11-22
Protecting Signal Keys on Desktop
cryptographycaffe.sandboxaq.com/posts/protecting-signal-desktop-keysThis blogpost describes our investigation and proof of concept to enhance the security of Signal Messenger key management on desktop.
2024-11-20
Why I love Rust for tokenising and parsing
xnacly.me/posts/2024/rust-pldevMacros, iterators, patterns, error handling and match make Rust almost perfect
2024-11-19
Using Nix to Fuzz Test a PDF Parser (Part One)
mtlynch.io/nix-fuzz-testing-1Fuzz testing is a technique for automatically uncovering bugs in software. The problem is that it’s a pain to set up. Read any fuzz testing tutorial, and the first task is an hour of building tools from source and chasing down dependencies upon dependencies.
I recently found that Nix eliminates a lot of the gruntwork from fuzz testing. I created a Nix configuration that kicks off a fuzz testing workflow with a single command.
2024-11-13
What I Wish Someone Told Me About Postgres
challahscript.com/what_i_wish_someone_told_me_about_postgresI want to try to catalog the bits that I wish someone had just told me before working with a Postgres database. Hopefully, this makes things easier for the next person going on a journey similar to mine.
2024-09-10
Notes on Distributed Systems for Young Bloods – Something Similar
www.somethingsimilar.com/2013/01/14/notes-on-distributed-systems-for-young-bloodsBelow is a list of some lessons I’ve learned as a distributed systems engineer that are worth being told to a new engineer. Some are subtle, and some are surprising, but none are controversial. This list is for the new distributed systems engineer to guide their thinking about the field they are taking on. It’s not comprehensive, but it’s a good beginning.
What is the best pointer tagging method?
coredumped.dev/2024/09/09/what-is-the-best-pointer-tagging-methodIn this post, we are going to take a deep dive into pointer tagging, where metadata is encoded into a word-sized pointer. Doing so allows us to keep a compact representation that can be passed around in machine registers. This is very common in implementing dynamic programming languages, but can really be used anywhere that additional runtime information is needed about a pointer. We will look at a handful of different ways these pointers can be encoded and see how the compiler can optimize them for different hardware.
2024-09-04
the spatula
www.thespatula.io/rust/rust_io_uring_echo_serverIn this article we build off what we’ve already learned about io_uring and extend that to build an async echo server.
2024-07-31
Revealing the Inner Structure of AWS Session Tokens
medium.com/@TalBeerySec/revealing-the-inner-structure-of-aws-session-tokens-a6c76469cba7TL;DR: A world first reverse engineering analysis of AWS Session Tokens. Prior to our research these tokens were a complete black box…
Compiler Options Hardening Guide for C and C++
best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.htmlThe Best Practices for OSS Developers working group is dedicated to raising awareness and education of secure code best practices for open source developers.