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-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.
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.
2025-01-22
Packer: How to Build NixOS 24 Snapshot on Hetzner Cloud - Developer Friendly Blog
developer-friendly.blog/blog/2025/01/20/packer-how-to-build-nixos-24-snapshot-on-hetzner-cloudStep-by-step guide to building a NixOS 24 snapshot on Hetzner Cloud using Packer, with complete configuration files and OpenTofu deployment examples.
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-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-10-18
Optimizing Mandelbrot Generation with SIMD
bumbershootsoft.wordpress.com/2024/01/27/optimizing-mandelbrot-generation-with-simd2024-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
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-07
Elixir Dev Environment With Nix Flakes
www.mathiaspolligkeit.com/elixir-dev-environment-with-nix-flakesIn a previous article, I described how to set use Nix and Niv to configure an Elixir dev environment. This setup can be simplified by using Nix flakes instead of Niv.
2024-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
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.