Building backend systems since 2012

Joined May 2013
69 Photos and videos
Docker's sbx allows to run AI coding agents inside a microVM with its own kernel, an outbound proxy, and credentials held on the host. That makes --dangerously-skip-permissions safer to use.
1
27
Discovered VHS, which records terminal sessions from a script. Instead of screen recording and trimming, you write a .tape file that describes what to type, and VHS renders it into a GIF, MP4, or WebM with consistent timing and clean output. rdiachenko.com/til/terminal/…
77
After upgrading from Postgres 16 to 18, every time I recreated my Docker container, the database started fresh. No errors, no warnings. Just `initdb` running on every startup, as if the named volume didn’t exist. The same setup worked fine with Postgres 16. rdiachenko.com/posts/databas…
51
Claude Code supports a customizable status line at the bottom of the terminal. It's empty by default, but you can point it to a shell script. rdiachenko.com/til/claude-co…
1
77
Claude Code adds a Co-Authored-By trailer to every commit and attribution text to PR descriptions by default. If you want clean commits without the co-author line, add this to your ~/.claude/settings.json:
66
If your Mac is randomly low on disk space and you use Claude Code, check /private/tmp/claude-*. Mine had a 324 GB surprise. rdiachenko.com/posts/trouble…
67
24 books in 2025. 12 worth talking about. From logic and Rust to Dostoevsky and nutrition. rdiachenko.com/posts/books/y…
88
50 days ago I tried to understand LLMs by reading papers and blog posts. I could follow the code, but the math made no sense. So I went back to the basics: logic and linear algebra. Now, 50 days later, I finally feel like I've started in the right place. I wrote about the journey so far: rdiachenko.com/posts/math/50…
2
120
Learning of the day: When you add data validation to code, run it against existing data and fix discovered data issues right away. Otherwise, you may end up with tons of issues during data migrations.
1
164
Nice read on web typography webkit.org/blog/16547/better…. Especially relevant if you have a blog or write online. I had never really thought about these typography issues, but fixing them can noticeably improve readability: 1. Short last lines. Sometimes the last line of a paragraph ends up with just one word. This creates extra space between paragraphs, making it look inconsistent with the rest of the spacing. 2. Too many hyphens in a row. When several lines in a paragraph end with a hyphen, it adds some cognitive load. The paragraph becomes harder to read smoothly. 3. Bad rag. When the ends of lines vary too much in length, they create a zig-zag pattern or a ragged edge. It makes the text less visually balanced and harder to follow. 4. Typographic rivers. Uneven spacing between words can accidentally form vertical paths of whitespace across a paragraph. These “rivers” pull your eyes in the wrong direction and break reading flow.
188
A story of how I brought my Synology NAS back to life after a strange network issue. rdiachenko.com/posts/trouble…
3
203
Customization is a drug that makes you stick to the platform.
1
3
196
Nice, I hadn't thought about increasing vector dimension by using a smaller data type for each feature. The process is called quantization. Great read!
New blog post 🌶️ In which I try to debunk pgvector myths and highlight not-known-enough features. Must read if you think that: - You have to use vector indexes - Vector indexes are pretty much like other indexes in RDBMS - Pgvector is limited to 2000 dimension vectors - Pgvector misses data for queries with WHERE conditions. - You only use vector embeddings for RAG - Pgvector can't work with BM25 (or other sparse text-search vectors) And also a good read if you are curious about pg_vector in general. thenile.dev/blog/pgvector_my…
1
6
1,406
Great post that describes Contextual Retrieval as an attempt to overcome the main limitation of traditional RAG. The key idea is to prepend explanatory context to each chunk before creating embeddings. anthropic.com/news/contextua…
1
145
An interesting limitation of traditional RAG systems is that they often miss context when individual chunks lack enough details. For example, imagine you've got a bunch of restaurant reviews in your knowledge base, and someone asks, "What are people saying about the pizza at Ruslan's Corner?" A relevant chunk might contain: "The crust was perfectly crispy and the toppings were fresh. It was one of the best pizzas I've ever had." However, this chunk doesn't actually mention which restaurant it's talking about. The system might not connect this positive review to Ruslan's Corner, potentially leading to an incomplete or inaccurate response.
1
120
RAG is about semantic search. BM25 is about exact matching. Combining both gives you a better retrieval system.
1
97
Just discovered prompt caching. Great technique, especially when your knowledge base is small (up to 200K tokens) and you include the entire knowledge base in the prompt to provide context to the LLM. Instead of reprocessing the provided context on each query, the system caches it. In subsequent queries, only the user's prompt is processed, reusing the cached context. That should improve response latency and reduce processing costs. docs.anthropic.com/en/docs/b…

1
100
5 Phases of Burnout 1. Honeymoon Phase: "This new job is amazing! I love everything about it." 2. Realistic Phase: "The job is good, but there are some drawbacks I didn't expect." 3. Team Isolation Phase: "Our team works hard, but other teams are lazy and incompetent." 4. Self Isolation Phase: "I'm doing my best, but nobody else seems to care or work as hard." 5. Apathy Phase: "I don't care anymore." Where do you think you're at right now?
1
3
130
Another interesting post that highlights Rust's challenges in rapid iteration cycles and fast prototyping. While Rust offers strong type safety and reliability, its longer compile times can slow down the development process, especially for quick proof-of-concept projects. Less strict languages, like JavaScript, may be more suitable for rapid prototyping and quick user testing. However, Rust's benefits often outweigh these drawbacks for larger, more complex projects where reliability and performance are crucial. yieldcode.blog/post/one-year…
1
106