<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mark Abrahams</title>
    <description>The latest articles on DEV Community by Mark Abrahams (@theunsuredev).</description>
    <link>https://dev.to/theunsuredev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3784688%2F7e1b6186-a85f-4af0-86ab-730839478a8e.png</url>
      <title>DEV Community: Mark Abrahams</title>
      <link>https://dev.to/theunsuredev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/theunsuredev"/>
    <language>en</language>
    <item>
      <title>Seven Wonders of Agentic Coding</title>
      <dc:creator>Mark Abrahams</dc:creator>
      <pubDate>Sat, 14 Mar 2026 13:04:21 +0000</pubDate>
      <link>https://dev.to/theunsuredev/seven-wonders-of-agentic-coding-3i25</link>
      <guid>https://dev.to/theunsuredev/seven-wonders-of-agentic-coding-3i25</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“Man’s desire to build something that will outlast him is the true wonder behind every wonder"&lt;/em&gt; — &lt;em&gt;Anonymous&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;There’s a famous scene in &lt;em&gt;Fawlty Towers&lt;/em&gt; where Basil Fawlty’s car refuses to start. At first he employs standard practice in such a situation: turn the key, turn it again. And again. He offers some semi-optimistic motivational talk to his machine: "&lt;em&gt;Come on...&lt;/em&gt;", "&lt;strong&gt;&lt;em&gt;Start!&lt;/em&gt;&lt;/strong&gt;", and soon escalates his managerial intensity to shouting and cursing at his metal companion. But the car simply won't start. Eventually the relationship breaks down completely as Basil counts to three, climbs out of the car, slams the door, delivers a stern lecture about unacceptable performance, and finally procures a nearby tree branch and begins beating the car with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  If I Just Prompt Harder...
&lt;/h2&gt;

&lt;p&gt;Which brings me to AI coding agents.&lt;/p&gt;

&lt;p&gt;Let me begin by saying: They're &lt;strong&gt;Absolute Magic&lt;/strong&gt; most of the time!&lt;/p&gt;

&lt;p&gt;There are rare occasions in development that I've hand-written more than 100 lines of code (yeah—I remember those days of hand-written code like it was only last year! 😄), and the code just worked first time. Almost always, the next step after a big code dump was a big fix-up session to iron out all of the unintentional stupid. But I do remember one time being completely shocked at two pages of untested new code (with a number of indents!) working first time. I elatedly and desperately tried to tell the nearest person what an amazingly rare and beautiful thing that really was, and, like Halley's Comet, this might not come around again for years. My then 8-year-old daughter didn't share any sense of the occasion.&lt;/p&gt;

&lt;p&gt;But for the latest agents, that's just Tuesday. I've observed I think around November/December 2025, that coding agents had gotten noticeably better at getting large amounts of code working first time—certainly waaayy better than me at this! But there's still that one time...it just can't get it right! Prompt after prompt after prompt to "&lt;em&gt;Still not working&lt;/em&gt;" to "&lt;em&gt;Try this...&lt;/em&gt;" to "&lt;em&gt;No I've already given you the output that shows that cannot be the problem - please remember this&lt;/em&gt;" to "&lt;em&gt;Write up an assessment of the problem, and why you keep getting it wrong and your best assessment of the underlying root cause&lt;/em&gt;" to "&lt;strong&gt;&lt;em&gt;THIS IS NOT ROCKET SCIENCE!!&lt;/em&gt;&lt;/strong&gt;" to reaching for a nearby tree branch...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkomxbnklwa8vl53gs6cs.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkomxbnklwa8vl53gs6cs.jpg" alt="prompt again or debug myself" width="500" height="756"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Struggle Is Real&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There are still some—increasingly rare—times when I could fix or implement something by hand quicker and better than an AI. Not many, but still some! And yet why wouldn't the agent struggle? It's surprising it doesn't struggle more often! It didn't have my tools—my browser access, my DB access, my log access. It was flying blind. I was expecting something I wouldn't expect of myself.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcv1r1enl8j9g1gcwfm0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwcv1r1enl8j9g1gcwfm0.jpg" alt="birdbox no verification no fix" width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Peak Coding Agent: Confidence in the Face of Facts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As an aside, I've noticed an interesting phenomenon in my psychology that I tend to develop a growing stubbornness to "manually" fix a bug myself the more an AI has failed. If I &lt;strong&gt;Just Prompt Harder&lt;/strong&gt;™. Also, a little worryingly, I'm growing a reluctance to have to shift my brain from "code orchestrator" to "code writer" mode. It seems like such an inefficient context switch, when I was progressing the app so much quicker as Chief Orchestration Officer than as Code Monkey With Typewriter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Giving Agency to Agents
&lt;/h2&gt;

