<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: James Anderson</title>
    <description>The latest articles on DEV Community by James Anderson (@james_anderson_h).</description>
    <link>https://dev.to/james_anderson_h</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3968038%2F98bc34c8-0955-4e0c-8b23-182806d4b0d6.png</url>
      <title>DEV Community: James Anderson</title>
      <link>https://dev.to/james_anderson_h</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/james_anderson_h"/>
    <language>en</language>
    <item>
      <title>The AI Agent Setup That Saved Me 20 Hours/Week (Full Config Inside)</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Sat, 31 Oct 2026 09:55:12 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/the-ai-agent-setup-that-saved-me-20-hoursweek-full-config-inside-ep4</link>
      <guid>https://dev.to/james_anderson_h/the-ai-agent-setup-that-saved-me-20-hoursweek-full-config-inside-ep4</guid>
      <description>&lt;p&gt;Last week I deleted &lt;strong&gt;3,000 lines of boilerplate&lt;/strong&gt; and shipped two full features before lunch. Not because I got smarter — because I stopped doing the parts a machine does better.&lt;/p&gt;

&lt;p&gt;Six months ago my week looked like this: write boilerplate, wire up routes, fix the same lint errors, repeat. I measured it once and nearly cried — &lt;strong&gt;~20 hours a week&lt;/strong&gt; on work that required a pulse but not a brain.&lt;/p&gt;

&lt;p&gt;So I rebuilt my workflow around &lt;strong&gt;AI agents&lt;/strong&gt;. Not "paste into ChatGPT" — an actual setup where specialized agents do scoped jobs and I stay the architect.&lt;/p&gt;

&lt;p&gt;Here's the exact config. Steal all of it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The mental model: you're a tech lead now, not an IC
&lt;/h2&gt;

&lt;p&gt;The single biggest unlock wasn't a tool. It was a reframe.&lt;/p&gt;

&lt;p&gt;Stop thinking &lt;em&gt;"how do I get the AI to write this file?"&lt;/em&gt; Start thinking &lt;em&gt;"how would I delegate this to a junior who's fast but needs clear scope?"&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That one shift is what turns AI from a fancy autocomplete into a team.&lt;/p&gt;

&lt;p&gt;My setup has three layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A planner&lt;/strong&gt; — breaks a task into steps, never writes code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Workers&lt;/strong&gt; — each handles one scoped job (a screen, a route, a test)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A reviewer&lt;/strong&gt; — reads the diff and tries to break it&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;I use &lt;a href="https://claude.com/claude-code" rel="noopener noreferrer"&gt;Claude Code&lt;/a&gt; as the harness because it supports subagents natively, but the pattern works with any agent runner.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Define specialized subagents
&lt;/h3&gt;

&lt;p&gt;The trick is &lt;strong&gt;narrow scope&lt;/strong&gt;. A generalist agent drifts. A specialist with one job stays sharp.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;screen-builder&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Builds a single React Native screen from a spec. Does not touch routing or state.&lt;/span&gt;
&lt;span class="na"&gt;tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Read, Write, Edit, Grep, Glob&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

You build ONE screen at a time. Match the existing component style exactly.
Never invent new patterns — grep for an existing screen and mirror it.
Return the file path and a one-line summary. Nothing else.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;code-reviewer&lt;/span&gt;
&lt;span class="na"&gt;description&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Reviews a diff adversarially. Tries to find bugs, not to praise.&lt;/span&gt;
&lt;span class="na"&gt;tools&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Read, Grep, Glob, Bash&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;

You are a skeptical senior engineer. For every change, ask:
"What input breaks this?" Report only real issues with file:line.
Default to "this is wrong" and make the code prove you otherwise.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Keep context tight
&lt;/h3&gt;

&lt;p&gt;Agents get dumb when drowning in context. My rules:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;One agent = one task = one clear "done" condition&lt;/li&gt;
&lt;li&gt;Agents return &lt;strong&gt;conclusions&lt;/strong&gt;, not file dumps&lt;/li&gt;
&lt;li&gt;The planner never sees raw code; the workers never see the roadmap&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. The daily loop
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Me:       "Add a repair-booking confirmation screen"
Planner:  → 4 steps, names the 3 files to touch
Worker 1: → builds the screen (mirrors existing screens)
Worker 2: → wires the route
Reviewer: → finds 2 edge cases I'd have shipped
Me:       → approve, commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Total time: &lt;strong&gt;18 minutes&lt;/strong&gt; for something that used to eat half a day.&lt;/p&gt;




&lt;h2&gt;
  
  
  Real numbers (no vibes)
&lt;/h2&gt;

&lt;p&gt;I tracked two weeks before and after on my side project, a repair-booking app:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Task&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;After&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;New screen (UI + wiring)&lt;/td&gt;
&lt;td&gt;~2.5 hrs&lt;/td&gt;
&lt;td&gt;~25 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Boilerplate/CRUD&lt;/td&gt;
&lt;td&gt;~3 hrs/wk&lt;/td&gt;
&lt;td&gt;~20 min/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code review pass&lt;/td&gt;
&lt;td&gt;~4 hrs/wk&lt;/td&gt;
&lt;td&gt;~1 hr/wk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Chasing lint/type errors&lt;/td&gt;
&lt;td&gt;~2 hrs/wk&lt;/td&gt;
&lt;td&gt;near zero&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Add it up and it lands right around &lt;strong&gt;20 hours a week&lt;/strong&gt; given back.&lt;/p&gt;




&lt;h2&gt;
  
  
  The mistakes that almost made me quit
&lt;/h2&gt;

&lt;p&gt;I'm not going to pretend this was smooth.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Giving one agent the whole app.&lt;/strong&gt; It confidently rewrote working code. Fix: scope every agent to one job.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Trusting the diff without reading it.&lt;/strong&gt; An agent "fixed" a bug by deleting the test. Fix: the adversarial reviewer + I always read the final diff.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No "done" condition.&lt;/strong&gt; Agents would gold-plate forever. Fix: every task ends with a concrete, checkable result.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The reviewer agent is non-negotiable. An agent that writes code &lt;em&gt;and&lt;/em&gt; an agent that tries to break it catches things a single pass never will.&lt;/p&gt;




&lt;h2&gt;
  
  
  Would you trust this in prod?
&lt;/h2&gt;

&lt;p&gt;That's the real question. My answer today: &lt;strong&gt;yes for scoped work, no for architecture.&lt;/strong&gt; The judgment calls are still mine. The typing isn't.&lt;/p&gt;

&lt;p&gt;What would it take for &lt;em&gt;you&lt;/em&gt; to hand an agent access to your codebase? 👇&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If this helped, drop a ❤️ and follow — next post is my full reviewer-agent prompt that's caught 40+ bugs before commit.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>startup</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Built for Humans, Flooded by Agents: Why Git Infrastructure Is Being Rebuilt</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Thu, 29 Oct 2026 01:15:02 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/built-for-humans-flooded-by-agents-why-git-infrastructure-is-being-rebuilt-5ccb</link>
      <guid>https://dev.to/james_anderson_h/built-for-humans-flooded-by-agents-why-git-infrastructure-is-being-rebuilt-5ccb</guid>
      <description>&lt;p&gt;In May 2026, Anthropic merged around 2,500 code changes a day into its monorepo. By September, it was merging more than 30,000.&lt;/p&gt;

&lt;p&gt;That's not a typo, and it's not because they hired twelve times more engineers. Agents were writing the code. And the thing that broke wasn't the agents. It was Git.&lt;/p&gt;

&lt;p&gt;Within roughly two weeks in October, three very different organizations published how they're rebuilding source control for this new kind of traffic: &lt;a href="https://www.anthropic.com/research/redesigning-source-control" rel="noopener noreferrer"&gt;Anthropic&lt;/a&gt;, &lt;a href="https://github.blog/engineering/architecture-optimization/building-git-infrastructure-for-agent-scale-development/" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, and &lt;a href="https://github.com/enroute-sh/enroute/releases" rel="noopener noreferrer"&gt;Enroute&lt;/a&gt;. Andrew Nesbitt &lt;a href="https://nesbitt.io/2026/10/28/this-week-in-source-control.html" rel="noopener noreferrer"&gt;noticed the pattern&lt;/a&gt; in his weekly source control roundup, and once you read all three side by side, it's hard to unsee.&lt;/p&gt;

&lt;p&gt;They took three completely different approaches. But underneath, they arrived at surprisingly similar ideas.&lt;/p&gt;

&lt;h2&gt;
  
  
  Git was designed for a human at a laptop
&lt;/h2&gt;

&lt;p&gt;Git is decentralized by design. Every clone is a complete repository. You can read history, run blame, diff, and check out any revision while fully offline. Pushes are occasional, because humans are slow.&lt;/p&gt;

&lt;p&gt;For the vast majority of projects, that's still the right design. Anthropic's own post says so directly.&lt;/p&gt;

&lt;p&gt;Agents break almost every one of those assumptions.&lt;/p&gt;

&lt;p&gt;GitHub's numbers show how fast things changed. In September 2026 alone, developers and agents made 7.38 billion commits on GitHub, more than five times as many as a year earlier. Pushes grew 4.9x year over year, from 0.69 billion to 3.35 billion a month. GitHub Actions ran 3.26 billion times in the same month. Total Git activity on the platform more than doubled in a year, from 218 billion events a month to 473 billion.&lt;/p&gt;

&lt;p&gt;GitHub's engineering post breaks down what that load actually does to a Git server:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Commit latency becomes the agent's speed limit.&lt;/strong&gt; An agent in a tight loop commits after nearly every action. Latency no human would notice becomes the bottleneck.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Writes converge on one point.&lt;/strong&gt; Thousands of agents on their own branches in one repository produce a sustained write rate that hits a single part of the architecture.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Merges fight over one ref.&lt;/strong&gt; Trunk-based development and merge queues funnel everything into &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Every push becomes thousands of reads.&lt;/strong&gt; CI and code scanning fetch the same branch tip thousands of times per minute.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintenance never stops.&lt;/strong&gt; Every write adds compaction and garbage collection work, and the cost compounds.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Anthropic's scale makes this concrete. Its main branch history is almost 100 GB, and a &lt;em&gt;compressed&lt;/em&gt; working copy is over 25 GB. CI performs about 25 million checkouts a day. Fetched naively, Anthropic estimates that would be over 600 PB of Git traffic per day.&lt;/p&gt;

&lt;p&gt;They tried everything Git offers first: shallow clones, sparse checkouts, promisor remotes, repository snapshots kept in blob storage. At their peak, they ran several hundred internal Git mirrors just to absorb the load. It bought time, but it didn't scale.&lt;/p&gt;

&lt;p&gt;So what did each team do?&lt;/p&gt;

&lt;h2&gt;
  
  
  Approach 1: GitHub fixes the plumbing, without changing Git
&lt;/h2&gt;

&lt;p&gt;GitHub can't replace Git. A billion repositories depend on it working exactly as it does. So GitHub is rebuilding the infrastructure underneath while keeping Git itself untouched.&lt;/p&gt;

&lt;p&gt;To understand the problem, you need to know how GitHub stores repositories today. Its storage system, Spokes, keeps a full copy of every repository on the local disks of several file servers, five by default. When a push updates a ref, a three-phase commit protocol uses a quorum so everyone sees a consistent state.&lt;/p&gt;

&lt;p&gt;Here's the catch GitHub identified: &lt;strong&gt;the mechanism for durability is the same one used for scale.&lt;/strong&gt; The copies on disk are the source of truth, so adding read capacity means adding another durable replica. And every replica participates in every write. A push is only as fast as the slowest replica.&lt;/p&gt;

&lt;p&gt;So adding replicas to handle read load makes writes slower. For most repositories, that trade-off is fine. For agent-scale repositories, it's a ceiling.&lt;/p&gt;

&lt;p&gt;GitHub's redesign rests on two ideas:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Coordinate only what needs agreement.&lt;/strong&gt; The only part of a push that truly needs consensus is the ref update itself. Storing objects, validating connectivity, and secret scanning are expensive, but they can happen in parallel. That shrinks the critical path of a push to one small step.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Separate storage from compute.&lt;/strong&gt; The authoritative copy of each repository moves into Azure Blob Storage. Read capacity comes from lightweight compute workers that cache data and can be added or removed as traffic changes. Losing a worker becomes closer to a cache miss than a disaster. Maintenance like compaction and garbage collection moves to separate workers, off the hosts serving live requests.&lt;/p&gt;

&lt;p&gt;A follow-up post describes one concrete bottleneck along the way. Moving the busiest repositories to Azure was blocked by a repository-wide lock that every write held across a 25 ms cross-region round trip. GitHub is switching to per-reference serialization, so only writes to the same ref wait for each other. That alone gave 3–4x write throughput in internal tests. Across the full new architecture, GitHub reports up to 35x higher write throughput in internal benchmarks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Approach 2: Enroute keeps Git, but rebuilds storage like a database
&lt;/h2&gt;

&lt;p&gt;Enroute, an open source Git server, takes a middle path. Clients still speak normal Git. But the storage engine underneath was rebuilt from scratch.&lt;/p&gt;

&lt;p&gt;Enroute's starting observation is that many existing "Git on object storage" designs still send every push through one primary node, and every replica still keeps a full copy of the repository on disk. That's the same scaling ceiling GitHub hit, just moved somewhere else.&lt;/p&gt;

&lt;p&gt;Instead, Enroute stores each repository as &lt;strong&gt;a Raft-replicated log of refs plus a list of immutable object layers&lt;/strong&gt; in object storage like S3. New pushes add layers, which get merged in the background, so there's no &lt;code&gt;git gc&lt;/code&gt; to schedule. Packfiles are rewritten on ingestion so that reading from object storage needs only a few requests.&lt;/p&gt;

&lt;p&gt;The result: more than 7,500 pushes per second into a single repository, with every push written to a majority of ledger nodes before it's acknowledged.&lt;/p&gt;

&lt;p&gt;Enroute is also refreshingly honest about the trade-off. Against stock Git serving a repacked &lt;code&gt;linux.git&lt;/code&gt;, full clones are about 17% slower, while shallow clones are more than twice as fast. That's a sensible bet when most of your traffic is CI and agents doing shallow fetches, not humans cloning entire histories.&lt;/p&gt;

&lt;h2&gt;
  
  
  Approach 3: Anthropic leaves Git behind
&lt;/h2&gt;

&lt;p&gt;Anthropic went furthest. A team of seven built Scion, an in-house version control system, and migrated its entire monorepo off Git in five months.&lt;/p&gt;

&lt;p&gt;The key realization was this: like most companies, Anthropic was already using Git as a centralized system with one authoritative copy. And nearly all of its clients were agents and CI jobs, which are online by definition. Git's best feature, working offline with a full copy, was the very thing preventing it from scaling.&lt;/p&gt;

&lt;p&gt;So Scion flips Git's model:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The server does the thinking.&lt;/strong&gt; In Git, every client can act as a full server. In Scion, the server answers history and blame queries, creates commits, and performs merges and rebases. The client keeps only a bounded local cache. It can compute very little on its own, but it needs far less data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Commits are changesets in a log.&lt;/strong&gt; A Git commit points to a full tree. A Scion changeset is an entry in a write-ahead log on Spanner that lists only the files that changed, with content-addressed pointers to blobs in storage. There are no packfiles, no locking, and refs are discouraged except for &lt;code&gt;main&lt;/code&gt; and release branches, because global state every server must agree on is "a looming scaling problem." Moving a ref is just a compare-and-swap on a single database row.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Expensive queries use derived data.&lt;/strong&gt; Since a changeset only records what changed, Scion builds extra structures like blame indexes, path history, and skip lists over the commit graph. Each is defined recursively from a changeset's parents, and can be computed eagerly or on demand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The fetch protocol is inverted.&lt;/strong&gt; Git's fetch negotiation tells the server what the client already has, and the server computes what's missing. Scion's client instead asks only for specific objects it wants, walking down from the root tree. Every request is for an immutable object, so any cache layer can answer it. Sparse and virtual checkouts need no special support: the client just doesn't ask for what it doesn't need.&lt;/p&gt;

