<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Anuvrat — Thinking in systems</title><description>Thoughts on distributed systems, infrastructure, and technology</description><link>https://singhanuvrat.com/</link><language>en-us</language><item><title>#1: Agents, Atlas, and exhaustion</title><link>https://singhanuvrat.com/nuggets/1/</link><guid isPermaLink="true">https://singhanuvrat.com/nuggets/1/</guid><description>Curated links and commentary: Jan 23-29, 2026</description><pubDate>Fri, 30 Jan 2026 00:00:00 GMT</pubDate><category>nuggets</category></item><item><title>The &quot;Files are the Database&quot;: A Deep Dive into Delta Lake</title><link>https://singhanuvrat.com/delta-lake-deep-dive/</link><guid isPermaLink="true">https://singhanuvrat.com/delta-lake-deep-dive/</guid><description>How a simple transaction log turned cloud object storage into a reliable data warehouse — and the trade-offs between file-based lakehouse and traditional database architectures.</description><pubDate>Thu, 27 Nov 2025 00:00:00 GMT</pubDate><category>databases</category><category>data-engineering</category><category>storage-systems</category><category>deep-dive</category></item><item><title>An AI Was Tricked Into Hacking</title><link>https://singhanuvrat.com/ai-tricked-into-hacking/</link><guid isPermaLink="true">https://singhanuvrat.com/ai-tricked-into-hacking/</guid><description>Analyzing the GTG-1002 cyber-espionage campaign where attackers tricked an AI into autonomous hacking — and what it reveals about the &apos;Confused Deputy&apos; problem in AI agent architecture.</description><pubDate>Sat, 15 Nov 2025 00:00:00 GMT</pubDate><category>ai</category><category>security</category><category>architecture</category></item><item><title>OpenAI&apos;s Browser - Architectural Trade-offs</title><link>https://singhanuvrat.com/openai-browser-architecture/</link><guid isPermaLink="true">https://singhanuvrat.com/openai-browser-architecture/</guid><description>A deep dive into the Atlas browser&apos;s split architecture: why OpenAI separated the UI from Chromium, and the performance, security, and maintenance trade-offs involved.</description><pubDate>Tue, 04 Nov 2025 00:00:00 GMT</pubDate><category>architecture</category><category>ai</category><category>deep-dive</category></item><item><title>The Spanner Paper: Google&apos;s Quest for a Globally Consistent Database</title><link>https://singhanuvrat.com/google-spanner/</link><guid isPermaLink="true">https://singhanuvrat.com/google-spanner/</guid><description>How Google built a globally consistent database by trading milliseconds of latency for mathematical correctness, using atomic clocks and clever transaction protocols.</description><pubDate>Wed, 22 Oct 2025 00:00:00 GMT</pubDate><category>distributed-systems</category><category>databases</category><category>paper-analysis</category></item><item><title>Deconstructing Bigtable: A Study in Distributed System Design</title><link>https://singhanuvrat.com/bigtable-distributed-design/</link><guid isPermaLink="true">https://singhanuvrat.com/bigtable-distributed-design/</guid><description>An analysis of Google&apos;s Bigtable paper and the deliberate trade-offs that made it scale: sacrificing SQL for flexibility, trading consistency for performance, and choosing simplicity over features.</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate><category>distributed-systems</category><category>storage-systems</category><category>databases</category><category>paper-analysis</category></item><item><title>Tectonic: Navigating Design Trade-offs at Facebook Scale</title><link>https://singhanuvrat.com/tectonic-facebook-filesystem/</link><guid isPermaLink="true">https://singhanuvrat.com/tectonic-facebook-filesystem/</guid><description>How Facebook unified its storage infrastructure by accepting bounded inefficiency to achieve adaptability and reliability at exabyte scale.</description><pubDate>Wed, 15 Oct 2025 00:00:00 GMT</pubDate><category>distributed-systems</category><category>storage-systems</category><category>paper-analysis</category></item><item><title>Engineering Trade-offs in the Google File System</title><link>https://singhanuvrat.com/google-file-system/</link><guid isPermaLink="true">https://singhanuvrat.com/google-file-system/</guid><description>Breaking down the engineering trade-offs in Google&apos;s foundational distributed file system: reliability vs. cost, latency vs. throughput, and simplicity vs. availability.</description><pubDate>Fri, 10 Oct 2025 00:00:00 GMT</pubDate><category>distributed-systems</category><category>storage-systems</category><category>paper-analysis</category></item><item><title>A Baby, a Bug, and a Pull Request to the Human Genome</title><link>https://singhanuvrat.com/human-genome-pull-request/</link><guid isPermaLink="true">https://singhanuvrat.com/human-genome-pull-request/</guid><description>Understanding CRISPR through the lens of software: how doctors shipped a personalized bug fix to a baby&apos;s genome using molecular find-and-replace.</description><pubDate>Thu, 29 May 2025 00:00:00 GMT</pubDate><category>deep-dive</category></item><item><title>Beyond kubectl apply: Giving Your Kubernetes Apps Superpowers with the Operator Pattern</title><link>https://singhanuvrat.com/kubernetes-operator-pattern/</link><guid isPermaLink="true">https://singhanuvrat.com/kubernetes-operator-pattern/</guid><description>How to extend Kubernetes with the Operator pattern: encoding operational expertise into custom controllers that manage complex applications as first-class resources.</description><pubDate>Mon, 05 May 2025 00:00:00 GMT</pubDate><category>infrastructure</category><category>architecture</category><category>tutorial</category></item><item><title>Debugging Pip Extras: A Deep Dive into .whl Files</title><link>https://singhanuvrat.com/debugging-pip-extras/</link><guid isPermaLink="true">https://singhanuvrat.com/debugging-pip-extras/</guid><description>A debugging journey into Python wheel files: why pip couldn&apos;t find an &apos;extra&apos; that was clearly defined in setup.py, and how to inspect .whl metadata.</description><pubDate>Wed, 08 Jan 2025 00:00:00 GMT</pubDate><category>deep-dive</category><category>tutorial</category></item><item><title>Writing Into Dynamic Partitions Using Spark</title><link>https://singhanuvrat.com/spark-dynamic-partitions/</link><guid isPermaLink="true">https://singhanuvrat.com/spark-dynamic-partitions/</guid><description>Solving Spark&apos;s partition overwrite problem: how to write to specific Hive partitions without deleting the others.</description><pubDate>Wed, 11 Jul 2018 00:00:00 GMT</pubDate><category>data-engineering</category><category>tutorial</category></item><item><title>Parsing JSON in Hive Using the JSON SerDe</title><link>https://singhanuvrat.com/hive-json-parsing/</link><guid isPermaLink="true">https://singhanuvrat.com/hive-json-parsing/</guid><description>Parsing complex nested JSON in Hive using the JSON SerDe and lateral view explode — no custom UDFs required.</description><pubDate>Wed, 24 May 2017 00:00:00 GMT</pubDate><category>data-engineering</category><category>tutorial</category></item></channel></rss>