&lt;p&gt;And yet we know that the coding agents we use are incredibly capable. After sustaining a sufficient quota of battle scars, I started to think about better solutions. The core issue wasn't agent stupidity—it’s that the agent doesn’t natively have access to the same tools we have as developers. The all-powerful genie was squarely bottled. So I started to think about the tools I had to use to fix stuff―DB clients, the browser console, log files, and access to the rest of the development stack.&lt;/p&gt;

&lt;p&gt;So I remember the day that I stopped mid-problem-going-nowhere (very difficult for someone who thrives on closure!) and started to research how to give the agent access to these sorts of tools. Make it their problem.&lt;/p&gt;

&lt;p&gt;I'm not a natural salesman, so without wanting to oversell an "&lt;strong&gt;&lt;em&gt;and I got a 10x boost in productivity&lt;/em&gt;&lt;/strong&gt;", I can genuinely say I did get some profound "&lt;em&gt;&lt;strong&gt;wow&lt;/strong&gt;&lt;/em&gt;" moments along the way. The agent started to self-evaluate solutions, realize it was wrong, iterate, re-test, and keep doing all this until it could prove its solution actually worked. Yes, it costs more tokens. But “&lt;em&gt;please try again&lt;/em&gt;” fifteen times isn’t exactly cheap either—and it’s considerably worse for the soul.&lt;/p&gt;

&lt;p&gt;So, with an agent now armed with a suite of tools that gave it developer-level visibility to the local dev stack, results were pleasing—I would say inspiring even! Inspiring enough for me to...yeah that's right, write a blog post about it!&lt;/p&gt;

&lt;h2&gt;
  
  
  Renewed Sense of AI Progress
&lt;/h2&gt;

&lt;p&gt;This lifted my AI coding experience from the very human-in-the-loop approach that hadn't really changed for a year, to a much more—yes—autonomous—agent experience. Fix this, here are the tools, make sure your fix works, don't come back to me till you're done. Motivation and psychology are an incredibly important part of life, and this had the strongly motivating benefit of making me feel like I was actually "&lt;strong&gt;&lt;em&gt;keeping up with AI&lt;/em&gt;&lt;/strong&gt;" - whatever that meant in my troubled mind!&lt;/p&gt;

&lt;p&gt;And so I pledge to you a 7-part series that will shed light on what I've configured for my coding agent and what effect it has had. I call the series, based mainly on the specific number of these, the &lt;strong&gt;Seven Wonders of Agentic Coding&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I really should have led this article with: "&lt;strong&gt;&lt;em&gt;I gave 7 tools to my agent and got 100x productivity&lt;/em&gt;&lt;/strong&gt;". But no that didn't happen. It &lt;strong&gt;did&lt;/strong&gt;, however, make a noticeable difference:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Velocity:&lt;/strong&gt; certainly something of a development speed increase as the agent did things that I was doing manually―it was just faster!&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Sanity:&lt;/strong&gt; significant frustration decrease&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Focus:&lt;/strong&gt; less involvement in the weeds as the agent did more weeding―meaning less context switching from high-level to low-level affairs&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Confidence:&lt;/strong&gt; most satisfyingly, I'd lost the feeling that I'd fallen off the AI coding train that everyone else seemed to be riding so easily and successfully&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I don't have a swarm of 100 agents. I'm not a 100x developer. But I do have a pretty powered up agent that can battle the world for me for long periods. &lt;strong&gt;This Is Much Better&lt;/strong&gt;™. I mean much better than what I had before. Not better than the 100-agent swarm―I mean who wouldn't want a 100-agent swarm, right?&lt;/p&gt;