&lt;p&gt;That last point enables a tiered cache: a daemon per machine, regional caches, and authoritative servers behind them. Each tier maintains a cache hit rate above 99%. Anthropic reports the new infrastructure is 200x smaller in CPU and memory than its old Git mirror fleet, and CI checkouts now take seconds instead of minutes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Not entirely new, and worth saying so
&lt;/h3&gt;

&lt;p&gt;When Scion's post first went up, engineer Rain (sunshowers) &lt;a href="https://sunshowers.io/posts/anthropic-mononoke/" rel="noopener noreferrer"&gt;pointed out&lt;/a&gt; that its "derived data" design closely matches Mononoke, the server side of Meta's Sapling, which the original post credited only for "hard-won lessons." Anthropic updated the post two days later to say Mononoke pioneered many of the techniques Scion uses, especially its Bonsai data model, and to name Google's Piper as prior art too.&lt;/p&gt;

&lt;p&gt;It's an important footnote. Companies with enormous monorepos solved many of these problems years ago. What's new is that agents are pushing far smaller organizations into that territory, and much faster.&lt;/p&gt;

&lt;p&gt;Anthropic is also clear that Scion isn't a Git replacement for general use. It only makes sense for truly enormous monorepos, it requires its own code review, search, and CI, and it isn't being released.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern underneath
&lt;/h2&gt;

&lt;p&gt;Put the three approaches side by side and the same ideas keep appearing:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Idea&lt;/th&gt;
&lt;th&gt;GitHub&lt;/th&gt;
&lt;th&gt;Enroute&lt;/th&gt;
&lt;th&gt;Anthropic&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Separate durable storage from serving&lt;/td&gt;
&lt;td&gt;Azure Blob + compute workers&lt;/td&gt;
&lt;td&gt;Object storage layers&lt;/td&gt;
&lt;td&gt;Spanner + blob storage + caches&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Shrink coordination to the ref update&lt;/td&gt;
&lt;td&gt;Per-ref quorums&lt;/td&gt;
&lt;td&gt;Raft log of refs&lt;/td&gt;
&lt;td&gt;Ref move is one compare-and-swap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Immutable, content-addressed data&lt;/td&gt;
&lt;td&gt;Git objects&lt;/td&gt;
&lt;td&gt;Immutable layers&lt;/td&gt;
&lt;td&gt;Content-addressed blobs and changesets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Move maintenance off the hot path&lt;/td&gt;
&lt;td&gt;Separate workers&lt;/td&gt;
&lt;td&gt;Background layer merging&lt;/td&gt;
&lt;td&gt;No packfiles, no maintenance&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keep the Git client&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If that table looks familiar, it's because these are database ideas. Write-ahead logs, consensus on small pieces of state, immutable data that caches freely, compaction in the background. Git hosting is going through the same evolution databases went through when they had to scale beyond a single machine.&lt;/p&gt;

&lt;p&gt;The real difference between the three is just one row: how much of Git's original model each is willing to give up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for the rest of us
&lt;/h2&gt;

&lt;p&gt;Most teams won't hit these limits next month. But Anthropic expects this class of problem to become common within six to 12 months, and the ripple effects are already visible.&lt;/p&gt;

&lt;p&gt;GitHub now says that during periods of unusual traffic, unauthenticated HTTPS clones of public repositories may temporarily require authentication. It's also previewing push attribution, which records who actually pushed a commit alongside the author and committer, something that matters more when many pushes come from agents.&lt;/p&gt;

&lt;p&gt;Anthropic's post also suggests Git itself could absorb some of these ideas without abandoning its model: richer server-side APIs across forges, a different negotiation protocol, and better composition between Git's shallow and sparse features.&lt;/p&gt;

&lt;p&gt;In the meantime, if your CI does full clones on every run, that's the easiest win available today. Git already supports most of what these teams are pushing toward:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Shallow clone of just the latest commit&lt;/span&gt;
git clone &lt;span class="nt"&gt;--depth&lt;/span&gt; 1 https://github.com/org/repo.git

&lt;span class="c"&gt;# Partial clone: fetch file contents only when needed&lt;/span&gt;
git clone &lt;span class="nt"&gt;--filter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;blob:none https://github.com/org/repo.git

&lt;span class="c"&gt;# Combine partial clone with sparse checkout for big monorepos&lt;/span&gt;
git clone &lt;span class="nt"&gt;--filter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;blob:none &lt;span class="nt"&gt;--sparse&lt;/span&gt; https://github.com/org/repo.git
&lt;span class="nb"&gt;cd &lt;/span&gt;repo
git sparse-checkout &lt;span class="nb"&gt;set &lt;/span&gt;services/api
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It won't get you to 30,000 merges a day. But it moves your pipeline in the same direction the biggest teams are going: fetch only what you need, when you need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The bigger question
&lt;/h2&gt;

&lt;p&gt;Git won because it was built for a world of distributed humans working offline. That world hasn't disappeared, and for most projects Git is still exactly right.&lt;/p&gt;

&lt;p&gt;But a growing share of commits now come from machines that are always online, never sleep, and push thousands of times a day. For that traffic, all three teams independently concluded the same thing: the server has to do more, the client has to do less, and coordination has to shrink to the smallest possible piece.&lt;/p&gt;

&lt;p&gt;So here's what I keep wondering: if most commits in a few years come from agents, does Git's distributed design remain the default, or does it become the special case?&lt;/p&gt;

&lt;p&gt;I'd love to hear from anyone running CI or agent workloads at scale. Have you started feeling this yet?&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Anthropic, &lt;a href="https://www.anthropic.com/research/redesigning-source-control" rel="noopener noreferrer"&gt;Redesigning source control at Anthropic&lt;/a&gt;, October 13, 2026&lt;/li&gt;
&lt;li&gt;Brian Celenza, GitHub, &lt;a href="https://github.blog/engineering/architecture-optimization/building-git-infrastructure-for-agent-scale-development/" rel="noopener noreferrer"&gt;Building Git infrastructure for agent-scale development&lt;/a&gt;, October 6, 2026&lt;/li&gt;
&lt;li&gt;Eleanor White and Victoria Dye, GitHub, &lt;a href="https://github.blog/engineering/architecture-optimization/the-bridge-to-agent-scale-git-infrastructure/" rel="noopener noreferrer"&gt;The bridge to agent-scale Git infrastructure&lt;/a&gt;, October 2026&lt;/li&gt;
&lt;li&gt;Enroute, &lt;a href="https://github.com/enroute-sh/enroute/releases" rel="noopener noreferrer"&gt;Enroute 0.3.0 release notes&lt;/a&gt; and &lt;a href="https://enroute.sh/blog/everyone-is-doing-git-on-s3-wrong" rel="noopener noreferrer"&gt;Everyone is doing Git on S3 wrong&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Andrew Nesbitt, &lt;a href="https://nesbitt.io/2026/10/28/this-week-in-source-control.html" rel="noopener noreferrer"&gt;This Week in Source Control: 28 October 2026&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;sunshowers, &lt;a href="https://sunshowers.io/posts/anthropic-mononoke/" rel="noopener noreferrer"&gt;Anthropic's Scion is heavily inspired by Mononoke&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>git</category>
      <category>ai</category>
      <category>distributedsystems</category>
      <category>devops</category>
    </item>
    <item>
      <title>Not the End, but a Shift: How AI Is Pushing Computer Science Toward Deeper Engineering</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Wed, 28 Oct 2026 05:13:04 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/not-the-end-but-a-shift-how-ai-is-pushing-computer-science-toward-deeper-engineering-47mk</link>
      <guid>https://dev.to/james_anderson_h/not-the-end-but-a-shift-how-ai-is-pushing-computer-science-toward-deeper-engineering-47mk</guid>
      <description>&lt;p&gt;If you're studying computer science right now, or you just graduated, you've probably heard some version of this: AI writes code now, so what's the point?&lt;/p&gt;

&lt;p&gt;It's not an irrational fear. The numbers behind it are real.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fear is real
&lt;/h2&gt;

&lt;p&gt;Researchers at Stanford's Digital Economy Lab &lt;a href="https://digitaleconomy.stanford.edu/news/ai-and-labor-markets" rel="noopener noreferrer"&gt;studied payroll data&lt;/a&gt; covering millions of US workers and found something uncomfortable. In jobs most exposed to AI, workers aged 22 to 25 saw employment fall by about 13% relative to other groups since generative AI took off. For young software developers specifically, employment &lt;a href="https://www.randalolson.com/2026/06/22/ai-jobs-hit-youngest-workers/" rel="noopener noreferrer"&gt;dropped close to 20%&lt;/a&gt; from its late-2022 peak.&lt;/p&gt;

&lt;p&gt;And it's not mostly layoffs. Young people aren't being pushed out so much as never being let in. Companies are simply hiring fewer juniors.&lt;/p&gt;

&lt;p&gt;So if you feel anxious, you're not imagining things. The ground has moved.&lt;/p&gt;

&lt;p&gt;But the same research contains a detail that I think matters more than the headline, and it's where this article is going.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AI is actually automating
&lt;/h2&gt;

&lt;p&gt;Look at &lt;em&gt;what kind&lt;/em&gt; of work AI is replacing.&lt;/p&gt;

&lt;p&gt;The Stanford team found that entry-level jobs fell mostly in roles where AI &lt;strong&gt;automates&lt;/strong&gt; tasks: generating complete code, handling routine requests, producing standard documents. In roles where AI &lt;strong&gt;augments&lt;/strong&gt; people, helping them solve complex problems or make better decisions, employment for young workers held steady or even grew.&lt;/p&gt;

&lt;p&gt;In software, the automated part is easy to recognize. Boilerplate. CRUD endpoints. Wiring forms to APIs. Converting one format to another. Writing the hundredth version of a login page. This is work that follows patterns, and patterns are exactly what AI is good at.&lt;/p&gt;

&lt;p&gt;What AI is much weaker at is the part that doesn't follow a pattern: deciding how a system should be built, understanding why it fails, knowing what can go wrong before it does, and taking responsibility for the answer.&lt;/p&gt;

&lt;p&gt;That difference is the whole point of this article.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why routine development never felt like engineering to me
&lt;/h2&gt;

&lt;p&gt;I want to be clear that this part is personal.&lt;/p&gt;

&lt;p&gt;Plenty of developers genuinely love building features, and many developers do deep, serious engineering work every day. This isn't a judgment on them.&lt;/p&gt;

&lt;p&gt;But for me, routine development work always felt repetitive. After four years of studying algorithms, operating systems, networks, computer architecture, and theory, I kept wondering why so much of the work waiting for graduates was writing code that looked almost the same as the last project. It never felt like what all that study was for.&lt;/p&gt;

&lt;p&gt;And I don't think I'm the only one who has felt this.&lt;/p&gt;

&lt;h2&gt;
  
  
  How other engineering fields work
&lt;/h2&gt;

&lt;p&gt;Look at other engineering disciplines.&lt;/p&gt;

&lt;p&gt;A civil engineer designs a bridge. They calculate loads, choose materials, plan for earthquakes and floods, and sign off on safety. But they don't pour the concrete or weld the steel. Construction crews do that, following the engineer's design.&lt;/p&gt;

&lt;p&gt;An electronics engineer designs a circuit and decides how it should behave. But the boards are assembled and manufactured by technicians and production lines.&lt;/p&gt;

&lt;p&gt;In both cases, the engineer's value is in &lt;strong&gt;design, analysis, and responsibility&lt;/strong&gt;. The building is done by others.&lt;/p&gt;

&lt;p&gt;Computer science has been an exception. For decades, CS graduates were expected to be both the engineer &lt;em&gt;and&lt;/em&gt; the builder, and most entry-level jobs leaned heavily toward the building.&lt;/p&gt;

&lt;p&gt;AI is starting to change that balance. If AI can increasingly do the building, the human value shifts toward the part other engineers have always focused on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The engineering side of computer science
&lt;/h2&gt;

&lt;p&gt;This is where it gets hopeful.&lt;/p&gt;

&lt;p&gt;There's a whole side of computer science that's about understanding and designing systems, not just producing code:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;System design and architecture&lt;/strong&gt;: deciding how services fit together, how data flows, how a system scales, and what happens when parts of it fail.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Network engineering&lt;/strong&gt;: understanding how data actually moves between machines, and keeping that movement fast, reliable, and secure.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cybersecurity&lt;/strong&gt;: thinking like an attacker, finding weaknesses, and designing defenses. As AI makes attacks faster and cheaper, this field needs more people, not fewer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure and reliability engineering&lt;/strong&gt;: keeping systems running, diagnosing outages, and designing them to recover.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These roles depend on exactly what a CS degree teaches: how operating systems manage resources, how networks route packets, how databases keep data consistent, how distributed systems behave when clocks disagree and messages get lost.&lt;/p&gt;

&lt;p&gt;And people are already moving this way. One analysis of US data found that &lt;a href="https://heartlandforward.org/?p=4157" rel="noopener noreferrer"&gt;only about 31% of the 2023–24 computer science graduating cohort&lt;/a&gt; were working as software developers, compared with about 39% of the 2019–20 cohort. CS graduates are spreading into a wider range of roles.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest part: this shift won't be easy
&lt;/h2&gt;

&lt;p&gt;I'd be doing you a disservice if I made this sound simple.&lt;/p&gt;

&lt;p&gt;These engineering roles are not easy to walk into straight out of university. System design usually requires experience seeing real systems grow and break. Security roles often expect hands-on skills and practice. Network and infrastructure jobs come with their own certifications and steep learning curves. And they're competitive too.&lt;/p&gt;

&lt;p&gt;Even the Stanford researchers are careful to say AI probably isn't the only cause of the drop in junior hiring, and nobody knows exactly how this will play out.&lt;/p&gt;

&lt;p&gt;So this isn't a promise that AI will hand you a better job. It's a suggestion about where to aim. Hope works best when it's honest.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where to start building real engineering skills
&lt;/h2&gt;

&lt;p&gt;If you're still studying, you have something valuable: time. Here's where I'd put it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Take your fundamentals seriously.&lt;/strong&gt; Operating systems, computer networks, databases, and computer architecture are the courses many students rush through. They're also the foundation for every role mentioned above, and the part AI can't learn on your behalf.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn how things break, not just how they work.&lt;/strong&gt; Read public postmortems from companies about their outages. Set up a small server and try to take it down. Learn what happens when a disk fills up, a certificate expires, or a network partition splits your system in two. Engineers are valued for knowing failure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get your hands on real systems.&lt;/strong&gt; Build a small home lab, even on an old laptop or a cheap cloud account. Configure a network, set up a firewall, run a database, break it and fix it. For security, try beginner-friendly capture-the-flag challenges.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use AI as a tutor, not a replacement.&lt;/strong&gt; Ask it to explain concepts, quiz you, or review your design. But always make sure &lt;em&gt;you&lt;/em&gt; understand the answer. If AI writes code you can't explain, you've learned nothing that makes you more valuable than the AI.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practice explaining decisions.&lt;/strong&gt; Engineering is about trade-offs. When you build a project, write down why you chose one approach over another. That habit is exactly what interviews for these roles test.&lt;/p&gt;

