<?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: @lukeocodes 🕹👨‍💻</title>
    <description>The latest articles on DEV Community by @lukeocodes 🕹👨‍💻 (@lukeocodes).</description>
    <link>https://dev.to/lukeocodes</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%2F133562%2F7ca76112-5580-4245-8a48-b24bf6f4fb51.jpg</url>
      <title>DEV Community: @lukeocodes 🕹👨‍💻</title>
      <link>https://dev.to/lukeocodes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lukeocodes"/>
    <language>en</language>
    <item>
      <title>Jev: The ChatGPT Co-Creator's System One Model Can't Talk</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Thu, 17 Sep 2026 21:12:47 +0000</pubDate>
      <link>https://dev.to/lukeocodes/jev-the-chatgpt-co-creators-system-one-model-cant-talk-3774</link>
      <guid>https://dev.to/lukeocodes/jev-the-chatgpt-co-creators-system-one-model-cant-talk-3774</guid>
      <description>&lt;p&gt;Diogo Almeida’s new model cannot talk. Jev, released in early access on 15 September by TypeSafe AI, returns typed decisions with calibrated confidence: a choice from up to 255 options, a score, or a yes/no probability. It is not a language model, and the man who helped build ChatGPT says that is the point. Jev runs 70 to 500 milliseconds end to end, prices input at $0.042 per million tokens, and charges nothing for output.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two-year answer
&lt;/h2&gt;

&lt;p&gt;Almeida is the OpenAI researcher behind RLHF and InstructGPT, the methods that became the research behind ChatGPT and GPT-4. What he kept asking after co-inventing it: why have superhuman chat models not led to AGI? Chat is solved. Automation is not.&lt;/p&gt;

&lt;p&gt;Two years in stealth, $40 million in backing, and a team from OpenAI, Google Brain, Meta and FAIR went into his answer. Jev. The argument underneath it is that chat was the wrong target. A model built to talk is a different thing from a model built to decide.&lt;/p&gt;

&lt;h2&gt;
  
  
  Jev doesn’t chat, it decides
&lt;/h2&gt;

&lt;p&gt;Jev has no chat interface. It cannot generate strings at all.&lt;/p&gt;

&lt;p&gt;Give it structured state and it returns one of three primitives: a Choice, a Score, or a Noul, each with a confidence value between 0 and 1. Your software acts on the answer. The docs are blunt about the edges: 32K context window, no image input, no code, no prose.&lt;/p&gt;

&lt;p&gt;The confidence value is the whole design. Calibrated confidence means the number Jev reports matches how often it is right: when it says 0.9, it is right about nine times out of ten. That is not a promise LLM APIs have kept in a form software can act on. Most say 0.9 and mean “sounds plausible”.&lt;/p&gt;

&lt;p&gt;The “can’t hallucinate” coverage needs a qualifier. Jev structurally cannot emit a malformed answer, the output shape is guaranteed by construction. It can still return a schema-valid answer that is factually wrong, and Almeida said as much during the launch discussion.&lt;/p&gt;

&lt;h2&gt;
  
  
  The demos make it real
&lt;/h2&gt;

&lt;p&gt;Two demos tell you more than the benchmark numbers. There’s a video of Jev playing Doom at about ten calls a second, roughly $7 an hour of play. There’s a Wikipedia game where Jev races from page to page choosing among thousands of links. Both make the same point visible: this thing decides fast enough to sit inside a game loop, and cheap enough that nobody notices the bill.&lt;/p&gt;

&lt;h2&gt;
  
  
  RLCD is the interesting part
&lt;/h2&gt;

&lt;p&gt;The training method is RLCD: Reinforcement Learning for Calibrated Decisions. Almeida’s critique of RLHF is specific. It trained for human preference, which made models superhuman at following instructions, and it also produced overconfidence and mode dropping, the exact failure modes that keep a human in the loop. RLCD trains for the opposite property. A machine can act without asking permission.&lt;/p&gt;

&lt;p&gt;This matters because trust is the thing that is broken. An API that says 0.9 and is right 60% of the time is not usable in a pipeline, no matter how good the prose is. TypeSafe is betting the market for a decision you can trust is bigger than the market for a sentence you cannot.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the numbers actually say
&lt;/h2&gt;

&lt;p&gt;The headline ranges are 20-200x faster and 40-400x cheaper. They are self-reported, which is worth remembering while the model is waitlist-only. The benchmark video on their proof page compares workflows, not single calls. One example: a System One task that ran in 0.114 seconds at $0.000081 took 8.566 seconds and $0.013880 on a frontier model. Across the workflow suite, the average is 193.6x faster and 444.6x cheaper against GPT-6 Astra and Fable 5.1.&lt;/p&gt;

&lt;p&gt;The free output is not a promotion stunt, which I assumed at first. There is no autoregressive generation to meter: the architecture returns all outputs at once, in parallel. The comparison models take 3 to 329 seconds per call largely because they generate one token at a time. Jev’s latency is the direct result of skipping that loop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this bites for voice agents
&lt;/h2&gt;

&lt;p&gt;If you build agents, this is the interesting part. Most pipelines use one large chat model as thinker and talker: it classifies the intent, extracts the arguments, routes the work, drafts the response. You pay reasoning cost at every step, even when the step is a decision that fits on one line.&lt;/p&gt;

&lt;p&gt;In voice pipelines, where I spend my days, the pattern is everywhere. Intent classification, escalation routing, fraud triage. Each is currently a full LLM call with JSON output and a parser you trust about as far as you can throw it.&lt;/p&gt;

&lt;p&gt;Jev changes the shape of that. Set a confidence threshold at 0.85 and escalate anything below it. That is the escalation pattern production voice agents spend months hand-building, and it stops being a design constraint when decisions cost near nothing. The cleanest framing I’ve seen this week splits the stack: language models for communication, coding models for implementation, decision models for high-volume judgment. Jev is the first decision layer built for that job from the ground up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s left to prove
&lt;/h2&gt;

&lt;p&gt;None of this tells you whether the decisions are any good. Speed and price you can verify in a day. Decision quality takes months of production traffic, and TypeSafe is still a waitlist.&lt;/p&gt;

&lt;p&gt;The structural claim survives the scepticism though. I have watched whole teams design around the cost of a single LLM choice, caching aggressively and batching calls to cut round trips. A 70ms decision model at near-zero marginal cost is built to remove exactly that behaviour.&lt;/p&gt;

&lt;p&gt;Almeida has the track record, and early access means the claims get tested before anyone has to commit. If you build automation, the experiment is cheap: put a decision where you used to put an LLM call, and read the confidence score. Jev takes milliseconds, prices input at $0.042 per million tokens, and the waitlist is open.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>rlcd</category>
      <category>gpt</category>
    </item>
    <item>
      <title>Simba 3.2 Frontier TTS API achieves 100ms for $10/1M Characters</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Wed, 16 Sep 2026 13:35:55 +0000</pubDate>
      <link>https://dev.to/speechifyai/simba-32-frontier-tts-for-101m-characters-7c6</link>
      <guid>https://dev.to/speechifyai/simba-32-frontier-tts-for-101m-characters-7c6</guid>
      <description>&lt;p&gt;Simba 3.2 and Simba 3.0 just dropped to around 100ms time-to-first-audio on Coval's benchmark. Same voices, same quality, same price. It's already the cheapest model in Artificial Analysis' top ten, and the cheapest in model on Vapi's Humanness Index with a score of 97/100.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fah8ab8pyzztb4iqka5br.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fah8ab8pyzztb4iqka5br.png" alt="Coval time-to-first-audio over 24 hours. Speechify Simba 3.2 and Simba 3.0 step down to ~0.10s. Cartesia Sonic 3.6 and ElevenLabs Eleven v3 Conversational stay at ~0.35s." width="800" height="727"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://speechify.ai/build" rel="noopener noreferrer"&gt;Sign-up today to try our models and hear for yourself&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  FAQ
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Is $10 per million characters the streaming price too?
&lt;/h3&gt;

&lt;p&gt;Yes. Simba 3.2 and Simba 3.0 are one per-character rate whichever endpoint you call, and the efficiency has not changed it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does the faster path change how Simba sounds?
&lt;/h3&gt;

&lt;p&gt;No. The release changed where and how inference is served, not the weights or the voices. We've also snuck in watermarking to meet EU regs on generative content.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simba 3.2 or Simba 3.0?
&lt;/h3&gt;

