<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>InferHaven</title><description>Private AI coding, and the engineering behind CodeTrain. Written by Ethan Ludwig.</description><link>https://inferhaven.com/</link><language>en-us</language><item><title>The bug your test cannot see</title><link>https://inferhaven.com/blog/2026-08-07-the-bug-your-test-cannot-see/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-08-07-the-bug-your-test-cannot-see/</guid><description>A four-line function that returns the right answer, passes its test, and quietly corrupts the caller&apos;s data. Why no return-value assertion can catch it, and why I built a lesson about it that runs on the CodeTrain landing page, no login required.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate><category>CodeTrain</category><category>JavaScript</category><category>testing</category><category>side effects</category><category>lodash</category><category>engineering</category></item><item><title>The review you can&apos;t reproduce</title><link>https://inferhaven.com/blog/2026-08-04-review-you-cannot-reproduce/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-08-04-review-you-cannot-reproduce/</guid><description>Your team ships faster than it can explain. That gap does not show up in a dashboard, it shows up the night something breaks. What engineering leads can actually do about it.</description><pubDate>Tue, 04 Aug 2026 00:00:00 GMT</pubDate><category>engineering leadership</category><category>code review</category><category>AI coding</category><category>onboarding</category><category>team</category></item><item><title>How I built a tutor that refuses to write your code</title><link>https://inferhaven.com/blog/2026-07-29-tutor-that-refuses-to-write-code/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-07-29-tutor-that-refuses-to-write-code/</guid><description>The never-write rule sounds like a prompt. It turned into a grading contract, two execution paths, and a pile of things that broke in production. Here is the whole build.</description><pubDate>Wed, 29 Jul 2026 00:00:00 GMT</pubDate><category>CodeTrain</category><category>AI coding</category><category>Pyodide</category><category>sandboxing</category><category>prompt design</category><category>engineering</category></item><item><title>CodeTrain: the AI that won&apos;t write your code</title><link>https://inferhaven.com/blog/2026-07-13-introducing-codetrain/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-07-13-introducing-codetrain/</guid><description>An AI trainer that teaches you on your own codebase and never writes the code for you. Free, no card, live today.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate><category>CodeTrain</category><category>AI coding</category><category>training</category><category>coding bootcamp</category><category>socratic</category><category>learning</category></item><item><title>Privacy as the baseline, not the upsell</title><link>https://inferhaven.com/blog/2026-06-20-privacy-as-the-baseline/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-06-20-privacy-as-the-baseline/</guid><description>Local models on hardware you control are how you build AI workflows that don&apos;t break when a vendor does. Here&apos;s the case for local-first development, and the mission InferHaven ships against: make privacy and security the default, not a feature you pay extra to unlock.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate><category>local LLMs</category><category>privacy</category><category>mission</category><category>self-hosting</category></item><item><title>Building haven bench in the open, and the flaky CI ghost it flushed out</title><link>https://inferhaven.com/blog/2026-06-18-building-haven-bench-in-the-open/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-06-18-building-haven-bench-in-the-open/</guid><description>I shipped a tokens/sec benchmark for local models. The unit tests were green, and then CI turned red in a way that looked like my fault. It wasn&apos;t. Here&apos;s the whole hunt: a chown that raced the tide, set -e, and a zsh lock file that vanished mid-sweep.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate><category>build in the open</category><category>debugging</category><category>ci</category><category>local LLMs</category></item><item><title>InferHaven&apos;s source code is live!</title><link>https://inferhaven.com/blog/2026-06-12-source-is-live/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-06-12-source-is-live/</guid><description>Today inferhaven-core goes public on GitHub under FSL-1.1-ALv2. Why we picked fair source instead of MIT or Apache, what that means for you in practice, and what comes next on the road to InferHaven Cloud.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate><category>release</category><category>licensing</category><category>fair source</category><category>roadmap</category></item><item><title>The private AI coding box: why not just use XYZ?</title><link>https://inferhaven.com/blog/2026-06-08-the-private-ai-coding-box/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-06-08-the-private-ai-coding-box/</guid><description>A common question is why run InferHaven instead of Ollama, or Continue, or Tabby, or a cloud IDE? Most of those things run on InferHaven. Here&apos;s the honest map of what we are, what we aren&apos;t, and when you should pick something else.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate><category>local LLMs</category><category>comparison</category><category>self-hosting</category></item><item><title>Why InferHaven runs your AI offline by default</title><link>https://inferhaven.com/blog/2026-05-13-why-offline-default/</link><guid isPermaLink="true">https://inferhaven.com/blog/2026-05-13-why-offline-default/</guid><description>Using a cloud API sends your repo to someone else. InferHaven flips that default: your code stays local, and the network is an opt-in, not an opt-out.</description><pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate><category>local LLMs</category><category>security</category><category>privacy</category></item></channel></rss>