<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
      <title>wh1le</title>
      <link>https://wh1le.com</link>
      <description>Last 10 notes on wh1le</description>
      <generator>Quartz -- quartz.jzhao.xyz</generator>
      <item>
    <title>AI Disclosure</title>
    <link>https://wh1le.com/ai</link>
    <guid>https://wh1le.com/ai</guid>
    <description><![CDATA[ AI Disclosure I value high-signal, human-driven content. ]]></description>
    <pubDate>Fri, 22 May 2026 09:06:32 GMT</pubDate>
  </item><item>
    <title>wh1le&#039;s blog</title>
    <link>https://wh1le.com/</link>
    <guid>https://wh1le.com/</guid>
    <description><![CDATA[ Hey, There I’m Nikita - Backend engineer, 10+ years in. Mostly Ruby and Rails, but I’ll reach for whatever gets the job done. ]]></description>
    <pubDate>Fri, 22 May 2026 09:06:32 GMT</pubDate>
  </item><item>
    <title>Privacy Policy</title>
    <link>https://wh1le.com/privacy-policy</link>
    <guid>https://wh1le.com/privacy-policy</guid>
    <description><![CDATA[ Privacy Policy This site collects minimal, anonymous analytics to understand how visitors use the site and debug issues. ]]></description>
    <pubDate>Fri, 22 May 2026 09:06:32 GMT</pubDate>
  </item><item>
    <title>The System Design Trap: Capacity Planning in Ruby on Rails</title>
    <link>https://wh1le.com/system-design-capacity-planning</link>
    <guid>https://wh1le.com/system-design-capacity-planning</guid>
    <description><![CDATA[ I was asked 'how many machines for 1,000 RPS?' in an interview. The textbook formula is simple - but it will crash a real Rails app. Here's why. ]]></description>
    <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Boundary Burst: The Rate Limit Problem Nobody Catches</title>
    <link>https://wh1le.com/ruby-at-scale-rate-limit-boundary-burst</link>
    <guid>https://wh1le.com/ruby-at-scale-rate-limit-boundary-burst</guid>
    <description><![CDATA[ Your rate limiter might be allowing double the configured limit at window boundaries. Here's why fixed-window algorithms break down and how to fix it with Redis and Lua. ]]></description>
    <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>Thundering Herd: The Problem That Kills Ruby Apps at Scale</title>
    <link>https://wh1le.com/ruby-at-scale-cache-stampede</link>
    <guid>https://wh1le.com/ruby-at-scale-cache-stampede</guid>
    <description><![CDATA[ What happens when 1000 requests hit your expired cache at once. A real concurrency nightmare with a hands-on fix you can try yourself. ]]></description>
    <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
  </item><item>
    <title>The DNS Bootstrap Problem Nobody Warns You About</title>
    <link>https://wh1le.com/dns-bootstrap-problem-pihole</link>
    <guid>https://wh1le.com/dns-bootstrap-problem-pihole</guid>
    <description><![CDATA[ When your DNS server needs DNS to start, you have a chicken-and-egg problem. How I solved Pi-hole's first-boot blocklist download and Unbound's TLS clock issues. ]]></description>
    <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
  </item><item>
    <title>How DNS-Level Blocking Stops Ad Trackers</title>
    <link>https://wh1le.com/dns-privacy-raspberry-pi</link>
    <guid>https://wh1le.com/dns-privacy-raspberry-pi</guid>
    <description><![CDATA[ Block ads and trackers across your entire network with a Raspberry Pi. How Pi-hole works at the DNS level and why local caching speeds up your browsing. ]]></description>
    <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
  </item><item>
    <title>From Zero to Ad-Free Network in One Command</title>
    <link>https://wh1le.com/finite-deployment-guide</link>
    <guid>https://wh1le.com/finite-deployment-guide</guid>
    <description><![CDATA[ Step-by-step guide to deploying finite on Raspberry Pi. Flash an SD card, configure settings, and get network-wide ad-blocking with Pi-hole and Unbound running. ]]></description>
    <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
  </item><item>
    <title>Finite: Network-Wide Ad Blocking with Raspberry Pi</title>
    <link>https://wh1le.com/finite</link>
    <guid>https://wh1le.com/finite</guid>
    <description><![CDATA[ A NixOS config that turns a Raspberry Pi into an ad-blocker for your whole network. Pi-hole filters ads, Unbound caches DNS locally for faster resolution. ]]></description>
    <pubDate>Tue, 14 Jan 2025 00:00:00 GMT</pubDate>
  </item>
    </channel>
  </rss>