<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>StackToHeap</title><description>No Overflow - A blog by Manoj Mahalingam</description><link>https://stacktoheap.com/</link><item><title>OpenAI Decisions API: How Does Jev&apos;s Big-Lab Competitor Fare?</title><link>https://stacktoheap.com/blog/2026/10/08/jev-the-decisions-strike-back/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/10/08/jev-the-decisions-strike-back/</guid><description>OpenAI&apos;s Decisions API brings a big-lab competitor to Jev. How do their contracts, limits, accuracy, latency, and costs compare on BANKING77?</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>machine-learning</category></item><item><title>Pi Durable: A Look at the Future of Agent Harnesses</title><link>https://stacktoheap.com/blog/2026/10/05/pi-durable/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/10/05/pi-durable/</guid><description>Pi Durable&apos;s building blocks: persisted tasks, conversations, application state, and agents whose work can survive the process that started it.</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><category>ai</category><category>software-architecture</category><category>developer-tools</category></item><item><title>DSPy ♥ Jev: Typed Decisions, One Program, and ReAnchor</title><link>https://stacktoheap.com/blog/2026/09/25/dspy-heart-jev/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/09/25/dspy-heart-jev/</guid><description>DSPy gets first-class support for System One models, plus an optimizer for tuning how programs act on their decisions.</description><pubDate>Fri, 25 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>machine-learning</category></item><item><title>Jev: Attack of the Classifiers</title><link>https://stacktoheap.com/blog/2026/09/22/jev-attack-of-the-classifiers/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/09/22/jev-attack-of-the-classifiers/</guid><description>TF-IDF, MiniLM, and DSPy draw their swords. Jev raises a shield. BANKING77 keeps score.</description><pubDate>Tue, 22 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>machine-learning</category></item><item><title>Jev at the Branches: The State Machine Is the Agent</title><link>https://stacktoheap.com/blog/2026/09/21/the-state-machine-is-the-agent/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/09/21/the-state-machine-is-the-agent/</guid><description>A state-machine architecture in which deterministic code owns the plan and the facts, while Jev supplies bounded judgment only at decision branches.</description><pubDate>Mon, 21 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>software-architecture</category></item><item><title>Jev: AI Decisions as a Typed Function Call</title><link>https://stacktoheap.com/blog/2026/09/18/jev-doesnt-write-review-comments/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/09/18/jev-doesnt-write-review-comments/</guid><description>What I learned using TypeSafe&apos;s Jev for code review, and why its more surprising uses are browser control and generative UI.</description><pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>developer-tools</category></item><item><title>Managing Context Windows with pi /tree: Branches, Summaries, and Subagent-like Workflows</title><link>https://stacktoheap.com/blog/2026/02/26/pi-tree-context-window-management/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/02/26/pi-tree-context-window-management/</guid><description>How I use pi&apos;s /tree to manage context windows in long coding sessions, when to choose /tree vs /fork, and patterns that feel like lightweight subagents without leaving one session.</description><pubDate>Thu, 26 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>productivity</category><category>developer-tools</category></item><item><title>Ralph loops for SDK migrations: a case study</title><link>https://stacktoheap.com/blog/2026/02/23/how-i-code-from-the-gym-part-4/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/02/23/how-i-code-from-the-gym-part-4/</guid><description>Part 4 of my gym-coding series: using a Ralph loop to migrate an entire SDK dependency in 81 minutes, what worked, what didn&apos;t, and where autonomous loops shine.</description><pubDate>Mon, 23 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>productivity</category><category>devops</category></item><item><title>How my agents code when I am at the gym</title><link>https://stacktoheap.com/blog/2026/02/20/how-i-code-from-the-gym-part-3/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/02/20/how-i-code-from-the-gym-part-3/</guid><description>Part 3 of my gym-coding setup: autonomous coding agents that keep working for you while you are out and about, and even while you sleep.</description><pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>productivity</category><category>devops</category></item><item><title>How I code from the gym — Part 2: Any AI tool, one command</title><link>https://stacktoheap.com/blog/2026/02/15/how-i-code-from-the-gym-part-2/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/02/15/how-i-code-from-the-gym-part-2/</guid><description>Extending my phone-based coding workflow beyond OpenCode Web to support Amp, Claude Code, Codex, and any terminal AI tool using SSH, tmux, and a small session manager called vaibhav.</description><pubDate>Sun, 15 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>productivity</category><category>devops</category></item><item><title>How I code from the gym</title><link>https://stacktoheap.com/blog/2026/02/08/how-i-code-from-the-gym/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2026/02/08/how-i-code-from-the-gym/</guid><description>My setup for coding from anywhere: running OpenCode Web on Ubuntu as a systemd service and securely connecting from my phone with Tailscale.</description><pubDate>Sun, 08 Feb 2026 00:00:00 GMT</pubDate><category>ai</category><category>productivity</category><category>devops</category></item><item><title>Supercharged Code Reviews: How AI Subagents Make Human Reviewers Superhuman</title><link>https://stacktoheap.com/blog/2025/08/10/code-reviews-that-dont-suck-claude-code-subagents/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2025/08/10/code-reviews-that-dont-suck-claude-code-subagents/</guid><description>Speed up your team&apos;s code reviews with AI-powered analysis that catches what humans miss and prepares focused insights, making reviewers more effective without replacing their expertise.</description><pubDate>Sun, 10 Aug 2025 00:00:00 GMT</pubDate><category>ai</category><category>claude</category><category>productivity</category><category>automation</category></item><item><title>Having Fun with Claude Code Hooks - Make Your AI Coding Assistant Talk!</title><link>https://stacktoheap.com/blog/2025/08/03/having-fun-with-claude-code-hooks/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2025/08/03/having-fun-with-claude-code-hooks/</guid><description>Tired of staring at your terminal waiting for Claude to finish? Let&apos;s add some personality with audio notifications and custom automation using Claude Code hooks.</description><pubDate>Sun, 03 Aug 2025 00:00:00 GMT</pubDate><category>ai</category><category>claude</category><category>productivity</category><category>automation</category></item><item><title>Thoughts on FastHTML</title><link>https://stacktoheap.com/blog/2024/09/06/thoughts-on-fasthtml/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2024/09/06/thoughts-on-fasthtml/</guid><description>Why I Moved from FastHTML to Svelte for Building a Complex Chat Application</description><pubDate>Fri, 06 Sep 2024 00:00:00 GMT</pubDate><category>ml</category><category>frontend</category></item><item><title>MLFlow as a model repository in your CI/CD workflow</title><link>https://stacktoheap.com/blog/2018/11/19/mlflow-model-repository-ci-cd/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2018/11/19/mlflow-model-repository-ci-cd/</guid><description>We recently started using MLFlow as a model repository and integrated it with GoCD</description><pubDate>Mon, 19 Nov 2018 00:00:00 GMT</pubDate><category>ml</category></item><item><title>Using multiple worktrees with git</title><link>https://stacktoheap.com/blog/2016/01/19/using-multiple-worktrees-with-git/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2016/01/19/using-multiple-worktrees-with-git/</guid><description>Use multiple worktrees to make working with branches and bug fixes much easier with git</description><pubDate>Tue, 19 Jan 2016 00:00:00 GMT</pubDate><category>git</category></item><item><title>Running WebDriverIO tests using docker-compose</title><link>https://stacktoheap.com/blog/2016/01/04/running-webdriverio-tests-using-docker-compose/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2016/01/04/running-webdriverio-tests-using-docker-compose/</guid><description>Running WebDriverIO tests using docker-compose for development and CI</description><pubDate>Mon, 04 Jan 2016 00:00:00 GMT</pubDate><category>docker</category><category>docker-compose</category></item><item><title>Basics of rolling updates with Kubernetes</title><link>https://stacktoheap.com/blog/2016/01/03/basics-of-rolling-update-with-kubernetes/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2016/01/03/basics-of-rolling-update-with-kubernetes/</guid><description>Basics of rolling updates with Kubernetes. Describes a basic ReplicationController template for rolling updates</description><pubDate>Sun, 03 Jan 2016 00:00:00 GMT</pubDate><category>kubernetes</category></item><item><title>How to git add only files that have already been staged</title><link>https://stacktoheap.com/blog/2016/01/02/git-add-only-files-already-staged/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2016/01/02/git-add-only-files-already-staged/</guid><description>Adding only those files already staged, back to the index with new changes</description><pubDate>Sat, 02 Jan 2016 00:00:00 GMT</pubDate><category>git</category></item><item><title>Hosting an S3 backed Docker Registry on Kubernetes</title><link>https://stacktoheap.com/blog/2016/01/01/s3-backed-docker-registry-on-kubernetes/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2016/01/01/s3-backed-docker-registry-on-kubernetes/</guid><description>Hosting an S3 backed Docker Registry on Kubernetes</description><pubDate>Fri, 01 Jan 2016 00:00:00 GMT</pubDate><category>docker</category><category>kubernetes</category></item><item><title>Sharing docker images without a registry</title><link>https://stacktoheap.com/blog/2015/11/22/sharing-docker-images-without-registry/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2015/11/22/sharing-docker-images-without-registry/</guid><description>Sharing docker images between developer workstations without a registry</description><pubDate>Sun, 22 Nov 2015 00:00:00 GMT</pubDate><category>docker</category></item><item><title>Things you may not know about git - autocorrect your commands</title><link>https://stacktoheap.com/blog/2015/11/01/git-autocorrect-feature/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2015/11/01/git-autocorrect-feature/</guid><description>Did you know git has a built-in autocorrect feature to fix common typos in git commands?</description><pubDate>Sun, 01 Nov 2015 00:00:00 GMT</pubDate><category>ansible</category><category>iaas</category><category>python</category><category>django</category><category>chef</category></item><item><title>Getting started with Ansbile for a Django project</title><link>https://stacktoheap.com/blog/2013/10/20/getting-started-with-ansbile-for-a-django-project/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/10/20/getting-started-with-ansbile-for-a-django-project/</guid><description>This post walks through setting up a Django project with Ansible for provisioning and deployment.</description><pubDate>Sun, 20 Oct 2013 00:00:00 GMT</pubDate><category>ansible</category><category>iaas</category><category>python</category><category>django</category><category>chef</category></item><item><title>Using git at a hackathon where git:// port is blocked</title><link>https://stacktoheap.com/blog/2013/08/24/using-git-at-a-hackathon-where-git-slash-slash-port-is-blocked/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/08/24/using-git-at-a-hackathon-where-git-slash-slash-port-is-blocked/</guid><description>A quick guide to using git over https instead of git protocol when the latter is blocked.</description><pubDate>Sat, 24 Aug 2013 00:00:00 GMT</pubDate><category>git</category><category>https</category><category>git protocol</category></item><item><title>Building a Debian Wheezy vagrant box using veewee</title><link>https://stacktoheap.com/blog/2013/06/19/building-a-debian-wheezy-vagrant-box-using-veewee/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/06/19/building-a-debian-wheezy-vagrant-box-using-veewee/</guid><description>A step-by-step guide to build a Debian Wheezy vagrant box using veewee</description><pubDate>Wed, 19 Jun 2013 00:00:00 GMT</pubDate><category>debian</category><category>wheezy</category><category>vagrant</category><category>veewee</category><category>python</category></item><item><title>Things that trip newbies in Powershell - Pipeline Output</title><link>https://stacktoheap.com/blog/2013/06/15/things-that-trip-newbies-in-powershell-pipeline-output/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/06/15/things-that-trip-newbies-in-powershell-pipeline-output/</guid><description>Some common things that trip new Powershell users when working with pipeline output</description><pubDate>Sat, 15 Jun 2013 00:00:00 GMT</pubDate><category>powershell</category><category>gotchas</category><category>piepline</category><category>newbie</category></item><item><title>git learns pre-push hook - new in 1.8.2</title><link>https://stacktoheap.com/blog/2013/03/14/git-learns-pre-push-hook-new-in-1-8-2/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/03/14/git-learns-pre-push-hook-new-in-1-8-2/</guid><description>A new feature in Git 1.8.2 - pre-push hook to control what gets pushed out.</description><pubDate>Thu, 14 Mar 2013 00:00:00 GMT</pubDate><category>git</category><category>1.8.2</category><category>pre-push</category><category>hook</category></item><item><title>git learns to ignore better - new in 1.8.2</title><link>https://stacktoheap.com/blog/2013/03/14/git-learns-to-ignore-better-new-in-1-8-2/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/03/14/git-learns-to-ignore-better-new-in-1-8-2/</guid><description>A new feature in Git 1.8.2 - better ignoring of files through .gitignore and git check-ignore.</description><pubDate>Thu, 14 Mar 2013 00:00:00 GMT</pubDate><category>git</category><category>1.8.2</category><category>gitignore</category><category>check-ignore</category></item><item><title>Why use virtualenv when there is pythonbrew?</title><link>https://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/03/11/why-use-virtualenv-when-there-is-pythonbrew/</guid><description>A comparison of virtualenv vs pythonbrew for managing python environments</description><pubDate>Mon, 11 Mar 2013 00:00:00 GMT</pubDate><category>virtualenv</category><category>python</category><category>rvm</category><category>pythonbrew</category></item><item><title>Things that trip newbies in Powershell - Encodings</title><link>https://stacktoheap.com/blog/2013/02/18/things-that-trip-newbies-in-powershell-encodings/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/02/18/things-that-trip-newbies-in-powershell-encodings/</guid><description>Powershell has some quirks around text encodings that often trip new users. This post covers the common gotchas.</description><pubDate>Mon, 18 Feb 2013 00:00:00 GMT</pubDate><category>powershell</category><category>out-file</category><category>encoding</category><category>utf-8</category><category>utf-16</category></item><item><title>Using TypeConverters to get AppSettings in .NET</title><link>https://stacktoheap.com/blog/2013/01/20/using-typeconverters-to-get-appsettings-in-net/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/01/20/using-typeconverters-to-get-appsettings-in-net/</guid><description>A quick way to get strongly typed AppSettings in .NET using TypeConverters.</description><pubDate>Sun, 20 Jan 2013 00:00:00 GMT</pubDate><category>c#</category><category>.net</category><category>AppSetting</category><category>TypeConverters</category></item><item><title>Precompiling Razor views in ASP.NET MVC 3</title><link>https://stacktoheap.com/blog/2013/01/19/precompiling-razor-views-in-asp-dot-net-mvc-3/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/01/19/precompiling-razor-views-in-asp-dot-net-mvc-3/</guid><description>A quick guide to precompiling Razor views in ASP.NET MVC 3 for improved performance.</description><pubDate>Sat, 19 Jan 2013 00:00:00 GMT</pubDate><category>mvc</category><category>asp.net</category><category>mvc 3</category><category>.net</category><category>c#</category><category>razor</category></item><item><title>Remembering Aaron Swartz in his writings</title><link>https://stacktoheap.com/blog/2013/01/13/remembering-aaron-swartz-in-his-writings/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/01/13/remembering-aaron-swartz-in-his-writings/</guid><description>A selection of writings by Aaron Swartz that capture his brilliance and passion for open information and civic participation</description><pubDate>Sun, 13 Jan 2013 00:00:00 GMT</pubDate><category>aaron swartz</category><category>thoughtworks</category></item><item><title>Using mailmap to fix authors list in git</title><link>https://stacktoheap.com/blog/2013/01/06/using-mailmap-to-fix-authors-list-in-git/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2013/01/06/using-mailmap-to-fix-authors-list-in-git/</guid><pubDate>Sun, 06 Jan 2013 00:00:00 GMT</pubDate><category>git</category><category>mailmap</category><category>shortlog</category></item><item><title>Why a feature of our website stopped working for Norway</title><link>https://stacktoheap.com/blog/2012/12/19/why-a-feature-of-our-website-stopped-working-for-norway/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/19/why-a-feature-of-our-website-stopped-working-for-norway/</guid><description>We recently discovered that a feature on our site stopped working for users in Norway. Here&apos;s what happened and how we fixed it.</description><pubDate>Wed, 19 Dec 2012 00:00:00 GMT</pubDate><category>cold fusion</category><category>service</category><category>json</category><category>serialization</category></item><item><title>Things that trip newbies in Powershell</title><link>https://stacktoheap.com/blog/2012/12/16/things-that-trip-newbies-in-powershell/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/16/things-that-trip-newbies-in-powershell/</guid><description>Some common things that trip up new Powershell users.</description><pubDate>Sun, 16 Dec 2012 00:00:00 GMT</pubDate><category>powershell</category></item><item><title>Writing a Git provider for Windows Powershell - Part 3</title><link>https://stacktoheap.com/blog/2012/12/07/writing-a-git-provider-for-windows-powershell-part-3/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/07/writing-a-git-provider-for-windows-powershell-part-3/</guid><description>In this final part, we look at implementing some basic Git commands like status, add, commit etc using the provider interface.</description><pubDate>Fri, 07 Dec 2012 00:00:00 GMT</pubDate><category>git</category><category>powershell</category><category>provider</category><category>pit</category></item><item><title>Writing a Git provider for Windows Powershell - Part 2</title><link>https://stacktoheap.com/blog/2012/12/03/writing-a-git-provider-for-windows-powershell-part-2/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/03/writing-a-git-provider-for-windows-powershell-part-2/</guid><description>In this part we look at creating the provider and mounting the default drive at git:\</description><pubDate>Mon, 03 Dec 2012 00:00:00 GMT</pubDate><category>powershell</category><category>git</category><category>provider</category><category>pit</category></item><item><title>Better code analysis with Resharper 7 contract annotations</title><link>https://stacktoheap.com/blog/2012/12/02/better-code-analysis-with-resharper-7-contract-annotations/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/02/better-code-analysis-with-resharper-7-contract-annotations/</guid><description>Resharper 7 introduces support for Code Contracts annotations in .NET code. This allows for more robust static analysis and validation of code contracts.</description><pubDate>Sun, 02 Dec 2012 00:00:00 GMT</pubDate><category>resharper</category><category>c#</category><category>visual studio</category><category>resharper 7</category><category>contract annotations</category></item><item><title>Writing a Git provider for Windows Powershell - Part 1</title><link>https://stacktoheap.com/blog/2012/12/01/writing-a-git-provider-for-windows-powershell-part-1/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/12/01/writing-a-git-provider-for-windows-powershell-part-1/</guid><description>In this first part, we will look at setting up the infrastructure required to write a PowerShell provider for Git - creating a snap-in, registering the provider etc.</description><pubDate>Sat, 01 Dec 2012 00:00:00 GMT</pubDate><category>git</category><category>powershell</category><category>provider</category><category>pit</category></item><item><title>Why I love Jetbrains TeamCity as a .NET developer</title><link>https://stacktoheap.com/blog/2012/11/18/why-i-love-jetbrains-teamcity-as-a-net-developer/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/11/18/why-i-love-jetbrains-teamcity-as-a-net-developer/</guid><description>TeamCity is great for any tech stack. It&apos;s .NET related features make it stand out in the .NEt world</description><pubDate>Sun, 18 Nov 2012 00:00:00 GMT</pubDate><category>teamcity</category><category>.net</category><category>ci</category><category>cd</category><category>nuget</category></item><item><title>Testing extension methods with Microsoft Fakes</title><link>https://stacktoheap.com/blog/2012/11/11/testing-extension-methods-with-microsoft-fakes/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/11/11/testing-extension-methods-with-microsoft-fakes/</guid><description>With right dosage of proper design, decoupling objects, dependency injection and simplicity, you can write testable code without requiring sophisticated tools.</description><pubDate>Sun, 11 Nov 2012 00:00:00 GMT</pubDate><category>unit testing</category><category>fakes</category><category>shims</category><category>nunit</category><category>moq</category></item><item><title>Contract testing a JSON service in .NET</title><link>https://stacktoheap.com/blog/2012/10/31/contract-testing-a-json-service-in-net/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/10/31/contract-testing-a-json-service-in-net/</guid><description>In this post I discuss how to write contract tests for a JSON service.</description><pubDate>Wed, 31 Oct 2012 00:00:00 GMT</pubDate><category>.net</category><category>contract tests</category><category>json</category></item><item><title>Learning by answering questions</title><link>https://stacktoheap.com/blog/2012/10/17/learning-by-answering-questions/</link><guid isPermaLink="true">https://stacktoheap.com/blog/2012/10/17/learning-by-answering-questions/</guid><description>I have been learning a lot lately by answering questions on Stack Overflow. This post is about my journey of learning by answering questions.</description><pubDate>Wed, 17 Oct 2012 00:00:00 GMT</pubDate><category>stackoverflow</category><category>git</category><category>learnings</category></item></channel></rss>