20 random bookmarks

2025-10-17

136.

Automerge

automerge.org

Automerge is a local-first sync engine for multiplayer apps that works offline, prevents conflicts, and runs fast.

2025-08-12

128.

missing.css

missing.style

2025-06-26

124.

The plan-execute pattern

mmapped.blog/posts/29-plan-execute.html

I feel uneasy about design patterns.
On the one hand, my university class on design patterns revived my interest in programming.
On the other hand, I find most patterns in the Gang of Four book to be irrelevant to my daily work;
they solve problems that a choice of programming language or paradigm creates.

My litmus test of a good design pattern is its cross-disciplinary applicability.
I’m more likely to accept an idea that pops up in fields beyond software engineering.
And the most convincing patterns are the ones that help me in everyday life.

This article describes a universal pattern that billions of people rely on daily, but software engineers rarely discuss—the plan-execute pattern.

123.

Box combinators

mmapped.blog/posts/41-box-combinators.html

In 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-06-18

121.

You can use `fzf` to review git commits

jvns.ca/til/fzf-preview-git-commits

I just learned that
you can use it to review a git commit like this and I thought that was really
cool.

2025-06-16

118.

CSS Classes considered harmful

www.keithcirkel.co.uk/css-classes-considered-harmful

The solution to all of these problems

I humbly put forward that modern web development provides us all the utilities to move away from class names and implement something much more robust, with some fairly straightforward changes:

Attributes

Attributes allow us to parameterise a component using a key-value representation, very similar to Map<string, T>. Browsers come with a wealth of selector functions to parse the values of an attribute.

2025-06-12

116.

Always do Extra

www.bennorthrop.com/Essays/2021/always-do-extra.php

Extra is different than More. Extra is finishing those two screens, but then researching a new library for form validation that might reduce the boilerplate code. Or it's learning ways to protect against common security vulnerabilities from data entry. These little off-ramps from the main highway of Normal Work could be dead-ends and not have any practical value to the project. But they might also be important contributions. And that's the thing with Extra. While the tangible value to the project is uncertain (it could be nothing this time or it could be something), the value to you is real.

2025-04-24

105.

Instrumenting Axum projects

determinate.systems/posts/instrumenting-axum

2025-01-17

98.

Earthstar

earthstar-project.org

Storage for private, distributed, offline-first applications. Earthstar is a specification and JavaScript library for building connected applications owned and run by their users.

2024-12-17

90.

Using Nix to Try Tools

entropicthoughts.com/using-nix-to-try-tools

2024-10-24

85.

Rust Prism

registerspill.thorstenball.com/p/rust-prism

2024-09-16

73.

Technical Writing One introduction

developers.google.com/tech-writing/one

2024-06-27

56.

plainweb

www.plainweb.dev

plainweb is a framework using HTMX, SQLite and TypeScript for less complexity and more joy.

2024-06-18

38.

Linux 6.10 Honors One Last ReiserFS Request Made By Hans Reiser - Phoronix

www.phoronix.com/news/ReiserFS-README-Linux-6.10

2024-06-17

35.

OpenBSD, the computer appliance maker's secret weapon

hiandrewquinn.github.io/til-site/posts/openbsd-the-computer-appliance-maker-s-secret-weapon

Between our ESP32 prokaryotic organisms and our 24/7 Internet-enabled megafauna servers, there exists a vast and loosely-defined ecosystem of things the B2B world likes to call computer appliances. Picture a bespoke Pi 4 packaged up neatly with some Python scripts, a little fancy plastic embossing, and maybe a well-guarded id_ed25519.pub in case you end up in hot water during the (long - very long, stable cash flow for generations long) maintenance contract, and you’re in the ballpark.

2024-06-13

26.

The magic of dependency resolution

ochagavia.nl/blog/the-magic-of-dependency-resolution
24.

Category Theory in Context

math.jhu.edu/~eriehl/context.pdf
19.

A simple, arena-backed, generic dynamic array for C

nullprogram.com/blog/2023/10/05
16.

Avoid Linux locking up in low memory situations using earlyoom

dataswamp.org/~solene/2022-09-28-earlyoom.html

This article presents the program earlyoom to prevent a Linux system to lock up in low memory situations.

2024-06-11

6.

Go evolves in the wrong direction

valyala.medium.com/go-evolves-in-the-wrong-direction-7dfda8a1a620

Go 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.