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-07-31

127.

A dive into open chat protocols

wiki.alopex.li/ADiveIntoOpenChat

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

2024-12-20

94.

Visitor Pattern Considered Pointless - Use Pattern Switches Instead

nipafx.dev/java-visitor-pattern-pointless

In 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

91.

Advent of Code on the Nintendo DS

sailor.li/aocnds.html

Solving AoC on the DS with Rust.

2024-09-30

79.

On Leaving Apple

typesanitizer.com/blog/leaving-apple.html

2024-09-16

74.

Wayland: i3 to Sway migration

anarc.at/software/desktop/wayland

2024-09-10

71.

run freebsd in qemu on linux

sethops1.net/post/run-freebsd-in-qemu-on-linux

2024-07-09

61.

Using use in Gleam

erikarow.land/notes/using-use-gleam

2024-06-26

55.

A (more) Modern CSS Reset

piccalil.li/blog/a-more-modern-css-reset

2024-06-21

49.

On testing Go code using the standard library | Henrique Vicente

henvic.dev/posts/testing-go

Most programming language ecosystems provide assert functions in their testing libraries but not Go's. Go's standard testing package follows a more direct and to-the-point approach.

2024-06-19

44.

Aurora - Python Static Site Generator

aurora.jamesg.blog

Aurora: An extensible, Python-based static site generator.

42.

Pimalaya

pimalaya.org

Official website of the Pimalaya project.

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

29.

pounce - IRC bouncer

git.causal.agency/pounce/about

2024-06-13

25.

Solving SAT via Positive Supercompilation

hirrolot.github.io/posts/sat-supercompilation.html
15.

OpenBSD extreme privacy setup

dataswamp.org/~solene/2024-06-08-openbsd-privacy-setup.html

In this article, you will learn how to install and configure OpenBSD to reduce its network activity over clearnet

2024-06-11

9.

Exploring Gleam, a type-safe language on the BEAM!

christopher.engineering/en/blog/gleam-overview

From Erlang, to Elixir and now, GLEAM!?