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
Tracking NixOS option values and dependencies | oddlama's blog
oddlama.org/blog/tracking-options-in-nixosThere are thousands of options in NixOS, but as users, we usually only interact with a select few of them. Despite that, a huge amount of those options does influence the final result in some way. Have you ever wondered which of them were actually relevant for your specific system?
2025-12-17
A security model for systemd
lwn.net/Articles/1042888Poettering said that he does have a vision for how all of the security-related pieces of systemd are meant to fit together. He wanted to use his talk to explain ""how the individual security-related parts of systemd actually fit together and why they exist in the first place"".
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-07-03
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-LearnedRex Wangs blog
2025-04-28
Nick Appleton’s blog and stuff - Building a digital filter for use in synthesisers
www.appletonaudio.com/blog/2022/building-a-digital-filter-for-use-in-synthesisersThis is a tutorial on how to build a digital implementation of a 2nd-order, continuously-variable filter (i.e. one where you can change the parameters runtime) that has dynamic behaviour that mimics an analogue filter.
2025-03-10
The power of interning: making a time series database 2000x smaller in Rust | Blog | Guillaume Endignoux
gendignoux.com/blog/2025/03/03/rust-interning-2000x.htmlIn this deep dive post, I’ll explain how I used the interning design pattern in Rust to compress this data set by a factor of two thousand! We’ll investigate how to best structure the interner itself, how to tune our data schema to work well with it, and likewise how serialization can best leverage interning.
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-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-10-18
Optimizing Mandelbrot Generation with SIMD
bumbershootsoft.wordpress.com/2024/01/27/optimizing-mandelbrot-generation-with-simd2024-10-12
Dependency Management Data
dmd.tanna.dev2024-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-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-08-19
JTAG Hacking with a Raspberry Pi - Introducing the PiFex
voidstarsec.com/blog/jtag-pifexJTAG for Reverse Engineers
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-06-20
Even JSONB in Postgres needs schemas
nexteam.co.uk/posette_even_jsonb_in_postgres_needs_schemas.pdfTalk from POSETTE conference