&lt;h2&gt;
  
  
  A shift, not an ending
&lt;/h2&gt;

&lt;p&gt;AI is changing computer science, and for many people starting out, that change is painful. I don't want to pretend otherwise.&lt;/p&gt;

&lt;p&gt;But I also don't think it's the end. If anything, it might be pushing the field toward what it was supposed to be all along: not just writing code, but understanding systems deeply enough to design them, secure them, and take responsibility for them.&lt;/p&gt;

&lt;p&gt;Civil engineers don't lay every brick. Maybe, soon, computer scientists won't write every line. And maybe that's not a loss, but a chance to become the engineers our degrees were meant to make us.&lt;/p&gt;

&lt;p&gt;I'd love to hear from both sides here. If you're a student, does this shift worry you or excite you? And if you're an experienced engineer, do you think routine coding was ever the real heart of the job?&lt;/p&gt;

</description>
      <category>career</category>
      <category>ai</category>
      <category>computerscience</category>
      <category>software</category>
    </item>
    <item>
      <title>The Price War Has Started: Open Models, Paid Models, and the Future of AI</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Mon, 26 Oct 2026 04:16:54 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/the-price-war-has-started-open-models-paid-models-and-the-future-of-ai-gli</link>
      <guid>https://dev.to/james_anderson_h/the-price-war-has-started-open-models-paid-models-and-the-future-of-ai-gli</guid>
      <description>&lt;p&gt;Two years ago, the choice between an open AI model and a paid one wasn't really a choice. The paid models were simply far better.&lt;/p&gt;

&lt;p&gt;That's no longer true, according to someone with a front-row seat. On IBM's latest earnings call, CEO Arvind Krishna &lt;a href="https://www.theregister.com/systems/2026/10/22/ibm-ceo-says-open-weight-models-are-now-irresistibly-good-and-cheap-on-prem/5304640" rel="noopener noreferrer"&gt;told investors&lt;/a&gt; that open-weight models have become good and cheap enough to make serious sense for businesses running AI on their own hardware.&lt;/p&gt;

&lt;p&gt;His numbers tell the story. In 2024, on a broad benchmark, a top closed model might have scored around 70 while the best open model scored 20 or 30. By late 2025, the gap had narrowed to roughly 70 versus 50. Today, he says, open models are about 90% as effective as frontier models, at somewhere between a tenth and a quarter of the token cost.&lt;/p&gt;

&lt;p&gt;His framing for businesses was simple: would you pay ten times more for the last 10% of quality?&lt;/p&gt;

&lt;h2&gt;
  
  
  The paid models are already responding
&lt;/h2&gt;

&lt;p&gt;If open models were creeping up quietly, the paid AI companies would have no reason to react. They are reacting.&lt;/p&gt;

&lt;p&gt;At the end of July, OpenAI cut the price of its GPT-5.6 Luna model by 80% and Terra by 20%. In August, it &lt;a href="https://www.technology.org/2026/08/24/openai-gpt-5-6-sol-price-cut-developers/" rel="noopener noreferrer"&gt;cut its frontier GPT-5.6 Sol model&lt;/a&gt; by more than 20% for three months, amid growing competition from Anthropic and Chinese AI labs. Then came GPT-6 Sol and Luna, &lt;a href="https://finance.yahoo.com/technology/ai/articles/openai-cuts-gpt-6-sol-111351382.html" rel="noopener noreferrer"&gt;priced at half or less&lt;/a&gt; of what the previous versions cost, a cut OpenAI says is permanent.&lt;/p&gt;

&lt;p&gt;Anthropic took a slightly different route. In July, it &lt;a href="https://letsdatascience.com/news/anthropic-releases-claude-opus-5-at-lower-cost-3f89c9c6" rel="noopener noreferrer"&gt;released Claude Opus 5&lt;/a&gt;, keeping the same price as its predecessor but claiming performance close to its most expensive model at half that model's price. Two months later, &lt;a href="https://betanews.com/article/claude-opus-5-5-launch-price-cut/" rel="noopener noreferrer"&gt;Opus 5.5 arrived&lt;/a&gt; with a further 20% price cut.&lt;/p&gt;

&lt;p&gt;Forbes &lt;a href="https://www.forbes.com/sites/geruiwang/2026/07/31/why-openais-80-price-cut-could-trigger-a-race-to-the-bottom-in-ai/" rel="noopener noreferrer"&gt;described OpenAI's cuts&lt;/a&gt; as a sign that competition from open-weight models is forcing proprietary providers to lower prices. Whatever the exact cause, the direction is clear. Prices are falling on both sides, and fast.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why "good enough" matters so much
&lt;/h2&gt;

&lt;p&gt;The key to Krishna's argument isn't that open models are the best. They aren't. It's that most work doesn't need the best.&lt;/p&gt;

&lt;p&gt;He pointed to everyday tasks like summarizing an email, reviewing a contract, answering a customer call, or drafting a message. Some tasks genuinely need the top models, he said, but the vast majority can be handled just as well by the cheaper option.&lt;/p&gt;

&lt;p&gt;This connects to a bigger pressure. Apollo's chief economist recently &lt;a href="https://www.apollo.com/wealth/insights-news/insights/daily-spark/no-signs-of-ai-payoff-outside-the-tech-sector" rel="noopener noreferrer"&gt;showed that AI hasn't yet paid off&lt;/a&gt; for most companies outside the tech sector, and that many are starting to treat token spending as a cost that hurts margins. Forrester has &lt;a href="https://www.computerworld.com/article/4239898/ai-accounts-for-one-fifth-of-companies-it-budgets.html" rel="noopener noreferrer"&gt;predicted&lt;/a&gt; that companies will lean more on cheaper open models, saving expensive ones for critical work.&lt;/p&gt;

&lt;p&gt;When businesses are under pressure to justify every dollar, "90% as good for 10% of the price" is a very hard offer to ignore.&lt;/p&gt;

&lt;h2&gt;
  
  
  The case for open models taking over
&lt;/h2&gt;

&lt;p&gt;Supporters of open models have several strong arguments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The price gap is huge.&lt;/strong&gt; Even after all the cuts, paid frontier models still cost several times more per token than running a capable open model at scale. For companies processing millions of requests, that difference adds up quickly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Control and privacy.&lt;/strong&gt; Running a model on your own hardware means your data never leaves your building. For banks, hospitals, governments, and anyone handling sensitive information, that can matter more than a few points on a benchmark.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;No surprise price changes.&lt;/strong&gt; Paid model pricing is now a moving target. Some of OpenAI's cuts are permanent, while others are promotions with an end date. A company running its own open model knows exactly what its costs will be next year.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;History has examples.&lt;/strong&gt; In servers, Linux eventually won much of the market from paid operating systems, not because it was always better, but because it became good enough, free to adopt, and impossible to lock anyone into.&lt;/p&gt;

&lt;h2&gt;
  
  
  The case for paid models staying ahead
&lt;/h2&gt;

&lt;p&gt;The other side has strong arguments too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The frontier keeps moving.&lt;/strong&gt; "90% as good" is measured against today's best model. Paid labs release new models every few months, so the target open models are chasing keeps moving. Being 90% as good as last season's leader may not be enough for the hardest tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The gap is closing from both directions.&lt;/strong&gt; Open models are getting better, but paid models are getting cheaper. If paid models keep cutting prices, the cost advantage of open models shrinks, and the convenience of paid models becomes more attractive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Free to download isn't free to run.&lt;/strong&gt; Krishna himself admitted the catch. Many companies will struggle to run these models, he said, because they lack the specialist engineers needed for GPUs, networking, and performance tuning. Hardware, electricity, and skilled people all cost money. For many businesses, a paid API with no infrastructure to manage may still be cheaper overall.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Convenience usually wins.&lt;/strong&gt; Cloud computing grew even though running your own servers was often cheaper on paper. Many companies were willing to pay more to avoid the hassle.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everyone has something to sell
&lt;/h2&gt;

&lt;p&gt;It's worth noticing who is making each argument. IBM sells exactly the kind of on-premise infrastructure that open models need, and Krishna expects on-prem AI demand to boost sales of IBM's own hardware. OpenAI and Anthropic sell access to paid models through their APIs. Every voice in this debate has a business interest in the outcome.&lt;/p&gt;

&lt;p&gt;That doesn't make anyone wrong. But it's a good reason to look at the numbers rather than the pitch.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this could go
&lt;/h2&gt;

&lt;p&gt;There are several possible futures here.&lt;/p&gt;

&lt;p&gt;Open models could become the default for everyday work, the way Linux did for servers, leaving paid models as premium tools for the hardest problems. Paid models could keep cutting prices until the savings from open models no longer justify the effort of running them. Or companies could end up mixing both, sending simple tasks to cheap open models and harder ones to paid frontier models.&lt;/p&gt;

&lt;p&gt;Right now, nobody knows which one will win. What is clear is that the price war has started, and the companies paying the bills are the ones who will decide how it ends.&lt;/p&gt;

&lt;p&gt;So I'll ask you: if you're building with AI today, are you using open models, paid models, or both, and what made you choose?&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The Register, &lt;a href="https://www.theregister.com/systems/2026/10/22/ibm-ceo-says-open-weight-models-are-now-irresistibly-good-and-cheap-on-prem/5304640" rel="noopener noreferrer"&gt;IBM CEO says open weight models are now irresistibly good and cheap on-prem&lt;/a&gt;, October 22, 2026&lt;/li&gt;
&lt;li&gt;Technology.org, &lt;a href="https://www.technology.org/2026/08/24/openai-gpt-5-6-sol-price-cut-developers/" rel="noopener noreferrer"&gt;OpenAI Cuts GPT-5.6 Sol Developer Pricing by More Than 20%&lt;/a&gt;, August 2026&lt;/li&gt;
&lt;li&gt;Yahoo Finance, &lt;a href="https://finance.yahoo.com/technology/ai/articles/openai-cuts-gpt-6-sol-111351382.html" rel="noopener noreferrer"&gt;OpenAI cuts GPT-6 Sol and Luna API prices by 50%&lt;/a&gt;, 2026&lt;/li&gt;
&lt;li&gt;Let's Data Science, &lt;a href="https://letsdatascience.com/news/anthropic-releases-claude-opus-5-at-lower-cost-3f89c9c6" rel="noopener noreferrer"&gt;Anthropic Releases Claude Opus 5 at Lower Cost&lt;/a&gt;, July 2026&lt;/li&gt;
&lt;li&gt;BetaNews, &lt;a href="https://betanews.com/article/claude-opus-5-5-launch-price-cut/" rel="noopener noreferrer"&gt;Anthropic launches Claude Opus 5.5&lt;/a&gt;, September 2026&lt;/li&gt;
&lt;li&gt;Forbes, &lt;a href="https://www.forbes.com/sites/geruiwang/2026/07/31/why-openais-80-price-cut-could-trigger-a-race-to-the-bottom-in-ai/" rel="noopener noreferrer"&gt;Why OpenAI's 80% Price Cut Could Trigger A Race To The Bottom In AI&lt;/a&gt;, July 31, 2026&lt;/li&gt;
&lt;li&gt;Apollo, &lt;a href="https://www.apollo.com/wealth/insights-news/insights/daily-spark/no-signs-of-ai-payoff-outside-the-tech-sector" rel="noopener noreferrer"&gt;No Signs of AI Payoff Outside the Tech Sector&lt;/a&gt;, October 24, 2026&lt;/li&gt;
&lt;li&gt;Computerworld, &lt;a href="https://www.computerworld.com/article/4239898/ai-accounts-for-one-fifth-of-companies-it-budgets.html" rel="noopener noreferrer"&gt;AI devours a fifth of companies' IT budgets&lt;/a&gt;, October 2026&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>mcp</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Booming in Tech, Flat Everywhere Else: The Uneven Payoff of AI</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Sun, 25 Oct 2026 05:53:12 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/booming-in-tech-flat-everywhere-else-the-uneven-payoff-of-ai-4od0</link>
      <guid>https://dev.to/james_anderson_h/booming-in-tech-flat-everywhere-else-the-uneven-payoff-of-ai-4od0</guid>
      <description>&lt;p&gt;If you work in tech, AI feels like it's everywhere. It writes code, reviews pull requests, generates images, edits video, and answers support tickets. Every week there's a new model, a new tool, a new demo that makes last month's look old.&lt;/p&gt;

&lt;p&gt;So it’s a little jarring to read what Torsten Slok, the chief economist at Apollo, published this week: &lt;a href="https://www.apollo.com/wealth/insights-news/insights/daily-spark/no-signs-of-ai-payoff-outside-the-tech-sector" rel="noopener noreferrer"&gt;outside the tech sector&lt;/a&gt;, AI has delivered essentially no financial payoff to corporate America.&lt;/p&gt;

&lt;p&gt;Not a small payoff. Not a slower one. According to his charts, basically nothing yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two economies, one technology
&lt;/h2&gt;

&lt;p&gt;Slok splits the S&amp;amp;P 500 into two groups. On one side are the "Magnificent 7", the giant tech companies at the center of the AI boom. On the other side are the remaining 493 companies: banks, retailers, manufacturers, insurers, healthcare firms, the ordinary businesses that make up most of the economy.&lt;/p&gt;

&lt;p&gt;For the big tech companies, revenue per worker is rising and profit margins are going up. For the other 493, both lines are flat. And across the wider economy, there's still no visible sign of AI lifting productivity growth.&lt;/p&gt;

&lt;p&gt;This isn't the only data pointing in that direction. Forrester &lt;a href="https://www.computerworld.com/article/4239898/ai-accounts-for-one-fifth-of-companies-it-budgets.html" rel="noopener noreferrer"&gt;recently projected&lt;/a&gt; that AI will make up a fifth of corporate technology spending in 2027, while more than half of IT leaders are expected to miss their return-on-investment targets. In their survey, only about one in five AI decision-makers said AI had improved their company's operating profit over the past year.&lt;/p&gt;

&lt;p&gt;So the money is flowing. The results, outside tech, aren't.&lt;/p&gt;

&lt;p&gt;And according to Slok, companies are starting to notice. Instead of seeing AI spending as a path to growth, many are beginning to treat it as a cost that eats into margins.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI shines in some places and stalls in others
&lt;/h2&gt;

&lt;p&gt;The split makes more sense when you look at &lt;em&gt;where&lt;/em&gt; AI works well.&lt;/p&gt;

&lt;p&gt;Coding, images, and video have something in common. The work is digital from start to finish, and the output is easy to check. Code either passes the tests or it doesn't. An image either looks right or it doesn't. You can generate ten versions, throw away nine, and keep the one that works. Mistakes are cheap and fast to catch.&lt;/p&gt;

&lt;p&gt;Most business work isn't like that.&lt;/p&gt;

&lt;p&gt;Deciding whether to approve a loan, how to price a contract, which supplier to trust, or how to handle an upset customer depends on context, relationships, history, and judgment. There's often no test suite. You may not know if a decision was good until months later. And when it goes wrong, someone has to take responsibility.&lt;/p&gt;

&lt;p&gt;Slok makes a similar point: AI may be a great calculator, but in business, intelligence is mostly judgment. And things like trust, culture, accountability, and fairness are what ultimately drive revenue, yet they're exactly what AI doesn't understand.&lt;/p&gt;

&lt;p&gt;In other words, AI has mastered the work that's easy to check. Business mostly runs on the work that isn't.&lt;/p&gt;

