20 random bookmarks

2025-09-04

133.

Beacon API

developer.mozilla.org/en-US/docs/Web/API/Beacon_API

The Beacon API is used to send an asynchronous and non-blocking request to a web server. The request does not expect a response. Unlike requests made using XMLHttpRequest or the Fetch API, the browser guarantees to initiate beacon requests before the page is unloaded and to run them to completion.

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

98.

Earthstar

earthstar-project.org

Storage for private, distributed, offline-first applications. Earthstar is a specification and JavaScript library for building connected applications owned and run by their users.

2024-12-17

90.

Using Nix to Try Tools

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

2024-11-20

88.

On "Safe" C++

izzys.casa/2024/11/on-safe-cxx

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-10-21

84.

init.py files are optional. Here’s why you should still use them

dev.arie.bovenberg.net/blog/still-use-init-py

2024-09-30

79.

On Leaving Apple

typesanitizer.com/blog/leaving-apple.html

2024-08-18

68.

Permacomputing

permacomputing.net

Permacomputing is both a concept and a community of practice oriented around issues of resilience and regenerativity in computer and network technology inspired by permaculture.

2024-08-15

67.

Writing a C Compiler

nostarch.com/writing-c-compiler

A fun, hands-on guide to writing your own compiler for a real-world programming language.

2024-06-24

52.

Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming

arxiv.org/abs/1908.05647

Most functional languages rely on some garbage collection for automatic memory management. They usually eschew reference counting in favor of a tracing garbage collector, which has less bookkeeping overhead at runtime. On the other hand, having an exact reference count of each value can enable optimizations, such as destructive updates. We explore these optimization opportunities in the context of an eager, purely functional programming language. We propose a new mechanism for efficiently reclaiming memory used by nonshared values, reducing stress on the global memory allocator. We describe an approach for minimizing the number of reference counts updates using borrowed references and a heuristic for automatically inferring borrow annotations. We implemented all these techniques in a new compiler for an eager and purely functional programming language with support for multi-threading. Our preliminary experimental results demonstrate our approach is competitive and often outperforms state-of-the-art compilers.

2024-06-19

44.

Aurora - Python Static Site Generator

aurora.jamesg.blog

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

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

33.

A useful shell prompt

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

Featureful zsh prompt.

30.

litterbox - IRC logger

git.causal.agency/litterbox/about

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.