Weird architectures weren’t supported to begin with (2021)

ReDoS “vulnerabilities” and misaligned incentives

Modernizing my 1980s sound system

Tornado Cash and Bullets

Why don’t we do email verification in reverse?

age encryption in Python with pyrage

A most vexing parse, but for Python packaging

Things I hate about Rust, redux

Writing and publishing a Python module in Rust

Blockchains don't solve problems that are interesting to me

Calculating my open source blast radius

LLVM internals, part 4: attributes and attribute groups

A small Documerica Twitter bot

LLVM internals, part 3: from bitcode to IR

LLVM internals, part 2: parsing the bitstream

LLVM Internals: The Bitcode Format

Tools that I want

totally_safe_transmute, line-by-line

Weird architectures weren't supported to begin with

A few HiDPI tricks for Linux

Static Calls in Linux 5.10

Reading Manpages Like a Pro

How many registers does an x86-64 CPU have?

Towards an automated changelog workflow

Understanding static single assignment forms

LLVM's getelementptr, by example

Hiding messages in x86 binaries using semantic duals

Writing and publishing a Python module in Rust

How x86_64 Addresses Memory

Things I hate about Rust

More →