<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Anish Tejwani — Blog</title>
    <link>https://anishtejwani.dev/blog</link>
    <atom:link href="https://anishtejwani.dev/feed.xml" rel="self" type="application/rss+xml" />
    <description>Write-ups on the things I build.</description>
    <language>en</language>
    <lastBuildDate>Fri, 23 Oct 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Craft, curiosity and the common thread in my projects</title>
      <link>https://anishtejwani.dev/blog/craft-and-curiosity</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/craft-and-curiosity</guid>
      <pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate>
      <description>I am artistic, crafty and curious to a fault. Why that shows up in the software I build, and how trying new things keeps changing what I make.</description>
    </item>
    <item>
      <title>Playing sports too hard, and what the injuries taught me</title>
      <link>https://anishtejwani.dev/blog/playing-sports-too-hard</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/playing-sports-too-hard</guid>
      <pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate>
      <description>I put a lot of effort into sport and get hurt more often than I should. Notes on effort, recovery and measuring strength, from someone who keeps learning the lesson.</description>
    </item>
    <item>
      <title>Hosting a demo of something that cannot be hosted</title>
      <link>https://anishtejwani.dev/blog/recording-a-real-run-for-a-hosted-demo</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/recording-a-real-run-for-a-hosted-demo</guid>
      <pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate>
      <description>GraphSentinel needs a Python API, a graph database and a frontend. Here is how I turned a real run of it into a static site anyone can click through, and why I labelled it a replay.</description>
    </item>
    <item>
      <title>Tea, in quantity</title>
      <link>https://anishtejwani.dev/blog/tea</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/tea</guid>
      <pubDate>Thu, 22 Oct 2026 00:00:00 GMT</pubDate>
      <description>A short and slightly overdue defence of the drink I get through more of than I should admit.</description>
    </item>
    <item>
      <title>About me, in no particular order</title>
      <link>https://anishtejwani.dev/blog/about-me-in-no-particular-order</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/about-me-in-no-particular-order</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <description>Who I am outside the commit history: where I am, what I build, what I do with the rest of my time, and where to find me.</description>
    </item>
    <item>
      <title>Welford's algorithm: mean and variance in one pass</title>
      <link>https://anishtejwani.dev/blog/welford-online-mean-and-variance</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/welford-online-mean-and-variance</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <description>How to keep a running mean and variance without storing history, why the textbook shortcut fails, and how I use it to flag unusual option flow.</description>
    </item>
    <item>
      <title>Rebuilding this site as a quiet place to read</title>
      <link>https://anishtejwani.dev/blog/rebuilding-this-site</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/rebuilding-this-site</guid>
      <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
      <description>Why I stripped the portfolio down to one column, and how the blog, case studies and search fit together.</description>
    </item>
    <item>
      <title>ChainDeck: turning an option chain into signals</title>
      <link>https://anishtejwani.dev/blog/chaindeck-max-pain-and-signals</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/chaindeck-max-pain-and-signals</guid>
      <pubDate>Mon, 19 Oct 2026 00:00:00 GMT</pubDate>
      <description>How a raw NSE option chain becomes Max Pain, gamma exposure, volatility panels and a market regime, and why prefix sums, Welford's algorithm and a boring storage layer do the heavy lifting.</description>
    </item>
    <item>
      <title>Unbake: recovering spreadsheet formulas from plain values</title>
      <link>https://anishtejwani.dev/blog/unbake-formula-archaeology</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/unbake-formula-archaeology</guid>
      <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
      <description>What happens when a system exports numbers with the formulas stripped out, and how RANSAC, snapping and a blame solver can work backwards to the formulas and the typos.</description>
    </item>
    <item>
      <title>GraphSentinel: an investigation agent with a short leash</title>
      <link>https://anishtejwani.dev/blog/graphsentinel-bounded-agents</link>
      <guid isPermaLink="true">https://anishtejwani.dev/blog/graphsentinel-bounded-agents</guid>
      <pubDate>Sat, 17 Oct 2026 00:00:00 GMT</pubDate>
      <description>Designing an LLM agent for security work that can look at a lot and do almost nothing on its own, with typed tools, deterministic scoring, human approval and an audit trail.</description>
    </item>
  </channel>
</rss>
