41554 blogs · [ { "id": "01a08772-c035-7131-a0e3-7bba46ddd37f", "title": "Advent of Code: Libraries", "url": "https://elly.town/d/blog/2025-09-17-advent-of-code-libraries.html", "published_at": "2025-09-17T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba472c09db", "title": "Advent of Code: 500 Stars", "url": "https://elly.town/d/blog/2025-09-01-advent-of-code-500.html", "published_at": "2025-09-01T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba47c4d932", "title": "Reservoir sampling", "url": "https://elly.town/d/blog/2025-05-17-reservoir-sampling.txt", "published_at": "2025-05-17T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4867dc97", "title": "X.509 Certificates", "url": "https://elly.town/d/blog/2024-03-08-x509-certificates.txt", "published_at": "2024-03-08T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba490f9694", "title": "Fossil", "url": "https://elly.town/d/blog/2023-10-20-fossil.html", "published_at": "2023-10-20T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba49a98fc4", "title": "Macaroon MAC Chaining", "url": "https://elly.town/d/blog/2023-04-07-macaroon-mac-chaining.txt", "published_at": "2023-04-07T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4a1c5b0f", "title": "Parser Combinators", "url": "https://elly.town/d/blog/2023-02-20-parser-combinators.txt", "published_at": "2023-02-20T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4a3c726a", "title": "Rogue Source Tour", "url": "https://elly.town/d/blog/2022-12-30-rogue-source-tour.txt", "published_at": "2022-12-30T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4af5f3c5", "title": "Binary Transparency", "url": "https://elly.town/d/blog/2022-12-28-binary-transparency.txt", "published_at": "2022-12-28T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4b5ee2c9", "title": "Fennel for Advent", "url": "https://elly.town/d/blog/2022-12-25-fennel-for-advent.txt", "published_at": "2022-12-25T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4c181251", "title": "Packaging for Alpine", "url": "https://elly.town/d/blog/2022-10-31-packaging-for-alpine.txt", "published_at": "2022-10-31T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4d093d85", "title": "Alpine on Framework", "url": "https://elly.town/d/blog/2022-10-20-alpine-framework.txt", "published_at": "2022-10-20T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4d56d42e", "title": "Lambda Calculus", "url": "https://elly.town/d/blog/2022-10-09-lambda-calculus.txt", "published_at": "2022-10-09T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4e2973a7", "title": "Struct Member Naming History", "url": "https://elly.town/d/blog/2022-09-30-struct-member-naming-history.txt", "published_at": "2022-09-30T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4eb8d12f", "title": "General Purpose Macrogenerator", "url": "https://elly.town/d/blog/2022-09-15-general-purpose-macrogenerator.txt", "published_at": "2022-09-15T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba4f25093e", "title": "Hare First Impressions", "url": "https://elly.town/d/blog/2022-09-14-hare-first-impressions.txt", "published_at": "2022-09-14T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba500ee41f", "title": "Doing It Right: Passwords, Keys, and Backups", "url": "https://elly.town/d/blog/2022-09-01-doing-it-right.txt", "published_at": "2022-09-01T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba50455cc6", "title": "Just-In-Time Compilation", "url": "https://elly.town/d/blog/2022-05-05-jit.txt", "published_at": "2022-05-05T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5080773d", "title": "IRC Client Design Thoughts", "url": "https://elly.town/d/blog/2022-04-18-irc-client-design-thoughts.txt", "published_at": "2022-04-18T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba50891eb2", "title": "Cipherpunks, Mixmaster, and Mixminion: Anonymous Email", "url": "https://elly.town/d/blog/2022-02-09-mixminion.txt", "published_at": "2022-02-09T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba50c40c7c", "title": "Book Review: A Psalm For The Wild-Built", "url": "https://elly.town/d/blog/2022-02-01-a-psalm-for-the-wild-built.txt", "published_at": "2022-02-01T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba51a0a5db", "title": "The ChaCha20 Cipher Core", "url": "https://elly.town/d/blog/2022-01-26-chacha20-amd64-assembly.txt", "published_at": "2022-01-26T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba51ec02fd", "title": "The PPM Image Format", "url": "https://elly.town/d/blog/2022-01-24-the-ppm-image-format.txt", "published_at": "2022-01-24T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba52beb0eb", "title": "Backups", "url": "https://elly.town/d/blog/2022-01-18-backups.txt", "published_at": "2022-01-18T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba53734728", "title": "Shellballs and self-extractors", "url": "https://elly.town/d/blog/2022-01-13-shellballs-and-self-extractors.txt", "published_at": "2022-01-13T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba544f10ee", "title": "m4", "url": "https://elly.town/d/blog/2022-01-05-m4.txt", "published_at": "2022-01-05T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5544a436", "title": "Tarballs", "url": "https://elly.town/d/blog/2022-01-03-tarballs.txt", "published_at": "2022-01-03T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba561c6fa8", "title": "Whence Autotools?", "url": "https://elly.town/d/blog/2022-01-02-whence-autoconf.txt", "published_at": "2022-01-02T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba57026042", "title": "Constant-Time Operations", "url": "https://elly.town/d/blog/2022-01-01-constant-time-ops.txt", "published_at": "2022-01-01T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba57d434b0", "title": "The Shunting-Yard Algorithm", "url": "https://elly.town/d/blog/2021-12-31-shunting-yard-algorithm.txt", "published_at": "2021-12-31T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5834321f", "title": "The Boyer-Moore String Search Algorithm", "url": "https://elly.town/d/blog/2021-12-30-boyer-moore.txt", "published_at": "2021-12-30T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5866321d", "title": "Virtual Machines, Part 1: Instruction Encoding", "url": "https://elly.town/d/blog/2021-12-29-instruction-encoding.txt", "published_at": "2021-12-29T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba590492fa", "title": "Length Extension Attacks", "url": "https://elly.town/d/blog/2021-12-28-length-extension-attacks.txt", "published_at": "2021-12-28T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba594c85dc", "title": "Virtual Machines, Part 0", "url": "https://elly.town/d/blog/2021-12-24-virtual-machines-0.txt", "published_at": "2021-12-24T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba59ee6c24", "title": "My Homedir Layout", "url": "https://elly.town/d/blog/2021-10-06-homedir.txt", "published_at": "2021-10-06T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5a3e3e4f", "title": "Pinebook", "url": "https://elly.town/d/blog/2021-06-01-pinebook.txt", "published_at": "2021-06-01T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5b38e81c", "title": "Merkle Trees", "url": "https://elly.town/d/blog/2020-09-12-merkle-trees.txt", "published_at": "2020-09-12T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5b5a56d8", "title": "Lamport Signatures", "url": "https://elly.town/d/blog/2020-09-12-lamport-signatures.txt", "published_at": "2020-09-12T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5b70d11f", "title": "Broadcast Buffers", "url": "https://elly.town/d/blog/2020-09-10-broadcast-buffers.txt", "published_at": "2020-09-10T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5bacb3ca", "title": "Boring Protocols", "url": "https://elly.town/d/blog/2020-09-07-boring-protocols.txt", "published_at": "2020-09-07T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5c246784", "title": "The C++ static constructor registration trick", "url": "https://elly.town/d/blog/2019-11-16-cxx-static-ctor-register.txt", "published_at": "2019-11-16T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5d01f70c", "title": "Linda Tuple Spaces", "url": "https://elly.town/d/blog/2019-11-15-linda-tuple-spaces.txt", "published_at": "2019-11-15T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5d674791", "title": "Using The ed(1) Text Editor", "url": "https://elly.town/d/blog/2015-10-03-ed-tutorial.txt", "published_at": "2015-10-03T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5d70ac7e", "title": "Rules For Getting Along With Others", "url": "https://elly.town/d/blog/2015-09-29-how-to-get-along-with-people.txt", "published_at": "2015-09-29T00:00:00+00:00" }, { "id": "01a08772-c035-7131-a0e3-7bba5d83b7ed", "title": "Writing a Unix Userland", "url": "https://elly.town/d/blog/2015-05-18-writing-a-linux-userland.txt", "published_at": "2015-05-18T00:00:00+00:00" } ] posts Claim your blog
Back to elly.town
Blog · corpus.blog/blogs/elly.town/posts

elly.town

elly.town

2025

2024

2023

2022

5 Jan 2022

2021

2020

2019

2015