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-02-25
Finding the Bottom Turtle · blog.dave.tf
blog.dave.tf/post/finding-bottom-turtleSome reflections on trusting trust, and how deep the rabbit hole goes.
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-07-07
Rewriting Kafka in Rust Async: Insights and Lessons Learned in Rust | Rex Wang
wangjunfei.com/2025/06/18/Rewriting-Kafka-in-Rust-Async-Insights-and-Lessons-Learned#SummaryAchieving high-performance asynchronous Rust projects transcends mere usage of the async/await syntax; it fundamentally relies on a deep understanding of the underlying task scheduling, lock optimization, and architecture design principles.
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.
2024-12-05
Optimization adventures: making a parallel Rust workload 10x faster with (or without) Rayon | Blog | Guillaume Endignoux
gendignoux.com/blog/2024/11/18/rust-rayon-optimized.htmlIn a previous post, I’ve shown how to use the rayon framework in Rust to automatically parallelize a loop computation across multiple CPU cores.
In this post, I’ll first explain which profiling tools I used to chase optimizations, before diving into how I built a faster replacement of Rayon for my use case. In the next post, I’ll describe the other optimizations that made my code much faster. Spoiler alert: copying some data sped up my code!
2024-11-27
April King — Handling Cookies is a Minefield
grayduck.mn/2024/11/21/handling-cookies-is-a-minefieldDiscrepancies in how browsers and libraries handle HTTP cookies, and the problems caused by such things.
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-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-09-02
Timeseries Indexing at Scale - Artem Krylysov
artem.krylysov.com/blog/2024/06/28/timeseries-indexing-at-scale2024-08-29
Overloaded fields, type safety, and you
educatedguesswork.org/posts/text-type-safetyThe underlying problem we are facing here with all these examples is the same: having the same set of bits which can mean two different things and needing some way to distinguish those two meanings. Failure to do so leads to ambiguity at best and serious defects at worst. That's why you see so much emphasis in modern systems on type safety and on strict domain separation between different meanings.
2024-07-31
Build your own SQS or Kafka with Postgres
blog.sequinstream.com/build-your-own-sqs-or-kafka-with-postgresWe're Sequin, an open source message stream built on Postgres. We think Sequin's cool, but you don't need to adopt the project to get started with streaming in Postgres. In fact, you can turn Postgres into a basic queue/stream pretty easily. Below, we share what we've learned so you
2024-07-28
Windows Security best practices for integrating and managing security tools | Microsoft Security Blog
www.microsoft.com/en-us/security/blog/2024/07/27/windows-security-best-practices-for-integrating-and-managing-security-toolsWe examine the recent CrowdStrike outage and provide a technical overview of the root cause.
2024-07-15
Calculating Position from Raw GPS Data | Telesens
www.telesens.co/2017/07/17/calculating-position-from-raw-gps-data2024-07-07
Optimizing Large-Scale OpenStreetMap Data with SQLite
jtarchie.com/posts/2024-07-02-optimizing-large-scale-openstreetmap-data-with-sqlite2024-06-20
Even JSONB in Postgres needs schemas
nexteam.co.uk/posette_even_jsonb_in_postgres_needs_schemas.pdfTalk from POSETTE conference