<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Writing | Amir Pournasserian</title>
    <link>https://pournasserian.com/writing</link>
    <description>Notes from Amir Pournasserian's research: MCP servers, AI tooling for codebases, and the IoT and machine-learning work that came before.</description>
    <language>en</language>
    <atom:link href="https://pournasserian.com/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Wed, 07 Oct 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>MCP servers for websites in 2026: 44 tools, sorted by who runs them</title>
      <link>https://pournasserian.com/writing/mcp-servers-for-websites-2026</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/mcp-servers-for-websites-2026</guid>
      <description>Forty-four ways to let any AI agent search and ask a website over MCP, from Wix, Shopify and GitBook to NLWeb and CMS plugins, sorted by who runs the server. As documented on 7 October 2026.</description>
      <pubDate>Wed, 07 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>AI tools that document a codebase in 2026: 17 compared, and what none of them does yet</title>
      <link>https://pournasserian.com/writing/ai-code-documentation-tools-2026</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/ai-code-documentation-tools-2026</guid>
      <description>Seventeen tools that turn a repository into documentation, from DeepWiki and Google Code Wiki to CodeWiki, OpenDeepWiki and Swimm, compared on access, outputs and audiences, with the gaps they leave. As of 1 October 2026.</description>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Observed, documented, inferred: a design for codebase documentation you can audit</title>
      <link>https://pournasserian.com/writing/evidence-labelled-code-documentation</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/evidence-labelled-code-documentation</guid>
      <description>A design for documentation generated from code where every fact carries its evidence and one of three labels, observed, documented or inferred, so managers, business readers and coding agents can tell what was read from the code and what a model inferred.</description>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Testing MCP servers in 2026: 31 tools compared and the gaps between them</title>
      <link>https://pournasserian.com/writing/mcp-server-testing-tools-2026</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/mcp-server-testing-tools-2026</guid>
      <description>Thirty-one tools that inspect, test, audit, secure or load test an MCP server, compared on twelve capabilities, and the gaps none of them fills. As documented on 1 October 2026.</description>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>One MCP server, eight rulebooks: what the spec, Claude, ChatGPT, Codex, VS Code, Windsurf, Kiro and Gemini CLI require</title>
      <link>https://pournasserian.com/writing/what-ai-hosts-require-of-an-mcp-server</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/what-ai-hosts-require-of-an-mcp-server</guid>
      <description>The checkable rules each AI host applies to an MCP server, from tool-name length to mandatory annotations and timeouts, where they conflict, and which tools validate against them. As of 1 October 2026.</description>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Getting IoT device data to the cloud: webhooks, device management and testing</title>
      <link>https://pournasserian.com/writing/iot-webhooks-device-management-testing</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/iot-webhooks-device-management-testing</guid>
      <description>How a webhook carries sensor data, what managing a fleet of IoT devices involves, and what to test before a full deployment. From 2018.</description>
      <pubDate>Thu, 11 Oct 2018 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Bluetooth Low Energy fundamentals: how it saves power and reaches the internet</title>
      <link>https://pournasserian.com/writing/bluetooth-low-energy-fundamentals</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/bluetooth-low-energy-fundamentals</guid>
      <description>How Bluetooth Low Energy saves power, which devices can talk to which, how a sensor reaches the internet, and what mesh adds, as the technology stood in 2018.</description>
      <pubDate>Mon, 02 Apr 2018 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>BLE beacons in practice: protocols, sensors, layout and transmission power</title>
      <link>https://pournasserian.com/writing/ble-beacons-in-practice</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/ble-beacons-in-practice</guid>
      <description>The four decisions in a Bluetooth beacon deployment: iBeacon or Eddystone, which sensors, a point or grid layout, and how much transmission power. From 2018.</description>
      <pubDate>Mon, 26 Mar 2018 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Indoor location: RTLS, asset tracking, beacons and ultra-wideband</title>
      <link>https://pournasserian.com/writing/indoor-location-rtls-beacons-uwb</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/indoor-location-rtls-beacons-uwb</guid>
      <description>What makes a tracking system a real-time location system, which technologies it can run on, and when to choose Bluetooth beacons or ultra-wideband. From 2018.</description>
      <pubDate>Sat, 06 Jan 2018 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Recognizing handwritten digits: six neural networks on MNIST, from 92% to 99.4%</title>
      <link>https://pournasserian.com/writing/mnist-handwritten-digit-recognition</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/mnist-handwritten-digit-recognition</guid>
      <description>Six TensorFlow models for the MNIST handwritten digits, from one softmax layer at 92% to a convolutional network with batch normalization at 99.4%. From 2017.</description>
      <pubDate>Mon, 06 Feb 2017 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A first try at sentiment analysis: TextBlob on a Twitter stream</title>
      <link>https://pournasserian.com/writing/twitter-sentiment-textblob-tweepy</link>
      <guid isPermaLink="true">https://pournasserian.com/writing/twitter-sentiment-textblob-tweepy</guid>
      <description>A weekend experiment from January 2017: reading a live Twitter stream with Tweepy and scoring each tweet with TextBlob, in about thirty lines of Python.</description>
      <pubDate>Fri, 06 Jan 2017 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
