Data Structures for Throughput
- Choosing RWMutex (24 Mar 2021) — You need to maximize throughput in a concurrent algorithm. Will an RWMutex help?
- Sync Map, Reconstructed (13 Apr 2021) — Where does sync.Map actually fit? Let's rebuild it from scratch to find out!
Type Techniques
- JSON Constructors (23 Dec 2023) — Combining some obscure features of Go lets us ensure we never decode invalid objects, keeping our APIs and systems safe.
- Static Assert in Go (11 Feb 2024) — Make the compiler check your assumptions before any code runs.
Thoughts on a Programming Language
- Thoughts on a Programming Language (23 Apr 2024) — A summary of design goals for the programming language I wish I were using.
- Subtype Polymorphism and RTTI (23 Apr 2024) — If we want to avoid RTTI, can we have subtype polymorphism?
- The Importance of Maybe (24 Apr 2024) — The Maybe or Option type is too important to relegate to the same syntax as other type constructors.
- Statically Typed Dynamic Scope (25 Apr 2024) — Dependency injection SOLVED?
- Encapsulation and Selection (26 Apr 2024) — Not just for OOP.
- Which Paradigm? (27 Apr 2024) — Or, Rust is not functional programming, no matter how many iterators you .map().filter().collect().
- Product Expressions (28 Apr 2024) — Unlocking hidden powers of structs and tuples.
- Pieces of Programs (29 Apr 2024) — On the mechanics of program modularization.
- Distributing Packages (30 Apr 2024) — I've come up with the most sane and sustainable way to distribute packages.
- The Birth and Death of Structured Concurrency (14 Jun 2024) — What replaces unrestricted concurrency in a language that refuses it?
Koka
- The Koka Experience (17 May 2024) — An experience report on the Koka programming language.
Miscellany
- GitHub Copilot and License Restrictions (3 Jul 2021) — Implications of GitHub Copilot
- Constraints Aren't Enums (5 Dec 2021) — Go 1.18 still does not add sum types.
- StAtE OF tHe arT In RAnDomneSS (2 Sep 2023) — A tour of pseudorandom number generators. Extended notes for my GopherCon 2023 lightning talk.
- Bocchi the Example! (24 Dec 2023) — Unfoo your bar, baz.