Bloom Filter: A Deep Dive

#616 – March 09, 2025

How Bloom filters are useful in scenarios with memory constraints

Bloom Filter: A Deep Dive
21 minutes by Kirupa Chinnathambi

In this tutorial Kirupa will dive deep into what Bloom filters are and what makes them extremely powerful. He includes implementation details, optimization strategies, and real-world performance characteristics, showing how Bloom filters are particularly useful in scenarios where memory constraints are important and occasional false positives are acceptable.

Bit: Open source framework for composable software
sponsored by bit

A build system framework for development of composable software. Natively to Harmony, and support for NodeJS, React apps (with Vite), NextJS, Angular, Vue and more. Bit enables teams to build, manage, and maintain their own applications and components.

How Amazon S3 Stores 350 Trillion Objects with 11 Nines of Durability
14 minutes by ByteByteGo

The article provides a comprehensive overview of Amazon S3, detailing its evolution from 2006 to 2023, architecture, and technical capabilities. It explains how S3 manages to store over 350 trillion objects while maintaining 99.9% durability through a microservices-based design, sophisticated indexing mechanisms, and multi-zone replication. It covers S3's write operations, indexing system, and how it handles millions of concurrent requests through distributed architecture and intelligent key partitioning.

Succinct data structures
13 minutes by Martijn Faassen

Martijn introduces succinct data structures, which store information compactly while still allowing operations on the data without decompression. He describes key examples including rank/select bit vectors, wavelet matrices, FM-index, and balanced parentheses structures, highlighting their space efficiency benefits and potential applications. The article particularly focuses on Rust implementations of these structures, noting they could be valuable for systems programming despite being relatively unknown outside academic computer science.

In defense of simple architectures
9 minutes by Dan Luu

In this post Dan presents Wave, a $1.7B company with 70 engineers, that demonstrates the effectiveness of a simple architecture: a Python monolith on top of Postgres. Despite handling billions of monthly requests, Wave has chosen to maintain this straightforward approach because engineering costs dominate system costs, and simple architectures can scale effectively even for high-traffic applications.

You need to be more strategic
8 minutes by Dan Pupius

In this post Dan explains what it means to "be more strategic" in software engineering, providing three key frameworks for strategic thinking. He defines strategy as a decision-making framework that includes explicit trade-offs and aligns actions with core objectives, rather than just long-term planning. The three frameworks Dan discusses are Rumelt's Kernel of Strategy, Playing to Win, and Three Horizons.

And the most popular link from the last issue was:

newsletters