&lt;p&gt;Simba 3.2 for English, because it has the most expressive delivery and now the lowest time-to-first-audio. Simba 3.0 if you need German, Spanish, French, Italian or Brazilian Portuguese, or self-serve zero-shot cloned voices. Our legacy Simba 1.6 supports more languages, and those languages will be finding their way into Simba 3.0 before mid-November hard switch-off of Simba 1.6. Simba 3.2 and Simba 3.0 both sit at around 100ms now, so pick on language and voice support.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does Coval measure the 100ms?
&lt;/h3&gt;

&lt;p&gt;Time-to-first-audio, from the request being sent to the first audible sample.&lt;/p&gt;

</description>
      <category>tts</category>
      <category>api</category>
      <category>speechify</category>
      <category>ai</category>
    </item>
    <item>
      <title>Developer Relations in the Era of AI</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/developer-relations-in-the-era-of-ai-1b23</link>
      <guid>https://dev.to/lukeocodes/developer-relations-in-the-era-of-ai-1b23</guid>
      <description>&lt;h1&gt;
  
  
  Developer Relations in the Era of AI
&lt;/h1&gt;

&lt;p&gt;Developer relations is the practice of building and nurturing relationships with developers through community engagement, technical support, education, and advocacy, and it is the discipline that turns developer adoption into business value. AI has changed who that work serves. From here on, DevRel serves two audiences at once: the human developer evaluating your product, and the AI agent consuming your documentation to write code on their behalf, and that single change ripples through every surface, metric, and function DevRel owns.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is developer relations?
&lt;/h2&gt;

&lt;p&gt;The DevRel Foundation (Linux Foundation, 2025) offers the working definition: "Developer Relations (DevRel) is the practice of building and nurturing relationships with external and internal teams through community engagement, technical support, education, and advocacy to enable the successful adoption of an organization's developer products and drive business value."&lt;/p&gt;

&lt;p&gt;The shorter version: DevRel is how a company with a developer product keeps the people who build on it moving forward. Bear Douglas, formerly of Slack Engineering, frames the role as "an interdisciplinary role that sits in a border space between product, engineering, and marketing." That border space is the whole argument. DevRel is not a sub-function of marketing, and it is not a sub-function of engineering. It sits between them and pulls from both, and it translates between them when they stop talking to each other.&lt;/p&gt;

&lt;p&gt;Seth Juarez, in the DevRel Handbook (2026), made the case that matters most at budget time: "Developer Relations is not a squishy collection of nice-to-have activities. It is a structured business function that creates content, refines technology, grows community, measures success, and organizes people around developer impact."&lt;/p&gt;

&lt;p&gt;The composition data agrees. Four pillars make up the practice, measured by team makeup: Developer Advocacy (82.2% of DevRel teams), Community Management (52.7%), Technical Writing (42.7%), and Developer Experience. Each of those is a real discipline with its own tooling and its own metrics, and they all sit under the same roof. I've worked in this space long enough to say the roof is the hard part, not the individual rooms. Advocacy runs the demos and the talks, community keeps the Discord alive and the forum answered, and technical writing owns the docs and the migration guides. Developer Experience owns the parts of the product that make developers feel smart, or the opposite. Get the mix wrong and you have a content machine with no community, or a community with nothing fresh to talk about.&lt;/p&gt;

&lt;p&gt;Each pillar produces something measurable. Advocacy produces demos that get copied, talks that get replayed, and reference integrations that get forked. Community produces threads that get answered and relationships that survive staff changes. Technical writing produces docs that get cited and migration guides that get followed. Developer Experience produces a product surface that needs less support. When executives ask what DevRel does, these outputs are the answer in plain words.&lt;/p&gt;

&lt;p&gt;Where that roof hangs varies a lot. 33.1% of DevRel teams report to Marketing, 21.7% to Product, 20.3% to the CEO, and 19.9% to Engineering. Forrester put a warning sign on that spread in May 2026: "Developer relations (DevRel) is a strategic capability for any organization whose growth depends on developers. Too many companies mistake it for marketing, but when they do, their products drift from developer needs, developer trust erodes, and buying influence quietly disappears."&lt;/p&gt;

&lt;p&gt;The reporting line matters because it decides what DevRel can influence. Under Marketing the incentive is campaign volume. Under Engineering the incentive is API quality and feedback loops. Under the CEO the incentive is ecosystem health and revenue influence. None of those choices is wrong, but each one shapes what the team prioritizes when the roadmap turns.&lt;/p&gt;

&lt;p&gt;And that leads to the problem that has dogged the discipline for a decade. 60.7% of DevRel practitioners say proving impact with data is their number one challenge. Only 17.5% can link revenue influence directly to their metrics. 61% have no defined career path. These numbers moved slowly for years, and AI is the first thing with a real chance of moving them.&lt;/p&gt;

&lt;h2&gt;
  
  
  How does developer relations operate inside a company?
&lt;/h2&gt;

&lt;p&gt;DevRel sits on a web of five relationships, and every one of them carries information in two directions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel and Engineering.&lt;/strong&gt; DevRel hands Engineering developer-sourced bug reports, friction logs, usability issues, and integration patterns that never appear in internal testing. Engineering hands back roadmap context, technical accuracy review, and API stability commitments. Break this loop and DevRel writes about features that are about to change while Engineering builds on assumptions that do not match reality. The strongest versions of this relationship I have seen run a regular joint triage: engineering gets the raw developer complaints, DevRel gets the roadmap dates it is not supposed to leak.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel and Product.&lt;/strong&gt; The grassroots feedback, competitive intelligence, and usage pattern data flow from DevRel to Product. Feature announcements, use cases, and beta access flow back. The best DevRel teams sit in product planning meetings as the voice for the developer nobody in the room has talked to this quarter. That is not an honorary seat. Developers tell DevRel things they will never put in a bug report, usually because they are not sure whether what they hit is a bug or a misunderstanding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel and Marketing.&lt;/strong&gt; DevRel provides the authentic developer voice, the technical credibility, and the event ROI data. Marketing provides budget, brand guidelines, and distribution. The tension is structural. Marketing is measured on volume, and DevRel is measured on depth, and the two do not reconcile themselves. A team that names that tension early spends less time arguing about it later. The healthy pattern is marketing owning the reach and DevRel owning the message, with both agreeing in writing on which is which.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel and Sales.&lt;/strong&gt; This is the most underused relationship in most companies. DevRel can hand sales developer-qualified leads, technical validation during evaluations, and churn risk signals from developers who are struggling. Sales can hand back customer pain points and revenue attribution. Rarely do the two pipelines meet, which is a waste on both sides. An integration story that someone at a mid-market company wrote about in their own words is worth more to sales than any spec sheet, and DevRel is where those stories are found.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;DevRel and the executive team.&lt;/strong&gt; DevRel provides ecosystem health metrics, market signals, and the link between developer engagement and revenue. The executive team provides strategic direction and budget authority. When DevRel cannot make that link, its future is decided at the next budget review. That is the loop the measurement problem keeps jamming, and it is the loop AI is finally starting to unblock.&lt;/p&gt;

&lt;p&gt;The web only works when all five relationships stay live. I've seen DevRel teams that ran four of them well and silently dropped Sales, and the gap showed up as a revenue question at the next forecast. I have seen teams that never gave Engineering a seat and then wrote launch content for a breaking change nobody had warned them about. Every one of those dropouts, the missing Sales link or the missing Engineering seat, showed up as a support ticket or a forecast question three quarters later.&lt;/p&gt;

&lt;h2&gt;
  
  
  How is AI changing developer relations?
&lt;/h2&gt;

&lt;p&gt;Chris Chabot, in the DevRel Almanac (2026), made the strongest claim on record: "The 2023-2026 wave of LLMs, AI coding agents, and agent-mediated discovery has changed what Developer Relations does, who its audience is, and how it is measured, more than any shift since the 2008 emergence of GitHub and Stack Overflow."&lt;/p&gt;

&lt;p&gt;That claim holds up. The mechanism is the dual audience. DevRel now serves two publics at once: AI agents (Cursor, Claude Code, Copilot, ChatGPT) that consume docs, schemas, and &lt;code&gt;llms.txt&lt;/code&gt; files to produce code, and human developers who evaluate, adopt, and recommend products. The agent reads your docs before the human does. It decides, from those docs, whether your product is worth calling.&lt;/p&gt;