&lt;p&gt;How much will this series move the needle for your agentic development? I'm hoping lots―it did for me! And that is my aspiration for you too―may it be supremely useful. Agentic coding eh―what a wild ride! O where will it end?!? Far from here―but exactly where...I'm not sure!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddzktx1b689xib0kjgj0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fddzktx1b689xib0kjgj0.jpg" alt="churchill beginning of the end" width="500" height="647"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ending the Beginning - Oppa Churchill Style&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>blog</category>
      <category>webdev</category>
    </item>
    <item>
      <title>It's Hype 'Cause it's a Step Change</title>
      <dc:creator>Mark Abrahams</dc:creator>
      <pubDate>Sat, 07 Mar 2026 03:05:02 +0000</pubDate>
      <link>https://dev.to/theunsuredev/its-hype-cause-its-a-step-change-1m2b</link>
      <guid>https://dev.to/theunsuredev/its-hype-cause-its-a-step-change-1m2b</guid>
      <description>

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;“There are decades where nothing happens; and there are weeks where decades happen.”— Vladimir Lenin&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;AI – wow!&lt;/p&gt;




&lt;h2&gt;
  
  
  Just Google It
&lt;/h2&gt;

&lt;p&gt;I can recall precisely two times in almost 3 decades of technology work where I’ve experienced a step-change in my work process. There have been plenty that I would class as incrementally good changes, but only two with enough magnitude to sit back and marvel at life pre-change vs life post-change.&lt;/p&gt;

&lt;p&gt;The first was in 1999. It was also my first year of IT employment. That year that gave us the first installment of The Matrix; the Melissa virus hit IT departments with its macro-into-word-template payload. Half the year was spent changing computer clocks and running Y2K-readiness tests. And it was also the year I discovered Google search.&lt;/p&gt;

&lt;p&gt;Young people might not understand that pre-Google Internet life was pretty rough: there were plenty of search engine options, but the typical experience was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  wading through duplicates,&lt;/li&gt;
&lt;li&gt;  dead links,&lt;/li&gt;
&lt;li&gt;  &lt;em&gt;next page&lt;/em&gt;, &lt;em&gt;next page&lt;/em&gt;, &lt;em&gt;next page&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;  until finally you got something of some use.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the new Google search engine, you could just &lt;em&gt;Find What You Want&lt;/em&gt; (TM). A 15-minute search exercise became a 15-second search exercise. It felt like a step change.&lt;/p&gt;

