20 random bookmarks

2025-08-25

130.

Everything I know about good API design

www.seangoedecke.com/good-api-design

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-20

Reposted 122.

Cursed Knowledge | Immich

immich.app/cursed-knowledge

Things we wish we didn't know

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-13

117.

What I talk about when I talk about IRs

bernsteinbear.com/blog/irs

I have a lot of thoughts about the design of compiler intermediate representations (IRs). In this post I’m going to try and communicate some of those ideas and why I think they are important.

2025-03-13

101.

Building interactive web pages with Guile Hoot

spritely.institute/news/building-interactive-web-pages-with-guile-hoot.html

2024-12-17

93.

GBA From Scratch With Ferris

lokathor.github.io/gba-from-scratch
92.

Building GBA Games in Rust

shanesnover.com/2024/02/07/intro-to-rust-on-gba.html
90.

Using Nix to Try Tools

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

2024-09-25

78.

in which interactive development saves the day

technomancy.us/189

2024-09-16

74.

Wayland: i3 to Sway migration

anarc.at/software/desktop/wayland

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-26

54.

You probably wrote half a monad by accident

gieseanw.wordpress.com/2024/06/25/you-probably-wrote-half-a-monad-by-accident

2024-06-17

36.

How I learned Haskell in just 15 years - duckrabbit solutions

duckrabbit.tech/articles/learning-haskell.html

2024-06-14

32.

Putting Go's Context package into context

blog.meain.io/2024/golang-context

2024-06-13

23.

Macaroons Escalated Quickly

fly.io/blog/macaroons-escalated-quickly
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-12

13.

My experience crafting an interpreter with Rust

ceronman.com/2021/07/22/my-experience-crafting-an-interpreter-with-rust

Last year I finally decided to learn some Rust. The official book by Steve Klabnik and Carol Nichols is excellent, but even after reading it and working on some small code exercises, I felt that I …