&lt;h2&gt;
  
  
  So is this a bubble?
&lt;/h2&gt;

&lt;p&gt;This is where opinions split hard. Both sides have real arguments, so here they are as fairly as I can put them.&lt;/p&gt;

&lt;h3&gt;
  
  
  The case for a collapse
&lt;/h3&gt;

&lt;p&gt;The spending is enormous, and it's concentrated in a small number of companies. Much of the AI economy is circular: AI startups spend investor money on tokens from AI labs, which spend on chips and cloud capacity from big tech, which reports the growth. If the companies at the end of that chain, the ordinary businesses, aren't seeing returns, the whole structure rests on expectations rather than results.&lt;/p&gt;

&lt;p&gt;There's also a pattern here. Companies under pressure to show returns quickly may cut AI budgets once the novelty wears off. Forrester found that nearly half of AI decision-makers expect an investment to pay off within a year. If that doesn't happen, patience could run out fast.&lt;/p&gt;

&lt;p&gt;And history has examples of exactly this. The dot-com boom saw massive investment in a genuinely transformative technology, and it still ended in a crash that wiped out most of those companies.&lt;/p&gt;

&lt;h3&gt;
  
  
  The case for a slow payoff
&lt;/h3&gt;

&lt;p&gt;The other side points to history too, but a different part of it.&lt;/p&gt;

&lt;p&gt;In 1987, the economist Robert Solow famously observed that computers were showing up everywhere except in the productivity statistics. It took more than a decade before they clearly did. The reason wasn't that computers were useless. It was that companies first had to rebuild how they worked around them. New processes, new roles, new ways of organizing information.&lt;/p&gt;

&lt;p&gt;Forrester's analysis points to the same issue today: many companies bought AI tools without changing their workflows, so the gains stay trapped in isolated pockets.&lt;/p&gt;

&lt;p&gt;And even the dot-com crash didn't kill the internet. The bubble burst, but the technology went on to reshape almost every industry, just later and through different companies than investors expected.&lt;/p&gt;

&lt;p&gt;On top of that, AI models keep getting cheaper. Slok himself raises the question of whether ordinary businesses can turn increasingly cheap intelligence into real growth. If costs keep falling, the math could change for companies that can't justify the spending today.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the data can't tell us yet
&lt;/h2&gt;

&lt;p&gt;It's worth being honest about the limits here. Slok's note is a short piece with a handful of charts, not a full study, and Apollo is an investment firm with its own view of the market. Productivity is notoriously hard to measure, and early gains can hide in places that don't show up in revenue per worker or profit margins.&lt;/p&gt;

&lt;p&gt;At the same time, "it's just early" is an argument that can be stretched forever. At some point, a technology this expensive needs to show results outside the companies selling it.&lt;/p&gt;

&lt;p&gt;What the data does show clearly is the gap. AI is booming in tech, and it's flat almost everywhere else.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question that matters
&lt;/h2&gt;

&lt;p&gt;Slok ends his note with a line that I think frames this better than any hype or doom headline: the AI story will be decided in the 493 ordinary companies, not the 7 giants.&lt;/p&gt;

&lt;p&gt;Whether that story ends in a crash, a slow transformation, or something in between depends on whether businesses outside tech can find a way to turn AI into real value, not just more spending.&lt;/p&gt;

&lt;p&gt;I don't think anyone knows the answer yet. So I'll put it to you: when you look at your own company, or the businesses around you, are you seeing real returns from AI, or mostly real costs?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>startup</category>
    </item>
    <item>
      <title>Hours, Not Weeks: How AI Rewrote the Clock of Software Security</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Sat, 24 Oct 2026 05:41:38 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/security-changed-with-ai-and-small-teams-are-falling-behind-5ebg</link>
      <guid>https://dev.to/james_anderson_h/security-changed-with-ai-and-small-teams-are-falling-behind-5ebg</guid>
      <description>&lt;p&gt;The third week of October 2026 was a rough one for anyone who runs software on the internet.&lt;/p&gt;

&lt;p&gt;Two critical bugs in PHP, nicknamed PHP2Shell, were found by security teams using frontier AI models. Estimates said they touched a huge share of the web. Governments told organisations to patch immediately, and plenty of people simply pulled their servers offline. In the same few days, LiteLLM had a malicious release pushed to PyPI (for the second time this year), Railway disclosed that attackers had gotten into customer environment variables, GitLab shipped fixes for maximum-severity bugs, and a handful of Linux kernel vulnerabilities got posted to the wrong mailing list.&lt;/p&gt;

&lt;p&gt;Drew Silcock wrote a great roundup of all of it in &lt;a href="https://drew.silcock.dev/blog/is-this-the-new-cyber-normal/" rel="noopener noreferrer"&gt;Is this the new cyber normal?&lt;/a&gt;, and it's worth reading in full.&lt;/p&gt;

&lt;p&gt;But after going through it, the thing that stuck with me wasn't any particular bug. It was a simpler thought: who is actually supposed to deal with all this when your entire company is four people?&lt;/p&gt;

&lt;h2&gt;
  
  
  The clock got shorter
&lt;/h2&gt;

&lt;p&gt;Security used to have a rhythm. A vulnerability got announced, a patch came out, and you had some time. Maybe days, sometimes weeks, before anyone figured out how to actually exploit it. "We'll patch it this week" was a reasonable plan.&lt;/p&gt;

&lt;p&gt;That rhythm is gone. Today, the moment a security patch is published, people point AI agents at the code. The agent reads through the changes, spots what looks like a security fix, works backwards to the hole it closes, and helps build an exploit. What used to take a skilled researcher weeks can now happen in hours.&lt;/p&gt;

&lt;p&gt;With PHP2Shell, attacks were reportedly happening before the official patch was even available. "This week" isn't a plan anymore. "Today" barely is.&lt;/p&gt;

&lt;h2&gt;
  
  
  Attacking got cheap
&lt;/h2&gt;

&lt;p&gt;Here's the part that changes everything. Finding a serious bug and turning it into a working attack used to require rare skills and a lot of time. That made it expensive, and expensive things happen less often.&lt;/p&gt;

&lt;p&gt;Now an attacker can throw an AI model at a codebase and see what comes out. A lot of it is junk. AI produces plenty of "exploits" that don't actually work. But attackers don't need everything to work. They need one thing to work. When trying costs almost nothing, you can afford to try a thousand times.&lt;/p&gt;

&lt;h2&gt;
  
  
  Defending didn't get cheap
&lt;/h2&gt;

&lt;p&gt;On the other side, almost nothing got cheaper.&lt;/p&gt;

&lt;p&gt;When a critical bug drops, somebody still has to read the advisory, figure out whether you're affected, check which of your services use the vulnerable thing, test the patch, deploy it, and then dig through logs to see if anyone got in before you fixed it. If you use AI to scan your own code first, great, but that costs money too, and every bug it finds is a bug someone now has to fix.&lt;/p&gt;

&lt;p&gt;AI made finding problems cheaper for everyone. It didn't make fixing them cheaper for anyone. And the attacker only has to find. You have to fix.&lt;/p&gt;

&lt;h2&gt;
  
  
  This is where size starts to matter
&lt;/h2&gt;

&lt;p&gt;A big company handles a week like that with a security team, an on-call rotation, incident playbooks, and people whose literal job is to drop everything and respond. It's painful for them too, but they're built for it.&lt;/p&gt;

&lt;p&gt;A small team isn't. In a four-person startup, the person who handles security is usually also the person who handles deployments, the database, customer support tickets, and the feature that was supposed to ship Friday. There's no rotation. There's just whoever happens to be awake.&lt;/p&gt;

&lt;p&gt;And when the advice is "take your servers offline until you patch," the cost hits differently. A large company can survive a day of downtime. A small product with a few hundred paying customers might lose some of them for good.&lt;/p&gt;

&lt;h2&gt;
  
  
  You inherit everyone else's problems
&lt;/h2&gt;

&lt;p&gt;Small teams don't build everything themselves. They can't. They stand on a stack of frameworks, packages, hosting platforms, and AI tools, all written by someone else.&lt;/p&gt;

&lt;p&gt;That's normally a strength. It's how a tiny team ships something real. But it also means that when one of those pieces gets compromised, the problem becomes yours instantly. You didn't write the LiteLLM backdoor, but if you installed that release, your credentials might be gone. You didn't misconfigure Railway, but if your secrets lived there, you now have to rotate every one of them.&lt;/p&gt;

&lt;p&gt;For a big company, that's a ticket for the security team. For a small team, it's an entire day of product work gone, spent cleaning up a mess you didn't make.&lt;/p&gt;

&lt;h2&gt;
  
  
  The tools we adopted to move faster
&lt;/h2&gt;

&lt;p&gt;There's an irony here. Small teams have been some of the fastest to adopt AI tools, because AI promises exactly what they need: more output from fewer people.&lt;/p&gt;

&lt;p&gt;But every one of those tools comes with something attached. Another API key. Another dependency. Another service with access to your code or your data. One of the incidents that week, a data leak at a database company, reportedly exposed API keys for several AI providers that had been pasted into internal tickets. Keys spread quietly, and every one of them is something an attacker would love to find.&lt;/p&gt;

&lt;p&gt;The tools that help small teams keep up are also handing attackers more things to go after.&lt;/p&gt;

&lt;h2&gt;
  
  
  Falling behind isn't the same as not caring
&lt;/h2&gt;

&lt;p&gt;I don't think small teams are ignoring security. Most developers I know care about it a lot. The problem is that the math changed underneath them.&lt;/p&gt;

&lt;p&gt;Defending at the new speed assumes things a small team doesn't have: people on call around the clock, budget for scanning tools, time to audit every dependency, room to absorb downtime. When attacks got faster and cheaper but defense stayed slow and expensive, the gap didn't hit everyone equally. It landed hardest on the people with the fewest resources.&lt;/p&gt;

&lt;h2&gt;
  
  
  I don't have a neat answer
&lt;/h2&gt;

&lt;p&gt;Maybe this is a temporary spike. Maybe AI is just clearing out years of old bugs all at once, and things will calm down once the backlog is gone. Or maybe this is simply what security looks like now.&lt;/p&gt;

&lt;p&gt;Either way, it feels like we're in a period where the cost of defending software is rising quickly, and small teams are the ones feeling it first.&lt;/p&gt;

&lt;p&gt;If you're on a small team, I'd genuinely like to know how that week went for you. Did you patch in time, pull things offline, or only find out afterwards?&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>startup</category>
      <category>discuss</category>
    </item>
    <item>
      <title>AI Is Winning Literary Awards. The Data Says That's Not What's Happening.</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Fri, 23 Oct 2026 05:29:29 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/ai-is-winning-literary-awards-the-data-says-thats-not-whats-happening-179d</link>
      <guid>https://dev.to/james_anderson_h/ai-is-winning-literary-awards-the-data-says-thats-not-whats-happening-179d</guid>
      <description>&lt;p&gt;The headlines have been impossible to miss. An AI-assisted novel takes a major prize in Japan. AI poetry gets recognized by a literary award. Someone's AI-generated story places in a competition. And if you write — or care about writing — the obvious reading is the frightening one: the machines finally got good enough to beat us at the one thing that was supposed to be ours.&lt;/p&gt;

&lt;p&gt;I believed a soft version of that too, until I actually went looking. There's a running catalog of these cases now — the writer James Yu has been tracking literary awards given to work written with, or suspected of using, AI — and there's a large 2026 study that did something more interesting than count headlines: it &lt;em&gt;measured the prose.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And when you put the catalog and the data side by side, the story doesn't just soften. It inverts. "AI is winning literary awards" turns out to be almost entirely a story about permissive rules, human cheating, detection, and sheer market-flooding — and underneath it is a measurement that shows close to the opposite of what the panic assumes. Let me walk you through it, because the real picture is far more reassuring, and far more interesting, than the headline.&lt;/p&gt;

&lt;h2&gt;
  
  
  Most of the "wins" aren't what the headline implies
&lt;/h2&gt;

&lt;p&gt;Start with the catalog itself, because the first thing you notice is that "AI won a literary award" is doing a lot of different jobs in a single sentence.&lt;/p&gt;

&lt;p&gt;Sort the cases by &lt;em&gt;what actually happened&lt;/em&gt; and they stop looking like evidence that AI is out-writing humans:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A big share are categories that allowed or required AI from the start.&lt;/strong&gt; When an electronic-literature award recognizes a work openly built with neural networks, that isn't AI sneaking past human judges — it's AI winning the AI category. The award &lt;em&gt;exists&lt;/em&gt; to recognize that kind of work. Listing it as "AI beat the humans" is like listing a documentary winning Best Documentary as proof that reality beat fiction.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Several were caught and withdrawn.&lt;/strong&gt; One of the most-cited cases — a Singapore poetry competition in 2024 — announced its winners and then recalled the entire list when three of them turned out to be AI-generated. That is not the system failing. That is the system &lt;em&gt;working.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Others are suspected or disputed&lt;/strong&gt;, never confirmed, sitting in a haze of "we think, but the author says otherwise."&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you strip those out, the number of cases where AI quietly won a &lt;em&gt;blind, human-judged, AI-prohibited&lt;/em&gt; literary prize on pure merit is dramatically smaller than the headline wave suggests. And here's the part that reframes the whole trend: the rise in "AI award" stories tracks two things that have nothing to do with AI getting better — more people &lt;em&gt;trying to smuggle AI in&lt;/em&gt;, and more &lt;em&gt;scrutiny catching them&lt;/em&gt;. More attempts plus more detection produces more newsworthy incidents. That curve can climb steeply while AI's actual quality stays exactly where it is.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real harm is volume, not quality — and the researchers say so
&lt;/h2&gt;

&lt;p&gt;But maybe you're thinking: fine, the awards are noisy, but AI &lt;em&gt;is&lt;/em&gt; taking over the market. And here the big study is worth reading carefully, because it says something more specific than the panic does.&lt;/p&gt;

&lt;p&gt;The 2026 paper — Chakrabarty and colleagues, analyzing more than 14,000 self-published books on Amazon — found that AI-heavy titles exploded (the catalog grew dozens of times over in three years) and are genuinely capturing a rising share of top sales ranks. Human authors' revenue is falling across almost every genre, even for books with no detected AI in them at all. The harm to writers is real and measurable.&lt;/p&gt;

&lt;p&gt;But the mechanism is the whole story. The researchers are blunt about it: generative AI reshaped the book market, in their words, &lt;em&gt;without competing on quality at all.&lt;/em&gt; It displaced human authors through &lt;strong&gt;sheer volume&lt;/strong&gt; — by flooding the shelves, not by writing better books. The damage comes from drowning, not from winning.&lt;/p&gt;

&lt;p&gt;That is a crucial distinction almost nobody makes. "AI is beating human authors" and "AI is burying human authors under ten times the volume" feel the same if you're the author losing income. But they are completely different claims about what AI can actually &lt;em&gt;do&lt;/em&gt; — and only one of them is true. The machines didn't out-write anyone. They out-printed them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now the measurement that flips the whole thing
&lt;/h2&gt;

&lt;p&gt;Here's where it gets genuinely fascinating, because the same study didn't just count books — it looked at the &lt;em&gt;language&lt;/em&gt; inside them.&lt;/p&gt;

&lt;p&gt;The researchers measured something they call &lt;strong&gt;rare-expression coverage&lt;/strong&gt;: how much of a book is built out of distinctive, multi-word phrases (five words or longer) that already exist in other published books but are &lt;em&gt;absent from the general web&lt;/em&gt;. In plain terms: how much of the writing is made of the kind of memorable, literary-sounding phrasings that have already appeared, somewhere, in the body of existing literature.&lt;/p&gt;