&lt;p&gt;In between times technology marched on: faster hardware, better IDEs, hosted infrastructure, better version control, better package managers, new programming languages. Yep, lots of valuable improvements, but they all seemed incremental, rather than a sudden difference. (Yes iPhone-like mobile was huge culturally, but didn't really shift the work needle for my particular job.)&lt;/p&gt;




&lt;h2&gt;
  
  
  Just ChatGPT It
&lt;/h2&gt;

&lt;p&gt;And so it remained. Until early 2023. As the world recovered from the disruption of the global pandemic, a new chat service was taking the tech world by storm. My first test of ChatGPT was to give it what I'd also considered an arduous task of writing an information privacy policy document. I don't do policy documents much, and so when the "opportunity" comes around, I'm neither well-practised nor well-enthused for the task. In loading up a couple of sentence prompt, and seeing hours of work unfold before me in a matter of seconds, this felt utterly magical. AI - wow! It's finally arrived! And with it, my second step-change: You can just &lt;em&gt;Create What You Want&lt;/em&gt; (TM). I'd appreciated incremental improvements in machine learning applications over the years, but this generative AI was a huge. Generating, creating documents, code, tests, diagrams. I branched out to songs, videos - it could do it all. Wow!&lt;/p&gt;

&lt;p&gt;If you asked my kids or colleagues, they'd probably say I've deep-ended a bit with AI. The monologues are real. If AI was a 90s hip-hop act, I'd probably have a big clock around my neck and a name like Flava Flav.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9o0oog1r1a9tmcskefex.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9o0oog1r1a9tmcskefex.png" alt="Flava Flav - Generative AI - Believe the Hype" width="752" height="499"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Yo Chuck Imma generate yo some AI&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Step Changes Throughout the Ages
&lt;/h2&gt;

&lt;p&gt;I wonder if our forebears had similar vibes? Imagine receiving your first printing press after a life of handcopying - being able to produce 3,000 pages in a day's work instead of 30. What a step change! Imagine the postie who trades in his horse for a new government-issued motorcar—how gangsta would you feel being the mailman that delivers—fast and with style in your new automobile?!?&lt;/p&gt;

&lt;p&gt;While there are professions such as the blacksmith that became obsolete over time, many would have just changed with the tech. That copyist-cum-printer would have increased the scope of what he could take on. The postie adds another delivery route to his schedule. Generative AI feels to me like a force-multiplier for a knowledge worker's tasks. I'm more in the amazing-leverage category than the impending-obsolescence category here. Throughout the history of technological advances, we humans tend to move to higher-level and more interesting tasks, rather than sit around en masse twiddling our thumbs because the technology has taken over.&lt;/p&gt;




&lt;h2&gt;
  
  
  The LLM Revolution
&lt;/h2&gt;

&lt;p&gt;Stating the obvious, it's the production of large volumes of stuff quickly that's the wow factor here. And that stuff—even from the outset—has been anything from adequate to outstanding. So my intervention in the creation process is anything from "minimal" to "well I would have had to spend lots of time on it anyway".&lt;/p&gt;

&lt;p&gt;Using generative for the first time in new ways makes you feel like a tech gangsta. Here are a few areas where it's already a been a bit of a force-multiplier for me:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Document summarisation&lt;/strong&gt; - LLMs shine here. When I wrote a very simple &lt;em&gt;"summarize the bill before the NZ parliament"&lt;/em&gt; prompt for my &lt;a href="https://app.democrify.nz/?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;Democrify&lt;/a&gt; app, the one-pagers were incredibly useful in maximizing the &lt;em&gt;knowledge-gained-to-time-spent-gaining-it&lt;/em&gt; ratio.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;App production&lt;/strong&gt; - AI coding agents have enabled me to give birth to or revive projects like &lt;a href="https://app.democrify.nz/?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;Democrify&lt;/a&gt; and &lt;a href="https://app.defprod.one/?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;DefProd&lt;/a&gt; that I couldn't have sustained without. The shift from code writer to orchestrator is real for me. There's more "conducting" of AI agents and systems going on. The way I develop software today has changed markedly from a year ago. And a year from today, I'm sure I'll say the same thing again.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Code Testing&lt;/strong&gt; - My open source library &lt;a href="https://github.com/markabrahams/node-net-snmp?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;node-net-snmp&lt;/a&gt; was light on tests until AI gave them a big shot in the arm. It's now adequate on tests :-)&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Documentation Creation&lt;/strong&gt; - Documentation and software developers go together like diets and dessert. I fill my repos now with AI-produced markdowns and designs. I like to implement with an AI agent, and then end a chat with instructions to summarize the new feature into a document for permanent record. It helps me; it helps them.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Architecture Discussions / Debates&lt;/strong&gt; - I tend to tire out my colleague with stuff that's important to me and me alone, but LLMs just dive with you right down into that rabbit hole that nobody else cares about - and keep going! It's invigorating!&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Writing Tools&lt;/strong&gt; - I've long written small bash scripts or Node.js utility tools for certain functions. AI can knock these out with ease! I've even posted about a couple of these: &lt;a href="https://github.com/markabrahams/mcp-client-repl?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;MCP Client REPL&lt;/a&gt; and &lt;a href="https://github.com/markabrahams/llmshot?ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;llmshot&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Vocal Production&lt;/strong&gt; - Audio models have produced for me vocals passages that I just couldn't pull off myself - when it comes to African-American preacher "sampling" or low-intensity growls (&lt;a href="https://www.youtube.com/watch?v=5m_JVHW21-g&amp;amp;ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;Phoenix Rise&lt;/a&gt;), or choir effects (&lt;a href="https://www.youtube.com/watch?v=gmDVdL56D98&amp;amp;ref=theunsuredeveloper.com" rel="noopener noreferrer"&gt;The Day The Thunder Roared&lt;/a&gt;), it's just better than me. It just is.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Video Production&lt;/strong&gt; - I started producing music videos for the above songs. OK, gotta be honest here, I tried that about 6 months ago, and that was my biggest AI fail. Not to say that it was awful, just that I spent a lot of time trying to prompt my way to character continuity, camera instructions, etc. in about 4 or 5 different tools, and made limited progress. I got some very cool isolated shots, but couldn't stitch together anything coherent enough. Who knows, six months on, this may have all changed!&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Blog Posts&lt;/strong&gt; - Ha! No I've decided I'm not too much a fan of the common LLM-produced article style, so while producing entire blog posts with AI is alluring, it's not really either (a) what I want to say or (b) how I want to say it. And we need good content authors to write well for the LLMs of the future as well as humans! (I'll come back to that in a future post.) Proof-reading, quote ideas and image generation though—I do open the AI door on some blog things! And I &lt;strong&gt;love&lt;/strong&gt; em-dashes...&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Checklists / Plans&lt;/strong&gt; - Charged with feeding the family for a long-weekend music festival, I threw an MCP server at Google Sheets and an AI agent created the entire meal plan and grocery shopping list. Honestly, without my wife to organize things, it saved the rest of the family from a weekend of forced fasting—food ain't my forte, but we dined like 17th-century kings!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And yet there are still 2 r's in &lt;em&gt;"strawberry"&lt;/em&gt; (GPT-5.2—just yesterday!) It still amazes me the capacity for LLMs to do extraordinary things, but at times botch the basics.&lt;/p&gt;




