Notes on programming, databases, and building software.
Style is a coding style document focused on safety, performance, and developer experience. It emphasizes building robust, efficient, and maintainable software through disciplined engineering.
JavScript implementation of Redis' LOLWUT computer poetry generator, a computational poetry generator based on Nanni Balestrini's algorithm.
A standard for file organization and efficient data management. B+ trees provide an efficient and ordered structure for index-based searches.
Zig's new labeled switch lets continue jump directly between cases, simplifying state machines and improving performance.
My (very short) list of Zig resources.
Setting up a writable file system on top of a highly compressed DwarFS image for NATS dumps
References, articles, and information on various database systems and database internals. It serves as a reference and bookmarks for systems, architectures, and implementation details.
I recently re-watched James Cowlings excellent talk ["Stepping Stones, not Milestones"](https://www.youtube.com/watch?v=-fb112a2uYE).
Unmesh Joshi's "Patterns of Distributed Systems" on the Thoughtworks website is an overview of the complexities and recurring solutions in distributed systems.
Today I learned that CPU limits on Kubernetes are often considered an antipattern and can be more harmful than beneficial.
I had an issue with a server running out of disk-space and wanted to figure out which container has mounted the volume using the most space.
> PGO builds can now devirtualize some interface method calls, adding a concrete call to the most common callee. This enables further optimization, such as inlining the callee.
You want to reason about the problem and test your hypothesis and trade-offs.
Generics let you write data structures and functions with types that are specified later. Functions and types can have type parameters, and instantiated with type arguments, at compile time. Because this occurs at compile time, type parameters — have type constraints. Type constraints restrict the set of allowed type arguments.
How do you change a package that uses strings to generic types? Like many I have packages that work with a single type — but solve a general problem. In this article we look at how convert these to use generics.
It is such a beautiful algorithm that it fits in a tweet.