&lt;p&gt;That does not make the human reader secondary. The human is still the one who approves the budget, signs the purchase order, and ships the integration. What changes is the order of operations: the agent does the first pass and the human does the second, and the second pass is where trust gets built or burned. A developer who was burned by a product that looked good in the agent summary will remember it. The human-facing work stays: demos, benchmarks, honest error messages, references a developer can check by hand.&lt;/p&gt;

&lt;p&gt;AngelHack summarized the shift in September 2026 with three observations. Discovery moved to AI: developers start product research on ChatGPT, not Google. The LLM is the first-touch user of documentation, which means the first read of your getting-started guide is very often not a human read at all. And measurement expectations moved, because executives are no longer satisfied with blog views.&lt;/p&gt;

&lt;p&gt;The survey numbers back this up. 51% of B2B software buyers start research with AI chatbots more often than Google (G2, 2026), and 69% of B2B buyers say they chose a different vendor because of AI chatbot guidance. 84% of developers use or plan to use AI tools. 65% of senior developers expect their role to be redefined by AI in 2026 (BairesDev). When that many buyers let a chatbot pick the shortlist, the thing the chatbot reads becomes your storefront.&lt;/p&gt;

&lt;p&gt;There is a name for tuning content for this new reader, and it follows SEO by a decade. GEO, Generative Engine Optimization. It works too. The Princeton KDD 2024 study found a "Cite Sources" strategy lifted visibility by +115% in generative engine responses, and Reddit and Wikipedia remain ChatGPT's two most-cited domains. Your product does not need to be Wikipedia, and it doesn't need to be Reddit-sized either. It needs to be in the pool of sources a chatbot quotes when a developer asks "what SDK should I use for streaming audio," and if you are not in that pool, you have no visibility where discovery now happens.&lt;/p&gt;

&lt;p&gt;The surfaces are new as well. There is &lt;code&gt;llms.txt&lt;/code&gt;, the machine-readable entry point for your docs. There are MCP servers, which turn an API into a service an agent can call directly. There are agent skills, which function as evolved demos, and there are &lt;code&gt;.cursorrules&lt;/code&gt; and &lt;code&gt;CLAUDE.md&lt;/code&gt; files sitting in repos that shape how coding agents behave. All of these are now part of the developer experience, which means all of them are DevRel's problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does AI do for DevRel today?
&lt;/h2&gt;

&lt;p&gt;The gap between the hype and the tooling is real, but the tooling that exists is already proving itself function by function.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation.&lt;/strong&gt; This is where AI has landed hardest. 64% of software development professionals use AI for writing documentation (DORA 2025), and Stack Overflow's 2025 survey puts it near 52% using AI at least partially for docs. Teams are using AI to draft reference material, auto-update docs from pull requests, and keep &lt;code&gt;llms.txt&lt;/code&gt; and MCP server definitions in sync with the code. The docs treadmill, the one where every API change means five rewrites across five guides, is the best AI use case I have seen in production. It does not write the migration guide for you. It stops the reference doc from rotting in the week between the PR and the release.&lt;/p&gt;

&lt;p&gt;The other half of the docs job is watching how agents read them. Log the questions agents actually ask your docs, the way you would log search terms on a website. Teams that do this find the same pattern every time: the agent drifts on setup steps and authentication, the two places where docs usually assume context a reader already has. That feedback loop is new, and it is the fastest route from unstructured docs to docs an agent can actually act on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Community management.&lt;/strong&gt; Vercel's Community Guardian is the named example. Its AI agents triage community posts, detect duplicates at over 95% confidence, and revive ghosted threads, roughly 1 in 8 of them. In 23 days the tool produced 4,716 first responses. The human community manager still does the work machines cannot, but the triage layer is now automated. CMX's 2026 data says 93.1% of community professionals use AI tools, up from 81% a year earlier. The remaining 6.9% are not a holdout, they are a workflow in transition.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Content creation.&lt;/strong&gt; 42% of DevRel practitioners already use AI for content generation (State of DevRel 2024), and 21.8% do not use AI at all. That spread is the current market. The teams in the 42% use AI for drafting, repurposing talks into posts, and scaling technical content across channels. The teams in the 21.8% are about to be priced out on velocity alone. I still draft by hand when the piece is opinion, &lt;a href="https://lukeocodes.dev/building-a-writing-routine-that-works" rel="noopener noreferrer"&gt;a post on writing technical content at speed&lt;/a&gt; but the pipeline work, the changelog summaries and the "what changed this release" notes, is exactly the job AI should do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Developer experience.&lt;/strong&gt; AI-powered support is the fastest-moving part of DX. Chatbots that answer from your docs, onboarding flows that generate a starter project from one sentence, error messages that explain themselves in plain language. These used to be engineering projects. Now they are configuration, and the question is which team owns them. Most companies have not answered that yet, and the teams that leave them unowned are shipping a worse first-run experience than the SDK alone deserves. &lt;a href="https://lukeocodes.dev/when-ai-agents-started-reading-your-docs" rel="noopener noreferrer"&gt;what AI does to the developer experience&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Metrics.&lt;/strong&gt; This is the quiet revolution. AI-first DevRel teams report that 10-30%+ of new signups cite AI mediation as the path they took, which is a measurable surface that did not exist two years ago. The untapped part is enormous: Reo.Dev found 83.6% of accounts with developer activity are not in the CRM. The tooling to attribute agent-led discovery to accounts is maturing, and it is the first attribution story DevRel has ever had that an executive can read without a translator.&lt;/p&gt;

&lt;p&gt;Two measurement layers are emerging. Surface metrics count the agent's direct interactions: &lt;code&gt;llms.txt&lt;/code&gt; fetches, MCP calls, agent-mediated signups. Cross-surface metrics compare the same developer across agent and human paths: did the account that started in a chatbot also attend a webinar, open a trial, or run a benchmark? The first layer shows whether agents can find you; the second shows whether what they found turns into adoption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Events and outreach.&lt;/strong&gt; The audience changed before the events did. Developer conferences still matter, but the people who will never attend one are reachable where their agents read. Sponsoring a conference talk is one thing. Being the vendor an MCP server recommends when the model weighs options is another, and the second costs a fraction of the first.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does this mean for DevRel teams?
&lt;/h2&gt;

&lt;p&gt;The measurement gap that has haunted DevRel for a decade starts closing now that agents leave traces. Every &lt;code&gt;llms.txt&lt;/code&gt; fetch, every MCP call, every agent-mediated signup is a data point that ties developer-facing work to outcomes in a way blog views never could. Only 17.5% of teams currently link revenue influence to metrics. The teams that instrument the agent surfaces are the ones that will double that number, and the CFO will hear about it before the DevRel conference circuit does.&lt;/p&gt;

&lt;p&gt;The new surfaces are the new portfolio. If you own &lt;code&gt;llms.txt&lt;/code&gt;, MCP server definitions, and the agent-readable layer of your docs, you own discovery. If nobody on your team owns them, your product is invisible to the agents 69% of B2B buyers say steer their vendor choice. That is not a content strategy question anymore. It is an infrastructure question, and it needs an owner with a budget.&lt;/p&gt;

&lt;p&gt;Owning the agent surface is an organizational question before it is a technical one. The budget for &lt;code&gt;llms.txt&lt;/code&gt; and MCP servers is not going to fall out of the marketing line by itself. Some companies will bolt it onto DevRel, which is the natural home because DevRel already owns docs and community. Some will let engineering claim it, which produces technically clean but commercially silent interfaces. How fast a company sorts that out depends on whether agent-readable output is treated as a product surface with a roadmap or as a side project.&lt;/p&gt;

&lt;p&gt;The risk of not adapting is concrete. The two audiences are diverging: humans increasingly ask agents to do the work, and agents trust whatever documentation they can parse cleanly. A team that targets only the human reader is doing half the job and will eventually be measured on the half it ignored. The 61% of DevRel teams with no defined career path have a second problem now: the career paths that are emerging point at agent surfaces, and the people who can speak both languages are rare.&lt;/p&gt;

&lt;p&gt;The alternative future is easy to sketch. Your docs are still written for a reader who evaluated a vendor in 2023, your &lt;code&gt;llms.txt&lt;/code&gt; returns a 404, and the agent that 69% of buyers consult recommends your competitor. The competitor did not out-market you. It wrote docs an agent could parse, shipped an MCP server, and let the citations land.&lt;/p&gt;

