RSSAmplifier

Blog

Posts on RD Blog

Recent content in Posts on RD Blog

rdiachenko.comRSS feed ↗18 posts

Latest posts

Parse, Don't Validate, in Rust

Validation throws away what it learned. Parsing returns it. In Rust, that moves invariants into the type system, where both developers and coding agents have to respect them.

Postgres 18 Docker Silently Ignores Your Named Volume

After upgrading to Postgres 18 in Docker, my named volume sat empty while data went to an anonymous volume. No errors, no warnings, just initdb on every restart.

How a Background Task Ate 324 GB of Disk Space

A background task in Claude Code silently grew a single .output file to 324 GB in 16 minutes on my Mac. I went through the session logs to understand why. Turns out others have seen up to 740 GB from the same unbounded output files.

My 2025 Year in Books

The 12 books that shaped my thinking in 2025, from logic and Rust to Dostoevsky and nutrition.

How LLMs Sent Me Back to Logic and Linear Algebra

I went back to basics to rebuild my math foundation, and 50 days in, I’ve finally started in the right place.

The Morning My Synology NAS Went Silent

How I brought my Synology NAS back to life. Starting with quick checks, discovering a hidden debug tool, and finally fixing the network issue.

K-Means Image Compression in Rust

Using K-Means clustering for image compression in Rust. A visual and practical way to explore this classic machine learning algorithm.

Exploring Zig by Building and Plotting the Mandelbrot Set

Getting familiar with the Zig programming language by implementing and visualizing the Mandelbrot Set from scratch.

A Mind Map of Core Machine Learning Concepts

A mind map that breaks down the core ideas of machine learning, including types of learning, core techniques, and commonly used tools.

Leaky Bucket Rate Limiting and its Queue-Based Variant

A closer look at the Leaky Bucket algorithm, how it works, when to use the queue-based variant, and how to implement it in Java.

Token Bucket Rate Limiting with Interval and Greedy Refillers

A hands-on look at the Token Bucket algorithm, how it handles bursty traffic, why refill strategy matters, and how to build it in Java.

Sliding Window Rate Limiting and its Memory-Optimized Variant

A practical look at the Sliding Window rate limiting, how it handles rolling time windows, its memory-optimized version that scales better.

Fixed Window Rate Limiting: Simple, Fast, and Sometimes Flawed

A hands-on breakdown of the Fixed Window rate limiter, how it works, where it is fast and effective, and where it falls short.

Rate Limiting Concepts and Use Cases

An overview of core rate limiting concepts, common use cases, and how different strategies help control system load and ensure fair usage.

How to Move Files Between Git Repositories and Keep History

How to move files from one Git repository to another without losing commit history. Covers the most common scenarios and clean ways to do it.

Flaky Concurrent Tests Caused by Static Fields

A look at how shared static fields can introduce unpredictable behavior in concurrent tests and how to avoid it.

How Telegram Bots Work

What Telegram bots are, how they work behind the scenes, and what you need to build your own from scratch.

Reclaiming Disk Space in PostgreSQL After DELETE

How PostgreSQL handles disk space after DELETE operations and what you can do to actually free up storage and keep things efficient.