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
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?
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-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-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.
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-07
Model Predictive Control in the browser with WebAssembly | garethx
garethx.com/posts/cart-pole-mpcCommentary on software, robotics, and computer vision.
2024-09-25
Web Browser Engineering
browser.engineeringWeb browsers are ubiquitous, but how do they work? This book explains, building a basic but complete web browser, from networking to JavaScript, in a couple thousand lines of Python.
2024-09-12
Computational Journalism | At the Tow Center for Digital Journalism
compjournalism.comThe course is a hands-on, research-level introduction to the areas of computer science that have a direct relevance to journalism, and the broader project of producing an informed and engaged public $100 installment loan. We study two big ideas: the application of computation to produce journalism (such as data science for investigative reporting), and journalism about areas that involve computation (such as the analysis of credit scoring algorithms.)
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-02
Timeseries Indexing at Scale - Artem Krylysov
artem.krylysov.com/blog/2024/06/28/timeseries-indexing-at-scale2024-08-19
JTAG Hacking with a Raspberry Pi - Introducing the PiFex
voidstarsec.com/blog/jtag-pifexJTAG for Reverse Engineers
2024-07-31
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.
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.