&lt;h2&gt;
  
  
  But What About My Job?!?
&lt;/h2&gt;

&lt;p&gt;Two good questions to ask:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"What of your profession can AI do well?"&lt;/em&gt;, and&lt;/p&gt;

&lt;p&gt;&lt;em&gt;"What parts of your profession are human effort and input still valuable?"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The gap that AI can't do so well at (yet!) - that's your opportunity!&lt;/p&gt;

&lt;p&gt;And I think the opportunity is huge at the moment, and while it will change in nature over time, and vary per-industry, I think significant opportunity to apply AI well to your profession will remain for some time. In the years at least. But advantage is shifting rapidly to those finding ways to apply AI tools to their craft.&lt;/p&gt;

&lt;p&gt;That said, I can identify with anyone feeling overwhelmed in the midst of the AI hype. I was recently reading how this guy gave vague instructions to his AI agent army, came back a day later to a fully-built app. Another guy is so engaged he gets out his phone at a restaurants and gets his remote agents to code up features between bites. And the other guy that got his Openclaw instance to code up a trading bot, make $10,000, and book him a trip to the Bahamas with the profits, all while he slept! OK, I made that last one up. But the first two were from actual social media posts. They may also be true.&lt;/p&gt;

&lt;p&gt;I've found it &lt;em&gt;really&lt;/em&gt; easy to feel utterly left behind on this stuff. I deal with this sentiment by just making small, regular discoveries, doing tests, downloading AI tools or even writing them—with AI help! Or posting about them! Making steady progress is all you can really commit to. I'm not running 100 agents writing software in my sleep. &lt;em&gt;Yet.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Generative AI is a step-change, and these technology moments are rare. You might get two or three in your lifetime. If you're here reading this: &lt;strong&gt;This is your moment!&lt;/strong&gt; Think "opportunity" and dive in!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F46ab01dbt0y38llr6p0f.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F46ab01dbt0y38llr6p0f.jpg" alt="Carpet Diem" width="800" height="435"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We believe this to be a simple spelling error&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you feel like you're overwhelmed in the deluge, start small. It might be to install an AI coding agent (e.g. cursor, Open Code), or run up ollama with a local model, or sign up for an AI API key of your chosing, or write a small MCP server, or a simple agent loop, or slide AI into a regular process where it might help. The great thing is—you can just ask an LLM how to do any of that stuff as well, so it doesn't have to be a lengthy solo struggle (in most cases anyway!)&lt;/p&gt;




&lt;h2&gt;
  
  
  Concerned, Excited, or a Bit of Both?
&lt;/h2&gt;

&lt;p&gt;There are a number of concerns about the generative AI wave we ride—we've all had discussions and scrolled social media enough to know about these. And they're valid. Workforce obsolescence, energy consumption, AI responsibility/safety, prevention of Skynet—all issues that we're rightfully wrestling with.&lt;/p&gt;

&lt;p&gt;But that's for another day and another post. Because today, I'm taking another moment to take a step back, see the step change, and say again:&lt;/p&gt;

&lt;p&gt;AI, wow!&lt;/p&gt;