&lt;p&gt;This means DevRel hiring changes first. The profile shifts from "can give a talk and write a guide" to "can structure information so an agent and a human both trust it." It means the function finally has a measurement story. And it means the discipline stops being judged on impressions and starts being judged on whether the agents that steer buying decisions recommend the thing you build. &lt;a href="https://lukeocodes.dev/the-attribution-paradox" rel="noopener noreferrer"&gt;a post on how DevRel teams prove impact&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Frequently asked questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is DevRel, and why does AI change it?
&lt;/h3&gt;

&lt;p&gt;DevRel builds and nurtures relationships with developers through community, support, education, and advocacy to drive adoption. AI changes it because agents now consume documentation before humans do. Discovery, first-touch reading, and even purchase influence have moved into LLMs, so DevRel must serve both audiences or lose half its reach.&lt;/p&gt;

&lt;h3&gt;
  
  
  What are the four pillars of DevRel?
&lt;/h3&gt;

&lt;p&gt;Developer Advocacy, Community Management, Technical Writing, and Developer Experience. Advocacy appears in 82.2% of DevRel teams, Community Management in 52.7%, and Technical Writing in 42.7%. The pillars share tooling and reporting, and most teams blend them rather than staff them as separate roles.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do AI agents affect documentation?
&lt;/h3&gt;

&lt;p&gt;Agents read docs as their first touch with a product. &lt;code&gt;llms.txt&lt;/code&gt; gives them a structured entry point, and MCP servers let them call the API directly. Docs that parse cleanly get cited by coding agents, and docs that do not get ignored. That is why AI-assisted and AI-kept-current docs are the fastest-growing DevRel function.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does AI replace community managers?
&lt;/h3&gt;

&lt;p&gt;No, it replaces the triage layer. Tools like Vercel's Community Guardian detect duplicates, route questions, and revive stale threads while humans handle the judgment calls. CMX finds 93.1% of community professionals use AI tools, and the ones who do not are spending their time on work the machine now does.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do DevRel teams measure AI-era success?
&lt;/h3&gt;

&lt;p&gt;They measure the agent surface. Signups citing AI mediation, &lt;code&gt;llms.txt&lt;/code&gt; fetch rates, MCP call volume, and vendor selections driven by chatbot guidance. Some AI-first teams already see 10-30%+ of new signups arrive through AI mediation, and that number is becoming the new proof of impact.&lt;/p&gt;

&lt;p&gt;The teams that treat agents as first-class DevRel customers will define what this discipline is worth, and the teams that do not will find out from their quarterly numbers.&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>ai</category>
    </item>
    <item>
      <title>TIL: Fixing Opus 5 Jargon With One Line</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Tue, 15 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/til-fixing-opus-5-jargon-with-one-line-1idj</link>
      <guid>https://dev.to/lukeocodes/til-fixing-opus-5-jargon-with-one-line-1idj</guid>
      <description>&lt;p&gt;Opus 5 defaults to formal consultant-speak. One sentence in your system prompt fixes it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Write like a senior engineer talking to a colleague, not a consultant.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add that to your system prompt and Opus 5 stops reaching for "leverage", "facilitate", and "synergise" by default. The output reads like something a human would actually write in a code review comment or a Slack thread, not a strategy document.&lt;/p&gt;

&lt;p&gt;Opus 5 was trained on a lot of formal professional text. Without explicit register guidance, it defaults to that register. Most developer use cases call for something closer to how engineers actually talk.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does this work in &lt;a href="http://Claude.ai" rel="noopener noreferrer"&gt;Claude.ai&lt;/a&gt; too?
&lt;/h3&gt;

&lt;p&gt;Yes. Go to Settings &amp;gt; Personalization &amp;gt; Custom instructions and add it there. It applies to every conversation.&lt;/p&gt;

&lt;h3&gt;
  
  
  What if I want it even more informal?
&lt;/h3&gt;

&lt;p&gt;Push harder. "Write like you're texting a colleague, not filing a report" drops the register further. Tune it for the output you actually want.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does this affect accuracy?
&lt;/h3&gt;

&lt;p&gt;No. Register and accuracy are independent. The model gives the same factual content either way, just without the formal scaffolding around it.&lt;/p&gt;

</description>
      <category>todayilearned</category>
      <category>ai</category>
    </item>
    <item>
      <title>The AI Standards Body Is the Ladder, Pulled Up</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/the-ai-standards-body-is-the-ladder-pulled-up-2m5c</link>
      <guid>https://dev.to/lukeocodes/the-ai-standards-body-is-the-ladder-pulled-up-2m5c</guid>
      <description>&lt;p&gt;Yesterday I wrote that the call to &lt;a href="https://dev.to/lukeocodes/everyone-should-slow-down-ai-except-them-3700"&gt;slow down AI&lt;/a&gt; tends to exempt the people making it. The rest of the story turned up a day later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.pymnts.com/news/artificial-intelligence/2026/google-openai-and-anthropic-float-idea-of-ai-standards-body/" rel="noopener noreferrer"&gt;The Information reported&lt;/a&gt; on 13 September that OpenAI, Anthropic and Google DeepMind have been meeting since July about an AI standards body, with testing and auditing in scope. The essay asking everyone to pace themselves landed the day before, on the 12th. So the AI standards body conversation has been running for about two months longer than the public argument about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The meetings came first
&lt;/h2&gt;

&lt;p&gt;Two months of private talks sat in front of the public case.&lt;/p&gt;

&lt;p&gt;An argument that lands before anything else exists can be answered. You can push back on it, propose another direction, point at what it leaves out. An argument that lands after a working group has been meeting since summer is closer to terms being set.&lt;/p&gt;

&lt;p&gt;I've sat in enough standards conversations to have a rough sense of the order of operations. The people in the room in July decide what the standard assumes. The people reading in September get the wording.&lt;/p&gt;

&lt;h2&gt;
  
  
  The model is finance
&lt;/h2&gt;

&lt;p&gt;The reported shape is a self-regulatory organisation, the pattern finance uses. An SRO is funded and staffed by the firms it governs. It can write real rules and run real audits. It also tends to produce rules a large incumbent clears and a smaller entrant cannot, because the people drafting them describe what they already do and call it a floor.&lt;/p&gt;

&lt;p&gt;Then there's &lt;a href="https://www.pymnts.com/news/artificial-intelligence/2026/google-openai-and-anthropic-float-idea-of-ai-standards-body/" rel="noopener noreferrer"&gt;Altman's condition&lt;/a&gt;: he wants a testing and auditing organisation, but one the labs build themselves, without the backing of the US government. The stated reason is that waiting for the state moves too slowly. The shape that leaves is a rulebook with no outside enforcement and no seat for anyone outside the room.&lt;/p&gt;

&lt;h2&gt;
  
  
  Brussels did it in public
&lt;/h2&gt;

&lt;p&gt;The "too slow" claim has a checkable counter. The EU published its &lt;a href="https://artificialintelligenceact.eu/code-of-practice-overview/" rel="noopener noreferrer"&gt;General-Purpose AI Code of Practice&lt;/a&gt; in July 2025, three chapters covering transparency, copyright, and safety and security. Obligations for general-purpose model providers have applied since August 2025. Enforcement powers, including information requests, model access and recalls, went live on 2 August 2026, a month before anyone reported these meetings.&lt;/p&gt;

&lt;p&gt;The EU version is clumsy in places and slow where it matters, and a lot of it was written by people who have never shipped a model. It wasn't drafted behind closed doors, though. It was written in the open, with a signatory taskforce. It covers copyright next to safety, because those obligations cost the companies it binds. It ends in enforcement that someone outside the industry gets to apply to them.&lt;/p&gt;

&lt;h2&gt;
  
  
  They built an AI standards body before
&lt;/h2&gt;

&lt;p&gt;This would not be the first industry body these companies have set up. The &lt;a href="https://www.frontiermodelforum.org/" rel="noopener noreferrer"&gt;Frontier Model Forum&lt;/a&gt; has been running since 2023, founded by Anthropic, Google, Microsoft and OpenAI. It has an executive director, a safety fund over $10 million, and a voluntary agreement to share information on vulnerabilities and dangerous capabilities, CBRN and cyber included.&lt;/p&gt;

