RSSAmplifier

Blog

MMapped blog

mmapped.blogRSS feed ↗52 posts

Latest posts

Backtrack-free cursive

Making English more enjoyable to write.

Interleaved deltas

The data structure behind the first version control system.

Whispering gallery

Why LLMs inspire me to write more.

Kirk, Scotty, and Spock

Vibe-specing from the chair.

The third hard problem

It’s not off-by-one errors.

2025 retrospective

Reading too much and writing too little.

Advent of Code 2025

My favorite puzzles from AoC 2025.

Compilation is communication

An ode to M-x compile.

Tag-based logging

How to make logs usable again.

Stepanov’s biggest blunder

How STL algorithms parallel the fundamental theorem of calculus.

Parasites found

Fighting mediocrity with generative AI.

Box combinators

The most visual way to print a table.

Three degrees of validity

What does valid configuration share with facts and theorems?

3000 days of Duolingo

Why eight years with the green owl is enough.

Static types are for perfectionists

Scherzo in e-moll on programming and authenticity.

ONNX introduction

An introduction to the Open Neural Network eXchange format.

2024 retrospective

Looking back at the year 2024.

Advent of Code 2024

Reflection on puzzles and OCaml.

Square joy: tile crush

Exploding tiles in J.

Transposing tensor files

Where does file metadata belong?

Programming avant-garde

Programmers and thinkers who inspire me.

Effective design docs

An opinionated guide to writing software design docs.

Transaction models are programming paradigms

FP vs OOP, now on a blockchain.

The plan-execute pattern

A ubiquitous pattern you won’t find in your textbook.

Enlightenmentware

Software that makes you a better programmer.

Extending HTTPS outcalls

Making IC’s HTTPS outcalls feature more versatile.

Good names form Galois connections

A quest for defining what it means to name things well.

Universal domain types

A guide to domain-specific types that make sense.

The off-chain reporting protocol

An overview of the Chainlink OCR protocol.

The numeric tower fiasco

OOP fails on basic math.

Flat in-order binary trees

An efficient algorithm for incremental merkle trees updates.

Mach’s principle

Why is it so hard to change things?

Candid for engineers

A practical guide to the world’s most advanced interface definition language.

ckBTC internals: event log

The storage scheme securing ckBTC assets.

If composers were hackers

What programming language would J.S. Bach use?

Scaling Rust builds with Bazel

Why DFINITY builds Rust with Bazel.

Book summary: Building a Second Brain

A summary of the book by Tiago Forte.

When Rust hurts

Why I am not enjoying programming in Rust.

Tutorial: stable-structures

An introduction to the stable-structures library.

IC internals: the ICP ledger

The design of the Internet Computer utility token treasury.

Designing error types in Rust

An optinionated guide to designing humane error types in Rust.

IC internals: Internet Identity storage

How the Internet Identity canister uses its stable memory to achieve safe upgrades.

Fungible tokens: payment flows

Payment flows for fungible tokens on the Internet Computer.

Fungible tokens 101

An introduction to fungible tokens and ledgers.

IC internals: XNet protocol

A deep dive into the protocol that IC subnets communicate over.

Square joy: pre-order

Restoring a binary tree from its pre-order traversal.

IC internals: orthogonal persistence

The Internet Computer orthogonal persistence feature and the data structure powering that feature.

Debug like Feynman, test like Faraday

Applying scientific method in software engineering.

Square joy: trapped rainwater

Solving the trapped rainwater problem in J.

Rust at scale: packages, crates, and modules

Lessons learned from scaling a Rust code base.