<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Ground Truth]]></title><description><![CDATA[Technology, organisations, health, and the gap between how things are supposed to work and how they actually do.]]></description><link>https://blog.karabatsos.com</link><image><url>https://substackcdn.com/image/fetch/$s_!H7_c!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7da6be8-d5fd-4d5d-acae-fe3619d35494_1280x1280.png</url><title>Ground Truth</title><link>https://blog.karabatsos.com</link></image><generator>Substack</generator><lastBuildDate>Wed, 24 Jun 2026 16:21:17 GMT</lastBuildDate><atom:link href="https://blog.karabatsos.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Jim Karabatsos]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[jimkarabatsos@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[jimkarabatsos@substack.com]]></itunes:email><itunes:name><![CDATA[Jim Karabatsos]]></itunes:name></itunes:owner><itunes:author><![CDATA[Jim Karabatsos]]></itunes:author><googleplay:owner><![CDATA[jimkarabatsos@substack.com]]></googleplay:owner><googleplay:email><![CDATA[jimkarabatsos@substack.com]]></googleplay:email><googleplay:author><![CDATA[Jim Karabatsos]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI Writes Code Now. So What Changes?]]></title><description><![CDATA[Forty-five years of pattern recognition on the latest thing that changes everything.]]></description><link>https://blog.karabatsos.com/p/ai-writes-code-now-so-what-changes</link><guid isPermaLink="false">https://blog.karabatsos.com/p/ai-writes-code-now-so-what-changes</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 22 Jun 2026 21:01:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mHlL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In the early 1990s, I was on the beta program for Microsoft Visual Basic &#8211; one of a very small number of developers in Australia with early access. I was contracting alone for an experienced engineering project manager, building a tool that post-processed Microsoft Project files: advanced calculations, reporting across sets of files. I remember the quality of the enthusiasm I felt. VB let me drag a button onto a form, double-click it, and write the code that would run when a user clicked it. I could see the interface taking shape in real time. I could iterate on the layout in minutes rather than hours.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mHlL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mHlL!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 424w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 848w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 1272w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mHlL!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif" width="450" height="430" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/804abe01-d164-411b-9245-34327b68292d_450x430.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:430,&quot;width&quot;:450,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Visual Basic (classic) in the year 2021 | by Manuel Conde | Medium&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Visual Basic (classic) in the year 2021 | by Manuel Conde | Medium" title="Visual Basic (classic) in the year 2021 | by Manuel Conde | Medium" srcset="https://substackcdn.com/image/fetch/$s_!mHlL!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 424w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 848w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 1272w, https://substackcdn.com/image/fetch/$s_!mHlL!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F804abe01-d164-411b-9245-34327b68292d_450x430.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Before that, building a graphical application for Windows meant managing an event loop in code &#8211; a constant cycle in which your program checked what was happening in the operating system, decided which events it cared about, handled them, asked for a screen redraw, did the redrawing, and carefully released enough processing resources to let other programs continue running. To say it was complex is an understatement. Iterative interface design &#8211; trying something, seeing how it felt, adjusting &#8211; was genuinely difficult. VB changed all of that. It made GUI development accessible in a way that nothing had before.</p><p>I evangelised it to every developer I knew. Most of them couldn&#8217;t see it yet. They came around.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>But it wasn&#8217;t all good. VB&#8217;s accessibility attracted less expert programmers and non-programmers who had dabbled in Basic on a home PC. Much of what followed was a mess. Business logic became deeply entangled with visual components. Software was shipped without adequate testing &#8211; automated testing of GUI applications was poorly understood, and the people building in VB often weren&#8217;t experienced enough to know what they didn&#8217;t know. An old industry adage proved itself, repeatedly: you can write COBOL in any language. The tool changes. The thinking required to use it well does not.</p><p>I have been watching the current conversation about AI and software development with a strong sense of familiarity.</p><p>The phenomenon has acquired a name vibe coding &#8211; which captures it well: using an AI assistant to generate code through conversation, iterating on the output, shipping the result. The parallels with the VB moment are not subtle. A technology arrives that makes programming accessible to people who couldn&#8217;t previously do it, and dramatically accelerates the work of people who could. The coverage is enthusiastic. The evangelists are out in force. The consequences that nobody is quite ready to discuss are already accumulating.</p><p>Let me be honest about both sides.</p><p>What genuinely changes is real. The speed at which an experienced developer can implement well-understood functionality has increased substantially. Boilerplate, routine integrations, the first draft of a feature &#8211; AI handles these faster than any human. For personal projects and small-scale tools, vibe coding works: if something goes wrong, the person who built it is close enough to notice and fix it. The barrier to building software has lowered again, and some of what gets built at that lower barrier is genuinely useful.</p><p>What doesn&#8217;t change is more important.</p><p>The else clause doesn&#8217;t care how the code was generated. I wrote recently about the moment a developer implementing a payment feature types the word &#8220;else&#8221; and stops &#8211; confronted by the cascade of questions that only become visible at the point of implementation. What happens when the payment gateway times out? When the card is declined for one of several distinct reasons? When the payment succeeds but the confirmation email fails? None of those questions are in the AI prompt. They are only visible from close range, and answering them requires judgment that the AI does not have and the vibe coder may not have either. For a personal project, an unhandled edge case is an inconvenience. For a system handling real transactions for real customers, it is something else entirely.</p><p>The belief that design is now optional is gaining traction in places that should know better. The idea that you can describe what you want in conversation with an AI and deploy the result &#8211; without thinking through requirements, failure modes, or any of the work that precedes responsible implementation &#8211; does not work for software of any significance. The AI will generate something. It will often look plausible. What it will not do is tell you what you forgot to ask for.</p><div class="pullquote"><p>The speed at which you can build the wrong thing increases dramatically. <br>The thinking required to build the right thing does not.</p></div><p>The consequences for professional developers are serious and largely absent from the coverage. Senior developers &#8211; whose job has always included reviewing and correcting the work of more junior colleagues &#8211; are now contending with code being generated at a pace no review process was designed to handle. The volume is extraordinary. The quality varies enormously. Seniors are increasingly seen as the bottleneck in the &#8220;construction&#8221; of software, are being pushed to review faster, and are burning out. This is not a hypothetical. It is happening now, in organisations that have adopted AI coding tools without thinking through what happens to the humans in the loop.</p><p>And then there is the question I find most troubling.</p><p>Junior developers learn to become senior developers by encountering problems. The obtuse error message that takes two days to diagnose and turns out to be a network configuration issue on one specific server. The unexpected interaction between two libraries that produces behaviour nobody anticipated. The edge case that only surfaces under load, at 2am, in production. These encounters are not inefficiencies to be optimised away. They are the education. A junior developer who generates code through an AI assistant and ships it without deeply understanding what it does is not building the judgment that the industry will need from them in ten years.</p><p>So. What changes?</p><p>The speed at which you can build the wrong thing increases dramatically. The thinking required to build the right thing does not. And the people the industry will need to do that thinking &#8211; experienced enough to know what questions the AI isn&#8217;t asking &#8211; are burning out at the senior end and failing to develop at the junior end.</p><p>Nobody seems to be treating that as the emergency it is.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What My Parents Knew That My Generation Forgot]]></title><description><![CDATA[On the lifeboat they built, and the fortress I've ended up in.]]></description><link>https://blog.karabatsos.com/p/what-my-parents-knew-that-my-generation</link><guid isPermaLink="false">https://blog.karabatsos.com/p/what-my-parents-knew-that-my-generation</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 15 Jun 2026 21:01:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!mQqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I value my privacy. I like my quiet mornings, my zones, the invisible boundaries that separate my property from the neighbours&#8217;. But when I look honestly at the floor plan of my life, I&#8217;m living in a fortress built on a foundation of amnesia. We have more square footage than any previous generation. We are also, quietly, starving for the thing that kept my family alive in the suburbs of Melbourne: the beautiful, chaotic, and occasionally suffocating absence of personal space.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!mQqp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!mQqp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!mQqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg" width="1193" height="896" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:896,&quot;width&quot;:1193,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:565119,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.karabatsos.com/i/197110645?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda7c8e44-bc8b-4877-a12a-f695cbc69175_1193x896.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!mQqp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 424w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 848w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!mQqp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7ef38d2f-8ddb-47d2-aa1d-e57729baf49e_1193x896.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Houses in the back streets of Melbourne in the 1950s</figcaption></figure></div><p>My parents didn&#8217;t bring a life with them from Greece. They met in the suburbs of 1950s Melbourne and decided to build one from scratch. My father was a man of the factory floor; my mother, a woman of the needle and thread. They had arrived in Australia separately, with nothing but the kind of stubborn resilience that a village upbringing in Greece either forges or breaks. When they finally scraped together enough to buy their first home in Bank St, South Melbourne &#8212; then a low-price, worker&#8217;s suburb, not the trendy, up-market suburb it is today &#8212; they didn&#8217;t celebrate by spreading out. They celebrated by squeezing in.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!LGxG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!LGxG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!LGxG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg" width="1456" height="2020" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2020,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1500607,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.karabatsos.com/i/197110645?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!LGxG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 424w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 848w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!LGxG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F76fdb6b3-e7d6-4157-a222-2f222f09ddbf_2476x3435.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">My parent&#8217;s wedding photo, Melbourne 1956</figcaption></figure></div><p>I spent my childhood in a house where my parents, my sister, and I shared a single bedroom, while the rest of the house was a revolving door of new arrivals &#8211; young men, women, and families who had stepped off a boat with a cardboard suitcase and a look of profound displacement. Rent wasn&#8217;t a monthly transaction. You didn&#8217;t pay a cent until you found a job, and you didn&#8217;t leave until you&#8217;d saved enough to buy a front door of your own.</p><p>The air in our shared kitchen was thick with roasted lamb, Greek tobacco, and the collective anxiety of people trying to learn a new syntax for home. By modern council codes, the arrangements would probably be condemned. In practice, it was the most efficient social safety net ever designed. My parents understood something my generation has largely forgotten: a house isn&#8217;t a private sanctuary or a diversified asset. It&#8217;s a lifeboat. And in a lifeboat, you don&#8217;t complain about the lack of legroom. You keep pulling people out of the water.</p><div class="pullquote"><p>My parents didn&#8217;t have degrees in sociology. But they understood that you don&#8217;t subtract from your life by adding someone else to your dinner table.</p></div><p>The rhythm of that house was the hum of my mother&#8217;s sewing machine. My father&#8217;s hands were stained with factory grease; my mother&#8217;s back was permanently shaped by hours bent over her work. They were workers in the most literal sense &#8211; trading their physical stamina for a foothold in a country that didn&#8217;t always know what to do with them. But their labour didn&#8217;t end when they clocked off. The second shift began at the kitchen table.</p><p>This was where the unwritten contract of the Greek community was signed. They helped the newcomers navigate the terrifying bureaucracy of a new country, translated documents they barely understood themselves, walked people into the factory and vouched for them by name. They weren&#8217;t just providing a bed. They were providing a bridge.</p><p>Some of those strangers who occupied the back rooms of our house never really left our lives. They became the fabric of our family &#8211; there for the christenings, the funerals, and dancing the most enthusiastically at my wedding. The guest list that day wasn&#8217;t just a collection of relatives. It was a map of my parents&#8217; generosity. Several of the people there had spent their first night in Australia on a makeshift bed in our dining room.</p><p>My parents didn&#8217;t have degrees in sociology. But they understood what I think of as ancestral mathematics: you don&#8217;t subtract from your life by adding someone else to your dinner table. You multiply your security. True resilience is communal. If the factory closed or the sewing commissions dried up, their house wouldn&#8217;t fall &#8211; because it was held up by the dozens of people they had once sheltered.</p><p>I look at the way we live now &#8211; the clean, quiet streets, the high fences, the video doorbell that lets me check whether I can afford to ignore whoever is knocking &#8211; and I see clearly what we bought with our success.</p><p>We bought silence.</p><p>We&#8217;ve outsourced our safety nets to insurance companies and superannuation funds. We have apps for delivery so we don&#8217;t have to talk to shopkeepers. We&#8217;ve learned to call &#8220;not wanting to help&#8221; by the more comfortable name of &#8220;setting boundaries.&#8221; We treat the house as a box that accrues value while we sit inside it, scrolling. My parents treated it as a machine for producing successful citizens.</p><p>I&#8217;m not suggesting we go back to four families sharing one bathroom. We&#8217;ve earned our bedrooms and our privacy, and I for one intend to keep them. But I think we need to remember the spirit of that shared kitchen. The most valuable thing you can do with a spare room &#8211; whether it&#8217;s physical, financial, or simply a pocket of time you&#8217;ve kept for yourself &#8211; is to put someone in it until they can stand on their own two feet.</p><p>My parents arrived with nothing. They left a legacy of full rooms.</p><p>I hope my generation doesn&#8217;t end up with everything, only to realise we&#8217;re the only ones in the house.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Gantt Chart Is Fiction (And Everyone Knows It)]]></title><description><![CDATA[On the mental model that has been failing software projects for fifty years, and why it keeps being used anyway.]]></description><link>https://blog.karabatsos.com/p/the-gantt-chart-is-fiction-and-everyone</link><guid isPermaLink="false">https://blog.karabatsos.com/p/the-gantt-chart-is-fiction-and-everyone</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 08 Jun 2026 21:01:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ichr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The meeting has been in the calendar for two weeks. The project manager has prepared a slide deck. There is a Gantt chart &#8212; there is always a Gantt chart &#8212; its coloured bars marching confidently across the screen from left to right, each one representing a phase of work that will begin on a precise date, proceed at a predictable pace, and conclude exactly when the bar runs out.</p><p>Everyone in the room has seen this chart before. The developers have seen it many times. They are looking at it now with the particular expression of people who have learned, through painful experience, that pointing out the obvious is rarely worth the political capital it costs.</p><p>The chart is fiction. Everyone in the room knows it is fiction. The meeting will proceed as though it is not.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>This scene plays out, with only minor variations, in organisations everywhere, every day. I have been in that room more times than I care to count, on both sides of the table. After forty-five years in the industry, I have come to believe that the thinking buried inside that chart &#8212; a mental model so pervasive that most people have never stopped to question it &#8212; is responsible for more wasted money, more broken working relationships, and more sheer human misery than any other single factor in the history of software development.</p><p>That is a large claim. Let me make the case for it.</p><p>The mental model goes like this: software development is fundamentally similar to building construction. You gather your requirements &#8212; the architect&#8217;s drawings &#8212; produce a detailed design, and then hand it to a team of developers who build the thing according to the plan. The building part is where the time and money go. The rest is just planning.</p><p>This feels intuitive. It satisfies the finance department&#8217;s need for a budget. It gives management something to approve and something to hold people accountable to. It maps neatly onto every other capital project an organisation might undertake. And it is wrong. Not approximately wrong, not wrong in ways that better tools might correct. <strong>Fundamentally, structurally wrong &#8212; because software development is not construction</strong>. It is design, all the way down, and design does not work the way construction does.</p><p>In construction, an architect can specify a building in sufficient detail that a crew can build it without constantly referring back for decisions. The materials behave predictably. The edge cases have been resolved by generations of previous builders. None of this is true in software. The domain is almost always novel &#8212; if it weren&#8217;t, you&#8217;d buy existing software rather than building new software. The technologies change constantly. And the edge cases cannot be fully enumerated by anyone sitting in a room writing a requirements document. They can only be discovered by building the system and watching what happens.</p><p>Consider a developer implementing an online payment feature. The requirements describe the happy path clearly: the user enters their card details, the payment is processed, the order is confirmed. Straightforward. Then the developer types the word &#8220;else&#8221; &#8212; the part of the code that handles what happens when things don&#8217;t go as expected &#8212; and stops. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Bwbn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Bwbn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 424w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 848w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 1272w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Bwbn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png" width="666" height="226" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:226,&quot;width&quot;:666,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25708,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.karabatsos.com/i/197075955?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Bwbn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 424w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 848w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 1272w, https://substackcdn.com/image/fetch/$s_!Bwbn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d30436b-1281-49a8-a26e-49a2c7c59c0c_666x226.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Is a payment gateway timeout the same as a declined card? Should the system retry, and how many times? Is an expired card the same message as a stolen card? If the payment succeeds but the confirmation email fails, has the order been placed? If the user tries again, will they be charged twice? None of these questions are in the requirements document. They couldn&#8217;t be &#8212; they only become visible from the point in the implementation where you are close enough to the actual behaviour of the system to see them. The requirements described what the feature should do when it works. They said almost nothing about what it should do when it doesn&#8217;t, because you can only enumerate those cases by building the thing. This is not a planning failure. It is the normal, expected, entirely routine operation of software development. Every significant feature has its else clause. The Gantt chart has no column for it.</p><p>The software industry tried to solve this, twice. The first attempt was the waterfall methodology &#8212; named for its diagram showing project phases flowing downward in sequence, each completing before the next begins &#8212; which crystallised through the 1970s as the discipline&#8217;s answer to the chaos of early software projects. It looked like engineering. It produced documents management could review and approve. It gave finance a basis for budgeting. And it failed, consistently and expensively, for exactly the reasons described above: it was built on the assumption that you could know everything that mattered before you started building, which you cannot.</p><p>By the late 1990s there was enough wreckage from waterfall projects to generate serious dissatisfaction. Out of that came the Agile Manifesto of 2001 &#8212; a short document signed by seventeen developers who had gathered to articulate what a better approach might look like. It is worth reading if you haven&#8217;t. It values individuals and interactions over processes and tools. Working software over comprehensive documentation. Customer collaboration over contract negotiation. Responding to change over following a plan. Not one of those values mentions two-week sprints, or daily standups, or story points, or velocity charts.</p><p>What most organisations adopted in the name of agile was a project management framework. Which is a different thing entirely. A sprint is just a short waterfall. A backlog is just a requirements document broken into smaller pieces. If the underlying assumption is still that software can be planned, estimated, and tracked like a construction project, changing the vocabulary and the cadence changes nothing fundamental. What you get instead is what practitioners have taken to calling &#8220;agile theatre&#8221;: the team holds its standups, the Scrum Master facilitates the retrospective, and meanwhile, somewhere above all of this, a senior manager has a spreadsheet with a delivery date committed to before the first sprint began, derived from an estimate produced before anyone wrote a line of code. The ceremonies continue. The date does not move.</p><p>I have written elsewhere about what happens when someone gives an honest estimate in this environment. It tends not to go well for them.</p><p>So why does the fiction persist? Because it is useful. Not useful for building good software &#8212; fifty years of evidence is unambiguous on that. Useful for conducting business in a way that feels manageable to everyone involved.</p><p>Consider the position of a large consulting firm bidding for a software contract. The client wants a fixed price and a guaranteed delivery date. The honest response &#8212; that both are unavailable at this stage, because the full scope of what will be required cannot be known until a substantial portion of the work is done &#8212; tends not to win contracts. The response that wins is a confident number and a confident date, underwritten by a methodology impressive enough to make both look credible. The firm that gives the honest answer loses the work. The firm that gives the confident answer wins it, and then has years of billing ahead regardless of whether the project succeeds, because extracting a large consulting organisation from an in-progress project is itself a significant undertaking. This is not a description of dishonest behaviour. It is a description of incentives that systematically reward the perpetuation of a false mental model.</p><p>The cost of those incentives is not abstract. I worked with a developer early in my career &#8212; talented, conscientious, someone who genuinely cared about the quality of what she built &#8212; who spent eighteen months on a government project contracted on a fixed-price, fixed-scope basis, with a scope that had been defined before anyone wrote a line of code. By month twelve she was working weekends routinely. By month eighteen the system had been delivered &#8212; late, incomplete in the ways that the contract did not technically require to be complete &#8212; and she left the industry shortly afterward. <em>She had been in it for four years.</em></p><p>I have seen versions of that story more times than I care to count. The details change. The structure doesn&#8217;t. A commitment is made before the necessary information exists to make it responsibly. Everyone downstream absorbs the consequences.</p><p>The Gantt chart on the screen is not the problem. It is a symptom. The problem is a fifty-year-old mental model that the people funding software projects find too useful to give up, and that the people building software projects have learned it is not worth their careers to challenge.</p><p>That is not where you want to be. <em><strong>And it is exactly where most organisations are.</strong></em></p><div><hr></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Ichr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ichr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ichr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg" width="924" height="1386" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1386,&quot;width&quot;:924,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1302552,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.karabatsos.com/i/197075955?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ichr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Ichr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b63da4b-ef69-48f3-9d36-84a49961acb4_924x1386.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p style="text-align: center;"><em>My book, <strong>Code Is Design</strong>, goes into this topic in a way that is accessible to both the technical people and those that are managing or underwriting software development projects. <br><a href="https://www.amazon.com.au/Code-Design-software-projects-developers-ebook/dp/B0GY1LTF4V">It is available now on Amazon. </a></em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Decision I Made on a Hospital Trolley]]></title><description><![CDATA[On what turning points actually look like, and why willpower was never the problem.]]></description><link>https://blog.karabatsos.com/p/the-decision-i-made-on-a-hospital</link><guid isPermaLink="false">https://blog.karabatsos.com/p/the-decision-i-made-on-a-hospital</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 01 Jun 2026 21:00:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0q52!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fed15888a-3156-4203-9919-2d6efb0f1f69_3881x5540.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The decision I want to tell you about was made on a hospital bed, in a corridor, being wheeled toward an operating theatre. I was not on a trolley. At 158 kilograms, that wasn&#8217;t an option.</p><p>Let me back up.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>My GP had been my doctor since I was a teenager &#8212; a little older than me, someone I thought of, and still think of, as a friend who happens to have a medical degree. After years of watching my weight trend upward through the fluctuations, he sat me down for a conversation of a different kind. Not the usual review of blood tests and medication adjustments. A proper one.</p><p>He said he understood that losing weight was hard. That the conventional advice &#8212; eat less, move more &#8212; was a gross oversimplification that failed to account for the reality of what my body was actually doing. He was not there to make me feel worse about what I had tried and not achieved. But he was also not going to let me leave without being clear about what the numbers were telling him. At 158 kilograms, carrying the metabolic load of advanced Type 2 diabetes, my life expectancy was, in his professional judgement, severely compromised.</p><p>Not a lecture. A fact, delivered with the directness of someone who cares enough about you to say the hard thing.</p><p>I asked him what else there was. He thought for a moment, then told me about a procedure beginning to produce notable results &#8212; new enough that he wanted to refer me to the leading practitioner rather than attempt to summarise it himself. The procedure he was talking about was laparoscopic adjustable gastric banding, or what is now commonly referred to as a lap band.</p><p>My wife and I did our research. We attended presentations. We spoke with people who had already had the procedure &#8212; early recipients, willing to answer questions from strangers about something deeply personal. The picture that emerged was honest about the trade-offs. Certain foods would cause problems. Meals out would carry a background level of anxiety, indefinitely. The band could not stop liquid calories, so the discipline still had to be there. It was a structural constraint, not a substitute for judgement.</p><p>None of this was disqualifying. But it required honest consideration, and we gave it that. Several months of it. Weighing the risks against the alternative. Sitting with the question of whether this was the right thing to do.</p><p>In the end, we decided to go ahead.</p><p>I remember lying on the hospital bed in the pre-surgery bay, in the standard-issue gown that hospital gowns have apparently been since the beginning of time, waiting to be taken through to theatre. Two orderlies arrived with a narrower wheeled trolley &#8212; the kind used to transfer patients into the operating room. One of them asked me to slide across.</p><p>The other stopped him, took him a few steps away, and said, in the tone of someone who doesn&#8217;t think they&#8217;re being overheard: patients over 150 kilograms cannot be transferred on the trolley.</p><p>I heard it. He didn&#8217;t intend me to, and there was nothing malicious in it &#8212; just a practical observation between two people doing their jobs. But I heard it.</p><div><hr></div><p>They wheeled the hospital bed itself into the theatre instead.</p><p>I have thought about that moment many times in the years since. At the time it hit me with a force I hadn&#8217;t expected &#8212; a sudden, stark encounter with what I had become, delivered without commentary or judgement, which somehow made it worse. I made a decision in that moment, lying on that bed being wheeled through the corridor: I was going to do whatever it took. Whatever discomfort, whatever inconvenience, whatever the procedure demanded. I was going to get my weight under control. That was not negotiable any more.</p><p>That was probably the real turning point. Not the surgery. The moment before it.</p><p>The years that followed involved karate &#8212; which deserves its own post, and will get one &#8212; and a weight loss, over time, of around 60 kilograms. My insulin requirements dropped, then disappeared. The other medications followed. For six years I managed Type 2 diabetes on no medication at all. The disease is progressive, and it came back. But those six years happened, and they happened because of a decision made in a hospital corridor that nobody planned and nobody witnessed.</p><div class="pullquote"><p>What actually moved me was not discipline. It was a moment of clarity, arrived at sideways, in a context I couldn't have predicted.</p></div><p>Here is what I want to say about that. We talk about decisions to change as though they are acts of will &#8212; as though the problem is simply that people haven&#8217;t decided hard enough yet. That has not been my experience. What actually moved me was not discipline. It was a moment of clarity, arrived at sideways, in a context I couldn&#8217;t have predicted. The orderly wasn&#8217;t trying to help me. He didn&#8217;t know he did.</p><p>And the other thing: at no point in this story did the answer turn out to be trying harder at what hadn&#8217;t worked. It turned out to be a medical intervention. Obesity is a disease. It responds to medical treatment. The fact that we spent decades treating it as a character flaw has cost a great deal &#8212; in suffering, in shortened lives, in patients told to try harder at things that were never going to be sufficient.</p><p>I was one of those patients. For a long time.</p><p></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed15888a-3156-4203-9919-2d6efb0f1f69_3881x5540.jpeg&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;Book Cover&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ed15888a-3156-4203-9919-2d6efb0f1f69_3881x5540.jpeg&quot;}},&quot;isEditorNode&quot;:true}"></div><p><em>Next week, <strong>Ground Truth</strong> moves on to another topic. If you are interested in reading more about my story dealing with diabetes, my book &#8220;<strong>The Long Road Down</strong>&#8221; is a first-hand account of what 30 years living with Type 2 diabetes is like. It is <a href="https://www.amazon.com.au/dp/B0H26DTQ7P">available now on Amazon.</a></em></p><div><hr></div><p><em>I write about my own experience managing Type 2 diabetes &#8212; thirty-plus years of it. None of this is medical advice. Your situation is not my situation, and nothing here should be a reason to change your treatment without talking to your doctor first.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[What I Know About Ozempic That the Headlines Don't]]></title><description><![CDATA[Thirty years in, not thirty weeks.]]></description><link>https://blog.karabatsos.com/p/what-i-know-about-ozempic-that-the</link><guid isPermaLink="false">https://blog.karabatsos.com/p/what-i-know-about-ozempic-that-the</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 25 May 2026 21:00:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H7_c!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7da6be8-d5fd-4d5d-acae-fe3619d35494_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have been on Ozempic for three years. I have not lost dramatic amounts of weight. And I am using it for a reason that barely features in anything written about the drug.</p><p>Let me back up.</p><p>I was diagnosed with Type 2 diabetes in 1994, aged thirty-five. The diagnosis arrived at the end of a day when I had fallen asleep on the office sofa and woken six hours later to my wife&#8217;s increasingly non-negotiable phone calls. I went from the GP&#8217;s surgery directly to hospital. That was the beginning of a management relationship with the disease that has now lasted more than thirty years &#8212; through insulin injections, through a lap band procedure, through karate, through six years off all medication, followed by the slow, humbling return of the disease in its progressive form. I know this disease. I know its rhythms, its responses, its particular habit of ignoring things you try on it.</p><p>Three years ago, my endocrinologist added Ozempic to my regimen. Not for weight loss. For blood glucose management. It works on a hormone pathway that stimulates insulin production in response to meals, among other things, and for someone managing advanced, long-standing Type 2 diabetes, it is genuinely effective for that purpose. That is why I am on it. Weight loss was never the goal.</p><p>Good. Now let me tell you what the coverage doesn&#8217;t.</p><p>Ozempic has side effects. The medical literature acknowledges this in careful, measured language &#8212; &#8220;gastrointestinal effects,&#8221; &#8220;abdominal discomfort&#8221; &#8212; as though it were describing mild inconveniences. What the literature does not convey, and what no celebrity profile of the drug has mentioned, is the particular social texture of those effects. The flatulence is persistent, loud, and largely indifferent to social context. The belching is similarly uninvited. The stomach noises &#8212; a deep, rolling interior gurgling &#8212; have announced themselves in meetings. They have interrupted conversations. They have no sense of occasion whatsoever.</p><p>I say this not to be indelicate but because people deserve accurate information before they start. I have had to become strategic about positioning in rooms. That is a sentence I never expected to write.</p><p>There is also fatigue, particularly in the days immediately after injection. Not incapacitating, but present &#8212; a heaviness I have learned to plan around. And injection site reactions: the occasional lump, the lingering tenderness. For someone who already administers a nightly insulin injection, a weekly subcutaneous shot is not an unfamiliar experience &#8212; but it adds to the accounting. This is the pharmacological management of a chronic disease. It is not glamorous. Nobody is writing long profiles of what that part feels like.</p><div class="pullquote"><p>I keep reading the coverage looking for something that resembles my experience. I am still looking.</p></div><p>Now. The weight.</p><p>Over three years on Ozempic, I have lost approximately five kilograms. I am not entirely convinced the drug deserves credit for all of it. Here is why. My wife and I spend three months of every year in Greece. In Greece, I reliably lose around two kilograms &#8212; better food, more walking, lower stress, Mediterranean everything. In Australia, on the same drug, same dose, same treatment regimen, I do not lose weight. Or not anything measurable beyond ordinary fluctuation.</p><p>My endocrinologist has views about this &#8212; olive oil and insulin sensitivity feature prominently &#8212; and I find the explanations plausible. But I cannot fully explain it, and I am wary of anyone who claims they can. What I know is that the drug the headlines have called transformative has, in my experience, not produced the transformation the headlines describe. It is doing something useful. Weight loss is not the primary thing it is doing.</p><p>Perhaps the pharmaceutical companies should stop trying to synthesise the molecule and start trying to synthesise a month in a Greek village. It is, in my experience, the only thing that actually moves the needle for me.</p><p>Now. The supply shortage.</p><p>For roughly two years &#8212; and the memory is still fresh enough to sting &#8212; obtaining Ozempic required persistence. Multiple calls to multiple pharmacies. Occasional failure. Occasional expensive workarounds. The supply had been overwhelmed by off-label demand: people without diabetes, prescribed it for weight loss.</p><p>I want to be careful here, because I believe obesity is a real disease. Not a character flaw, not a failure of willpower, not something that better choices would simply fix. A genuine medical condition with complex metabolic, genetic, and environmental drivers, and one that deserves to be treated with the same seriousness we extend to any other chronic illness. That is not a pro forma disclaimer. I mean it.</p><p>But there is a prioritisation question that nobody seemed particularly interested in asking. When patients using a drug for glycaemic control &#8212; patients for whom it is not a lifestyle intervention but a component of managing a serious, progressive condition &#8212; cannot reliably obtain it, something has gone wrong with how we&#8217;ve allocated access. The market found its equilibrium eventually. The supply situation has largely resolved. But the conversation about who bore the cost during those two years, and whether that was acceptable, has never really happened.</p><p>That is the story you do not read. Not because it is hidden. Because the people writing about Ozempic are not the people who were on it before it became famous, and the patients for whom it is simply the latest chapter in a very long story have not been given much column space.</p><p>I keep reading the coverage looking for something that resembles my experience. I am still looking.</p><div><hr></div><p><em>I write about my own experience managing Type 2 diabetes &#8212; thirty-plus years of it. None of this is medical advice. Your situation is not my situation, and nothing here should be a reason to change your treatment without talking to your doctor first.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[The Day I Lost a Pitch by Telling the Truth]]></title><description><![CDATA[On honest estimates, incompatible requirements, and a beer three years later.]]></description><link>https://blog.karabatsos.com/p/the-day-i-lost-a-pitch-by-telling</link><guid isPermaLink="false">https://blog.karabatsos.com/p/the-day-i-lost-a-pitch-by-telling</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 18 May 2026 21:01:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H7_c!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7da6be8-d5fd-4d5d-acae-fe3619d35494_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I have lost work by telling the truth. More than once. But one case has never left me.</p><p>We were a small software house &#8212; I was CTO &#8212; and we had built something worth having: a finance origination platform that we white-labelled and customised for clients in a specialised industry. Each implementation meant taking the core system and shaping it around how a particular client operated: their product structures, their incentive arrangements, their promotions, all layered on top of the financial and accounting requirements that the law doesn&#8217;t negotiate on. We were good at it. We were building a reputation. And one of the largest players in the industry took notice.</p><p>They sent us an RFP. Attached to it was a requirement that we found rather more interesting than the specifications: the work had to be complete within six months of engagement.</p><p>This was a David and Goliath situation &#8212; they were that much larger than we were &#8212; and our CEO very much wanted to land them. I very much did not want to respond at all. The requirements document was a mixed bag of incompatible specifications, and when we asked questions, the answers were uninformative and faintly annoyed, as though the questions themselves were an impertinence.</p><p>We responded anyway. Our honest estimate broke into two phases: two months of white-labelling running concurrently with one month of requirements clarification, followed by a second engagement for the remaining customisation work &#8212; somewhere between six and ten months, depending on how the conflicting requirements resolved and how complex the integration with their general ledger system turned out to be. Eight to twelve elapsed months in total. We couldn&#8217;t be more specific than that. Nobody could, honestly, at that stage.</p><p>In the process of preparing the bid, I had got to know one of their staff. We weren&#8217;t friends &#8212; more like two people who had recognised something in each other across a table. We both understood what was actually happening: that any estimate submitted in response to this RFP was a guess at best and pure fiction at worst. He knew it. I knew it. The difference was that I was writing mine down honestly.</p><p>At our end-of-year company picnic, the CEO told me we hadn&#8217;t got it. I stepped aside and called my contact at the other firm. He let slip &#8212; probably more than he should have &#8212; that we&#8217;d been rejected because we couldn&#8217;t commit to six months. The successful applicant, a large offshore consulting firm, had committed to the timeline and come in at roughly the same price.</p><div class="pullquote"><p>&#8220;He knew it. I knew it. The difference was that I was writing mine down honestly.&#8221;</p></div><p>Our CEO was crestfallen. Our development team, when I told them, reacted the way I had: with quiet, private relief. There is something clarifying about losing work you didn&#8217;t want.</p><p>Three years or so later, I ran into that same contact at a conference. About agile development, as it happens. He had moved on to another company but was still in touch with people at his old firm. Over a beer &#8212; low-carbohydrate, given my circumstances &#8212; he told me what had happened. The project had run for a little over two years. It had cost approximately three times what we had proposed. It had been scrapped. They were going out for new proposals.</p><p>Were we invited to respond this time?</p><p>We were not. Either they were too embarrassed &#8212; unlikely &#8212; or they were still looking for someone to tell them what they wanted to hear.</p><p>I hope they found them.</p><div><hr></div><p><em>This story is one instance of a general pattern &#8212; an industry built on a mental model that everyone in the room knows is wrong. I&#8217;ve made the full case in <a href="https://www.amazon.com.au/Code-Design-software-projects-developers-ebook/dp/B0GY1LTF4V">Code is Design</a>. It turned out to need a book rather than an essay.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Forty-Five Years In, and Still Not Finished]]></title><description><![CDATA[A Facebook post, a missed book deal, and forty-five years of things worth saying.]]></description><link>https://blog.karabatsos.com/p/forty-five-years-in-and-still-not</link><guid isPermaLink="false">https://blog.karabatsos.com/p/forty-five-years-in-and-still-not</guid><dc:creator><![CDATA[Jim Karabatsos]]></dc:creator><pubDate>Mon, 11 May 2026 21:00:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!H7_c!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa7da6be8-d5fd-4d5d-acae-fe3619d35494_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My wife thinks my Facebook posts are too long. She&#8217;s right &#8212; for Facebook. But every time I post one, the responses keep coming for days.</p><p>These are posts about places: a particular stretch of road in the Peloponnese where history turned on a single morning, or the quarter of Athens where refugees from Smyrna settled after 1922 and changed Greek music forever. History, culture, the meaning that accumulates in places over centuries. The kind of thing that takes a while to explain properly.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>That instinct &#8212; to not stop before the idea is actually clear &#8212; has been with me since the beginning.</p><p>In the late 1970s, I was so shy that having to address five people in a room would cause me to break out in a cold sweat. I&#8217;d start a sentence and lose the thread before I&#8217;d finished it. Clearly, this was not going to work. So I did something deliberate: I volunteered to teach the introductory sessions of the commercial programming course I had just completed. Evening classes, four weeks. I knew the material cold, which meant I could use the energy I would otherwise have spent on panic to work on exactly one thing: learning how to talk to a room.</p><p>It worked. Within a few years I was presenting at major conferences. When Microsoft launched VB5, they sent me around Australia to present to audiences of thousands. When Borland released Delphi, I did the same across Australia and New Zealand. I wrote a monthly column for a technical publication. A major publisher approached me about writing a book &#8212; and I didn&#8217;t pursue it, for reasons that made sense at the time. I&#8217;ve spent the years since regretting it.</p><p>Last month, I finally wrote the book. *Code Is Design* is about why software projects fail &#8212; which turns out to be about a fundamental misunderstanding of what software development actually is. Writing it confirmed something I already knew: I still have things to say, and I&#8217;m still not finished saying them.</p><p>So. <strong>Ground Truth.</strong></p><p>The name means what it says. We are living through a period in which facts are being systematically contested, weaponised, and replaced with narratives designed to divide. I am watching the contempt for expertise &#8212; the manufactured grievance, the tribal loyalty test, the aggressive denial of observable reality &#8212; emerge in Australian public life in ways that would have seemed extraordinary ten years ago. I have children who are working harder than my wife and I ever had to, for less security. I have grandchildren who will inherit whatever world we leave for them.</p><p>I am not a political commentator and I have no interest in becoming one. But I&#8217;ve spent forty-five years in an industry that runs on whether you&#8217;re willing to tell people what you actually think rather than what they want to hear &#8212; and I&#8217;ve come to believe that clear, honest explanation from someone who has actually done something is in shorter supply than it should be.</p><p>Ground Truth will cover technology and organisations, because that&#8217;s where I&#8217;ve spent most of my working life. It will cover health, because thirty years of managing Type 2 diabetes has given me a perspective I didn&#8217;t ask for and won&#8217;t waste. It will cover Greek-Australian life, history, and identity, because that&#8217;s where I come from and it is underwritten in the broader culture in ways that deserve more attention than they get. And it will cover whatever else demands attention.</p><p>One post a week. Honest, I hope. Occasionally long.</p><p><em>My wife has been warned.</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.karabatsos.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Ground Truth! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>