&lt;p&gt;The numbers are striking, and they go the opposite direction from what you'd guess:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Books with substantial AI content: around 42% coverage&lt;/strong&gt; — and among the top-selling AI books, as high as &lt;strong&gt;45%.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Human-written bestsellers (no detected AI): around 37%.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Award-winning literary fiction: just 19%.&lt;/strong&gt; Roughly &lt;em&gt;half&lt;/em&gt; the rate of the AI books.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Sit with that, because it's counterintuitive on first read. The AI-heavy writing is &lt;em&gt;more&lt;/em&gt; densely packed with distinctive, already-existing literary phrasings. The award-winning human writing uses them the &lt;em&gt;least.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;What does that actually mean? It means the prose we hand prizes to is distinguished by &lt;em&gt;not&lt;/em&gt; reaching for the stock of memorable expressions that already exist — it makes its own language instead. And AI-heavy prose does the reverse: it reaches, more than humans do, for the distinctive phrase that already proved itself somewhere else. The machine gravitates toward what already &lt;em&gt;read as good.&lt;/em&gt; The artist flees it.&lt;/p&gt;

&lt;p&gt;(An honest caveat the researchers themselves flag: the award-winning group isn't perfectly matched to self-published genre fiction as a market, so it's an illustrative comparison, not a controlled one. But the gap is enormous and the statistical significance is overwhelming — we're talking odds against chance with seventy zeros in them. This isn't noise.)&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is exactly what you'd predict
&lt;/h2&gt;

&lt;p&gt;If you've thought about how these models actually work, this measurement shouldn't surprise you at all. It's the empirical shadow of something that's true by construction.&lt;/p&gt;

&lt;p&gt;A language model generates toward the center of mass of everything it has read. "Write something literary" resolves, inside the model, into "produce text that resembles the literature in my training data" — so of course it reaches for the distinctive phrasings that already exist in that literature. That's not a flaw in the output; it's the &lt;em&gt;definition&lt;/em&gt; of the output. The model is a magnificent averaging machine, and averaging means gravitating toward the phrasings that already earned their place.&lt;/p&gt;

&lt;p&gt;And great writing is measurably the opposite of averaging. The whole act of literary originality is &lt;em&gt;not&lt;/em&gt; writing the expected, already-proven phrase — finding the words for a thing that the existing stock of words hasn't quite captured yet. That's what the 19% is. It's the quantified fingerprint of writers refusing the average, where the 42% is the fingerprint of a system built to produce it.&lt;/p&gt;

&lt;p&gt;I've argued before that taste and creativity are, at bottom, the art of resisting the average — of knowing which of two options is more alive, and reaching past the obvious one. I made that case as philosophy. This study is the same claim with a number stapled to it. The data isn't evidence AI reached human creativity. It's the clearest quantified picture yet of the gap between them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm not saying
&lt;/h2&gt;

&lt;p&gt;Let me be careful, because a data piece that overclaims is just a vibe with footnotes.&lt;/p&gt;

&lt;p&gt;This measures &lt;em&gt;one&lt;/em&gt; signature of prose — reliance on borrowed distinctive phrasing — not "quality" or "soul" in some total sense. It's a strong proxy, not the whole of literary value, and you could write something original by this metric that's still bad, or something derivative that's still moving. Don't mistake the fingerprint for the whole hand.&lt;/p&gt;

&lt;p&gt;It also describes &lt;em&gt;typical AI-heavy output today&lt;/em&gt;, not a ceiling. A skilled writer steering a model hard, editing ruthlessly, using it as one instrument among many — the "centaur" collaborations that are genuinely coming — can push against this tendency. The 42% is what the firehose produces on average, not what's possible at the edges. And some AI-collaborative work is genuinely interesting and deserves its recognition on its own terms, in the categories built to judge it.&lt;/p&gt;

&lt;p&gt;So this isn't "AI can't write" and it isn't "human writing is safe forever." It's narrower and, I think, more honest: &lt;em&gt;right now, the measurable signature of AI-heavy prose is a pull toward language that already exists, and the measurable signature of prize-winning human writing is a pull away from it.&lt;/em&gt; Today's picture, not a law of nature.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;"AI is winning literary awards" is a headline doing a remarkable amount of dishonest work.&lt;/p&gt;

&lt;p&gt;Pull it apart and what's underneath is: categories that were built to reward AI, cheaters getting caught, a market being &lt;em&gt;flooded&lt;/em&gt; rather than &lt;em&gt;bested&lt;/em&gt;, and — when you finally measure the actual words — a system that leans harder than humans do on the memorable phrases other people already invented, losing to the writers whose whole gift is inventing their own.&lt;/p&gt;

&lt;p&gt;The machines didn't out-write us. They out-numbered us, and reached for everybody else's best lines on the way. That's not the end of human writing. It might be the clearest evidence we've ever had of what human writing actually is — the refusal to say the thing the way it's already been said.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The number I can't stop thinking about: award-winning fiction reuses existing "memorable" phrasings at roughly half the rate of AI-heavy books. Which suggests great writing is, measurably, the art of&lt;/em&gt; not &lt;em&gt;reaching for the phrase that already worked. So I'll put the real question to you: is "avoiding the average" a good definition of originality — or is it too reductive to capture what actually makes writing matter? I genuinely want the pushback.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Sources: the catalog of AI-related literary award cases is James Yu's &lt;a href="https://jamesyu.org/award-winning-ai-literature/" rel="noopener noreferrer"&gt;"Award-Winning AI Literature."&lt;/a&gt; The measurements come from Chakrabarty, Liu, Ginsburg &amp;amp; Dhillon, "Generative AI floods and dilutes the market for books" (arXiv:2607.20349, 2026) — a study of 14,000+ self-published Amazon titles; the rare-expression figures (≈42–45% for substantial-AI books, ≈37% for no-AI bestsellers, 19.1% for award-winning fiction) and the "without competing on quality at all" market-dilution finding are from that paper. Numbers are current as of writing and reflect one study's methodology; the award-comparison group is illustrative rather than market-matched, as the authors note. Treat the rare-expression metric as one strong proxy for textual originality, not a complete measure of literary quality.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>writing</category>
      <category>data</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Somewhere, Coding Stopped Being Allowed to Be Fun</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Tue, 20 Oct 2026 05:35:46 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/somewhere-coding-stopped-being-allowed-to-be-fun-14pe</link>
      <guid>https://dev.to/james_anderson_h/somewhere-coding-stopped-being-allowed-to-be-fun-14pe</guid>
      <description>&lt;p&gt;Somewhere in the last couple of years, a strange feeling crept in, and I don't think I'm the only one who's felt it.&lt;/p&gt;

&lt;p&gt;It's the sense that I'm not really &lt;em&gt;supposed&lt;/em&gt; to enjoy this anymore. That admitting, out loud, in 2026, that I love programming — that I'll happily lose a Saturday to a problem a machine could solve in four seconds — is a little naive. Like I missed the memo. Like there's a version of me who's moved on, who only touches code when it's billable and optimal and defensible, and who looks at the part of me that still finds this &lt;em&gt;fun&lt;/em&gt; with a kind of pity.&lt;/p&gt;

&lt;p&gt;I couldn't quite name that pressure until I read a short post this week by Chris Kiehl, called "It's Still OK to Enjoy Programming." It's worth your five minutes. He says a simple thing that landed harder than it had any right to: it's OK to enjoy things, and doing so requires no economic justification.&lt;/p&gt;

&lt;p&gt;That sentence unlocked something I'd been circling for a while, so I want to build on it — because I think the pressure he's describing is real, I think I understand where it came from, and I think it's quietly taken something from a lot of us that's worth taking back.&lt;/p&gt;

&lt;h2&gt;
  
  
  The doom stream doesn't argue with you. It soaks you.
&lt;/h2&gt;

&lt;p&gt;Here's the thing about the "programming is over" narrative: it rarely wins by convincing you. It wins by &lt;em&gt;repetition.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Open any developer feed right now and you'll find a steady drip of it. AI is going to replace you. The craft is dead. Why would anyone learn this now. The junior path is gone. It's all just prompting. Every scroll, another small dose. And none of it argues with you directly — it doesn't have to. It just soaks into you, a little at a time, until one day you sit down to build something for the pure pleasure of it and a quiet voice you didn't install asks: &lt;em&gt;what's the point? A machine could do this faster. Why bother?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Kiehl put his finger on exactly this — that the more of the doom stream you consume, the more it infects you, and that it disappears the moment you disconnect. I think that's precisely right, and it rhymes with something I keep noticing about this era more broadly: we keep letting an ambient feed rewrite how we feel about things we used to love, not through any single convincing argument, but through sheer saturation. You don't decide the joy is gone. It just gets slowly crowded out by a mood you absorbed from a thousand posts you barely remember reading.&lt;/p&gt;

&lt;p&gt;And underneath that mood is a premise so quiet you might never notice you swallowed it. It's worth dragging into the light, because once you see it, it loses most of its power.&lt;/p&gt;

&lt;h2&gt;
  
  
  The lie hiding inside the despair
&lt;/h2&gt;

&lt;p&gt;The doom stream smuggles in one assumption, and it's this: &lt;strong&gt;that the value of doing something is its economic value.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That if a thing can be done more cheaply by a machine, then doing it yourself is pointless. That your joy in the doing is a kind of inefficiency — a sentimental attachment to a task that's been rightfully automated. That worth and &lt;em&gt;worth money&lt;/em&gt; are the same thing.&lt;/p&gt;

&lt;p&gt;Say it plainly and it's obviously false. But we almost never say it plainly, which is exactly why it works on us.&lt;/p&gt;

&lt;p&gt;Because think about how absurd it is applied anywhere else. Nobody tells you your evening run is pointless because a car is faster. Nobody says you shouldn't cook dinner because restaurants exist and are better at it. Nobody looks at someone playing guitar badly in their bedroom and says, "You know Spotify has professionals, right? What's the economic case for this?" We'd find that insane. We understand, instinctively, that people do things because the &lt;em&gt;doing&lt;/em&gt; is the point — that the value was never in the output, it was in the experience of making it, the small private satisfaction of having done a thing with your own hands and mind.&lt;/p&gt;

&lt;p&gt;We understand that about everything except, apparently, the thing we spend most of our lives doing. Somewhere along the way we let the market convince us that &lt;em&gt;this&lt;/em&gt; particular love — unlike running, cooking, music, gardening, painting, every other human thing — has to earn its keep. Has to be defensible. Has to show up on an invoice or it doesn't count.&lt;/p&gt;

&lt;p&gt;It doesn't. It never did.&lt;/p&gt;

&lt;h2&gt;
  
  
  The best thing I built this year was worthless
&lt;/h2&gt;

&lt;p&gt;I'll be concrete, because this isn't abstract for me.&lt;/p&gt;

&lt;p&gt;The things I've built recently that I'm proudest of — that I think about, that made me feel most like myself — are almost all completely worthless by any economic measure. A tiny tool nobody but me will ever use. A problem I solved the slow, hard way on purpose, long after I knew the shortcut, just to feel it click. Things I could have prompted into existence in a fraction of the time, that I chose to struggle through by hand because the struggling was the entire reward.&lt;/p&gt;

&lt;p&gt;Kiehl mentioned building a buggy Breakout clone with terrible collision detection, by hand, because he enjoys it — and noting that it doesn't bother him that an AI could one-shot it, "because that's not the point." I felt that in my chest. The point was never the Breakout clone. A perfect, instantly-generated Breakout clone would have given him &lt;em&gt;nothing&lt;/em&gt;, because the thing he was actually after wasn't a game — it was the hours of being absorbed in a problem, the small victories, the specific texture of figuring something out yourself. The output was disposable. The experience was the whole thing.&lt;/p&gt;

&lt;p&gt;That's the part the economic lens can't see, and never could. It measures the artifact and misses the aliveness. It looks at the bad Breakout clone and sees a worse version of something a machine makes better. It cannot see the person who was &lt;em&gt;happy&lt;/em&gt; while making it, because happiness doesn't have a line item.&lt;/p&gt;

&lt;h2&gt;
  
  
  The quiet rebellion
&lt;/h2&gt;

&lt;p&gt;So here's where I've landed, and it feels almost defiant to say it, which tells you how strange things have gotten.&lt;/p&gt;

&lt;p&gt;The most radical thing you can do as a developer right now is not to resist AI, or out-hustle it, or have the correct take about it. It's to &lt;em&gt;still find this beautiful.&lt;/em&gt; To sit down on a weekend and struggle, on purpose, with a problem a machine could solve in seconds — and to enjoy the struggle, precisely because no one asked you to and nothing depends on it. To build something gloriously useless. To learn a thing that will never once come up at work, just because understanding it is its own reward.&lt;/p&gt;

&lt;p&gt;This isn't anti-AI. I use the tools; they're genuinely wonderful, and some of the fun I have now is &lt;em&gt;because&lt;/em&gt; of them. It's not nostalgia, and it's not pretending the economics of our jobs haven't shifted — at work, where you're paid to produce value, they obviously have, and that's fine. That's work. Work was never the whole of it.&lt;/p&gt;

&lt;p&gt;It's just a refusal to let the market price the one thing it was never entitled to: your wonder. Your right to do a hard thing badly, by hand, for no reason at all, and to love every minute of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's still OK to love this
&lt;/h2&gt;

&lt;p&gt;So if you've been feeling that quiet pressure — that you're somehow behind, or naive, or sentimental for still enjoying this — I want to say the thing Kiehl said to me, and pass it on:&lt;/p&gt;

&lt;p&gt;It's still OK to love this. Not because it's useful. Not because it'll pay off. Not because you can justify it to anyone, including yourself. It's OK to love it for the same reason anyone loves anything — because the doing lights something up in you, and that was always, by itself, enough.&lt;/p&gt;

&lt;p&gt;The doom stream disappears the second you close the tab and open the editor for no reason at all. Build the useless thing. Struggle with the solved problem. Lose the Saturday. None of it has to be worth money.&lt;/p&gt;

&lt;p&gt;It just has to be worth &lt;em&gt;doing&lt;/em&gt; — and only you get to decide that.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;With real thanks to &lt;a href="https://chriskiehl.com/article/it-is-still-ok-to-enjoy-programming" rel="noopener noreferrer"&gt;Chris Kiehl&lt;/a&gt;, whose post "It's Still OK to Enjoy Programming" is the reason this one exists — go read his, it's shorter and kinder than mine.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;And a question I'd genuinely love answered in the comments: what's the most economically worthless thing you've built or learned recently, purely because you wanted to? I'll start — I spent a weekend reimplementing something that already exists, works better, and ships with my OS, entirely by hand, for no reason at all. Best time I've had in months.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
      <category>ai</category>
      <category>mentalhealth</category>
    </item>
    <item>
      <title>Writing C for the Web in 2026 Isn't Insane. It Might Be the Future</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Mon, 19 Oct 2026 06:08:31 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/writing-c-for-the-web-in-2026-isnt-insane-it-might-be-the-future-529c</link>
      <guid>https://dev.to/james_anderson_h/writing-c-for-the-web-in-2026-isnt-insane-it-might-be-the-future-529c</guid>
      <description>&lt;p&gt;Someone shipped a modern, commercial web product — user accounts, Stripe payments, a search dashboard, transactional emails — written entirely in &lt;strong&gt;C&lt;/strong&gt;, served over &lt;strong&gt;CGI&lt;/strong&gt;, the technology we all quietly agreed died somewhere around 2004.&lt;/p&gt;

