2025-10-17
Automerge
automerge.orgAutomerge is a local-first sync engine for multiplayer apps that works offline, prevents conflicts, and runs fast.
2025-08-21
A Brief Guide to A Few Algebraic Structures
argumatronic.com/posts/2019-06-21-algebra-cheatsheet.htmlI started writing this post because, for whatever reason, I keep forgetting what the difference is between a ring and a group, which is funny to me because I never forget the difference between a semiring and a semigroup – although other people do, because it’s quite easy to forget! So, I wanted a fast reference to the kinds of algebraic structures that I am most often dealing with in one way or another, usually because I’m writing Haskell (which has some reliance on terminology and structure from abstract algebra and category theory) or I’m trying to read a book about category theory and they keep talking about “groups.” Wikipedia, of course, defines all these structures, and that’s fine, but what I need in those times is more of a refresher than an in-depth explanation.
2025-06-26
Box combinators
mmapped.blog/posts/41-box-combinators.htmlIn functional programming,
combinator libraries refer to a design style that emphasizes bottom-up program construction.
Such libraries define a few core data types
and provide constructors—functions that create initial objects—and combinators—functions that build larger objects from smaller pieces.Combinators enable the programmer to use intuitive visual and spatial reasoning
that’s vastly more powerful than linear language processing.
As a result, solving problems with combinators feels like playing with lego pieces.
2025-04-24
Instrumenting Axum projects
determinate.systems/posts/instrumenting-axum2024-12-20
Visitor Pattern Considered Pointless - Use Pattern Switches Instead
nipafx.dev/java-visitor-pattern-pointlessIn modern Java, the visitor pattern is no longer needed. Using sealed types and switches with pattern matching achieves the same goals with less code and less complexity.
2024-12-17
Building GBA Games in Rust
shanesnover.com/2024/02/07/intro-to-rust-on-gba.html2024-11-22
New stuff in Emacs 30
www.mgmarlow.com/words/2024-07-28-emacs-30-newsReading through the Emacs 30 NEWS file and picking
out the stuff I think is the most interesting.
2024-10-04
Snappy UI Optimization with useDeferredValue
www.joshwcomeau.com/react/use-deferred-valueuseDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contexts. I recently used it to solve a gnarly performance problem on this blog, and in this tutorial, I'll show you how! ⚡
2024-09-30
On Leaving Apple
typesanitizer.com/blog/leaving-apple.html2024-09-10
run freebsd in qemu on linux
sethops1.net/post/run-freebsd-in-qemu-on-linux2024-08-28
There can't be only one
www.b-list.org/weblog/2024/aug/27/highlander-problemThere's a concept that I've heard called by a lot of different names, but my favorite name for it is …
2024-08-15
Planning Weekly Workouts in 100 lines of Haskell
alt-romes.github.io/posts/2024-08-14-planning-a-workout-week-with-100-lines-of-haskell.htmlA lightning post on logic programming in Haskell to construct a workout weekly schedule given the set of exercises, days and constraints.
2024-08-09
Store Code Discussions in Git using Git Notes
wouterj.nl/2024/08/git-notesCode discussions contain relevant information. Isn’t it a shame that we
keep these in the centralized GitHub/GitLab servers, far away from our
decentralized Git code? As soon as we move provider, we’ll lose all old
discussions! And how do you ever find the pull requests back from 5
years ago? Symfony has implemented a lightweight solution to this problem
years ago using a less-known feature of Git: Git Notes.
2024-07-15
"GitHub" Is Starting to Feel Like Legacy Software
mistys-internet.website/blog/blog/2024/07/12/github-is-starting-to-feel-like-legacy-softwareI’ve used a lot of tools over the years, which means I’ve seen a lot of tools hit a plateau. That’s not always a problem; sometimes …
2024-06-20
Why does SQLite (in production) have such a bad rep?
avi.im/blag/2024/sqlite-bad-rep2024-06-18
Comparing Objective Caml and Standard ML
adam.chlipala.net/mlcomp2024-06-13
Solving SAT via Positive Supercompilation
hirrolot.github.io/posts/sat-supercompilation.htmlMy personal C coding style as of late 2023
nullprogram.com/blog/2023/10/08Arena allocator tips and tricks
nullprogram.com/blog/2023/09/272024-06-11
Go evolves in the wrong direction
valyala.medium.com/go-evolves-in-the-wrong-direction-7dfda8a1a620Go programming language is known to be easy to use. Thanks to its well-thought syntax, features and tooling, Go allows writing easy-to-read…
Hard disagree on this one, but still interesting.