20 random bookmarks

2025-09-01

132.

Jujutsu for everyone

jj-for-everyone.github.io

A Jujutsu tutorial that requires no previous experience with Git or other version control systems.

2025-08-29

131.

You no longer need JavaScript

lyra.horse/blog/2025/08/you-dont-need-js

An overview of what makes modern CSS so awesome.

2025-08-21

129.

A Brief Guide to A Few Algebraic Structures

argumatronic.com/posts/2019-06-21-algebra-cheatsheet.html

I 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

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.

2025-06-18

120.

zb beta released

www.zombiezen.com/blog/2025/06/zb-beta-release

zb is a tool for reproducibly building software, similar to Bazel.
(See the comparison page if you’re curious to know the differences.)
When a software build process is reproducible,
it will produce the exact same output
when given the same inputs.
Reproducibility is a desirable property for a software build process to have:
it simplifies debugging,
it enables build speed-ups,
and it is essential for digital supply chain security.
However, reproducibility is a difficult goal to achieve.

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-05-28

114.

SAT Live!

localhost:4000

2025-01-07

96.

Write your own tiny programming system(s)!

d3s.mff.cuni.cz/teaching/nprg077

2024-12-17

93.

GBA From Scratch With Ferris

lokathor.github.io/gba-from-scratch

2024-11-20

88.

On "Safe" C++

izzys.casa/2024/11/on-safe-cxx

2024-09-02

70.

Parsing awk is tricky

www.raygard.net/awkdoc/pages/awk_parsing_is_tricky.html

A somewhat compact implementation of the awk programming language

2024-08-15

66.

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

A lightning post on logic programming in Haskell to construct a workout weekly schedule given the set of exercises, days and constraints.

2024-08-14

65.

A Flexible Minimalist Neovim for 2024

wickstrom.tech/2024-08-12-a-flexible-minimalist-neovim.html

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

40.

Understanding SPF, DKIM, and DMARC: A Simple Guide

github.com/nicanorflavier/spf-dkim-dmarc-simplified

2024-06-17

36.

How I learned Haskell in just 15 years - duckrabbit solutions

duckrabbit.tech/articles/learning-haskell.html

2024-06-14

Reposted 28.

interstar/cardigan-bay: A new wiki engine in Clojure ...

github.com/interstar/cardigan-bay

A single-user “wiki” engine powering the ThoughtStorms wiki.

2024-06-13

26.

The magic of dependency resolution

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

API Tokens: A Tedious Survey

fly.io/blog/api-tokens-a-tedious-survey

Comparison between types of API tokens.

2024-06-10

3.

On Dependency Usage in Rust

landaire.net/on-dependency-usage-in-rust

Rust and Node aren't bad for encouraging dependency use -- your favorite language's tools just suck.