<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Tooling - Tag - vo.rs</title><link>https://vo.rs/tags/tooling/</link><description>Tooling - Tag - vo.rs</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Sat, 28 Feb 2026 09:00:00 +0000</lastBuildDate><atom:link href="https://vo.rs/tags/tooling/" rel="self" type="application/rss+xml"/><item><title>Taskfile: A Modern Task Runner That Replaces Make Without the Pain</title><link>https://vo.rs/story/taskfile-a-modern-task-runner-that-replaces-make-without-the-pain/</link><description>&lt;p&gt;I have a long and complicated relationship with &lt;code&gt;make&lt;/code&gt;. It is everywhere, it is reliable, and it has been quietly running the world&amp;rsquo;s builds for nearly fifty years. It also punishes you with significant whitespace, a recipe language that is really shell-inside-make-inside-shell with three layers of escaping, and the eternal indignity of &lt;code&gt;Makefile:12: *** missing separator. Stop.&lt;/code&gt; because you typed spaces where a literal tab was required. For most of what people actually use Make for these days — not building C, but running a handful of project commands — Taskfile is the replacement I wish I&amp;rsquo;d switched to years ago.&lt;/p&gt;</description><pubDate>Sat, 28 Feb 2026 09:00:00 +0000</pubDate></item><item><title>Neovim in 2026: A Practical Setup for People Who Also Have Work to Do</title><link>https://vo.rs/story/neovim-in-2026-a-practical-setup-for-people-who-also-have-work-to-do/</link><description>&lt;p&gt;Neovim has a reputation, and not entirely an unfair one: the editor you spend a weekend configuring instead of using. I&amp;rsquo;ve lost those weekends. I&amp;rsquo;ve also come out the other side with an editor I genuinely prefer to anything else, and the good news is that in 2026 you don&amp;rsquo;t need to lose the weekend any more. The ecosystem has matured into a handful of plugins that do the heavy lifting, and a sensible config is a few hundred lines of readable Lua. This is the setup I&amp;rsquo;d give someone who wants a capable editor and also, crucially, has actual work to do.&lt;/p&gt;</description><pubDate>Tue, 20 Jan 2026 09:00:00 +0000</pubDate></item><item><title>MCP Servers: Giving Language Models Hands and Eyes</title><link>https://vo.rs/story/mcp-servers-giving-language-models-hands-and-eyes/</link><description>&lt;p&gt;A language model on its own is a brain in a jar. It can reason, summarise and write you a sonnet about your firewall rules, but it cannot read a file, query a database, or check whether your website is up. It only knows what was in its training data and whatever you paste into the chat. That gap — between knowing things and doing things — is the most interesting problem in applied AI right now, and the Model Context Protocol (MCP) is the most sensible attempt I&amp;rsquo;ve seen at closing it.&lt;/p&gt;</description><pubDate>Tue, 18 Feb 2025 09:00:00 +0000</pubDate></item><item><title>Just and Task: Modern Alternatives to Make That Don't Make You Cry</title><link>https://vo.rs/story/just-and-task-modern-alternatives-to-make-that-dont-make-you-cry/</link><description>&lt;p&gt;Almost every project I touch accumulates a pile of little commands: build the thing, run the tests, regenerate the assets, deploy to staging. For decades the reflex answer was a &lt;code&gt;Makefile&lt;/code&gt;, and for decades a &lt;code&gt;Makefile&lt;/code&gt; has been quietly torturing everyone who isn&amp;rsquo;t compiling C. Tab-versus-space errors that print nothing useful. Recipes that fail silently because each line runs in its own shell. Variable expansion that fights you because Make has its own &lt;code&gt;$&lt;/code&gt; and the shell has another. Make is a brilliant build tool wearing a task-runner costume, and the costume doesn&amp;rsquo;t fit. This article is about two tools — &lt;code&gt;just&lt;/code&gt; and &lt;code&gt;Task&lt;/code&gt; — that fit much better.&lt;/p&gt;</description><pubDate>Tue, 03 Sep 2024 09:00:00 +0000</pubDate></item><item><title>Writing CLI Tools in Go: From Zero to Useful in an Afternoon</title><link>https://vo.rs/story/writing-cli-tools-in-go-from-zero-to-useful-in-an-afternoon/</link><description>&lt;p&gt;I write a lot of little command-line tools. Glue that wires two APIs together, a thing that munges a CSV the way I actually need it, a daemon that watches a directory and pokes something when a file lands. For years my reflex was a Bash script that grew tentacles, or a Python file that worked fine on my machine and nowhere else. These days I reach for Go, and I keep reaching for it because the gap between &amp;ldquo;idea&amp;rdquo; and &amp;ldquo;a binary I can hand to someone&amp;rdquo; is genuinely about an afternoon. Here&amp;rsquo;s why, and how.&lt;/p&gt;</description><pubDate>Tue, 13 Feb 2024 09:00:00 +0000</pubDate></item></channel></rss>