20 random bookmarks

2026-02-25

52.

Tracking NixOS option values and dependencies | oddlama's blog

oddlama.org/blog/tracking-options-in-nixos

There 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

50.

Decorative Cryptography

www.dlp.rip/decorative-cryptography

Last 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

48.

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-07-03

45.

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

Rex Wangs blog

2025-06-27

44.

How fast are Linux pipes anyway?

mazzo.li/posts/fast-pipes.html

Pipes 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

43.

Collaborative Text Editing without CRDTs or OT - Matthew Weidner

mattweidner.com/2025/05/21/text-without-crdts.html

This 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

40.

Comptime Zig ORM

matklad.github.io/2025/03/19/comptime-zig-orm.html

This 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-03-10

39.

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.html

In 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

35.

Building a tiny Linux from scratch

blinry.org/tiny-linux

Last week, I built a tiny Linux system from scratch, and booted it on my laptop!

2024-11-22

32.

Protecting Signal Keys on Desktop

cryptographycaffe.sandboxaq.com/posts/protecting-signal-desktop-keys

This blogpost describes our investigation and proof of concept to enhance the security of Signal Messenger key management on desktop.

2024-09-25

25.

Web Browser Engineering

browser.engineering

Web 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-19

24.

How to Build a Small Solar Power System

solar.lowtechmagazine.com/2023/12/how-to-build-a-small-solar-power-system

This guide explains everything you need to know to build stand-alone photovoltaic systems that can power almost anything you want.

2024-09-10

21.

What is the best pointer tagging method?

coredumped.dev/2024/09/09/what-is-the-best-pointer-tagging-method

In 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

18.

About

www.braggoscope.com/about

Explore the In Our Time archive.

2024-09-04

16.

the spatula

www.thespatula.io/rust/rust_io_uring_echo_server

In 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

15.

Timeseries Indexing at Scale - Artem Krylysov

artem.krylysov.com/blog/2024/06/28/timeseries-indexing-at-scale

2024-08-29

14.

Overloaded fields, type safety, and you

educatedguesswork.org/posts/text-type-safety

The 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

13.

JTAG Hacking with a Raspberry Pi - Introducing the PiFex

voidstarsec.com/blog/jtag-pifex

JTAG for Reverse Engineers

2024-07-04

5.

Finding near-duplicates with Jaccard similarity and MinHash - Made of Bugs

blog.nelhage.com/post/fuzzy-dedup

2024-06-20

2.

Even JSONB in Postgres needs schemas

nexteam.co.uk/posette_even_jsonb_in_postgres_needs_schemas.pdf

Talk from POSETTE conference