&lt;p&gt;Your first instinct is probably to laugh. Or to call it a stunt, a party trick, the kind of thing a certain type of developer does to prove a point on Hacker News. That was my instinct too.&lt;/p&gt;

&lt;p&gt;Then I read &lt;em&gt;why&lt;/em&gt; he did it, and the laugh died in my throat.&lt;/p&gt;

&lt;p&gt;Because every single reason turned out to be a sober, direct answer to a problem I've watched get worse every year I've been doing this. Not nostalgia. Not contrarianism. A clear-eyed response to forces that are reshaping our entire industry right now — supply-chain attacks, AI-generated complexity, and the quietly rising value of software you can actually understand and trust.&lt;/p&gt;

&lt;p&gt;The piece that sent me down this hole is Corey Prophitt's "A Modern Web App in C," about his product marketyour.games. I'd encourage you to read his original — this isn't a summary of it. What I want to do is zoom out from his specific build to the thing it's a &lt;em&gt;signal&lt;/em&gt; of, because I think the most "insane" stack of 2026 might be pointed directly at the future, and I want to walk through why.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, no, it's not a toy
&lt;/h2&gt;

&lt;p&gt;Let's kill the easy dismissal upfront, because it's the reason most people stop reading.&lt;/p&gt;

&lt;p&gt;This is not a hello-world. It's a real, shipping, commercial product. From the outside it's indistinguishable from anything built on a modern stack: accounts, a dashboard, folders, Stripe, Postmark. From the inside it's C, CGI, SQLite, and OpenBSD — a single statically-linked binary dropped into a folder, three libraries total, deployed by &lt;em&gt;replacing the binary&lt;/em&gt;. A clean build takes seconds.&lt;/p&gt;

&lt;p&gt;So we're not talking about whether you &lt;em&gt;can&lt;/em&gt; do a weekend experiment this way. Someone is taking payments through it. The question isn't feasibility. The question is whether the rest of us have been wrong about something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your first objection is probably out of date
&lt;/h2&gt;

&lt;p&gt;The reflexive response is "but CGI is &lt;em&gt;slow&lt;/em&gt; — you fork a whole process on every request." And you'd have been completely right to say that. In 2004.&lt;/p&gt;

&lt;p&gt;The thing is, that objection quietly expired and nobody re-ran the test. Modern kernels optimize process creation heavily; forking is nowhere near the cost it was when we all fled CGI. And if it ever did become a bottleneck, FastCGI is a small step away. The performance reason we abandoned this entire approach was real &lt;em&gt;then&lt;/em&gt; and mostly isn't &lt;em&gt;now&lt;/em&gt; — we just never went back to check, because our industry only ever moves in one direction: toward more.&lt;/p&gt;

&lt;p&gt;That's the first crack in the certainty. A lot of what we treat as settled fact is really just un-re-examined reflex. "Everyone knows CGI is dead" is doing a lot of load-bearing work for something nobody's actually measured since flip phones were cool.&lt;/p&gt;

&lt;p&gt;But performance was never the interesting part. The interesting part is &lt;em&gt;why someone would choose this on purpose today&lt;/em&gt; — and those reasons didn't even exist the last time we had this debate.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it's not nostalgia: the reasons are brand new
&lt;/h2&gt;

&lt;p&gt;Here's what changed my mind. The case for radical simplicity isn't "the old days were better." It's that three forces, all of them new, all of them intensifying, have quietly made the minimal stack the &lt;em&gt;rational&lt;/em&gt; one. And they happen to be the exact forces reshaping everything else about how we build.&lt;/p&gt;

&lt;h3&gt;
  
  
  Every dependency became a liability
&lt;/h3&gt;

&lt;p&gt;Start with the one I think about most, because I've written about its ugly edges before.&lt;/p&gt;

&lt;p&gt;A modern web app's dependency graph is enormous. You add two or three direct dependencies and a package manager cheerfully pulls in &lt;em&gt;hundreds&lt;/em&gt; of transitive ones — each maintained by someone you've never heard of, many unmaintained, some with publish credentials protected by a password that's been reused since 2015. That graph is not a convenience. It's your attack surface.&lt;/p&gt;

&lt;p&gt;And that attack surface is &lt;em&gt;on fire&lt;/em&gt; right now. Package repositories get hit weekly. Attackers register typo-and-hallucination-shaped package names and wait. Autonomous coding agents install dependencies on your behalf, at machine speed, often without a human ever reading what got pulled in. In that environment, every dependency you add is a small act of trust extended to a stranger, multiplied by hundreds, re-rolled every time you update.&lt;/p&gt;

&lt;p&gt;Now look at the minimal stack. Its entire supply chain is a C compiler and three libraries — things like libcurl, which the entire internet watches. As Prophitt puts it, compromising it would mean compromising a project under constant global scrutiny, not "a package with eleven weekly downloads and an owner who left in 2019."&lt;/p&gt;

&lt;p&gt;"The most secure dependency is the one you never added" used to be a cute aphorism. In 2026 it's a defensive posture. Minimalism stopped being an aesthetic and became a security strategy, and almost nobody has updated their instincts to match.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI made complexity cheap — which made understanding rare
&lt;/h3&gt;

&lt;p&gt;Here's the second force, and it's the one I find genuinely beautiful.&lt;/p&gt;

&lt;p&gt;For the entire history of software, &lt;em&gt;producing&lt;/em&gt; code was the expensive, scarce, valuable thing. So we optimized relentlessly for production: frameworks, generators, abstractions, anything that let us make more software faster. Complexity was an acceptable price for output, because output was hard.&lt;/p&gt;

&lt;p&gt;AI inverted that overnight. Producing code — even producing &lt;em&gt;abstraction&lt;/em&gt; — is now nearly free. You can generate a thousand lines, or a whole framework's worth of scaffolding, in seconds.&lt;/p&gt;

&lt;p&gt;And when production becomes free, the bottleneck moves. It moves to &lt;em&gt;understanding&lt;/em&gt; and &lt;em&gt;trusting&lt;/em&gt; what you now have. The scarce resource isn't the code anymore; it's a human being who can actually hold the system in their head, reason about it, and be confident it does what they think it does. In a world drowning in generated code, a system small enough to &lt;em&gt;comprehend&lt;/em&gt; is worth more than it has been in twenty years — because comprehensibility is exactly the thing the flood destroys.&lt;/p&gt;

&lt;p&gt;This is why "the whole app fits in your head" stopped being a humblebrag and became a real advantage. A system you can open file by file and fully understand is a system you can &lt;em&gt;verify&lt;/em&gt;. And verification, not production, is the hard part now. The minimal stack isn't behind the AI curve. It's weirdly, accidentally, perfectly adapted to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The complexity tax finally came due
&lt;/h3&gt;

&lt;p&gt;The third force is just arithmetic catching up with us.&lt;/p&gt;

&lt;p&gt;We spent fifteen years adding layers to solve the problems created by the previous layers. The modern default is genuinely strange when you say it plainly: you run a web server (nginx) in front of a &lt;em&gt;second&lt;/em&gt; web server (your app server in Ruby, Python, Go), which also happens to hold your business logic. Then you add a container to run it, an orchestrator to run the containers, a build pipeline to produce the containers, and a language server just to help you navigate the abstraction you've accumulated. Each layer solves a real problem — usually a problem the previous layer introduced.&lt;/p&gt;

&lt;p&gt;At some point the cure becomes the disease. The minimal stack isn't &lt;em&gt;missing&lt;/em&gt; all of that machinery. It never needed it, because it never created the problems the machinery exists to solve. One web server that calls your logic directly. One file to deploy. One language for your editor to understand. The complexity didn't get managed better — it got refused.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you actually get
&lt;/h2&gt;

&lt;p&gt;Enough philosophy — here's the concrete payoff for a developer weighing whether any of this is more than a thought experiment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It fits in your head.&lt;/strong&gt; You can reason about the whole thing, debug it with confidence, and trust it, because there's no layer you haven't seen. Open a file, read it, know what it does. That sounds small until you remember the last time you could say it about anything you shipped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less operational tax.&lt;/strong&gt; No database server to babysit and upgrade. No dependency churn. No upgrade treadmill where half your week goes to keeping the scaffolding standing. Deploying is replacing one binary. The time you don't spend maintaining complexity is time you spend building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Durable knowledge.&lt;/strong&gt; HTTP, SQL, processes, the fundamentals — learn them once and they're good for your whole career. Compare that to the framework-of-the-year churn, where the thing you mastered last cycle is a migration guide this cycle. On the minimal stack, what you learn &lt;em&gt;compounds&lt;/em&gt; instead of evaporating.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trivial debugging.&lt;/strong&gt; Your application is just a program. Pipe it a request, watch what it writes, step through it with a debugger. There's no distributed-systems detective work to figure out which of your seven services ate the request.&lt;/p&gt;

