2025-08-25
Everything I know about good API design
www.seangoedecke.com/good-api-design2025-07-03
A Higgs-bugson in the Linux Kernel
blog.janestreet.com/a-higgs-bugson-in-the-linux-kernelWe recently ran across a strange higgs-bugson that manifested itself in a critical system that stores and distributes the firm’s trading activity data, called Gord. (A higgs-bugson is a bug that is reported in practice but difficult to reproduce, named for the Higgs boson, a particle which was theorized in the 1960s but only found in 2013.) In this post I’ll walk you through the process I took to debug it. I tried to write down relevant details as they came up, so see if you can guess what the bug is while reading along.
2025-06-26
The plan-execute pattern
mmapped.blog/posts/29-plan-execute.htmlI feel uneasy about design patterns.
On the one hand, my university class on design patterns revived my interest in programming.
On the other hand, I find most patterns in the Gang of Four book to be irrelevant to my daily work;
they solve problems that a choice of programming language or paradigm creates.My litmus test of a good design pattern is its cross-disciplinary applicability.
I’m more likely to accept an idea that pops up in fields beyond software engineering.
And the most convincing patterns are the ones that help me in everyday life.This article describes a universal pattern that billions of people rely on daily, but software engineers rarely discuss—the plan-execute pattern.
2025-06-20
Cursed Knowledge | Immich
immich.app/cursed-knowledgeThings we wish we didn't know
2025-06-17
Debugging tricks for IntelliJ
andreabergia.com/blog/2025/06/debugging-tricks-for-intellijI have been using IntelliJ Idea at work for a decade or so by now, and it’s been a reliable companion. JetBrains IDEs have a bit of a reputation for being slow, but their feature set is incredible: powerful refactoring tools, a great VCS UI (though I like magit even more!), a huge number of supported frameworks, integration with just about any testing library for any language, code coverage tools, powerful debuggers, etc.
2025-04-04
Pitfalls of Safe Rus
corrode.dev/blog/pitfalls-of-safe-rustWhen 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-02-04
Running a Debian Sid on Ubuntu
blogops.mixinet.net/posts/incus2024-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-15
Writing an OS in Rust
os.phil-opp.comThis blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code.
2024-09-02
Parsing awk is tricky
www.raygard.net/awkdoc/pages/awk_parsing_is_tricky.htmlA somewhat compact implementation of the awk programming language
2024-08-15
Writing a C Compiler
nostarch.com/writing-c-compilerA fun, hands-on guide to writing your own compiler for a real-world programming language.
2024-06-24
Counting Immutable Beans: Reference Counting Optimized for Purely Functional Programming
arxiv.org/abs/1908.05647Most 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-13
An easy-to-implement, arena-friendly hash map
nullprogram.com/blog/2023/09/302024-06-11
Self-serve dashboards
briefer.cloud/blog/posts/self-serve-bi-mythSales 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.
Exploring Gleam, a type-safe language on the BEAM!
christopher.engineering/en/blog/gleam-overviewFrom Erlang, to Elixir and now, GLEAM!?
2024-06-10
Modern IRC Client Protocol
modern.ircdocs.horseLiving specification of the IRC protocol. Does not include brand new behavior, just existing behavior present in IRC software and/or networks (new extensions are IRCv3's area).
soju IRC bouncer
soju.imsoju is a user-friendly IRC bouncer. soju connects to upstream IRC servers on behalf of the user to provide extra functionality. soju supports many features such as multiple users, numerous IRCv3 extensions, chat history playback and detached channels. It is well-suited for both small and large deployments.
2024-06-09
Piku
piku.github.io/index.htmlpiku, inspired by dokku, allows you do git push deployments to your own servers, no matter how small they are.