<?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[CodeMatter]]></title><description><![CDATA[Sharp, practical essays on programming, AI, and building with code. Insights from a full-stack developer’s journey.]]></description><link>https://codematter.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png</url><title>CodeMatter</title><link>https://codematter.substack.com</link></image><generator>Substack</generator><lastBuildDate>Mon, 08 Jun 2026 17:29:53 GMT</lastBuildDate><atom:link href="https://codematter.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Mehmet T. AKALIN]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[codematter@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[codematter@substack.com]]></itunes:email><itunes:name><![CDATA[Mehmet Turgay AKALIN]]></itunes:name></itunes:owner><itunes:author><![CDATA[Mehmet Turgay AKALIN]]></itunes:author><googleplay:owner><![CDATA[codematter@substack.com]]></googleplay:owner><googleplay:email><![CDATA[codematter@substack.com]]></googleplay:email><googleplay:author><![CDATA[Mehmet Turgay AKALIN]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[The Automation Trap]]></title><description><![CDATA[Code Matters &#8212; Next Arc, Part I]]></description><link>https://codematter.substack.com/p/the-automation-trap</link><guid isPermaLink="false">https://codematter.substack.com/p/the-automation-trap</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Sat, 21 Mar 2026 17:33:19 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We didn&#8217;t lose control of software all at once.</p><p>We automated it away &#8212; step by step.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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>Each decision made sense:</p><ul><li><p>automate deployment</p></li><li><p>automate testing</p></li><li><p>automate infrastructure</p></li><li><p>automate decision-making</p></li></ul><p>Each step removed friction.</p><p>Each step also removed <strong>awareness</strong>.</p><div><hr></div><h2>Automation feels like progress</h2><p>Automation is seductive because it works.</p><p>It saves time.<br>It reduces effort.<br>It eliminates repetition.</p><p>But automation has a hidden cost:</p><blockquote><p>The more you automate, the less you notice.</p></blockquote><p>At first, this is a feature.</p><p>Eventually, it becomes a failure mode.</p><div><hr></div><h2>The shift from doing to watching</h2><p>There was a time when developers:</p><ul><li><p>wrote queries</p></li><li><p>configured servers</p></li><li><p>debugged failures directly</p></li></ul><p>Now we:</p><ul><li><p>monitor dashboards</p></li><li><p>read logs</p></li><li><p>wait for alerts</p></li><li><p>restart systems</p></li></ul><p>We don&#8217;t interact with systems anymore.</p><p>We <strong>observe</strong> them.</p><div><hr></div><h2>When systems fail silently</h2><p>Automation doesn&#8217;t remove errors.</p><p>It hides them.</p><p>A broken system used to crash loudly.</p><p>Now it:</p><ul><li><p>retries</p></li><li><p>falls back</p></li><li><p>degrades gracefully</p></li><li><p>returns something &#8220;good enough&#8221;</p></li></ul><p>The result is not correctness.</p><p>It&#8217;s <strong>plausible output</strong>.</p><p>And plausible output is dangerous, because it doesn&#8217;t trigger suspicion.</p><div><hr></div><h2>AI is the final layer of automation</h2><p>AI doesn&#8217;t just automate actions.</p><p>It automates decisions.</p><ul><li><p>what to write</p></li><li><p>what to recommend</p></li><li><p>what to approve</p></li><li><p>what to reject</p></li></ul><p>And because it is probabilistic, it doesn&#8217;t fail clearly.</p><p>It fails <em>convincingly</em>.</p><p>This is the ultimate trap:</p><blockquote><p>You no longer know when the system is wrong.</p></blockquote><div><hr></div><h2>The disappearance of feedback loops</h2><p>Good systems rely on feedback:</p><ul><li><p>input &#8594; action &#8594; result &#8594; correction</p></li></ul><p>Automation weakens this loop.</p><p>When everything is handled automatically:</p><ul><li><p>errors don&#8217;t surface</p></li><li><p>corrections don&#8217;t happen</p></li><li><p>learning stops</p></li></ul><p>The system continues operating &#8212; incorrectly.</p><div><hr></div><h2>The operator illusion</h2><p>Modern developers are told they are more productive than ever.</p><p>And they are &#8212; in terms of output.</p><p>But their relationship to systems has changed.</p><p>They are no longer builders.</p><p>They are <strong>operators of automation pipelines</strong>.</p><p>When something breaks:</p><ul><li><p>they don&#8217;t fix the root</p></li><li><p>they adjust the system</p></li><li><p>or restart it</p></li><li><p>or wait for it to self-correct</p></li></ul><p>This is not mastery.</p><p>It is dependency.</p><div><hr></div><h2>Why automation concentrates risk</h2><p>Automation centralizes decisions into fewer systems.</p><p>Which means:</p><ul><li><p>fewer points of failure</p></li><li><p>but much larger consequences</p></li></ul><p>When a human makes a mistake, it is local.</p><p>When an automated system fails, it scales instantly.</p><p>And when AI is involved, the failure can look correct while spreading.</p><div><hr></div><h2>The real cost</h2><p>Automation trades:</p><ul><li><p>effort &#8594; opacity</p></li><li><p>control &#8594; convenience</p></li><li><p>understanding &#8594; speed</p></li></ul><p>At small scale, this is efficient.</p><p>At large scale, it becomes fragile.</p><p>Because when no one understands the system,<br>no one can fix it.</p><div><hr></div><h2>The trap</h2><p>The automation trap is simple:</p><blockquote><p>The system works &#8212; until it doesn&#8217;t.<br>And when it doesn&#8217;t, no one knows why.</p></blockquote><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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[Who Owns the Future Stack?]]></title><description><![CDATA[Code Matters &#8212; Flagship Essay, Part III]]></description><link>https://codematter.substack.com/p/who-owns-the-future-stack</link><guid isPermaLink="false">https://codematter.substack.com/p/who-owns-the-future-stack</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Mon, 09 Feb 2026 09:24:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Software used to be something you owned.</p><p>You bought a machine.<br>You installed programs.<br>You ran code locally.<br>You understood where things lived and how they worked.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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>Today, most software exists somewhere else.</p><p>In someone else&#8217;s cloud.<br>Behind someone else&#8217;s API.<br>Running on someone else&#8217;s terms.</p><p>And slowly, without noticing, developers stopped owning their tools.</p><div><hr></div><h2>The stack moved upward</h2><p>Every generation of software abstracts the one below it.</p><p>Hardware became operating systems.<br>Operating systems became platforms.<br>Platforms became services.<br>Services became APIs.<br>APIs became AI.</p><p>Each step made building easier.</p><p>Each step also moved control further away from the builder.</p><p>Today, a modern product might depend on:</p><ul><li><p>cloud infrastructure it cannot migrate from</p></li><li><p>models it cannot inspect</p></li><li><p>APIs it cannot replace</p></li><li><p>pricing it cannot predict</p></li></ul><p>The result is convenience without sovereignty.</p><div><hr></div><h2>The new choke points</h2><p>Power in software no longer comes from writing code.</p><p>It comes from controlling access.</p><p>Cloud providers control:</p><ul><li><p>compute</p></li><li><p>storage</p></li><li><p>networking</p></li><li><p>deployment</p></li></ul><p>AI providers control:</p><ul><li><p>intelligence layers</p></li><li><p>model behavior</p></li><li><p>safety boundaries</p></li><li><p>pricing per decision</p></li></ul><p>Platform owners control:</p><ul><li><p>distribution</p></li><li><p>visibility</p></li><li><p>monetization</p></li></ul><p>You don&#8217;t compete by building better systems anymore.</p><p>You compete by negotiating with infrastructure.</p><div><hr></div><h2>Dependency as architecture</h2><p>Modern systems are built from dependencies.</p><p>Libraries depend on frameworks.<br>Frameworks depend on services.<br>Services depend on platforms.<br>Platforms depend on policies.</p><p>Every dependency reduces friction &#8212; and increases exposure.</p><p>When one layer changes:</p><ul><li><p>pricing changes</p></li><li><p>terms change</p></li><li><p>rate limits change</p></li><li><p>behavior changes</p></li></ul><p>And entire products break overnight.</p><p>This is not failure.<br>This is the logical outcome of centralized abstraction.</p><div><hr></div><h2>Open is not the same as free</h2><p>The industry likes the language of openness.</p><p>Open APIs.<br>Open models.<br>Open ecosystems.</p><p>But openness often stops at the surface.</p><p>You may see the interface, but not:</p><ul><li><p>the training data</p></li><li><p>the infrastructure</p></li><li><p>the optimization layers</p></li><li><p>the economic incentives</p></li></ul><p>You can build on top of the stack.</p><p>You rarely control it.</p><p>And control is what determines the future.</p><div><hr></div><h2>The invisible lock-in</h2><p>Lock-in used to be technical.</p><p>Now it is economic and cognitive.</p><p>Switching providers means:</p><ul><li><p>rewriting architecture</p></li><li><p>retraining teams</p></li><li><p>rebuilding pipelines</p></li><li><p>losing accumulated knowledge</p></li></ul><p>So companies don&#8217;t switch.</p><p>They adapt.</p><p>Over time, the stack stops being a tool and becomes an environment &#8212; one that defines what is possible before you even start building.</p><div><hr></div><h2>The developer&#8217;s quiet trade</h2><p>We traded ownership for speed.</p><p>And it made sense.</p><p>Cloud removed hardware pain.<br>APIs removed complexity.<br>AI removes effort.</p><p>But every removed difficulty also removes understanding.</p><p>And when understanding disappears, so does leverage.</p><p>The builder becomes a tenant.</p><div><hr></div><h2>The future stack</h2><p>The future of software will not be defined by who writes the best code.</p><p>It will be defined by who controls:</p><ul><li><p>computation</p></li><li><p>models</p></li><li><p>data</p></li><li><p>and distribution</p></li></ul><p>This is why AI feels different.</p><p>It is not just another tool layer.</p><p>It sits at the top of the stack, shaping decisions beneath it.</p><p>The higher the abstraction, the greater the power.</p><div><hr></div><h2>What this means for builders</h2><p>This is not an argument against cloud or AI.</p><p>These tools made extraordinary things possible.</p><p>But builders need to recognize the trade:</p><p>Convenience concentrates power.</p><p>If you don&#8217;t understand the stack you depend on, you don&#8217;t control your product&#8217;s future.</p><p>And if enough builders lose control, innovation itself becomes permissioned.</p><div><hr></div><h2>Why Code Matters exists (Part III)</h2><p>This series began with blind software.</p><p>Then the illusion of intelligence.</p><p>And now the question beneath both:</p><p>Who decides how systems behave?</p><p>Code still matters but ownership matters more.</p><p>Understanding where power lives in the stack is no longer optional.<br>It is the difference between building the future and renting it.</p><p>Because the future of software will not be decided by what we build.</p><p>It will be decided by <strong>where we are allowed to build it</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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 Illusion of Intelligence]]></title><description><![CDATA[Code Matters &#8212; Flagship Essay, Part II]]></description><link>https://codematter.substack.com/p/the-illusion-of-intelligence</link><guid isPermaLink="false">https://codematter.substack.com/p/the-illusion-of-intelligence</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Sun, 01 Feb 2026 10:31:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>We have built machines that speak fluently &#8212; and decided that means they think.</p><p>That decision may turn out to be one of the most expensive cognitive mistakes in human history.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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><div><hr></div><h2>Prediction is not understanding</h2><p>Modern AI does not understand anything.</p><p>It predicts.</p><p>Given enough data, a model learns which sequences of symbols are statistically likely to follow other sequences. That&#8217;s it. There is no internal world model. No grounding. No intent. No concept of truth.</p><p>Just probability.</p><p>And yet, because the output is fluent, we treat it as cognition.</p><p>We confuse <em>coherence</em> with <em>comprehension</em>.<br>We confuse <em>confidence</em> with <em>knowledge</em>.<br>We confuse <em>language</em> with <em>mind</em>.</p><p>This is the illusion.</p><div><hr></div><h2>Why LLMs feel intelligent</h2><p>Large language models are extremely good at one thing:</p><blockquote><p>Producing text that sounds like a human who knows what they&#8217;re talking about.</p></blockquote><p>That single capability is enough to trigger every cognitive bias we have:</p><ul><li><p>anthropomorphism</p></li><li><p>authority bias</p></li><li><p>automation bias</p></li><li><p>narrative bias</p></li></ul><p>The model doesn&#8217;t need to be right.<br>It just needs to be <em>plausible</em>.</p><p>And plausibility is far more persuasive than accuracy.</p><div><hr></div><h2>Hallucinations are not bugs</h2><p>They are the model</p><p>When an LLM &#8220;hallucinates,&#8221; it&#8217;s not malfunctioning.</p><p>It is doing exactly what it was designed to do:<br>generate the most statistically likely continuation.</p><p>The problem is not that it lies.</p><p>The problem is that it has <strong>no concept of truth</strong>.</p><p>Truth is not part of the architecture.</p><p>There is no internal mechanism for:</p><ul><li><p>verification</p></li><li><p>epistemic uncertainty</p></li><li><p>causal reasoning</p></li><li><p>or factual grounding</p></li></ul><p>We didn&#8217;t build minds.<br>We built <em>text engines</em> and gave them the authority of minds.</p><div><hr></div><h2>Intelligence without responsibility</h2><p>In human systems, intelligence implies accountability.</p><p>If you make a decision:</p><ul><li><p>you can explain it</p></li><li><p>you can defend it</p></li><li><p>you can be blamed for it</p></li></ul><p>With AI systems:</p><ul><li><p>the output is opaque</p></li><li><p>the reasoning is inaccessible</p></li><li><p>the training data is unknown</p></li><li><p>and the model itself is irreproducible</p></li></ul><p>So when an AI makes a mistake, nobody is responsible.</p><p>Not the user.<br>Not the developer.<br>Not the company.<br>Not the model.</p><p>Just a floating outcome with no moral anchor.</p><p>This is not intelligence.<br>This is <strong>decision without agency</strong>.</p><div><hr></div><h2>The new priesthood of models</h2><p>Every era builds a new oracle.</p><p>Once it was religion.<br>Then science.<br>Then economics.<br>Now: machine learning.</p><p>We ask the model:</p><ul><li><p>who to hire</p></li><li><p>what to believe</p></li><li><p>how to diagnose</p></li><li><p>how to decide</p></li><li><p>how to judge</p></li></ul><p>And when it answers, we rarely ask <em>why</em>.</p><p>We ask:</p><blockquote><p>&#8220;What did the model say?&#8221;</p></blockquote><p>Not:</p><blockquote><p>&#8220;Should we trust it?&#8221;</p></blockquote><p>This is how tools become authorities.</p><div><hr></div><h2>Why scaling doesn&#8217;t solve this</h2><p>The industry narrative says:</p><blockquote><p>Bigger models will become smarter.</p></blockquote><p>But scaling does not create understanding.</p><p>It creates:</p><ul><li><p>more pattern recognition</p></li><li><p>more fluency</p></li><li><p>more confidence</p></li><li><p>more convincing errors</p></li></ul><p>You can scale prediction forever and never reach comprehension.</p><p>Because intelligence is not just correlation.</p><p>It requires:</p><ul><li><p>grounding</p></li><li><p>causality</p></li><li><p>goals</p></li><li><p>self-models</p></li><li><p>and responsibility</p></li></ul><p>None of which exist inside an LLM.</p><div><hr></div><h2>The real danger</h2><p>The danger is not that machines become conscious.</p><p>The danger is that humans stop being conscious <strong>in the presence of machines</strong>.</p><p>We outsource:</p><ul><li><p>thinking</p></li><li><p>remembering</p></li><li><p>judging</p></li><li><p>deciding</p></li></ul><p>Not because the machine is better &#8212;<br>but because it is <em>available</em>, <em>fast</em>, and <em>confident</em>.</p><p>This is how intelligence erodes:<br>not by replacement,<br>but by <strong>delegation</strong>.</p><div><hr></div><h2>The illusion we must resist</h2><p>The most dangerous idea in modern tech is:</p><blockquote><p>&#8220;The model knows.&#8221;</p></blockquote><p>It doesn&#8217;t.</p><p>It predicts what <em>sounds</em> like knowing.</p><p>And if we treat that as truth,<br>we don&#8217;t get artificial intelligence.</p><p>We get <strong>artificial authority</strong>.</p><div><hr></div><h2>Why Code Matters exists (Part II)</h2><p>This publication exists to demystify machine intelligence.</p><p>To remind builders that:</p><ul><li><p>fluency is not cognition</p></li><li><p>prediction is not understanding</p></li><li><p>and automation is not wisdom</p></li></ul><p>We don&#8217;t need smarter machines.</p><p>We need humans who understand what machines actually are.</p><p>Because the moment we stop questioning the model,<br>we become the least intelligent system in the loop.</p><div><hr></div><p>Next week: <strong>Part III &#8212; </strong><em><strong>Who Owns the Future Stack?</strong></em><br>The political economy of cloud, AI, and dependency.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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 Age of Blind Software]]></title><description><![CDATA[Code Matters &#8212; Flagship Essay, Part I]]></description><link>https://codematter.substack.com/p/the-age-of-blind-software</link><guid isPermaLink="false">https://codematter.substack.com/p/the-age-of-blind-software</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Mon, 26 Jan 2026 07:50:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h1>The Age of Blind Software</h1><p>We are surrounded by the most powerful software ever built and we understand less of it than ever before.</p><p>That&#8217;s not a paradox.<br>It&#8217;s the business model.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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>Modern software is no longer designed to be understood. It is designed to be <em>used</em>, <em>trusted</em>, and <em>depended on</em> &#8212; while its inner workings disappear behind layers of abstraction, APIs, and machine-generated decisions.</p><p>We call this progress.<br>In reality, it&#8217;s the beginning of <strong>blind software</strong>.</p><div><hr></div><h2>When software stopped being explainable</h2><p>Once upon a time, a program was a thing you could read.</p><p>You could open a file.<br>You could trace a function.<br>You could follow the logic.</p><p>Today, a single product might depend on:</p><ul><li><p>12 cloud services</p></li><li><p>6 proprietary APIs</p></li><li><p>3 AI models</p></li><li><p>dozens of hidden heuristics</p></li><li><p>and a chain of automated decisions no human can fully reconstruct</p></li></ul><p>When something goes wrong, nobody asks <em>why</em>.<br>They ask <strong>who to escalate to</strong>.</p><p>This is not engineering.<br>This is bureaucracy powered by code.</p><div><hr></div><h2>AI didn&#8217;t break software &#8212; it finished breaking it</h2><p>AI didn&#8217;t introduce opacity.<br>It normalized it.</p><p>We now ship systems where:</p><ul><li><p>outputs can&#8217;t be reproduced</p></li><li><p>decisions can&#8217;t be explained</p></li><li><p>failures can&#8217;t be debugged</p></li><li><p>and responsibility can&#8217;t be assigned</p></li></ul><p>And we call this &#8220;intelligence.&#8221;</p><p>In reality, we have built probabilistic black boxes and wired them into:</p><ul><li><p>hiring</p></li><li><p>credit</p></li><li><p>healthcare</p></li><li><p>law</p></li><li><p>infrastructure</p></li><li><p>and warfare</p></li></ul><p>All while pretending they are just tools.</p><p>They aren&#8217;t.<br>They are <strong>decision engines</strong>.</p><div><hr></div><h2>The quiet death of human agency</h2><p>The more automated a system becomes, the less accountable anyone inside it feels.</p><p>When a human makes a mistake, there is guilt.<br>When a machine makes a mistake, there is a ticket.</p><p>We are teaching an entire generation of engineers that</p><blockquote><p>&#8220;The system said so&#8221;<br>is a sufficient explanation.</p></blockquote><p>This is how moral responsibility dies &#8212; not with malice, but with workflow.</p><div><hr></div><h2>Abstractions are not neutral</h2><p>Every abstraction hides power.</p><p>When you hide complexity, you also hide:</p><ul><li><p>where decisions are made</p></li><li><p>who controls them</p></li><li><p>and who benefits</p></li></ul><p>Cloud platforms decide:</p><ul><li><p>how data flows</p></li><li><p>what is possible</p></li><li><p>what is profitable</p></li></ul><p>AI platforms decide:</p><ul><li><p>what is true</p></li><li><p>what is allowed</p></li><li><p>what is &#8220;good enough&#8221;</p></li></ul><p>You don&#8217;t own your stack anymore.<br>You rent it &#8212; along with its politics.</p><div><hr></div><h2>Software used to be a craft</h2><p>Now it is a supply chain</p><p>We used to build systems.<br>Now we assemble dependencies.</p><p>We used to debug logic.<br>Now we retry requests.</p><p>We used to understand failure.<br>Now we observe metrics.</p><p>The result is software that looks sophisticated &#8212; but is structurally fragile.</p><p>When one invisible layer breaks, everything breaks.</p><p>And nobody knows where to look.</p><div><hr></div><h2>The future is not smarter</h2><p>It is more automated</p><p>AI will not make systems more understandable.<br>It will make them faster, cheaper, and harder to question.</p><p>The danger is not rogue machines.</p><p>The danger is <strong>humans who stop thinking because a machine is present.</strong></p><div><hr></div><h2>Why Code Matters exists</h2><p>This publication exists to push back against blind software.</p><p>To ask:</p><ul><li><p>how systems actually work</p></li><li><p>where power flows</p></li><li><p>where responsibility disappears</p></li><li><p>and where technology quietly changes what it means to be human</p></li></ul><p>We don&#8217;t reject tools.<br>We reject surrender.</p><p>Because when no one understands the machine,<br>the machine understands <strong>you</strong>.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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[Code Matters]]></title><description><![CDATA[Engineering, AI, and the reality behind the abstractions]]></description><link>https://codematter.substack.com/p/code-matters</link><guid isPermaLink="false">https://codematter.substack.com/p/code-matters</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Sun, 25 Jan 2026 16:55:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codematter.substack.com/subscribe?"><span>Subscribe now</span></a></p><h1>Behind the Abstractions</h1><p>Most of what you read about technology today is marketing or mythology.</p><p>AI is &#8220;revolutionary.&#8221;<br>Frameworks are &#8220;game-changers.&#8221;<br>Every new tool will &#8220;10&#215; your productivity.&#8221;</p><p>But when you sit down to actually build something &#8212; when the server is on fire, the model hallucinates, the UI breaks, or the user does something you never expected &#8212; none of that hype helps.</p><p>Only <strong>code</strong> does.</p><p>And code is not magic.</p><p>It is decisions.</p><div><hr></div><h2>The dangerous lie in modern tech</h2><p>We are entering an era where people are encouraged to <em>not understand</em> the systems they depend on.</p><p>&#8220;Just use the AI.&#8221;<br>&#8220;Just use the API.&#8221;<br>&#8220;Just trust the model.&#8221;</p><p>But abstraction without understanding doesn&#8217;t create freedom.<br>It creates <strong>fragility</strong>.</p><p>When you don&#8217;t know:</p><ul><li><p>how data flows</p></li><li><p>how models fail</p></li><li><p>how systems interact</p></li><li><p>how edge cases emerge</p></li></ul><p>you don&#8217;t control your product.<br>Your product controls <strong>you</strong>.</p><div><hr></div><h2>Why CodeMatter exists</h2><p>CodeMatter is not about trends.<br>It&#8217;s about <strong>mechanics</strong>.</p><p>We will talk about:</p><ul><li><p>how AI actually behaves under load</p></li><li><p>why software architectures fail in real life</p></li><li><p>how products rot over time</p></li><li><p>how incentives warp engineering decisions</p></li><li><p>how &#8220;automation&#8221; quietly removes human agency</p></li></ul><p>Not to be cynical &#8212; but to be <strong>accurate</strong>.</p><p>Because accuracy is power.</p><div><hr></div><h2>AI is not the problem</h2><p>Blind faith is.</p><p>AI is a tool.<br>A powerful one.</p><p>But tools amplify intent &#8212; not wisdom.</p><p>When you treat a model as an oracle instead of a machine:</p><ul><li><p>errors become invisible</p></li><li><p>responsibility disappears</p></li><li><p>and trust is misplaced</p></li></ul><p>This publication will explore AI as it truly is:<br>a statistical system with incredible capabilities and very sharp limits.</p><p>Understanding those limits is not anti-AI.<br>It&#8217;s how you use it <strong>without being owned by it</strong>.</p><div><hr></div><h2>This is for builders</h2><p>If you are:</p><ul><li><p>writing code</p></li><li><p>running systems</p></li><li><p>shipping products</p></li><li><p>or trying to understand how this new AI-driven world actually works</p></li></ul><p>you are the audience.</p><p>This is not motivational content.<br>It&#8217;s <strong>operational thinking</strong>.</p><div><hr></div><h2>The promise</h2><p>Every post here will aim to give you one of three things:</p><ol><li><p><strong>Clarity</strong> &#8212; seeing a system for what it really is</p></li><li><p><strong>Leverage</strong> &#8212; knowing where to apply effort for real impact</p></li><li><p><strong>Defense</strong> &#8212; not being fooled by hype, metrics, or abstractions</p></li></ol><p>If it doesn&#8217;t do at least one of these, it doesn&#8217;t belong here.</p><div><hr></div><h2>Welcome to CodeMatter</h2><p>We don&#8217;t worship tools.<br>We don&#8217;t chase trends.<br>We don&#8217;t hide behind abstractions.</p><p>We build.<br>We question.<br>We understand.</p><p>Because in the end, <strong>code matters</strong> &#8212; not the stories told about it.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.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 CodeMatter! 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></p>]]></content:encoded></item><item><title><![CDATA[Coming soon]]></title><description><![CDATA[This is CodeMatter, a newsletter about say hi...]]></description><link>https://codematter.substack.com/p/coming-soon</link><guid isPermaLink="false">https://codematter.substack.com/p/coming-soon</guid><dc:creator><![CDATA[Mehmet Turgay AKALIN]]></dc:creator><pubDate>Fri, 20 May 2022 11:40:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aeuD!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6e408158-7689-4663-b519-b509595d4828_256x256.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>This is CodeMatter</strong>, a newsletter about say hi...</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://codematter.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://codematter.substack.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>