<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Kartik Khare — engineering notes</title><description>Practical engineering notes on distributed systems, databases, data infrastructure and AI agents.</description><link>https://kharekartik.dev/</link><language>en-us</language><item><title>My LLM Query Optimizer Demoed in a Week. Making it honest however took Months</title><link>https://kharekartik.dev/writing/my-llm-query-optimizer-demoed-in-a-week-making-it-honest-took-months/</link><guid isPermaLink="true">https://kharekartik.dev/writing/my-llm-query-optimizer-demoed-in-a-week-making-it-honest-took-months/</guid><description>Why a week-long LLM query optimizer demo needed months of evals, validators and live cluster probes before its advice became trustworthy.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>The Staff Engineer&apos;s Missing Manual</title><link>https://kharekartik.dev/writing/the-staff-engineers-missing-manual/</link><guid isPermaLink="true">https://kharekartik.dev/writing/the-staff-engineers-missing-manual/</guid><description>A practical field guide to the staff engineer transition: turning ambiguity into durable progress without trying to solve every problem yourself.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>I Am Building a QA Agent Because Coding Got Too Fast</title><link>https://kharekartik.dev/writing/i-am-building-a-qa-agent-because-coding-got-too-fast/</link><guid isPermaLink="true">https://kharekartik.dev/writing/i-am-building-a-qa-agent-because-coding-got-too-fast/</guid><description>An in progress dump from trying to turn AI coding speed into runtime proof instead of a bigger pile of plausible green checks.</description><pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate></item><item><title>I Gave RocksDB 1 Billion Primary Keys. Here&apos;s What Broke</title><link>https://kharekartik.dev/writing/me-vs-rocksdb-in-production/</link><guid isPermaLink="true">https://kharekartik.dev/writing/me-vs-rocksdb-in-production/</guid><description>What started breaking once RocksDB crossed from useful embedded store into a scale-sensitive production subsystem.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Automating Visual Explainers, Part 2: The Single File Trap</title><link>https://kharekartik.dev/writing/wtf-does-it-take-to-automate-visual-explainers-part-2/</link><guid isPermaLink="true">https://kharekartik.dev/writing/wtf-does-it-take-to-automate-visual-explainers-part-2/</guid><description>The harness could finally build something, but the first real simulators taught me that better prompts do not fix a visual system with too much freedom.</description><pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate></item><item><title>How I&apos;m using Claude Code to reduce my workload</title><link>https://kharekartik.dev/writing/how-im-using-claude-code-to-reduce-my-workload/</link><guid isPermaLink="true">https://kharekartik.dev/writing/how-im-using-claude-code-to-reduce-my-workload/</guid><description>A growing set of small Claude Code automations, each tied to a specific chore I already do. A living list I&apos;ll keep adding to as I build more.</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Escaping the zero shot build trap</title><link>https://kharekartik.dev/writing/building-production-ai-agents-incrementally/</link><guid isPermaLink="true">https://kharekartik.dev/writing/building-production-ai-agents-incrementally/</guid><description>What I learned building a Jira-to-PR agent for Apache Pinot one proven layer at a time instead of designing the whole system upfront.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Automating Visual Explainers, Part 1: Building the Harness That Stops the Agent from Bullshitting</title><link>https://kharekartik.dev/writing/wtf-does-it-take-to-automate-visual-explainers-part-1/</link><guid isPermaLink="true">https://kharekartik.dev/writing/wtf-does-it-take-to-automate-visual-explainers-part-1/</guid><description>I spent a year hand-building visual explainers in Cursor. Then I tried to automate it with AI. The first month was all agent infrastructure and zero visuals.</description><pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Me vs a Race Condition at 2 AM</title><link>https://kharekartik.dev/writing/debugging-race-conditions-in-distributed-systems/</link><guid isPermaLink="true">https://kharekartik.dev/writing/debugging-race-conditions-in-distributed-systems/</guid><description>A real incident walkthrough for when your system is healthy and completely wrong</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate></item><item><title>WTF Is Time Travel in Data Lakes and Does It Actually Solve Anything?</title><link>https://kharekartik.dev/writing/wtf-is-time-travel-in-data-lakes-and-does-it-actually-solve-anything/</link><guid isPermaLink="true">https://kharekartik.dev/writing/wtf-is-time-travel-in-data-lakes-and-does-it-actually-solve-anything/</guid><description>A practical explanation of snapshots, Delta Lake, Apache Iceberg and why data teams suddenly care about table formats.</description><pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate></item><item><title>How I Performance Maxxed Apache Arrow for Map Reduce</title><link>https://kharekartik.dev/writing/what-arrow-actually-demands-from-you/</link><guid isPermaLink="true">https://kharekartik.dev/writing/what-arrow-actually-demands-from-you/</guid><description>The art of removing costs you didn&apos;t know you were paying on every row.</description><pubDate>Tue, 12 Aug 2025 00:00:00 GMT</pubDate></item><item><title>I Spent Weeks Shaving Seconds Off an Anime Profile Picture Pipeline</title><link>https://kharekartik.dev/writing/anime-pfp-chrome-extension/</link><guid isPermaLink="true">https://kharekartik.dev/writing/anime-pfp-chrome-extension/</guid><description>What it took to make a Stable Diffusion pipeline fast enough to replace Twitter profile pictures with anime versions as you scroll.</description><pubDate>Thu, 20 Jun 2024 00:00:00 GMT</pubDate></item><item><title>Apache Helix: The Distributed System’s Orchestra Conductor</title><link>https://kharekartik.dev/writing/apache-helix-the-distributed-system-s-orchestra-conductor/</link><guid isPermaLink="true">https://kharekartik.dev/writing/apache-helix-the-distributed-system-s-orchestra-conductor/</guid><description>Achieve harmony in complex clusters using finite-state machines</description><pubDate>Tue, 28 Feb 2023 00:00:00 GMT</pubDate></item><item><title>Navigating the Minefield of RocksDB Configuration Options</title><link>https://kharekartik.dev/writing/navigating-the-minefield-of-rocksdb-configuration-options/</link><guid isPermaLink="true">https://kharekartik.dev/writing/navigating-the-minefield-of-rocksdb-configuration-options/</guid><description>Unleashing the full potential of your RocksDB with the right configuration</description><pubDate>Tue, 03 Jan 2023 00:00:00 GMT</pubDate></item><item><title>How to Package Java Projects in Python Tar files</title><link>https://kharekartik.dev/writing/how-to-package-java-projects-in-python-tar-files/</link><guid isPermaLink="true">https://kharekartik.dev/writing/how-to-package-java-projects-in-python-tar-files/</guid><description>How to package a Java project inside a Python distribution when the two language ecosystems genuinely need to ship together.</description><pubDate>Tue, 02 Mar 2021 00:00:00 GMT</pubDate></item><item><title>Utilize UDFs to Supercharge Queries in Apache Pinot</title><link>https://kharekartik.dev/writing/utilize-udfs-to-supercharge-queries-in-apache-pinot/</link><guid isPermaLink="true">https://kharekartik.dev/writing/utilize-udfs-to-supercharge-queries-in-apache-pinot/</guid><description>How Apache Pinot&apos;s Groovy UDF support extends SQL queries with custom functions and the tradeoffs that come with it.</description><pubDate>Tue, 29 Sep 2020 00:00:00 GMT</pubDate></item><item><title>Leverage Plugins to Ingest Parquet Files from S3 In pinot</title><link>https://kharekartik.dev/writing/leverage-plugins-to-ingest-parquet-files-from-s3-in-pinot/</link><guid isPermaLink="true">https://kharekartik.dev/writing/leverage-plugins-to-ingest-parquet-files-from-s3-in-pinot/</guid><description>How Apache Pinot&apos;s plugin architecture lets ingestion jobs read Parquet data from Amazon S3 through pluggable filesystems and input formats.</description><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate></item><item><title>Learning Multi-dimensional indices: The next big thing in OLAP DBs</title><link>https://kharekartik.dev/writing/learning-multi-dimensional-indices-the-next-big-thing-in-olap-dbs/</link><guid isPermaLink="true">https://kharekartik.dev/writing/learning-multi-dimensional-indices-the-next-big-thing-in-olap-dbs/</guid><description>How multi-dimensional indexes accelerate OLAP queries by organizing data around the dimensions filters actually use.</description><pubDate>Thu, 09 Apr 2020 00:00:00 GMT</pubDate></item><item><title>A Glimpse into my “WFH in Quarantine” Life</title><link>https://kharekartik.dev/writing/a-glimpse-into-my-wfh-in-quarantine-life/</link><guid isPermaLink="true">https://kharekartik.dev/writing/a-glimpse-into-my-wfh-in-quarantine-life/</guid><description>A practical tour of the tools, routines and home-office setup that shaped my work-from-home life during quarantine.</description><pubDate>Wed, 01 Apr 2020 00:00:00 GMT</pubDate></item><item><title>How Does Zookeeper Servers Remain In sync?</title><link>https://kharekartik.dev/writing/how-does-zookeeper-servers-remain-in-sync/</link><guid isPermaLink="true">https://kharekartik.dev/writing/how-does-zookeeper-servers-remain-in-sync/</guid><description>How ZooKeeper keeps leader and follower servers synchronized through atomic broadcast, transaction logs and snapshots.</description><pubDate>Mon, 30 Mar 2020 00:00:00 GMT</pubDate></item><item><title>Why Apache Airflow Is a Great Choice for Managing Data Pipelines</title><link>https://kharekartik.dev/writing/why-apache-airflow-is-a-great-choice-for-managing-data-pipelines/</link><guid isPermaLink="true">https://kharekartik.dev/writing/why-apache-airflow-is-a-great-choice-for-managing-data-pipelines/</guid><description>A glimpse at capabilities which makes Airflow better than its predecessors</description><pubDate>Mon, 20 Jan 2020 00:00:00 GMT</pubDate></item><item><title>Deploying ML Models in Distributed Real-time Data Streaming Applications</title><link>https://kharekartik.dev/writing/deploying-ml-models-in-distributed-real-time-data-streaming-applications/</link><guid isPermaLink="true">https://kharekartik.dev/writing/deploying-ml-models-in-distributed-real-time-data-streaming-applications/</guid><description>Explore the various strategies to deploy ML models in Apache Flink/Spark or other realtime data streaming applications.</description><pubDate>Sat, 11 Jan 2020 00:00:00 GMT</pubDate></item></channel></rss>