A practical walkthrough of learning Apache Spark by processing 100 million records with PySpark, MinIO, and a local Spark cluster.
Spark Joy: How I Cut 100M Record Processing from 4.5 Minutes to 76 Seconds


A practical walkthrough of learning Apache Spark by processing 100 million records with PySpark, MinIO, and a local Spark cluster.

A fun tour through weird and entertaining terminal commands that make Linux and the command line feel a little less serious.

A practical look at MySQL CTEs, recursive queries, and the mental model behind WITH RECURSIVE.

A practical look at MySQL crash recovery, massive transaction rollbacks, and why an OOM-killed database can get stuck in rollback hell.

A reflection on burnout, control, and why learning to step away from work can make you more effective

Starting an open-source database monitoring tool to bring DBA insights into one place.

Why Redis offers an official APT repo but not a YUM repo, plus a practical guide to RPM packaging and building with spec files on RHEL-based systems.

cover photo credit - https://lightning.ai/pages/community/tutorial/redis-for-machine-learning/
Redis Streams feels safe. Messages get processed, you ACK them, and everything keeps moving. Nothing backs up, dashboards look clean, and your workers stay busy.
Then one day Redis starts behaving badly — not because of traffic, not because of a bug, but because memory quietly grew without anyone noticing. This post is about the assumption that caused that, and how Redis Streams actually behaves in production.

A practical, real-world approach to debugging Docker builds and containers that fail before they even start.

My constant quest for happiness keeps getting interrupted by perfection