20 random bookmarks

2025-08-25

130.

Everything I know about good API design

www.seangoedecke.com/good-api-design

2025-06-20

Reposted 122.

Cursed Knowledge | Immich

immich.app/cursed-knowledge

Things we wish we didn't know

2025-06-18

120.

zb beta released

www.zombiezen.com/blog/2025/06/zb-beta-release

zb is a tool for reproducibly building software, similar to Bazel.
(See the comparison page if you’re curious to know the differences.)
When a software build process is reproducible,
it will produce the exact same output
when given the same inputs.
Reproducibility is a desirable property for a software build process to have:
it simplifies debugging,
it enables build speed-ups,
and it is essential for digital supply chain security.
However, reproducibility is a difficult goal to achieve.

2025-05-28

114.

SAT Live!

localhost:4000

2025-05-15

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

97.

if got, want: A Simple Way to Write Better Go Tests

mtlynch.io/if-got-want-improve-go-tests

2024-11-04

86.

Writing secure Go code

jarosz.dev/article/writing-secure-go-code

Security testing starts with understanding vulnerabilities. The CVE website lists known software flaws. The OWASP Top Ten highlights common weaknesses. With this knowledge, we can improve our Go development. This article shows how to put in place robust practices. They are to: fuzz inputs, verify dependencies, and use static analysis tools (SAST).

2024-09-30

79.

On Leaving Apple

typesanitizer.com/blog/leaving-apple.html

2024-09-18

76.

Typescript is surprisingly ok for compilers

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

2024-07-02

58.

A write-ahead log is not a universal part of durability

notes.eatonphil.com/2024-07-01-a-write-ahead-log-is-not-a-universal-part-of-durability.html

A write-ahead log is not a universal part of durability

2024-06-20

47.

Go's 'range over function' iterators and avoiding iteration errors

utcc.utoronto.ca/~cks/space/blog/programming/GoIteratorsAndAvoidingMistakes

2024-06-18

40.

Understanding SPF, DKIM, and DMARC: A Simple Guide

github.com/nicanorflavier/spf-dkim-dmarc-simplified

2024-06-17

37.

Sqlc: 2024 check in — brandur.org

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

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

10.

Self-serve dashboards

briefer.cloud/blog/posts/self-serve-bi-myth

Sales pitches are the only place where “self-serve dashboards" work. In the real world, it's a different story.

Why "business" people don't use metabase/power-bi.

2024-06-10

3.

On Dependency Usage in Rust

landaire.net/on-dependency-usage-in-rust

Rust and Node aren't bad for encouraging dependency use -- your favorite language's tools just suck.

2024-06-09

2.

Piku

piku.github.io/index.html

piku, inspired by dokku, allows you do git push deployments to your own servers, no matter how small they are.