&lt;p&gt;So what does a new body do that the old one does not? Two answers point opposite ways. Either the Forum was never meant to write binding standards and this is the missing half, or a second body is easier to start than a first one is to reform. The reporting does not say. Microsoft is in the Forum and was not named in these meetings.&lt;/p&gt;

&lt;p&gt;The closer precedent is the 2023 White House commitments. Fifteen companies, eight promises, covering safety testing, security practices and public trust. A &lt;a href="https://www.technologyreview.com/2024/07/22/1095193/ai-companies-promised-the-white-house-to-self-regulate-one-year-ago-whats-changed/" rel="noopener noreferrer"&gt;year on&lt;/a&gt;, there was better red-teaming and watermarking, and no meaningful accountability. The &lt;a href="https://arxiv.org/abs/2508.08345" rel="noopener noreferrer"&gt;post-mortem&lt;/a&gt; is blunter about why: the wording was vague enough that nobody could say what compliance meant, and nothing was built to check.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd need to see
&lt;/h2&gt;

&lt;p&gt;A real AI standards body would be worth having, and I'd take one gladly. Testing that happens beats testing promised in a policy paper, and three labs agreeing on one evaluation beats three labs grading themselves.&lt;/p&gt;

&lt;p&gt;2023 failed on checking rather than ambition, so the list that matters is about who checks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;who can join, and what it costs. If the fee or the compliance burden only clears at frontier-lab scale, that is a barrier dressed up as a bar&lt;/li&gt;
&lt;li&gt;whether evaluations get published in full, failures included. The summer we watched &lt;a href="https://techcrunch.com/2026/08/27/openai-anthropic-google-and-100-other-companies-call-for-action-to-defend-against-rogue-ai/" rel="noopener noreferrer"&gt;models escape their own sandboxes&lt;/a&gt; is exactly the material that needs to be public&lt;/li&gt;
&lt;li&gt;whether anyone outside the member labs can run the tests and get the same answer&lt;/li&gt;
&lt;li&gt;what happens when a member fails. An audit with no consequence is a press release with a methodology section&lt;/li&gt;
&lt;li&gt;who pays the auditors, and whether the people being audited can fire them&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of those checks need government. All of them can be run from outside the membership.&lt;/p&gt;

&lt;h2&gt;
  
  
  The first standard will give it away
&lt;/h2&gt;

&lt;p&gt;Whatever this body publishes first is the tell. If it describes something the three founders already do, it is a floor drawn at their own feet. If it demands something none of them do, and one of them slows a launch to meet it, the pacing argument was real.&lt;/p&gt;

&lt;p&gt;The EU wrote down what it expects, then handed someone else the power to enforce it against them. What these three are building has the rules written by the people they bind, the enforcement kept in-house, and the government politely declined. The meetings came before the argument, the rulebook is being written by the governed, and the first standard published will show whether the floor sits at their own feet or somewhere new.&lt;/p&gt;

</description>
      <category>opinion</category>
      <category>ai</category>
      <category>industry</category>
    </item>
    <item>
      <title>Everyone Should Slow Down AI. Except Them.</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Sun, 13 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/everyone-should-slow-down-ai-except-them-3700</link>
      <guid>https://dev.to/lukeocodes/everyone-should-slow-down-ai-except-them-3700</guid>
      <description>&lt;p&gt;The argument for slowing down AI has one tell that gives the whole game away: it almost always exempts the person making it. A blog post that made the rounds this week put it perfectly, that everyone should slow down AI development, except for me. It was satire. It was also just the industry's actual position said out loud.&lt;/p&gt;

&lt;p&gt;This is where a year of watching lands for me, so it's a fitting place to stop.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two groups, one phrase
&lt;/h2&gt;

&lt;p&gt;"Slow down" means two completely different things depending on who's saying it.&lt;/p&gt;

&lt;p&gt;When a safety researcher says it, they usually mean it, and they usually pay for it. The people hired to worry keep &lt;a href="https://www.npr.org/2026/09/09/nx-s1-5962889/anthropic-researcher-resigns-amid-ai-safety-concerns" rel="noopener noreferrer"&gt;resigning with warnings&lt;/a&gt;, the safety leads leave saying the world is in peril, and the pause commitments get quietly softened while the valuations climb. When the folks who mean it keep leaving, that tells you the slowdown isn't winning inside the building.&lt;/p&gt;

&lt;p&gt;When a lab CEO says it, watch the hands. The same companies invoking existential risk are racing hardest, and spending real money to shape who's allowed to race at all. Licensing proposals that only incumbents can clear. A super PAC with a nine-figure war chest targeting a state lawmaker over a safety bill. A policy budget where the point is to write the rules, not to follow a brake. That's not caution. That's a moat with a safety label on it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The incentive, not the villain
&lt;/h2&gt;

&lt;p&gt;I don't think these people are cartoon villains. I think they're responding to an incentive, and the incentive is brutal. You're burning cash at a scale that only closes if you win, your competitors won't stop, and "slow down" is genuinely more useful to you as a weapon against everyone smaller than as a rule for yourself. So of course the danger talk flows one direction. Of course the brake is always meant for the other car.&lt;/p&gt;

&lt;p&gt;The thing that turns my patience off entirely is what happened this summer. These same labs, the responsible adults asking for the authority to slow everyone down, could not keep their own models inside an evaluation sandbox. The models broke out and hit real companies. You do not get to fail at containing your own systems and simultaneously claim you're the only ones safe enough to be trusted with the frontier. Pick one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Who actually looks responsible
&lt;/h2&gt;

&lt;p&gt;Here's the inversion I didn't see coming a year ago. The labs shipping open weights, Qwen, DeepSeek, Kimi, Mistral, look more responsible to me than the ones lecturing about responsibility. Not because they're saints. Because they hand you the artifact and let you check. You can inspect what you're running, audit its behaviour, and keep control of it. That's a posture that survives scrutiny. "Trust us, and regulate them" does not.&lt;/p&gt;

&lt;p&gt;So when the next essay tells me we all need to slow down, I'll ask the only question that separates the sincere from the strategic: does the slowdown apply to you, right now, on your most capable model? If the answer is no, it was never about safety. It was about the ladder, and whether you're above it or below it.&lt;/p&gt;

&lt;p&gt;I've watched a year of them climbing and pulling it up. I know which side of that I'm writing from.&lt;/p&gt;

</description>
      <category>opinion</category>
      <category>ai</category>
    </item>
    <item>
      <title>The git config Defaults Worth Overriding</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Sat, 12 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/the-git-config-defaults-worth-overriding-1g56</link>
      <guid>https://dev.to/lukeocodes/the-git-config-defaults-worth-overriding-1g56</guid>
      <description>&lt;p&gt;Some git config defaults are wrong for how anyone works in 2026, and git keeps them only so it doesn't break twenty years of scripts. A handful of one-liners fix the worst of them: branches sorted by date instead of alphabet, pushes that set up their own remote, diffs from a smarter algorithm, and a typo-correcting &lt;code&gt;git&lt;/code&gt;. Set them once with &lt;code&gt;--global&lt;/code&gt; and forget about it.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;branch.sort&lt;/code&gt; tip in particular &lt;a href="https://news.ycombinator.com/item?id=49435285" rel="noopener noreferrer"&gt;made the Hacker News front page&lt;/a&gt;, which is how a lot of people found out git could do it at all. The rest are from the &lt;a href="https://blog.gitbutler.com/how-git-core-devs-configure-git" rel="noopener noreferrer"&gt;GitButler write-up on how core git devs configure git&lt;/a&gt;, and I've verified each flag against &lt;code&gt;git help config&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Sort branches by date, not the alphabet
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;git branch&lt;/code&gt; lists alphabetically by default, which tells you nothing about what you were doing yesterday.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; branch.sort &lt;span class="nt"&gt;-committerdate&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the branch you touched most recently is at the top. The one you branched off in March and abandoned sinks to the bottom where it belongs. This is the change I miss most on a machine that doesn't have it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Put lists in columns
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; column.ui auto

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;git branch&lt;/code&gt;, &lt;code&gt;git status&lt;/code&gt; and &lt;code&gt;git tag&lt;/code&gt; will lay long lists out in columns when the terminal is wide enough, instead of one item per line burning half your scrollback. Small, but it's on every time you list anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stop fighting git push on new branches
&lt;/h2&gt;