</description>
      <category>blog</category>
      <category>webdev</category>
      <category>ai</category>
    </item>
    <item>
      <title>Give LLMs a Shot</title>
      <dc:creator>Mark Abrahams</dc:creator>
      <pubDate>Sun, 22 Feb 2026 08:17:16 +0000</pubDate>
      <link>https://dev.to/theunsuredev/give-llms-a-shot-56f7</link>
      <guid>https://dev.to/theunsuredev/give-llms-a-shot-56f7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Brevity is the soul of wit" - William Shakespeare, Hamlet&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Originally published at: &lt;a href="https://theunsuredeveloper.com/give-llms-a-shot" rel="noopener noreferrer"&gt;https://theunsuredeveloper.com/give-llms-a-shot&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"I'm temporarily departing this establishment in order to acquire a more suitably reinforced transportation vehicle capable of facilitating my immediate objective of re-entry through your currently locked access point, at which time I will resume this interaction with considerably greater efficacy and substantially reduced regard for architectural barriers, so you may wish to interpret this announcement not as a polite farewell but as both a menacing and statistically reliable guarantee of my imminent and forceful return"&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;is what Arnold Schwarzenegger &lt;em&gt;could&lt;/em&gt; have said to the desk sergeant, but thankfully he spared us the diatribe and left us with one of the most memorable quotes in movie history:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0za0rkcge5gw3kq36zdn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0za0rkcge5gw3kq36zdn.jpg" alt="Terminator 2 - " width="586" height="426"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;T-800 - Terminator 2: Judgment Day&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Great one-liners tend to stick with us. They're short. They're sharp. They achieve a precise purpose.&lt;/p&gt;

&lt;p&gt;In software, I &lt;em&gt;love&lt;/em&gt; one-liners!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;they're brief to remember and type&lt;/li&gt;
&lt;li&gt;they're often composable&lt;/li&gt;
&lt;li&gt;they can encode so much into so little&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The last one is important to me. I don't have to think about anything more than I would actually &lt;em&gt;like&lt;/em&gt; to think about in running my one-liners. Even if the one-line script is indeed a one-line command itself, I'll often prefer it, as it captures my defaults, my processes, my standards.&lt;/p&gt;

&lt;p&gt;And for this reason, I find myself writing small bash or Node.js commands all the time.&lt;/p&gt;

&lt;p&gt;Today's one-liner was &lt;strong&gt;llmshot&lt;/strong&gt;. It's a bash command that simply calls an LLM and returns a response.&lt;/p&gt;

&lt;p&gt;It's available for free under the MIT license at:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/markabrahams/llmshot" rel="noopener noreferrer"&gt;https://github.com/markabrahams/llmshot&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  The Power of a One-Liner
&lt;/h2&gt;

&lt;p&gt;The longevity of Unix has always been a wonder to me - how on earth is most of the world &lt;em&gt;still&lt;/em&gt; running on an OS design born in the 1960's?!? In technology that's the closest thing to eternity that you'll get. My conclusion: They must have done something incredibly right. Probably a few things actually! But the right-est thing about Unix is the Unix Philosophy:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Do One Thing Well.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Small, focused, composable tools—designed to be chained together with pipes—have powered decades of automation, system administration, and development workflows. They don't try to be everything; they just do their job well. And because they're simple, they're easy to embed in scripts, CI pipelines, cron jobs, and larger systems.&lt;/p&gt;

&lt;p&gt;Consider:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-r&lt;/span&gt; &lt;span class="s2"&gt;"TODO"&lt;/span&gt; &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="nt"&gt;-F&lt;/span&gt;, &lt;span class="s1"&gt;'{sum+=$3} END {print sum}'&lt;/span&gt; file.csv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl https://api.example.com | jq &lt;span class="s1"&gt;'.data[].name'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each of these tools reflects the Unix philosophy. They're doing one thing. And they're doing it well.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bringing LLMs Into the Unix Tradition
&lt;/h2&gt;

&lt;p&gt;Large Language Models are powerful. But they often come wrapped in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Web interfaces (and evil silos at that! More on this later...)&lt;/li&gt;
&lt;li&gt;SDKs&lt;/li&gt;
&lt;li&gt;Full application frameworks&lt;/li&gt;
&lt;li&gt;Streaming APIs&lt;/li&gt;
&lt;li&gt;Complex setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;What if you just want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ask a model a question&lt;/li&gt;
&lt;li&gt;Summarize some text&lt;/li&gt;
&lt;li&gt;Generate a commit message&lt;/li&gt;
&lt;li&gt;Add intelligence to a script&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In one line? There's an app for that!&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is llmshot?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;llmshot&lt;/strong&gt; is a lightweight bash-based CLI tool that lets you call LLM providers with a single command.&lt;/p&gt;

&lt;p&gt;It supports multiple providers (including OpenAI, Google Gemini, Anthropic, and local Ollama instances) and relies only on tools that already exist in most Unix-like environments:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;bash&lt;/li&gt;
&lt;li&gt;curl&lt;/li&gt;
&lt;li&gt;jq&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;No Node or Python. Light on dependencies and runtime bloat. Just a simple command that sends a prompt and returns a response.&lt;/p&gt;

