20 random bookmarks

2025-09-23

134.

Cap'n Web: A new RPC system for browsers and web servers

blog.cloudflare.com/capnweb-javascript-rpc-library

Cap'n Web is a new open source, JavaScript-native RPC protocol for use in browsers and web servers. It provides the expressive power of Cap'n Proto, but with no schemas and no boilerplate.

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

115.

The PGP Problem

www.latacora.com/blog/2019/07/16/the-pgp-problem

Why do people keep telling me to use PGP? The answer is that they shouldn’t be telling you that, because PGP is bad and needs to go away.

2025-05-06

107.

Debian installation with encrypted BTRFS

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

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

104.

Pitfalls of Safe Rus

corrode.dev/blog/pitfalls-of-safe-rust

When people say Rust is a “safe language”, they often mean memory safety.
And while memory safety is a great start, it’s far from all it takes to build robust applications.
Memory safety is important but not sufficient for overall r…

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-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-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-09-18

76.

Typescript is surprisingly ok for compilers

matklad.github.io/2023/08/17/typescript-is-surprisingly-ok-for-compilers.html

2024-08-09

64.

Store Code Discussions in Git using Git Notes

wouterj.nl/2024/08/git-notes

Code discussions contain relevant information. Isn’t it a shame that we
keep these in the centralized GitHub/GitLab servers, far away from our
decentralized Git code? As soon as we move provider, we’ll lose all old
discussions! And how do you ever find the pull requests back from 5
years ago? Symfony has implemented a lightweight solution to this problem
years ago using a less-known feature of Git: Git Notes.

2024-06-19

42.

Pimalaya

pimalaya.org

Official website of the Pimalaya project.

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

34.

Nix as a WebAssembly build tool

determinate.systems/posts/nix-wasm
29.

pounce - IRC bouncer

git.causal.agency/pounce/about

2024-06-13

19.

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

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

An easy-to-implement, arena-friendly hash map

nullprogram.com/blog/2023/09/30