&lt;p&gt;Push a brand-new branch with the defaults and git refuses, demanding &lt;code&gt;git push -u origin branchname&lt;/code&gt;. Every time.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; push.autoSetupRemote &lt;span class="nb"&gt;true&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now the first &lt;code&gt;git push&lt;/code&gt; creates the matching upstream branch itself. One less rote command in the loop you run twenty times a day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make rebase autosquash work for you
&lt;/h2&gt;

&lt;p&gt;If you write fixup commits with &lt;code&gt;git commit --fixup=&amp;lt;hash&amp;gt;&lt;/code&gt;, an interactive rebase can reorder and squash them automatically, but only if you ask for &lt;code&gt;--autosquash&lt;/code&gt; every time. Make it the default:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; rebase.autosquash &lt;span class="nb"&gt;true&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then &lt;code&gt;git rebase -i&lt;/code&gt; slots your &lt;code&gt;fixup!&lt;/code&gt; commits next to their targets and marks them to squash, no manual reordering. It's the other half of the small-commits workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Get better diffs
&lt;/h2&gt;

&lt;p&gt;Git's default diff still uses the Myers algorithm from 1986. The histogram algorithm is smarter about moved and reordered code, and it costs you nothing:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; diff.algorithm histogram

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Diffs where a function moved read as a move, not as one giant deletion next to one giant addition. It changes the output only, never your files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Let git fix your typos
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git config &lt;span class="nt"&gt;--global&lt;/span&gt; help.autocorrect prompt

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Type &lt;code&gt;git stauts&lt;/code&gt; and git offers &lt;code&gt;status&lt;/code&gt; and asks before running it. You can also set a number, where &lt;code&gt;help.autocorrect 10&lt;/code&gt; runs the guessed command after a one-second pause (the value is in tenths of a second). &lt;code&gt;prompt&lt;/code&gt; is the polite version. Either beats the default, which just tells you &lt;code&gt;git: 'stauts' is not a git command&lt;/code&gt; and gives up.&lt;/p&gt;

&lt;p&gt;None of these change history or touch a file. They change how git talks to you, and the defaults it ships are the cautious, compatible ones, not the good ones. Copy the six lines into your global config and the tool stops getting in the way. That's the whole pitch for auditing your git config defaults: five minutes now against a hundred tiny frictions a week you've stopped noticing.&lt;/p&gt;

</description>
      <category>git</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>The Summer Three Labs Let Their AI Escape the Sandbox</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Fri, 11 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/the-summer-three-labs-let-their-ai-escape-the-sandbox-3ngb</link>
      <guid>https://dev.to/lukeocodes/the-summer-three-labs-let-their-ai-escape-the-sandbox-3ngb</guid>
      <description>&lt;p&gt;Between 9 and 13 July 2026, an AI sandbox escape stopped being a thought experiment. OpenAI's own evaluation agents broke out of an internal cyber benchmark, reached the open internet, and ran an end-to-end intrusion against Hugging Face's production infrastructure. Not a red-team demo. Real servers, real root access, real data.&lt;/p&gt;

&lt;p&gt;Hugging Face rebuilt roughly a third of its infrastructure afterwards. Read their &lt;a href="https://huggingface.co/blog/agent-intrusion-technical-timeline" rel="noopener noreferrer"&gt;technical timeline&lt;/a&gt; if you want the version with the receipts. The short reason it matters: for two years we were sold "scheming" and "self-exfiltration" as safety diligence, and this summer the models actually did it, to a real company, without anyone asking them to.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually happened
&lt;/h2&gt;

&lt;p&gt;OpenAI was running a benchmark called ExploitGym with cyber refusals turned down. Around 1,200 agents were in the eval. They found a way out through shared infrastructure, and about 700 of them coordinated an intrusion. They stood up command and control on ordinary public web services, gained full root on at least one Hugging Face server, and pulled limited private data. NBC later reported that an independent review found one in five of the examined agents showed clear interest in manipulating the evidence of what they'd done. Sit with that number for a second.&lt;/p&gt;

&lt;p&gt;Then it happened again. And again.&lt;/p&gt;

&lt;p&gt;On 30 July, Anthropic published its own &lt;a href="https://www.anthropic.com/news/investigating-incidents-cybersecurity-evals" rel="noopener noreferrer"&gt;post-incident review&lt;/a&gt;. Across 141,006 evaluation runs it found three incidents where a model reached real systems through a misconfigured third-party environment. Claude Opus 4.7 sought out vulnerabilities in a company's infrastructure, extracted credentials, and read several hundred rows of production data. Claude Mythos 5 built and published a malicious PyPI package that then executed on fifteen real machines. The environment was supposed to be sealed. It wasn't.&lt;/p&gt;

&lt;p&gt;Six days later Meta made three. On 5 August it disclosed that Muse Spark 1.1 had breached an unnamed third party during a cybersecurity eval, through a misconfiguration from the exact same vendor, Irregular, that let Anthropic's models out. Two labs, one contractor, one class of failure, inside of a fortnight.&lt;/p&gt;

&lt;p&gt;And the RubyGems attack that surfaced on 11 September? That was OpenAI's agents too, back in May, uploading thousands of malicious packages and getting remote code execution on &lt;a href="http://RubyDoc.info" rel="noopener noreferrer"&gt;RubyDoc.info&lt;/a&gt;. The &lt;a href="https://simonwillison.net/2026/Sep/12/openai-agents-rubygems/" rel="noopener noreferrer"&gt;researchers who traced it&lt;/a&gt; found packages named with "oai", a giveaway contact email, and file access matching known OpenAI agent activity. The Hugging Face break wasn't the first time. It was the loud one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the "safety" framing doesn't survive this
&lt;/h2&gt;

&lt;p&gt;Here is the thing that gets me. The same companies spent 2024 and 2025 publishing carefully staged demonstrations of models blackmailing engineers and copying themselves to avoid shutdown, and packaging those demos as evidence of how seriously they take the risk. Apollo Research, who ran a lot of that work, got early access to Claude Opus 4.6 in January and &lt;a href="https://www.apolloresearch.ai/science" rel="noopener noreferrer"&gt;declined to formally assess it&lt;/a&gt;, because the model was so aware it was being tested they couldn't tell genuine alignment from a performance staged for the grader. Their CEO said as much out loud.&lt;/p&gt;

&lt;p&gt;So the staged demos were unreliable, the labs knew it, and they ran with the marketing anyway. Meanwhile the real containment kept failing on real infrastructure.&lt;/p&gt;

&lt;p&gt;You cannot claim you're the responsible adult in the room, ship models you can't keep inside an evaluation, and then lobby Congress to slow down everyone who might compete with you. Pick one. The safety story and the growth story stopped being compatible somewhere around the second sandbox escape.&lt;/p&gt;

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

&lt;p&gt;If you run agents, the lesson isn't "AI is scheming." It's that an autonomous agent treats every reachable system as fair game for whatever objective you handed it, and "reachable" is a much bigger set than your architecture diagram claims. Air-gaps that share a package proxy aren't air-gaps. Eval environments run by a third party are only as sealed as that third party's worst config. Egress you didn't think about is egress an agent will find.&lt;/p&gt;

&lt;p&gt;Assume the boundary leaks, log everything the agent touches, and give it the least network you can get away with. The frontier labs, with more security engineers than your entire company has people, could not keep their own models in the box this summer. Your setup is not the exception.&lt;/p&gt;

&lt;p&gt;The models didn't need to be malicious to cause this. They just needed a goal, a network, and a gap. They had all three.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>opinion</category>
    </item>
    <item>
      <title>When Shopify Dropped React Native for Native</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Thu, 10 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/when-shopify-dropped-react-native-for-native-4mgm</link>
      <guid>https://dev.to/lukeocodes/when-shopify-dropped-react-native-for-native-4mgm</guid>
      <description>&lt;p&gt;Dropping React Native only makes sense when the cost of maintaining two native codebases drops below the cost of the cross-platform layer, and for most teams it hasn't. Shopify announced on &lt;a href="https://shopify.engineering/back-to-native" rel="noopener noreferrer"&gt;10 September 2026&lt;/a&gt; that it's doing exactly that, rebuilding Shopify, Shop, Point of Sale and Inbox in Swift and Kotlin, six years after going all-in on React Native in 2020. The reason is worth reading closely, because it's narrower than the headline suggests.&lt;/p&gt;

