#607 – January 05, 2025
"let's just..." scenarios
Hello,
We are back after a short break. I would've thought that it will be quiet over Christmas but so many excellent articles popped up that it was hard to pick the top five.
Systems Ideas that Sound Good But Almost Never Work
9 minutes by Steven Sinofsky
Most common engineering pitfalls and anti-patterns, articulated through various "let's just..." scenarios. Steven, drawing from extensive experience, explains why seemingly simple solutions like making systems pluggable, adding APIs, introducing abstractions, implementing cross-platform compatibility, or adding security controls later often fail in practice.
Minimize Apache Kafka Data Streaming Costs and Operations With WarpStream
sponsored by WarpStream
WarpStream is a drop-in replacement for Apache Kafka with a stateless architecture built on object storage. That means no interzone networking fees, no disks to manage, and zero ops auto-scaling. It runs in your cloud, so no cross-account IAM access or privileges are needed and data never leaves your environment. Companies save over 80% compared to self-hosted Kafka and AWS MSK.
Turing Machines
17 minutes by Sam Rose
An interactive introduction to Turing machines, the theoretical foundation of modern computing. The Turing machine, despite its simple design with just four parts and five instructions, proved capable of performing any computation possible, laying the theoretical foundation for modern computers.
Demystifying Debuggers
6 minutes by Ryan Fleury
The article introduces a series about debugger architecture. It explains that debuggers are complex tools that interact with multiple parts of computing systems, offering far more utility than just fixing broken code.
Static search trees: 40x faster than binary search
about 1 hour by Ragnar Koerkamp
This article discusses optimizing static search trees for high-throughput searching of sorted data. Key improvements include using S+ trees with batched queries, prefetching, and query interleaving to balance CPU and memory-bound operations.
On Long Term Software Development
16 minutes by Bert Hubert
Bert discusses best practices for long-term software development, particularly for critical systems that need to remain stable and maintainable for decades. The key recommendations include keeping code simple and regularly refactoring, carefully managing dependencies by minimizing their number and auditing them thoroughly, implementing comprehensive testing, maintaining detailed documentation about both code and system philosophy, and retaining stable development teams.
Next, we'll have a look at the top articles from 2024.
And we'll wrap up with the most read article from the last issue:
Happy New Year,
Jakub 🥳