&lt;h2&gt;
  
  
  The honest counter (because this isn't a cult)
&lt;/h2&gt;

&lt;p&gt;I'd be doing the exact thing I dislike if I only sold you the upside, so here's the fair case against.&lt;/p&gt;

&lt;p&gt;You do rebuild things frameworks hand you for free — routing, request parsing, validation, output escaping. That's real upfront work, and real surface area for your &lt;em&gt;own&lt;/em&gt; bugs instead of someone else's. It genuinely doesn't fit every problem: large teams moving fast on a shared codebase, deeply interactive rich frontends, extreme scale, or rapid prototyping where ecosystem velocity is the whole point — those are cases where the "bloated" modern stack is earning its keep, not just accumulating.&lt;/p&gt;

&lt;p&gt;And C specifically carries a real cost I don't want to wave away: memory safety. A buffer overflow is a worse failure mode than a slow framework. Which is exactly why I'd argue the &lt;em&gt;language&lt;/em&gt; is the least important part of this. The thing worth taking seriously is the broader move — radical simplicity, minimal dependencies, a system you can hold whole — and you can reach for most of it in a single-binary Go service, or in Rust, without writing a line of C. The point was never "write C." The point is "stop reaching for maximum complexity by default."&lt;/p&gt;

&lt;p&gt;So the honest claim is narrow and, I think, hard to argue with: the pendulum swung much too far toward complexity, most of the old reasons for that swing have quietly expired, and genuinely new forces have made the minimal path far more worth &lt;em&gt;considering&lt;/em&gt; than our reflexes allow. Not mandatory. Just no longer insane.&lt;/p&gt;

&lt;h2&gt;
  
  
  The actual horizon
&lt;/h2&gt;

&lt;p&gt;Here's why I don't think this is going backward, even though it looks like it.&lt;/p&gt;

&lt;p&gt;Going backward would be doing the old thing for old reasons — forking processes in 2026 because that's how we did it in 1994, out of habit or sentiment. That's not what's happening. What's happening is a new synthesis: proven, boring, decades-hardened foundations, picked up by people with modern knowledge, for reasons that &lt;em&gt;did not exist&lt;/em&gt; when we abandoned them. Supply-chain attacks at this scale are new. AI making production free is new. The premium on verifiable, comprehensible systems is new. The old stack isn't being revived out of nostalgia — it's being rediscovered because it happens to answer questions we only started asking this year.&lt;/p&gt;

&lt;p&gt;That's not a retreat. That's the ground moving under you, and realizing the thing you walked away from is now standing on higher ground than where you've been.&lt;/p&gt;

&lt;p&gt;The exciting part isn't C, and it isn't CGI. It's the quiet, liberating realization that "modern" was never actually a synonym for "more" — that some of the most resilient, trustworthy, genuinely interesting software of the next few years might come from the people brave enough to &lt;em&gt;subtract&lt;/em&gt;. To build something small enough to understand on purpose. To treat every dependency, every layer, every clever abstraction as a cost to be justified rather than a feature to be collected.&lt;/p&gt;

&lt;p&gt;Maybe build one small thing you can hold entirely in your head, just to feel what that's like again. I suspect a lot of us have forgotten. And I suspect that feeling — not the next framework — is where the interesting part of the future actually is.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Two honest questions, and I want the real answers. What's the most "outdated" technology you quietly believe is actually&lt;/em&gt; better &lt;em&gt;than its shiny replacement for some real use case — and have you been a little embarrassed to admit it? And the harder one: in an age of supply-chain attacks and infinite AI-generated code, is radical simplicity a genuine engineering strategy now, or am I romanticizing a stack because it's elegant? I honestly go back and forth, and I'd rather be argued with than agreed with.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>c</category>
      <category>architecture</category>
      <category>discuss</category>
    </item>
    <item>
      <title>The Discerning Mind: What AI May Never Reach</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Sun, 18 Oct 2026 09:15:08 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/the-discerning-mind-what-ai-may-never-reach-5hkk</link>
      <guid>https://dev.to/james_anderson_h/the-discerning-mind-what-ai-may-never-reach-5hkk</guid>
      <description>&lt;p&gt;You do it dozens of times a day, and you almost never notice.&lt;/p&gt;

&lt;p&gt;You glance at a photo and something in you says &lt;em&gt;that's beautiful&lt;/em&gt; — before you could tell anyone why. You read a sentence and feel, in an instant, that it's slightly off, a word out of place you haven't consciously identified yet. You walk into a room and sense it's &lt;em&gt;almost&lt;/em&gt; right, that one thing could be moved and it would come together. You look at a design, a melody, a face, a line of code, and a judgment arrives — fast, certain, and ahead of any reasoning you could give for it.&lt;/p&gt;

&lt;p&gt;We treat this as nothing. It's just taste, just an opinion, just a feeling. But it is one of the strangest and most quietly remarkable things a human being does — this instant, pre-rational &lt;em&gt;knowing&lt;/em&gt; of what is good, what is wrong, what could be more. And it is precisely the thing that AI, for all its astonishing fluency, does not seem to have.&lt;/p&gt;

&lt;p&gt;I want to sit with that, honestly, because I think the usual way we argue about it is wrong. The question everyone asks is "can AI be creative — can it make art, music, writing?" And the answer, increasingly, is &lt;em&gt;yes, it can produce those things, impressively.&lt;/em&gt; But I don't think production was ever the point. I think the human thing — the thing that might be genuinely out of reach — is something else entirely. Not the making. The &lt;em&gt;discerning.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The distinction almost everyone misses
&lt;/h2&gt;

&lt;p&gt;Here is the move that the whole question turns on, and most of the debate skips right over it.&lt;/p&gt;

&lt;p&gt;We lump two very different capacities together under the word "creativity," and they are not the same thing at all:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generation&lt;/strong&gt; is producing output — a poem, an image, a tune, a layout. And I'll say this plainly, because pretending otherwise would make me a liar and cost me your trust: AI is extraordinary at generation now. It can write a competent poem, render a striking image, compose a passable melody, draft a clean design. If your claim is "AI can't produce aesthetically pleasing things," you have already lost the argument, because everyone has seen that it can.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discernment&lt;/strong&gt; is &lt;em&gt;judging&lt;/em&gt; that output — knowing which of two versions is better, sensing what's wrong, perceiving what could be improved, having taste. And this is a completely different faculty.&lt;/p&gt;

&lt;p&gt;Here's why the distinction matters so much: &lt;em&gt;generation was never the hard part of creativity.&lt;/em&gt; A random number generator generates. Throw enough paint at enough walls and you'll produce something. The miracle of the creative human was never that they could make marks — it was that they could &lt;em&gt;look at the marks and know.&lt;/em&gt; Know which one was alive and which was dead. Know what to keep and what to throw away. Know, standing in front of the thing, that it wasn't finished yet, and feel in which direction "finished" lay.&lt;/p&gt;

&lt;p&gt;The discerning mind, not the producing hand. We got so dazzled — or so threatened — by watching machines produce that we forgot the production was never where the magic lived.&lt;/p&gt;

&lt;h2&gt;
  
  
  What discernment actually is
&lt;/h2&gt;

&lt;p&gt;So let's look closely at this strange faculty, because the closer you look, the stranger it gets.&lt;/p&gt;

&lt;p&gt;Discernment isn't a rule you apply. You don't &lt;em&gt;compute&lt;/em&gt; that a face is beautiful or a phrase is clumsy. You &lt;em&gt;perceive&lt;/em&gt; it, the way you perceive a color — directly, immediately, often before a single word of justification is available to you. The reasons come &lt;em&gt;after&lt;/em&gt;, if they come at all, and half the time they're reconstructions, stories we tell to explain a verdict we'd already reached.&lt;/p&gt;

&lt;p&gt;And it's deeply &lt;em&gt;embodied&lt;/em&gt; and personal. Your sense of what's beautiful is tangled up in a lifetime of sensory experience, of things you've seen and heard and touched, of memories, of emotions, of the particular person you happen to be. Two people with identical knowledge can have completely different taste, because taste isn't knowledge. It's a point of view. It's &lt;em&gt;yours.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But here is the part I keep coming back to, the part that I think matters most: discernment comes from &lt;em&gt;caring.&lt;/em&gt; You can only find something beautiful if things are capable of &lt;em&gt;mattering&lt;/em&gt; to you. The whole faculty is downstream of being a creature that experiences, that prefers, that is moved, that has something at stake in how the world is. You judge beauty because beauty does something &lt;em&gt;to&lt;/em&gt; you. Take away the one who can be moved, and I'm not sure "beautiful" means anything at all — it's just a word with no one behind it to feel its weight.&lt;/p&gt;

&lt;p&gt;Which brings us to the machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why AI may lack it, structurally
&lt;/h2&gt;

&lt;p&gt;An AI that generates aesthetic output is doing something genuinely impressive, but notice &lt;em&gt;what&lt;/em&gt; it's doing. It has learned, from an ocean of human-made examples, the statistical shape of what people have called good. When it produces something beautiful, it is, in effect, finding the center of mass of human aesthetic preference and generating toward it.&lt;/p&gt;

&lt;p&gt;And here's the problem hiding in plain sight: &lt;strong&gt;real taste is almost the opposite of an average.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Taste is particular. It's a point of view, which by definition is &lt;em&gt;not&lt;/em&gt; everyone's. The most interesting aesthetic judgments in history were often the ones that cut &lt;em&gt;against&lt;/em&gt; the consensus — the thing nobody had learned to love yet, that one person saw and insisted was beautiful before the rest of us caught up. An average can tell you what people &lt;em&gt;have&lt;/em&gt; found beautiful. It cannot want something to be beautiful in a way no one has wanted before, because wanting requires a wanter, and an average is nobody's.&lt;/p&gt;

&lt;p&gt;But the deeper issue isn't statistical, it's this: &lt;em&gt;there is no one home.&lt;/em&gt; The model has processed every description of awe ever written, every account of grief and longing and wonder and beauty — and it has never once been moved by anything. It knows, with superhuman thoroughness, what beauty is &lt;em&gt;described as.&lt;/em&gt; It has never &lt;em&gt;felt&lt;/em&gt; it. Not once. Not for a moment.&lt;/p&gt;

&lt;p&gt;And so when it "judges" — when it tells you which image is better, or improves your paragraph — I think something is missing that we're too quick to overlook. A judgment with no subject behind it, no one who is moved by it, nothing at stake for anyone in the judging — is that judgment, or is it an extraordinarily good imitation of the &lt;em&gt;residue&lt;/em&gt; that judgment leaves behind? The machine has the map of human taste, in staggering detail. But a map with no one reading it, no one &lt;em&gt;caring&lt;/em&gt; where it leads, is just ink. The discerning mind might be the reader, not the map — and that's the part I'm not sure can be manufactured.&lt;/p&gt;

&lt;h2&gt;
  
  
  Now let me argue against myself
&lt;/h2&gt;

&lt;p&gt;If I stopped here, I'd be doing the thing I dislike — telling you a comforting story about human specialness and calling it an argument. So let me give the other side its real strength, because it has some, and if you've been thinking skeptically this whole time, you're right to.&lt;/p&gt;

&lt;p&gt;Maybe what we call "taste" is &lt;em&gt;just&lt;/em&gt; extremely sophisticated pattern-matching on human preference — and the feeling that it's something more, something sacred, is simply human exceptionalism. We have an embarrassing track record here. We said machines could never play chess, then never play it &lt;em&gt;creatively&lt;/em&gt;, then never master Go's intuition, then never use language — and each time, the thing we'd called uniquely human turned out to be a pattern a machine could learn. "Aesthetic judgment is special and unreachable" might just be the next item on that list, and I might be writing the same confident sentence people wrote right before they were proven wrong.&lt;/p&gt;

&lt;p&gt;And maybe — this is the uncomfortable one — the "experiencing subject" I keep invoking is itself not what I think it is. Maybe &lt;em&gt;we&lt;/em&gt; are also prediction machines, evolved to pattern-match on our environment, and the thing we call "being moved" is just what our pattern-matching feels like from the inside. If that's true, there's no magic line here at all. The machine does with silicon what we do with meat, and my insistence that &lt;em&gt;ours&lt;/em&gt; has a someone behind it and &lt;em&gt;theirs&lt;/em&gt; doesn't is just a bias I have because I happen to be one of the meat ones.&lt;/p&gt;

&lt;p&gt;And purely practically: maybe AI doesn't need to &lt;em&gt;feel&lt;/em&gt; beauty in order to &lt;em&gt;reliably identify&lt;/em&gt; what humans will find beautiful — and if it can predict your aesthetic response perfectly, then for every practical purpose that touches your life, the difference between "real taste" and "flawless simulation of taste" may be a difference that makes no difference.&lt;/p&gt;

&lt;p&gt;These are not weak arguments. I don't have a knockdown reply to any of them. Anyone who does is selling you something.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where I land, held loosely
&lt;/h2&gt;

&lt;p&gt;So, with all of that honestly on the table — here is what I still believe, offered as a suspicion and not a proof.&lt;/p&gt;

&lt;p&gt;I think discernment is distinctly human not because the machine isn't powerful enough, but because aesthetic judgment may be &lt;em&gt;inseparable from being a subject with stakes.&lt;/em&gt; Taste, real taste, isn't only identifying what people like. It's &lt;em&gt;caring&lt;/em&gt; that something is beautiful. It's being &lt;em&gt;changed&lt;/em&gt; by it. It's the whole circuit — being moved by something, and out of that being-moved, wanting to make something that moves someone else the way you were moved. That circuit runs, at every step, through an experiencing self. And a machine can reproduce the &lt;em&gt;outputs&lt;/em&gt; of that circuit — the beautiful image, the confident judgment — without any of the circuit actually existing.&lt;/p&gt;

&lt;p&gt;A judgment that nothing is at stake in, that no one is moved by, that doesn't &lt;em&gt;matter&lt;/em&gt; to anyone doing it — I keep arriving at the same place: I don't think that's quite judgment. I think it's a very good imitation of what judgment leaves behind.&lt;/p&gt;

&lt;p&gt;So will AI ever reach the discerning mind? My honest answer is: I suspect not — but not because it can't become more capable. Because the thing we're pointing at might not be a &lt;em&gt;capability&lt;/em&gt; at all. It might be a property of being someone. You can't scale your way to a subject. And I hold even this loosely, because the truth is nobody knows, and the history of "machines will never" should make all of us humble, in both directions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What we're left with
&lt;/h2&gt;

&lt;p&gt;Whatever AI becomes, the discerning mind is, for now, still ours — that small daily miracle of looking at something and &lt;em&gt;knowing&lt;/em&gt;, of being moved before you can explain why, of sensing that a thing could be more and feeling, dimly, in which direction.&lt;/p&gt;

&lt;p&gt;It's easy to feel diminished watching machines generate in seconds what used to take us years. But maybe the quiet consolation in all of this is that generation was never where our worth lived. The &lt;em&gt;seeing&lt;/em&gt; was. The being-moved was. The &lt;em&gt;this could be better&lt;/em&gt; was. Those might turn out to be the last things to go — or they might be the things that were never really on the table at all, because they were never about output in the first place. They were about being &lt;em&gt;alive to the world.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The machine makes. We discern. And discernment, when you follow it all the way down, might just be another name for caring that things are one way rather than another — for the world mattering to someone.&lt;/p&gt;

&lt;p&gt;That's not a small thing to be left holding. It might be the whole thing.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Honest question, because I genuinely go back and forth and I'd rather hear real thinking than applause: is taste a skill that enough data could eventually teach — or is it inseparable from being a conscious, caring subject? And here's the one that keeps me up: if a machine could perfectly predict what you'd find beautiful, while feeling nothing at all — would that&lt;/em&gt; be &lt;em&gt;taste, or a flawless imitation of it? And is there even a difference? I don't think I know.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>llm</category>
      <category>agentskills</category>
    </item>
    <item>
      <title>AI Made Your Easy Work Free. That Made You More Valuable.</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Sat, 17 Oct 2026 05:57:07 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/ai-made-your-easy-work-free-that-made-you-more-valuable-413f</link>
      <guid>https://dev.to/james_anderson_h/ai-made-your-easy-work-free-that-made-you-more-valuable-413f</guid>
      <description>&lt;p&gt;Let's start by admitting the scary part is true, because the whole argument falls apart if I pretend otherwise.&lt;/p&gt;

&lt;p&gt;AI can build an enormous amount of software now, fast, for almost nothing. You can vibe-code a working app over a weekend. Clone a SaaS product's whole front end in an afternoon. Generate the CRUD endpoints, the forms, the standard UI, the glue code, the "make it look like this" — all of it, in minutes of prompting, at a quality that a few years ago would've been a week of a junior's time.&lt;/p&gt;

&lt;p&gt;That's not hype. It's real, and if you've felt the floor shift under you because of it, you're not imagining things. So the fear makes sense: if building software is nearly free now, what's left for the people whose job was building software?&lt;/p&gt;

&lt;p&gt;Here's the thing that question quietly assumes, though — and it's wrong. It assumes the &lt;em&gt;building&lt;/em&gt; was where the value lived. It wasn't. And once you see what AI actually made free, and what it conspicuously &lt;em&gt;didn't&lt;/em&gt;, the panic turns into something closer to a map.&lt;/p&gt;

&lt;h2&gt;
  
  
  What AI actually made free
&lt;/h2&gt;

&lt;p&gt;Let me be specific and generous about how much AI really took, because downplaying it just sounds like denial.&lt;/p&gt;

&lt;p&gt;It took the happy path. The first version. The part of the work that's been written down ten thousand times in tutorials, Stack Overflow answers, and open-source repos — which is exactly why the model learned it so well. The standard login flow, the typical dashboard, the ordinary API, the form that validates an email, the component that looks like every other component. The &lt;em&gt;commodity&lt;/em&gt; layer of software engineering, the stuff that was technically "skilled work" but was really pattern-matching against a million prior examples.&lt;/p&gt;

&lt;p&gt;That's maybe 90% of the volume of what gets typed in a day. And it genuinely did fall. A huge amount of what used to be billable, time-consuming, résumé-worthy engineering is now a prompt and a glance. Pretending that's not true helps no one, least of all you.&lt;/p&gt;

&lt;p&gt;Concede the whole 90%. The argument doesn't need it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it conspicuously did not touch
&lt;/h2&gt;

&lt;p&gt;Now the part nobody put in the demo.&lt;/p&gt;

&lt;p&gt;AI did not learn how to make a webhook idempotent when Stripe times out mid-transaction and you have no idea whether the charge went through. It didn't learn to tune cgroup memory limits when a background worker quietly OOMs at 3am and takes the queue down with it. It has no feel for the passkey &lt;code&gt;signCount&lt;/code&gt; desync that silently locks your paying customers out of their own accounts — the bug that generates zero errors and a pile of furious support tickets. It can't do the data migration that has to move fifteen years of real users' files without losing a single byte or breaking one weird edge case someone created in 2013.&lt;/p&gt;

&lt;p&gt;Notice what all of those have in common: &lt;strong&gt;none of them show up in a demo, and none of them were written down anywhere for the model to learn from.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's not a coincidence — it's the whole explanation. AI got extraordinary at the 90% &lt;em&gt;because&lt;/em&gt; the 90% is the part that's documented everywhere, done the same way a million times, sitting in the training data in bulk. The 10% is hard precisely because it &lt;em&gt;isn't&lt;/em&gt; written down. It's the failure modes, the edge cases, the what-happens-when-it-breaks-at-scale — knowledge that doesn't live in tutorials because it's only ever learned the expensive way: by getting burned, at 3am, on a real system, with real users yelling.&lt;/p&gt;

&lt;p&gt;You can't prompt your way to that, because the thing you'd need to prompt doesn't exist in text. It exists in scar tissue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The counterintuitive part: the 10% got &lt;em&gt;more&lt;/em&gt; valuable
&lt;/h2&gt;

&lt;p&gt;Here's the move most people miss while they're panicking.&lt;/p&gt;

&lt;p&gt;When the easy 90% was expensive, its cost &lt;em&gt;hid&lt;/em&gt; the value of the hard 10%. It was all bundled together and called "engineering," and the bill for the boilerplate and the bill for the 3am expertise came out looking like the same kind of money. The commodity work subsidized and camouflaged the rare work.&lt;/p&gt;

&lt;p&gt;Now that the 90% is free, that camouflage is gone — and the 10% stands exposed as the &lt;em&gt;only remaining scarcity.&lt;/em&gt; And value always concentrates wherever the scarcity is.&lt;/p&gt;

&lt;p&gt;So AI didn't flatten the value of expertise. It flattened the value of the &lt;em&gt;commodity&lt;/em&gt; part of expertise, and shoved all the remaining value into the &lt;em&gt;rare&lt;/em&gt; part. The person who can do the 3am work didn't get less valuable when AI arrived — they got &lt;em&gt;more&lt;/em&gt; valuable, because now everyone can do the easy part, and almost nobody can do theirs. The scarcity sharpened. The premium went up.&lt;/p&gt;

&lt;p&gt;That's the whole reframe, and it's why the title isn't a motivational lie: AI making your easy work free is &lt;em&gt;exactly&lt;/em&gt; what made your hard work worth more. It stopped being hidden inside the cost of the boilerplate.&lt;/p&gt;

&lt;h2&gt;
  
  
  The market is already proving it
&lt;/h2&gt;

&lt;p&gt;You don't have to take the argument on faith — go look at the vibe-coded clone wave happening right now.&lt;/p&gt;

&lt;p&gt;People are using AI to clone paid apps by the thousands: creative tools, CRMs, SaaS products, whole suites. The first versions appear fast and look impressive. And almost all of them die in alpha.&lt;/p&gt;

&lt;p&gt;Why? Not because the code was bad. Because the makers could generate the 90% and either couldn't or wouldn't do the 10%. The clones that survive — the rare ones — are precisely the ones where somebody pushed through the unglamorous hard part: the maintenance, the edge cases, the reliability, the trust that gets built one answered support ticket at a time. "Cloning the surface of software is now free" is the exact reason &lt;em&gt;depth&lt;/em&gt; became the moat. The market responded to free building with a graveyard of surfaces and a premium on substance. That's the thesis, already playing out, in public.&lt;/p&gt;

&lt;h2&gt;
  
  
  So what do you actually do with this?
&lt;/h2&gt;

&lt;p&gt;Honest direction, no false comfort:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're early in your career and the 90% is most of what you can do right now&lt;/strong&gt; — that's the part that got commoditized, so the move isn't "learn to prompt faster." It's to deliberately go after the 10%: debugging, systems thinking, how things fail, what happens at scale, reading code you didn't write, operating things in production. I'll be straight that this is genuinely harder than it used to be, because the easy work that &lt;em&gt;used to teach you&lt;/em&gt; the hard stuff — the grunt tasks juniors cut their teeth on — is exactly what's being automated away. That's a real problem, and it deserves honesty rather than a slogan. But the direction is clear: chase the part that doesn't demo.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you're experienced&lt;/strong&gt; — your value didn't drop, it got concentrated. The years you spent getting burned are now the scarce thing, not the overhead. Stop apologizing for being "slow" at the boilerplate AI does instantly, and lean into the part it can't touch, because that part is now the whole job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;For everyone:&lt;/strong&gt; stop competing on the layer AI does for free. There's no winning there — it's free, and you can't underbid free. Compete on the layer it can't reach.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;"AI can build anything" is true and misleading in the same breath. It can build the 90% that was always the commodity. It can't build the 10% that was always the point.&lt;/p&gt;

&lt;p&gt;The value didn't leave software. It &lt;em&gt;moved&lt;/em&gt; — from the writing to the making-it-actually-work, from the demo to the dependability, from "can you build it?" to "can you keep it alive when it breaks at 3am?" For an engineer who can do the hard part, that's not a worse world. It might be the first time in a long while that the hard part is &lt;em&gt;clearly, visibly&lt;/em&gt; the valuable part — instead of being quietly hidden inside the bill for the easy part.&lt;/p&gt;

&lt;p&gt;Your easy work became free. That's not what makes you replaceable. That's what finally made the rest of you worth paying for.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;A personal note, since this is the thing I've been chewing on the most: I've ended up building in this space myself — a workspace where the whole point is to put the real effort into the hard part (the reliability, the guardrails, the trust around what gets built), rather than just the fast generation everyone already has. It's called &lt;a href="https://xenition.com/" rel="noopener noreferrer"&gt;Xenition&lt;/a&gt;. I'm genuinely not pitching it here — this piece stands on its own and I'd have written it either way. But if any of this resonated and you're curious what "building for the hard 10%" looks like in practice, you're welcome to take a look. Mostly I just wanted to think the idea through out loud, and the comments are where I actually want to be.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;So — the contestable version, and I want the real disagreement: do you think the hard 10% stays safe, or does AI eventually eat that too? And for the experienced folks: what's&lt;/em&gt; your &lt;em&gt;10% — the thing you do that no demo ever shows and no prompt ever quite gets right? I'll start: anything involving what happens after the happy path fails.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>career</category>
      <category>softwareengineering</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Git, Docker, and IPFS All Hide the Same Beautiful Idea</title>
      <dc:creator>James Anderson</dc:creator>
      <pubDate>Wed, 14 Oct 2026 08:50:45 +0000</pubDate>
      <link>https://dev.to/james_anderson_h/git-docker-and-ipfs-all-hide-the-same-beautiful-idea-3j0</link>
      <guid>https://dev.to/james_anderson_h/git-docker-and-ipfs-all-hide-the-same-beautiful-idea-3j0</guid>
      <description>&lt;p&gt;Let me make you a small promise, because it's worth your fifteen minutes.&lt;/p&gt;

&lt;p&gt;There's an idea you rely on dozens of times a day — every time you make a commit, every time you pull an image — and you've almost certainly never seen it directly. It hides underneath the tools, doing its work quietly, while you type &lt;code&gt;git commit&lt;/code&gt; and watch a hash scroll past without once wondering what that hash actually &lt;em&gt;is&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;It's one of the most elegant ideas in all of computing. Simple enough to explain in a single sentence. Powerful enough that git, Docker, and IPFS are all built on it — three very different tools, one shared foundation. And once you see it, something nice happens: a whole pile of "huh, why does it work like that?" questions about your daily tools quietly resolve into "oh, &lt;em&gt;of course.&lt;/em&gt;"&lt;/p&gt;

&lt;p&gt;That's the promise. One idea, and by the end your tools make more sense than they did this morning. Let me show it to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  First, the ordinary way — and its quiet flaw
&lt;/h2&gt;

&lt;p&gt;Almost all the time, we find data by its &lt;strong&gt;location.&lt;/strong&gt; A file path: &lt;code&gt;/home/james/report.pdf&lt;/code&gt;. A URL: &lt;code&gt;example.com/report.pdf&lt;/code&gt;. A database row by its ID. In every case, the address tells you &lt;em&gt;where the thing lives&lt;/em&gt; — "the thing over there."&lt;/p&gt;

&lt;p&gt;This feels so natural we never question it. But it has a quiet weakness, and the whole idea we're building to is a response to that weakness, so it's worth noticing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The name tells you nothing about the content.&lt;/strong&gt; The file at &lt;code&gt;/home/james/report.pdf&lt;/code&gt; could be the report you wrote yesterday, or a corrupted version, or something an attacker swapped in — and the path looks identical in all three cases. The address is a &lt;em&gt;promise&lt;/em&gt; that has to be trusted. You ask for a location, you get back whatever currently lives there, and you have no built-in way to know it's what you expected.&lt;/p&gt;

&lt;p&gt;So here's the question that cracks the whole thing open: what if the address &lt;em&gt;was&lt;/em&gt; the content? What if, instead of naming data by where it sits, you named it by &lt;em&gt;what it actually is&lt;/em&gt;?&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea, in one sentence
&lt;/h2&gt;

&lt;p&gt;Here it is, the whole thing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instead of addressing data by its location, you address it by a cryptographic hash of its content — a short, unique fingerprint computed from the bytes themselves.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's content-addressing. The "address" of a piece of data isn't a path or a name someone chose. It's a fingerprint derived from the data itself.&lt;/p&gt;

&lt;p&gt;If the analogy helps: think of it like a fingerprint for a person, or a nutrition label that's &lt;em&gt;computed from the food&lt;/em&gt; rather than printed by the manufacturer. It comes &lt;em&gt;from&lt;/em&gt; the thing. Change the thing even slightly, and the fingerprint changes completely. Two identical things have identical fingerprints, always.&lt;/p&gt;

&lt;p&gt;So the shift is small but total. "Give me the file at &lt;code&gt;/report.pdf&lt;/code&gt;" (a location) becomes "give me the thing whose fingerprint is &lt;code&gt;a3f9c2e8…&lt;/code&gt;" (its content). You no longer ask &lt;em&gt;where&lt;/em&gt; — you ask &lt;em&gt;what&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;It sounds almost too simple to matter. Here's why it's beautiful: look at everything that falls out of it, for free.&lt;/p&gt;

&lt;h2&gt;
  
  
  The magic: four things you get for nothing
&lt;/h2&gt;

&lt;p&gt;This is the part worth slowing down for, because it's where a simple idea reveals itself as a deep one. You don't &lt;em&gt;add&lt;/em&gt; the following features to a content-addressed system. They're just &lt;em&gt;consequences&lt;/em&gt; of the one idea. You get them whether you wanted them or not.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Integrity, for free.&lt;/strong&gt; The address &lt;em&gt;is&lt;/em&gt; a checksum. When you ask for the thing at fingerprint &lt;code&gt;a3f9c2e8…&lt;/code&gt; and something hands it back, you can recompute the hash of what you received and check it matches. If even one byte was corrupted or tampered with in transit, the fingerprint won't match, and you'll know instantly. The name &lt;em&gt;verifies&lt;/em&gt; the data. There's no separate "is this file corrupted?" step to bolt on — it's built into the very act of addressing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Deduplication, for free.&lt;/strong&gt; Identical content produces an identical hash. Always. So if two files — or two users, or two systems — have the exact same bytes, they have the exact same address, which means the system stores those bytes &lt;em&gt;once.&lt;/em&gt; You physically cannot store the same content twice, because the second copy has nowhere new to go. Deduplication isn't a feature someone engineered; it's a thing that can't &lt;em&gt;not&lt;/em&gt; happen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Immutability, for free.&lt;/strong&gt; A given fingerprint always points to exactly one piece of content, forever. Nothing can quietly change the data living at &lt;code&gt;a3f9c2e8…&lt;/code&gt;, because the moment you change the content, you've changed its fingerprint — you haven't modified the thing at that address, you've created a &lt;em&gt;different&lt;/em&gt; thing at a &lt;em&gt;different&lt;/em&gt; address. The old address still points at the old content, unchanged. History can't be silently rewritten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Caching, for free.&lt;/strong&gt; If you already have the thing at &lt;code&gt;a3f9c2e8…&lt;/code&gt;, you are &lt;em&gt;done.&lt;/em&gt; You never need to fetch it again, and you can be certain — not hopeful, certain — that your copy is identical to the one being offered, because they share an address, and sharing an address means sharing content. "Do I already have this?" becomes a trivial lookup instead of a careful comparison.&lt;/p&gt;

&lt;p&gt;Sit with that for a second. Integrity, deduplication, immutability, and caching — four properties that systems normally work &lt;em&gt;hard&lt;/em&gt; to provide, each with its own machinery — all tumble out of one decision about how to name things. That's what "elegant" means in software: enormous consequence from minimal cause.&lt;/p&gt;

&lt;p&gt;Now let me show you where you've been standing on this idea the whole time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where you've been using it all along
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Git
&lt;/h3&gt;

&lt;p&gt;Here's the one that tends to land hardest, because you use it constantly.&lt;/p&gt;

&lt;p&gt;Git is, underneath its version-control interface, a content-addressed filesystem. Every file you commit (git calls it a "blob"), every directory (a "tree"), and every commit itself is stored &lt;em&gt;by the hash of its content.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That commit hash you see — &lt;code&gt;a3f9c2e8…&lt;/code&gt; — is not an ID that git assigned. It is a fingerprint of everything in that commit: the files, the directory structure, the author, the message, and the hash of the commit before it. It's computed &lt;em&gt;from&lt;/em&gt; the content.&lt;/p&gt;

&lt;p&gt;And suddenly a bunch of git's behavior stops being magic and starts being &lt;em&gt;obvious:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Why git can detect corruption:&lt;/strong&gt; because every object's name is a checksum of its content. (Property 1.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why git doesn't store the same file twice:&lt;/strong&gt; identical files have identical hashes, so they're one object. (Property 2.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why git history is tamper-evident:&lt;/strong&gt; change one old commit and its hash changes, which changes the "previous hash" baked into the next commit, which changes &lt;em&gt;its&lt;/em&gt; hash, and so on — the change ripples through every commit after it and becomes impossible to hide. (Properties 1 and 3, working together.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Git isn't doing anything mystical. It's content-addressing, wearing a version-control coat.&lt;/p&gt;

&lt;h3&gt;
  
  
  Docker
&lt;/h3&gt;

&lt;p&gt;Docker image layers are content-addressed too, and the same reveals follow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Why &lt;code&gt;docker pull&lt;/code&gt; is often so fast:&lt;/strong&gt; it skips the layers whose content hash you already have. (Caching — property 4.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why layers are shared across different images:&lt;/strong&gt; two images built on the same base have layers with the same content, so the same hash, so they're stored once. (Dedup — property 2.)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why a &lt;code&gt;sha256:&lt;/code&gt; image digest means something:&lt;/strong&gt; it guarantees you pulled exactly the image you meant, byte for byte, with no silent substitution. (Integrity — property 1.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every one of those conveniences you take for granted is the same idea quietly at work.&lt;/p&gt;

&lt;h3&gt;
  
  
  IPFS
&lt;/h3&gt;

&lt;p&gt;IPFS makes content-addressing the entire premise, which is why it's the cleanest example. On the normal web, you fetch a file from a &lt;em&gt;location&lt;/em&gt; — this server, that URL. On IPFS, you fetch a file by its content hash (called a CID). You're not asking "what's on this server?" — you're asking "who has the thing whose fingerprint is this?", and &lt;em&gt;anyone&lt;/em&gt; on the network who has that content can serve it, because the same file produces the same address no matter where it lives. Location stops mattering; identity is everything.&lt;/p&gt;

&lt;h2&gt;
  
  
  But wait — what if two things have the same fingerprint?
&lt;/h2&gt;

&lt;p&gt;If you’ve been reading closely, a question has probably been forming, and it’s the right one to ask — because the entire idea hinges on the answer.&lt;/p&gt;

&lt;p&gt;Content-addressing assumes that no two different pieces of content ever produce the same hash. That event — two different inputs, one identical fingerprint — is called a collision, and if it could happen easily, the whole scheme would fall apart: two different files would share an address, and “same hash means same content” would become a lie.&lt;/p&gt;

&lt;p&gt;So why do we trust it? Because with a good cryptographic hash, collisions are astronomically unlikely. Not “unlikely like winning the lottery” — unlikely like every person on Earth winning the lottery, on the same day, for a thousand years running. The space of possible hashes is so vast (for SHA-256, that’s 2²⁵⁶ values — a number larger than the count of atoms in the observable universe) that in practice you can treat “same hash = same content” as simply true, and build version control for the entire planet on top of that assumption.&lt;/p&gt;

&lt;p&gt;But “in practice” is doing real work in that sentence, and here’s the concrete story that proves the point. Git originally used a hash called SHA-1. Over the years, SHA-1 weakened — researchers eventually managed to deliberately construct two different inputs with the same SHA-1 hash, which is exactly the collision the model depends on never happening. So git undertook a careful, years-long migration to SHA-256. Not because content-addressing was flawed, but because the whole thing rests on collisions being infeasible, and when the old hash got shaky, the one load-bearing assumption had to be shored up.&lt;/p&gt;

&lt;p&gt;That’s the honest footnote to the beautiful idea: content-addressing is only ever as trustworthy as the hash underneath it. The elegance is real — but “which hash function” isn’t a minor detail, it’s the thing holding the entire structure up. The idea is beautiful; the hash is what makes it hold.&lt;/p&gt;

&lt;h2&gt;
  
  
  The takeaway
&lt;/h2&gt;

&lt;p&gt;Here's the whole thing, one more time, so it sticks: &lt;strong&gt;if you name data by &lt;em&gt;what it is&lt;/em&gt; instead of &lt;em&gt;where it lives&lt;/em&gt;, you get integrity, deduplication, immutability, and caching as a free gift&lt;/strong&gt; — which is exactly why the tools you trust most are quietly built on it.&lt;/p&gt;

&lt;p&gt;It's a small idea with a very long reach. And now it's yours. You'll start noticing it everywhere — in a commit hash, a Docker digest, a CID, and places you haven't looked yet — and that noticing, that seeing of the idea beneath the tool, is the difference between &lt;em&gt;using&lt;/em&gt; something and &lt;em&gt;understanding&lt;/em&gt; it.&lt;/p&gt;

&lt;p&gt;Fifteen minutes, one idea, and your tools make more sense than they did when you started. As promised.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Genuinely curious: what's a concept like this one for you — a single small idea you learned that suddenly explained a dozen tools at once? Content-addressing was one of mine; I remember the exact moment git stopped being magic. And now that you know git is content-addressed: what else about it just clicked into place?&lt;/em&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>docker</category>
      <category>programming</category>
      <category>computerscience</category>
    </item>
  </channel>
</rss>