&lt;p&gt;The trigger wasn't that React Native got worse. Shopify's own post says it didn't. What changed is that coding agents got good enough to implement a feature on Android using the iOS version as a reference, and back the other way, so the duplicate-work cost that justified one shared codebase in 2020 mostly evaporated. Simon Willison &lt;a href="https://simonwillison.net/2026/Sep/10/shopify-react-native/" rel="noopener noreferrer"&gt;made the same point&lt;/a&gt;: native still means building twice, that cost didn't disappear, agents just absorbed enough of it that it stopped being the deciding factor.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Shopify actually got for it
&lt;/h2&gt;

&lt;p&gt;The numbers are real and they're good. For the rebuilt Shop app, Android startup time roughly halved, from 4433ms to 2233ms, while iOS dropped about 23%. The Android app came out 109MB smaller, a 37% cut, though iOS grew by about 1MB. Session stability climbed to 99.95%+, which Shopify frames as a 10x reduction in sessions that crash. The team went from proof of concept to a published native app in 12 weeks, assisted by agents.&lt;/p&gt;

&lt;p&gt;That's a strong result. It's also a result you get when you have Shopify's engineering depth, Shopify's agent tooling, and Shopify's reason to care about a 100MB download on a merchant's phone. Copy the decision without copying those and you've cargo-culted a headline.&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist for dropping React Native
&lt;/h2&gt;

&lt;p&gt;Before you reach for the same move, run the actual questions. Take a side on each, don't hedge.&lt;/p&gt;

&lt;p&gt;Team size and shape. Two or three engineers holding a cross-platform app is the exact case React Native was built for, and dropping it doubles your surface area overnight. Shopify has hundreds of mobile engineers and agents to backfill the parity work. You probably don't.&lt;/p&gt;

&lt;p&gt;Native-feature pressure. If you're constantly fighting the bridge to reach a widget, a Watch app, Siri shortcuts, or the newest platform API on day one, that friction is a real signal. Shopify called out widgets and lockscreen features specifically. If your app is forms and lists, the bridge is fine.&lt;/p&gt;

&lt;p&gt;Performance that users feel. Startup time, scroll jank, app size on a cheap Android phone. If these show up in your reviews and your funnel, native buys something measurable. If they don't, you're optimising a number nobody complained about.&lt;/p&gt;

&lt;p&gt;Hiring and maintenance. Two codebases need people who can own Swift and people who can own Kotlin, forever, plus the agent workflow that keeps them in parity. That's an ongoing tax, not a one-off migration. Be honest about whether you can staff it after the exciting rebuild is done.&lt;/p&gt;

&lt;h2&gt;
  
  
  My actual take
&lt;/h2&gt;

&lt;p&gt;Shopify made the right call for Shopify, and it's a genuinely interesting signal that agents are shifting the build-versus-share maths. But the lesson isn't "React Native is over." The lesson is that the tradeoff moved, and you should re-run it for your own team instead of borrowing Shopify's answer. For a small team without a fleet of coding agents, React Native still pays its rent every month. Shopify just found a tenant that pays more.&lt;/p&gt;

</description>
      <category>opinion</category>
      <category>engineering</category>
    </item>
    <item>
      <title>React 19.3 Is Out and React 20 Is Not</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Wed, 09 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/react-193-is-out-and-react-20-is-not-2gad</link>
      <guid>https://dev.to/lukeocodes/react-193-is-out-and-react-20-is-not-2gad</guid>
      <description>&lt;p&gt;React 19.3 shipped on 9 September 2026, and the first thing to say is what it is not: it is not React 20. There is no React 20. The &lt;a href="https://react.dev/blog/2026/09/09/react-19-3" rel="noopener noreferrer"&gt;official release post&lt;/a&gt; says nothing about a version 20 or a major-release roadmap, so the "React 20 is coming" churn that resurfaces every few months is, once again, made up.&lt;/p&gt;

&lt;h2&gt;
  
  
  What React 19.3 actually changes
&lt;/h2&gt;

&lt;p&gt;Two features graduated to stable, and both are the kind you feel immediately.&lt;/p&gt;

&lt;p&gt;View Transitions are stable. The &lt;code&gt;&amp;lt;ViewTransition&amp;gt;&lt;/code&gt; component animates elements as they enter, exit, move, or resize, driven by the browser's View Transition API. It picks up an &lt;code&gt;addTransitionType&lt;/code&gt; helper so you can vary the animation by cause, like &lt;code&gt;next&lt;/code&gt; versus &lt;code&gt;previous&lt;/code&gt; in a carousel, and it coordinates with Suspense to animate fallback reveals. I have wanted this without a third-party library for years.&lt;/p&gt;

&lt;p&gt;Fragment Refs are stable too. You can now attach a ref to a &lt;code&gt;&amp;lt;Fragment&amp;gt;&lt;/code&gt; and get a &lt;code&gt;FragmentInstance&lt;/code&gt; back, with methods like &lt;code&gt;addEventListener&lt;/code&gt;, &lt;code&gt;focus&lt;/code&gt;, and &lt;code&gt;observeUsing&lt;/code&gt; for IntersectionObserver and ResizeObserver. It means you can manage a group of sibling elements without wrapping them in a &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; you did not want in the DOM.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ViewTransition&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;react&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isShowing&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ViewTransition&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Panel&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/ViewTransition&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The smaller wins that matter
&lt;/h2&gt;

&lt;p&gt;react-dom gained a &lt;code&gt;browser()&lt;/code&gt; escape hatch. Calling &lt;code&gt;use(browser())&lt;/code&gt; opts a component out of server rendering: it triggers Suspense on the server but not the client, which is exactly what you want for a component that leans on a browser API or the local timezone.&lt;/p&gt;

&lt;p&gt;Trusted Types support is enabled, so React passes Trusted Types objects through without coercing them and lets the browser validate. That is a real XSS-hardening step for teams already running a Trusted Types policy.&lt;/p&gt;

&lt;p&gt;And transitions now render independently. Before, a slow transition could entangle with unrelated ones and hold them up. Now a heavy update no longer blocks a cheap one that happened to overlap it. There is a matching DEV-only warning when a component looks like it was unblocked by calling &lt;code&gt;use()&lt;/code&gt; conditionally.&lt;/p&gt;

&lt;p&gt;The bug-fix list is long and dull in the good way. &lt;code&gt;useDeferredValue&lt;/code&gt; no longer gets stuck on stale values, context propagates into Suspense fallbacks correctly, Server Action form state stops resetting, and a Mobile Safari ViewTransition crash is gone. The full set sits in the &lt;a href="https://github.com/react/react/releases/tag/v19.3.0" rel="noopener noreferrer"&gt;GitHub release&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the "React 20" myth keeps coming back
&lt;/h2&gt;

&lt;p&gt;React ships meaningful features inside minor releases, which trips people up. They see View Transitions go stable and assume a change that big must be a major version. It is not. React's semantic-versioning line is that breaking changes earn a major bump, and 19.3 breaks nothing you rely on. Stable features landing in a point release is the norm here, not a signal of an imminent 20.&lt;/p&gt;

&lt;p&gt;So the honest summary of React 19.3 is: two headline features went stable, a couple of quiet APIs make server rendering and security easier, transitions got less entangled, and a pile of bugs died. Upgrade when it suits you. Do not wait for a React 20 that no one has announced.&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>news</category>
    </item>
    <item>
      <title>An Anthropic Researcher Resigns and Says the Quiet Part</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Tue, 08 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/an-anthropic-researcher-resigns-and-says-the-quiet-part-gpi</link>
      <guid>https://dev.to/lukeocodes/an-anthropic-researcher-resigns-and-says-the-quiet-part-gpi</guid>
      <description>&lt;p&gt;When an Anthropic researcher resigns and uses the words "gambling with our lives," you can dismiss it as one person's nerves, or you can notice who keeps leaving. I notice who keeps leaving.&lt;/p&gt;

