2025-09-04
Beacon API
developer.mozilla.org/en-US/docs/Web/API/Beacon_APIThe 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
A Brief Guide to A Few Algebraic Structures
argumatronic.com/posts/2019-06-21-algebra-cheatsheet.htmlI 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
Cursed Knowledge | Immich
immich.app/cursed-knowledgeThings we wish we didn't know
2025-06-18
zb beta released
www.zombiezen.com/blog/2025/06/zb-beta-releasezb 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-06-16
CSS Classes considered harmful
www.keithcirkel.co.uk/css-classes-considered-harmfulThe 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-23
Async from scratch 1: What's in a Future, anyway? | natkr's ramblings
natkr.com/2025-04-10-async-from-scratch-1There are a lot of guides about how to use async Rust from a "user's
perspective", but I think it's also worth understanding how it
works, what those async blocks actually mean.
2025-05-15
Writing that changed how I think about PL
bernsteinbear.com/blog/pl-writingEvery 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-01-21
Algebraic Effects for the Rest of Us
overreacted.io/algebraic-effects-for-the-rest-of-us2024-12-20
Visitor Pattern Considered Pointless - Use Pattern Switches Instead
nipafx.dev/java-visitor-pattern-pointlessIn 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-12-17
Building GBA Games in Rust
shanesnover.com/2024/02/07/intro-to-rust-on-gba.html2024-11-04
Writing secure Go code
jarosz.dev/article/writing-secure-go-codeSecurity 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-04
Snappy UI Optimization with useDeferredValue
www.joshwcomeau.com/react/use-deferred-valueuseDeferredValue is one of the most underrated React hooks. It allows us to dramatically improve the performance of our applications in certain contexts. I recently used it to solve a gnarly performance problem on this blog, and in this tutorial, I'll show you how! ⚡
2024-09-30
On Leaving Apple
typesanitizer.com/blog/leaving-apple.html2024-09-25
in which interactive development saves the day
technomancy.us/1892024-07-09
Using use in Gleam
erikarow.land/notes/using-use-gleam2024-06-26
You probably wrote half a monad by accident
gieseanw.wordpress.com/2024/06/25/you-probably-wrote-half-a-monad-by-accident2024-06-13
The magic of dependency resolution
ochagavia.nl/blog/the-magic-of-dependency-resolutionAPI Tokens: A Tedious Survey
fly.io/blog/api-tokens-a-tedious-surveyComparison between types of API tokens.
Building Go programs with Nix Flakes
xeiaso.net//blog/nix-flakes-go-programs2024-06-11
Exploring Gleam, a type-safe language on the BEAM!
christopher.engineering/en/blog/gleam-overviewFrom Erlang, to Elixir and now, GLEAM!?