Blog
The Lie in pg_stats
Postgres had the right index and still walked 18 million rows for a LIMIT 1 query. I built the failure locally, followed the planner's estimate back into pg_stats, and fixed it with a higher per-column statistics target.
On Remote Work and Deep Thinking
Reflections on how remote work has changed the way we think, collaborate, and find meaning in our professional lives.
On Building Meaningful Software
A reflection on what it means to build software that matters, beyond just solving technical problems.
Deciphering Coupling in Software Architecture- Architecture Quantum Explored
Learn how independent deployability, functional cohesion, and coupling help define architecture quanta for robust distributed systems.
Ethical Data Practices for Building Better Systems
A critical look at how data-intensive systems can impact society, exploring issues like predictive analytics, surveillance, biases, and the responsibilities of engineers.
Building Correct Systems in Distributed Environments
Explore strategies to build reliable and fault-tolerant systems while handling limitations in transactions, data corruption, and distributed coordination.
Unbundling Monolithic Databases for Flexibility
Learn how unbundling databases helps to achieve scalability and flexibility, combining specialized tools to meet modern data needs.
Integrating Distributed Systems for Unified Data Pipelines
Explore the intricacies of data integration in distributed applications, including synchronizing specialized systems and maintaining correctness across diverse data sources.
Unifying Batch and Stream Processing for Modern Pipelines
Examine how unbounded data streams are processed in real-time applications, including operators, time reasoning, joins, and fault tolerance.
Synchronizing Databases with Real-Time Streams
Examine how streams integrate with databases through change data capture, event sourcing, and the immutability of state, enabling real-time system synchronization.
Enabling Reliable and Scalable Event Streams in Distributed Systems
Explore how messaging systems and partitioned logs enable reliable and scalable transmission of event streams within distributed systems.
Advancing Beyond MapReduce- Modern Frameworks for Scalable Data Processing
Explore alternatives to MapReduce, including advanced dataflow engines and their benefits in efficiency, iterative graph processing, and high-level abstractions.
Want to get blog posts over email?
Enter your email address and get notified when there's a new post!