Aljoscha Meyer does computer science.
And sometimes wishes he didn’t.
(mail@aljoscha-meyer.de) (Github) (RSS)

Some Projects

A Willow emblem: a stylised drawing of a Willow’s branch tipping into a water surface, next to a hand-lettered display of the word *Willow*.

A peer-to-peer, multi-writer data store.

A depiction of a Merkle tree, an example of the internals of the family of Bab hash functions.

Specification of a hash function that allows for verified streaming, similar to BLAKE3’s Bao.

A depiction of the linking scheme underlying reed.

A prefix authentication scheme that is more efficient than the one used in certificate transparency. Supersedes Bamboo.

The macromania logotype, hand-lettered in a slightly manic font.

A macro system for generating plaintext files. Suitable for producing web-native scientific papers such as this one. And the website you are currently reading, of course.

A tool for scheduling meetings across timezones, mapping UTC offsets to emoji. Carrying on some of @cinnamon’s light.

Some Writing

A figure from the paper: a depiction of a 2-zip-tree.

A family of randomized set data structures that generalizes the zip-trees to work more efficiently in the presence of cache hierarchies. G-trees have applications for set fingerprinting and membership proofs.

A figure from the paper: the back-and-forth of messages in an example protocol run.

Range-based set reconciliation is a simple approach to efficiently computing the union of two sets over a network, based on recursively partitioning the sets and comparing fingerprints of the partitions to probabilistically detect whether a partition requires further work.

Two figures from the paper: Merkle trees being clamped to a range.

Range-based set reconciliation used to require non-standard hash functions with certain homomorphic properties. This paper describes how to do away with these and use regular Merkle trees instead.

APIs like iterators, streams, sinks, readers, or writers are all APIs for lazily working with potentially infinite sequences of items. There is a large number of competing designs, but little principled work on evaluating them. Starting from the question of how to objectively evaluate such APIs, I derive some instructive and useful hierarchies of interfaces for lazily working with sequences.

A figure from the paper: a depiction of the slls-2 linking scheme.

Like certificate transparency logs, but more simple and more efficient.

Other

RSS Feed

The Willow project got funding for implementing a new hash function. Here I explain the gist of it.

An entirely serious alternative to the semantic versioning specification.

An essay on how to achieve mutable hypertext without automatically suffering from link rot, and why this matters

A few of my favourite Beatles songs.

How past me approached coding.

A collection of treasures — works that have been important to me.

A small puzzling game I once wrote while being sick.