20 random bookmarks

2025-06-20

Reposted 122.

Cursed Knowledge | Immich

immich.app/cursed-knowledge

Things we wish we didn't know

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

114.

SAT Live!

localhost:4000

2025-04-29

106.

No-engine gamedev using Odin + Raylib

zylinski.se/posts/no-engine-gamedev-using-odin-and-raylib

Games can be made in many different ways. Many games are made using big, general purpose game engines such as Unity and Godot. I enjoy using the Odin Programming Language combined with Raylib.
Odin is a C-like programming language and Raylib is library for drawing graphics, checking input and playing sounds. So it’s just a program that uses a simple library, no engine!
There are no objectively best ways to create games.

2025-03-21

103.

Life Altering Postgresql Patterns

mccue.dev/pages/3-11-25-life-altering-postgresql-patterns

2024-12-31

95.

Idiosyncra

exple.tive.org/blarg/2024/12/29/idiosyncra

Interesting setup for pet computers. Debian + sway + cage

2024-12-17

91.

Advent of Code on the Nintendo DS

sailor.li/aocnds.html

Solving AoC on the DS with Rust.

90.

Using Nix to Try Tools

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

2024-09-16

73.

Technical Writing One introduction

developers.google.com/tech-writing/one

2024-09-15

72.

Writing an OS in Rust

os.phil-opp.com

This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code.

2024-07-05

60.

JavaScript-Free Sidenotes in Hugo

danilafe.com/blog/sidenotes

2024-06-26

55.

A (more) Modern CSS Reset

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

2024-06-24

50.

Microfeatures I Love in Blogs and Personal Websites

danilafe.com/blog/blog_microfeatures

In this post, I talk about pleasant but seemingly minor features in personal sites

2024-06-18

41.

Comparing Objective Caml and Standard ML

adam.chlipala.net/mlcomp

2024-06-14

33.

A useful shell prompt

blog.meain.io/2022/my-shell-prompt

Featureful zsh prompt.

2024-06-13

19.

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

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

Optimal SQLite settings for Django

gcollazo.com/optimal-sqlite-settings-for-django

There’s plenty of information out there on how to scale Django to handle numerous requests per second, but most of it…

2024-06-11

8.

gamja: Simple IRC web client

sr.ht/~emersion/gamja