<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kartikay Dubey's Blog</title><link>https://dubeykartikay.com/</link><description>Technical essays on search systems, performance engineering, distributed systems, Linux, and developer tools by Kartikay Dubey.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 27 May 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://dubeykartikay.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Making a Log Viewer 12× Faster: A Go Optimization Guide</title><link>https://dubeykartikay.com/posts/go-optimization-pprof/</link><pubDate>Wed, 27 May 2026 10:00:00 +0530</pubDate><guid>https://dubeykartikay.com/posts/go-optimization-pprof/</guid><description>A hands-on Go pprof tutorial: every command, every output, and every line of annotated source code from optimizing a real terminal log viewer.</description></item><item><title>How to Install Boost in Any C++ Project: CMake, vcpkg, Conan, and Manual Linking</title><link>https://dubeykartikay.com/posts/install-boost-cpp/</link><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/install-boost-cpp/</guid><description>A complete guide to installing Boost in any C++ project. Covers CMake find_package, FetchContent, vcpkg manifest mode, Conan, manual g++ linking, and building from source with b2.</description></item><item><title>The Shape of Duplicate Detection</title><link>https://dubeykartikay.com/posts/the-shape-of-duplicate-detection/</link><pubDate>Tue, 12 May 2026 12:00:00 +0530</pubDate><guid>https://dubeykartikay.com/posts/the-shape-of-duplicate-detection/</guid><description>Duplicate detection looks like a solved problem: use a hash set. A benchmark suite of 4050 measurements across finite batches and streaming workloads shows the fastest strategy can be 148x faster than a hash set, or 90,000x slower, depending on what you are deduplicating and what guarantees you need.</description></item><item><title>Why You Should Never Use a set</title><link>https://dubeykartikay.com/posts/why-never-use-std-unordered-set/</link><pubDate>Sun, 03 May 2026 12:17:55 +0530</pubDate><guid>https://dubeykartikay.com/posts/why-never-use-std-unordered-set/</guid><description>std::unordered_set looks like O(1), but in hot C++ loops the memory access pattern can dominate. Here is a duplicate-filtering benchmark with dense ids, sparse ids, Boost dynamic_bitset, sort+unique, and the case where unordered_set wins.</description></item><item><title>What I Got Wrong Implementing Graph-Based Vector Search</title><link>https://dubeykartikay.com/posts/reading-algorithms-like-an-engineer/</link><pubDate>Sun, 03 May 2026 04:00:00 +0530</pubDate><guid>https://dubeykartikay.com/posts/reading-algorithms-like-an-engineer/</guid><description>A dev log about implementing a Vamana-style ANN index from the DiskANN paper, why my first version was slower than brute force, and what it taught me about reading algorithms with implementation in mind.</description></item><item><title>How I Made My Vector Search Engine 16x Faster Without Changing the Algorithm</title><link>https://dubeykartikay.com/posts/sembed-engine-vector-search-performance/</link><pubDate>Sun, 26 Apr 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/sembed-engine-vector-search-performance/</guid><description>A performance story from sembed-engine: the search visited the same number of nodes and returned the same answers, but became much faster by changing what the CPU had to do for every distance calculation.</description></item><item><title>Optimizing My Hugo Blog: Journey to Zero JS</title><link>https://dubeykartikay.com/posts/hugo-optimization-zero-js/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/hugo-optimization-zero-js/</guid><description>I recently looked into my blog&amp;rsquo;s performance and was surprised to find my pages were downloading over 3.6 MB of JavaScript and render-blocking CSS on every load. Here is the step-by-step breakdown of how I reduced my payload and removed JavaScript.</description></item><item><title>How a Minor Release Caused a 10x Throughput Drop in Kafka</title><link>https://dubeykartikay.com/posts/kafka-throughput-drop-min-insync-replicas/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/kafka-throughput-drop-min-insync-replicas/</guid><description>Diagnose a Kafka throughput drop after v3.9.0. Learn why min.insync.replicas slows consumers and how to fix performance safely.</description></item><item><title>How Google Search Actually Works (It's Not What You Think)</title><link>https://dubeykartikay.com/posts/vector-databases-semantic-search/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/vector-databases-semantic-search/</guid><description>Learn what vector databases are, how semantic search works, and why ANN, DiskANN, and Vamana matter for modern retrieval systems.</description></item><item><title>How No Man's Sky Creates 18 Quintillion Planets with Just Math (And Why It's Not Actually Random)</title><link>https://dubeykartikay.com/posts/procedural-generation-no-mans-sky/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/procedural-generation-no-mans-sky/</guid><description>Understand procedural generation in No Man&amp;rsquo;s Sky, from Perlin noise to layering and domain warping for massive game worlds.</description></item><item><title>How to Setup Dual GPU Systems (Gaming Laptops) in Hyprland</title><link>https://dubeykartikay.com/posts/hyprland-dual-gpu-gaming-laptops/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://dubeykartikay.com/posts/hyprland-dual-gpu-gaming-laptops/</guid><description>Set up dual GPU gaming laptops in Hyprland with the right iGPU priority, video decoding configuration, and battery-saving GPU switching.</description></item></channel></rss>