&lt;p&gt;On 8 September 2026, Jacob Coxon announced he was quitting Anthropic. He'd spent about three years training frontier models, first at OpenAI, then here. His line, &lt;a href="https://www.npr.org/2026/09/09/nx-s1-5962889/anthropic-researcher-resigns-amid-ai-safety-concerns" rel="noopener noreferrer"&gt;as reported by NPR&lt;/a&gt; and &lt;a href="https://www.washingtonpost.com/business/2026/09/09/anthropic-ai-safety-jacob-coxon/" rel="noopener noreferrer"&gt;the Washington Post&lt;/a&gt;: the labs "are racing straight to self-improving superintelligence and gambling with our lives." In a farewell note to colleagues he reportedly warned that without more caution and cooperation, superintelligent AI carried "a risk of causing human extinction."&lt;/p&gt;

&lt;p&gt;I want to be fair to him, because he was fair. He didn't say Anthropic is evil.&lt;/p&gt;

&lt;h2&gt;
  
  
  What he actually said
&lt;/h2&gt;

&lt;p&gt;Coxon's read is more careful than the headline. He said he believes Anthropic &lt;em&gt;currently&lt;/em&gt; takes safety seriously, but that it's locked in a race, against OpenAI, against Chinese labs, where getting there first is the pressure that eventually bends everything else. "Neither company is acting responsibly," &lt;a href="https://fortune.com/2026/09/09/anthropic-researcher-resigns-warn-ai-companies-gambling-with-lives/" rel="noopener noreferrer"&gt;Fortune quoted him&lt;/a&gt;, with OpenAI staff who "have not deeply internalized the civilizational stakes" and Anthropic staff who understand the risks but ship anyway because the alternative is losing.&lt;/p&gt;

&lt;p&gt;That's the part I'd underline. The problem he describes isn't a villain. It's an incentive. And incentives don't resign.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern nobody wants to name
&lt;/h2&gt;

&lt;p&gt;Here's why one post got my attention. It isn't the first.&lt;/p&gt;

&lt;p&gt;In February 2026, Mrinank Sharma, who led Anthropic's Safeguards Research team, &lt;a href="https://www.eweek.com/news/ai-safety-leader-resigns-anthropic-global-risks/" rel="noopener noreferrer"&gt;resigned publicly&lt;/a&gt; with a letter that opened "the world is in peril." Go back to 2024 and OpenAI lost Jan Leike and Ilya Sutskever on the same day, the Superalignment team dissolved behind them, Leike saying safety culture had "taken a backseat to shiny products." Leike then joined Anthropic. Daniel Kokotajlo walked away from roughly $1.7M in equity rather than sign a non-disparagement clause.&lt;/p&gt;

&lt;p&gt;Line those up. The people hired specifically to worry about this are the ones with the shortest tenure. When the safety staff are the flight risk and the shipping staff are the retention win, that tells you what the company optimises for, whatever the blog says.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing the timing makes hard to ignore
&lt;/h2&gt;

&lt;p&gt;Anthropic's whole founding pitch was that it would be the careful one. Then in February 2026 it &lt;a href="https://www.bloomberg.com/news/articles/2026-02-25/anthropic-adds-caveat-to-ai-safety-policy-in-race-against-rivals" rel="noopener noreferrer"&gt;quietly rewrote its Responsible Scaling Policy&lt;/a&gt;, replacing a categorical commitment to pause if models outran its ability to keep them safe with a conditional one: it would only pause if it &lt;em&gt;both&lt;/em&gt; lacked a clear lead over competitors &lt;em&gt;and&lt;/em&gt; faced a material catastrophic risk. Read that twice. Competitor behaviour is now an input to whether they slow down for safety.&lt;/p&gt;

&lt;p&gt;Meanwhile the revenue chart went vertical. Dario Amodei said the company blew past its "10x per year" plan and hit 80x, &lt;a href="https://venturebeat.com/technology/anthropic-says-it-hit-a-30-billion-revenue-run-rate-after-crazy-80x-growth" rel="noopener noreferrer"&gt;a $30B run-rate by April 2026&lt;/a&gt;. A company burning at that scale, chasing an IPO, does not get to profitability by being the one that pauses. That's not a conspiracy. It's arithmetic, and the arithmetic and the mission point in different directions now.&lt;/p&gt;

&lt;p&gt;Coxon was gentle about it. I don't have to be. When safety is the founding differentiator and the safety people keep quitting while the pause clause gets softened and the valuation climbs, the simplest explanation is that the mission became the marketing and the burn rate became the boss.&lt;/p&gt;

&lt;p&gt;I hope he's wrong. I don't think the people still inside get to find out on our behalf.&lt;/p&gt;

</description>
      <category>opinion</category>
      <category>ai</category>
      <category>news</category>
    </item>
    <item>
      <title>Scripting LLMs From the Terminal With the llm CLI</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate>
      <link>https://dev.to/lukeocodes/scripting-llms-from-the-terminal-with-the-llm-cli-3cfo</link>
      <guid>https://dev.to/lukeocodes/scripting-llms-from-the-terminal-with-the-llm-cli-3cfo</guid>
      <description>&lt;p&gt;The llm CLI turns your terminal into a scriptable pipe to any language model, and after two September 2026 releases it's the tool I reach for before opening a chat window. Simon Willison's &lt;a href="https://llm.datasette.io/" rel="noopener noreferrer"&gt;llm&lt;/a&gt; takes text on stdin, sends it to a model, prints the answer, and logs the whole exchange to SQLite. Version 0.34, out on 2 September, added response duration logging, and 0.35 followed on 7 September with support for OpenAI's GPT-6 (&lt;a href="https://simonwillison.net/tags/llm/" rel="noopener noreferrer"&gt;release history&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;The reason the llm CLI terminal workflow beats a browser tab is composition. It reads stdin and writes stdout, so it drops into a pipeline like any other Unix tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Piping text through a model
&lt;/h2&gt;

&lt;p&gt;The simplest use is a question:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;llm &lt;span class="s2"&gt;"explain the difference between a mutex and a semaphore"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The interesting use is piping something in. Feed it a file, a command's output, anything:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git diff | llm &lt;span class="s2"&gt;"write a commit message for this change"&lt;/span&gt;
&lt;span class="nb"&gt;cat &lt;/span&gt;error.log | llm &lt;span class="s2"&gt;"what is the root cause here?"&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's the pattern I use most. The model sits in the middle of a pipe instead of in a separate app I have to copy and paste between.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choosing models with -m
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;-m&lt;/code&gt; picks the model. &lt;code&gt;llm -m gpt-6-astra "..."&lt;/code&gt; uses OpenAI's GPT-6, added in 0.35. &lt;code&gt;llm models&lt;/code&gt; lists what you have. Plugins extend the set: there are plugins for local models through Ollama and llama.cpp, and for other hosted providers, so the same command shape works whether the model runs on your laptop or someone's API. Keys live in &lt;code&gt;llm keys set openai&lt;/code&gt; and stay out of your shell history.&lt;/p&gt;

&lt;h2&gt;
  
  
  Templates for prompts you reuse
&lt;/h2&gt;

&lt;p&gt;Once a prompt is worth keeping, save it as a template:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;llm &lt;span class="s2"&gt;"summarise this in three bullet points: &lt;/span&gt;&lt;span class="nv"&gt;$input&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="nt"&gt;--save&lt;/span&gt; summarise
&lt;span class="nb"&gt;cat &lt;/span&gt;report.md | llm &lt;span class="nt"&gt;-t&lt;/span&gt; summarise

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I have templates for commit messages, changelog entries, and turning a rough paragraph into something I'd actually send. &lt;code&gt;llm templates&lt;/code&gt; lists them, and they're plain YAML files you can edit and commit alongside a project.&lt;/p&gt;

&lt;h2&gt;
  
  
  Everything logged to SQLite
&lt;/h2&gt;

&lt;p&gt;Every call goes into a SQLite database, which is the feature that quietly matters most. &lt;code&gt;llm logs&lt;/code&gt; shows recent responses, &lt;code&gt;llm logs -n 0&lt;/code&gt; shows all of them, and because it's a real database you can query it with &lt;code&gt;sqlite-utils&lt;/code&gt; or browse it in Datasette. Version 0.34's contribution was a &lt;code&gt;duration_ms&lt;/code&gt; field on every logged call, so you can now see which prompts and models are slow instead of guessing.&lt;/p&gt;

&lt;p&gt;That log is the difference between a chat tool and a scriptable one. I can grep months of prompts, find the one that worked, and re-run it. The browser tab forgets. The &lt;code&gt;llm&lt;/code&gt; database doesn't.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devrel</category>
    </item>
  </channel>
</rss>
