20 random bookmarks

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

125.

Beamer Viewer

beamerviewer.euxane.eu

This web app displays notes and slides in separate windows,
keeping both synchronised.
It accepts simple, double-width, or double-height PDF presentations:

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

109.

Speculation in JavaScriptCore

webkit.org/blog/10308/speculation-in-javascriptcore

This post is all about speculative compilation, or just speculation for short, in the context of the JavaScriptCore virtual machine.

108.

Writing that changed how I think about PL

bernsteinbear.com/blog/pl-writing

Every so often I come across a paper, blog post, or (occasionally) video that completely changes how I think about a topic in programming languages and compilers. For some of these posts, I can’t even remember how I thought about the idea before reading it—it was that impactful.

2025-05-06

107.

Debian installation with encrypted BTRFS

chaos.tomaskral.eu/guides/debian-encrypted-btrfs-root

2025-04-24

105.

Instrumenting Axum projects

determinate.systems/posts/instrumenting-axum

2025-03-18

102.

CASCII - ASCII Diagram Builder

cascii.app

A well-equipped ASCII diagram builders freely available on the internet.
It stresses portability, simplicity, and immediateness.

2025-01-21

99.

Algebraic Effects for the Rest of Us

overreacted.io/algebraic-effects-for-the-rest-of-us

2024-11-22

89.

New stuff in Emacs 30

www.mgmarlow.com/words/2024-07-28-emacs-30-news

Reading through the Emacs 30 NEWS file and picking
out the stuff I think is the most interesting.

2024-11-07

87.

Proposal for a Django project template

david.guillot.me/en/posts/tech/proposal-for-a-django-project-template

My take on what could be a project template for Django advanced usage, with modern tooling (for Python and UI dependencies, as well as configuration/environment management), but not too opinionated.

2024-10-16

83.

Damas-Hindley-Milner inference two ways

bernsteinbear.com/blog/type-inference

2024-09-16

73.

Technical Writing One introduction

developers.google.com/tech-writing/one

2024-06-19

45.

Avoiding complexity with systemd

mgdm.net/weblog/systemd

Using systemd to avoid having to write some risky code

2024-06-17

37.

Sqlc: 2024 check in — brandur.org

brandur.org/fragments/sqlc-2024
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

24.

Category Theory in Context

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