&lt;p&gt;Simple example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;llmshot &lt;span class="nt"&gt;-p&lt;/span&gt; openai &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Give me a clever anagram"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or piping input:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat &lt;/span&gt;article.txt | llmshot &lt;span class="nt"&gt;-p&lt;/span&gt; google &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Summarize this text:"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it!&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Cool About That?
&lt;/h2&gt;

&lt;p&gt;The magic of Unix isn't individual tools—it's composition.&lt;/p&gt;

&lt;p&gt;Consider this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff HEAD~1 | llmshot &lt;span class="nt"&gt;-p&lt;/span&gt; openai &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Summarize these changes:"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You've just built an AI-powered commit summarizer.&lt;/p&gt;

&lt;p&gt;Or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;journalctl &lt;span class="nt"&gt;-n&lt;/span&gt; 200 | llmshot &lt;span class="nt"&gt;-p&lt;/span&gt; anthropic &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Identify anomalies in these logs:"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now you've got AI-assisted log analysis.&lt;/p&gt;

&lt;p&gt;Or:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;find &lt;span class="nb"&gt;.&lt;/span&gt; &lt;span class="nt"&gt;-name&lt;/span&gt; &lt;span class="s2"&gt;"*.md"&lt;/span&gt; &lt;span class="nt"&gt;-exec&lt;/span&gt; &lt;span class="nb"&gt;cat&lt;/span&gt; &lt;span class="o"&gt;{}&lt;/span&gt; &lt;span class="se"&gt;\;&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  | llmshot &lt;span class="nt"&gt;-p&lt;/span&gt; ollama &lt;span class="nt"&gt;-t&lt;/span&gt; &lt;span class="s2"&gt;"Generate a project overview from these documents:"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instant documentation synthesis.&lt;/p&gt;

&lt;p&gt;What I'm saying is this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;When an LLM becomes a command-line primitive, it becomes automatable.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It turns AI from a chat window into easy-access infrastructure.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Unix Philosophy, Revisited
&lt;/h2&gt;

&lt;p&gt;Douglas McIlroy, one of the pioneers of Unix, summarized it like this:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Write programs that do one thing and do it well.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Write programs to work together.&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Write programs to handle text streams, because that is a universal interface.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;llmshot&lt;/strong&gt; aims to fit this philosophy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It does one thing: send prompts to LLMs and return responses.&lt;/li&gt;
&lt;li&gt;It works with other programs via stdin/stdout.&lt;/li&gt;
&lt;li&gt;It treats text as the universal interface.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It doesn't try to manage conversations—no history support. Also, no streaming responses—as such, you can be waiting an uncomfortable amount of time for the final response!&lt;/p&gt;

&lt;p&gt;It's a minimal but sharp tool.&lt;/p&gt;




&lt;h2&gt;
  
  
  Your Automation is Your Leverage
&lt;/h2&gt;

&lt;p&gt;Once LLM access is reduced to a one-liner, entirely new possibilities open up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pre-commit hooks that auto-suggest better messages&lt;/li&gt;
&lt;li&gt;CI pipelines that summarize test failures&lt;/li&gt;
&lt;li&gt;Cron jobs that digest daily logs&lt;/li&gt;
&lt;li&gt;Scripts that transform raw data into readable reports&lt;/li&gt;
&lt;li&gt;Static site generators enhanced with AI commentary&lt;/li&gt;
&lt;li&gt;Trading systems that annotate strategy output (yes, really)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A little AI can go a long way!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Turn any shell pipeline into an LLM-enhanced pipeline.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  A Good One-Liner Is Power
&lt;/h2&gt;

&lt;p&gt;Movie one-liners endure because they compress power into a small space. Great Unix commands endure for the same reason. &lt;strong&gt;llmshot&lt;/strong&gt; brings that spirit into the LLM era.&lt;/p&gt;

&lt;p&gt;One line. One prompt. One response.&lt;/p&gt;

&lt;p&gt;Will you weave the power of AI into your CLI?&lt;/p&gt;

&lt;p&gt;In the words of Captain Picard on the reception of his Bernina 830:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5avzfstm0kbd2rslp23a.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5avzfstm0kbd2rslp23a.jpg" alt="" width="596" height="446"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Jean-Luc Picard - USS Enterprise Captain and budding seamstress&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>bash</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
