Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
151988 stories
·
33 followers

Fructose Isn't Just Sugar. It Acts More Like a Hormone

1 Share
Slashdot reader smazsyr writes: A new review says we've had fructose wrong for decades. The nine authors, led by Richard Johnson at the University of Colorado Anschutz, argue that fructose "is not just another calorie." It is a signal. It tells the liver to make fat and brace for a famine that never comes. That made sense for a bear fattening up on autumn berries. It makes less sense for a person drinking soda in March. The review reframes the WHO's sugar guideline, argues ScienceBlog.com, as "less a recommendation about calories and more a warning about a signalling molecule we have been dosing ourselves with, several times a day, for most of a century."

Read more of this story at Slashdot.

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

How to Use Opus 4.7 and the New Codex

1 Share
From: AIDailyBrief
Duration: 20:30
Views: 2,304

OpenAI Codex adds Mac computer control, an in‑app browser with comment mode, native image generation, rich file previews, and persistent background threads. Anthropic Opus 4.7 improves reasoning and design over 4.6 while not matching the Mythos preview. Monothread chief‑of‑staff patterns and heartbeat automations enable long‑lived context, background monitoring, and higher‑level delegation for knowledge work.

The AI Daily Brief helps you understand the most important news and discussions in AI.
Subscribe to the podcast version of The AI Daily Brief wherever you listen: https://pod.link/1680633614
Get it ad free at http://patreon.com/aidailybrief
Learn more about the show https://aidailybrief.ai/

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Why Anthropic is keeping Claude Mythos Preview unreleased

1 Share
From: GitHub
Duration: 1:09
Views: 1,360

Anthropic just announced Project Glasswing to help secure critical open-source software infrastructure. Their unreleased AI model, Claude Mythos Preview, is finding decades-old vulnerabilities in projects like OpenBSD and FFmpeg. To prevent bad actors from exploiting these flaws, Anthropic is committing millions to defensive security efforts. Watch to learn why this model won't be publicly available and what it means for developers.

#Anthropic #Claude #Mythos

Stay up-to-date on all things GitHub by connecting with us:

YouTube: https://gh.io/subgithub
Blog: https://github.blog
X: https://twitter.com/github
LinkedIn: https://linkedin.com/company/github
Insider newsletter: https://resources.github.com/newsletter/
Instagram: https://www.instagram.com/github
TikTok: https://www.tiktok.com/@github

About GitHub
It’s where over 180 million developers create, share, and ship the best code possible. It’s a place for anyone, from anywhere, to build anything—it’s where the world builds software. https://github.com

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Anthropic, OpenAI, Google, and Microsoft agree that the harness is the product. They disagree on the price.

1 Share
Illustration of a hand moving a black knight on a chessboard to topple a white king, with other pieces scattered around, symbolizing the strategic maneuvering among frontier AI labs competing to define and monetize the agent harness layer.

On March 30, Sycamore announced a $65 million seed round to build what its founder calls an operating system for autonomous enterprise AI. On April 8, Anthropic launched Managed Agents in public beta at eight cents per session hour. Seven days later, OpenAI shipped its own model-native harness as an update to the open-source Agents SDK, with no additional first-party runtime fee beyond standard API and tool pricing.

Three moves in sixteen days, each betting on the same observation about the market. The harness is now the product. But the labs disagree, sharply and publicly, on how that product should be sold.

Anthropic has added a separately billed runtime on its own infrastructure. Google and Microsoft have packaged the layer for consumption across sessions, memory, code execution, and tool use. OpenAI is giving the runtime away as open source and charging only for the model and tool calls that already have meters. The category is forming fast, and the business model is not.

The harness is now the product. But the labs disagree, sharply and publicly, on how that product should be sold.

What a harness is, and why it became a market

The word “harness” entered wide circulation in February, when OpenAI published an engineering blog post describing how a small team shipped a million-line production system in which zero lines of code were written by human hands. The term stuck because it named a real discipline that teams had been practicing without a label. Martin Fowler canonized it in early April with a long essay that defines harness engineering as everything surrounding an AI model, except the model itself.

A harness is the control layer around an agent that helps it operate reliably in production. It typically covers model invocation and context management, tool orchestration, sandboxed execution, persistent session and execution state, scoped permissions, error recovery, observability, and tracing. In that sense, it is analogous to the production infrastructure around containers: not the model itself, but the surrounding system that makes long-running agents safe, debuggable, and dependable.

For the last 18 months, cloud and framework vendors have offered partial managed components of this layer, but most teams shipping production agents still had to assemble too much themselves. Startups raised money to sell a ready-made version. Internal platform teams built their own from open-source parts. The harness became a market because the available pieces did not yet add up to a clean answer.

What Anthropic shipped, and what it costs

Managed Agents is Anthropic’s answer to that gap, packaged as a beta API on the Claude Platform. Developers define the agent, tools, and guardrails, and Anthropic runs the execution environment with long-running sessions that stretch across multiple hours, sandboxed code execution, scoped permissions, end-to-end tracing, and MCP-based connections to third-party services.

The launch customers carry weight. Notion uses Managed Agents to run dozens of parallel delegation tasks. Rakuten deployed specialist agents across product, sales, marketing, finance, and HR. Sentry built an agent that takes a flagged bug and turns it into an open pull request without a human in between. Asana integrated the service into its AI Teammates feature, and Atlassian signed up as a launch customer.

Pricing is transparent in its comparison. Standard Claude Platform token rates apply to all model inference, with a usage-based fee of eight cents per session hour while the session is running. Multi-agent orchestration, self-evaluating outcomes, and long-term memory sit behind a separate research preview access request, meaning three of the most interesting capabilities are gated.

Anthropic also ships a Claude Agent SDK for programmatic building, so the managed-versus-open distinction runs between products rather than strictly between companies. But Managed Agents, the April 8 launch piece, is hosted only on Anthropic’s infrastructure.

What OpenAI shipped, and what it costs

Seven days later, OpenAI shipped a different bet. The updated open-source Agents SDK adds a model-native harness and native sandbox execution, with configurable memory, sandbox-aware orchestration, Codex-style filesystem tools, and standardized MCP integrations. It targets long-horizon agents running across multiple hours and many tool calls, the same use case that Managed Agents target.

The delivery model is the inversion of Anthropic’s. OpenAI does not run the compute. Developers bring their own through a Manifest abstraction that supports seven sandbox providers, including Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, and Vercel, with storage across S3, GCS, Azure Blob, and Cloudflare R2. Externalized state lets runs survive a lost sandbox container, with snapshotting rehydrating the run in a new one. The harness coordinates, but the infrastructure belongs to the developer.

The pricing line is where the comparison sharpens. OpenAI’s announcement says the new capabilities use standard API pricing based on tokens and tool use, with no separate first-party runtime fee and no session-hour meter. The SDK itself is free and open source. The developer still pays real money for sandbox compute and storage to whichever providers they choose, so the total cost is not zero, but OpenAI has declined to add a runtime line item of its own. Depending on the workload shape, the total cost can land on either side of Anthropic’s bundled model.

OpenAI was explicit about why. Its announcement framed managed agent APIs as simplifying deployment at the cost of constraining where agents run and how they access sensitive data. That is a direct public disagreement with the path Anthropic, Google, and Microsoft have chosen.

The labs agree on owning the layer. They disagree on how to bill it.

Google lists Vertex AI Agent Engine as a fully managed runtime with sessions, memory, code execution, and observability, each billed as a separate consumption line rather than a single per-hour fee. Microsoft ships Foundry Agent Service with consumption-based billing across models and tools, with specific session metering on tools like Code Interpreter rather than on the platform as a whole. AWS announced in February that it will co-create a Stateful Runtime Environment with OpenAI, available through Bedrock in the coming months, alongside Bedrock AgentCore as the runtime primitives layer.

Each of these is a different pricing shape. Anthropic bundles compute, state, and orchestration into a session-hour fee. Google meters components separately, while Microsoft meters by model and tool. AWS will add another managed path once the OpenAI runtime ships. OpenAI’s first-party answer skips the runtime meter entirely.

The five vendors agree that the layer matters and that they want to own it. They disagree on whether that offering is a hosted service with its own meter, a collection of priced primitives, or an open-source SDK carried by model revenue. That disagreement is not a stalemate. It is a deliberate strategic divergence.

The middleware arc, with a split running through it

Cloud infrastructure has seen this split before, and the outcome was not a clean absorption. Terraform remained open-source alongside AWS CloudFormation’s managed offering. Kubernetes remained open-source and became the de facto standard even as AWS, Google, and Microsoft shipped managed container services. In both cases, open source did not eliminate managed, and managed did not kill open source. They coexisted because they served genuinely different buyer profiles.

The lesson is that when one vendor ships free, open-source software and others ship paid, managed software, the market tends to split on infrastructure preferences rather than collapse. Teams that want hosted convenience go to the managed service. Teams that want control, portability, or multi-cloud flexibility go to the open-source stack. Both sustained real businesses in the cloud era.

What does change is the economics for independents selling a horizontal version of the layer. A free model-native harness from OpenAI puts more pricing pressure on independent frameworks than a paid managed service ever could. The cloud pattern is starting to run here, but with two compressions happening in parallel.

What this means for startups that filled the gap

My read is that the risk profile for harness startups just got more specific. Sycamore’s pitch to Coatue and Lightspeed focused on trust, governance, and control in enterprise AI, with multi-model support baked in. That pitch is genuinely defensible against both the Anthropic-managed path and the OpenAI open-source path, because it targets a buyer who cares about independence from any single lab. Sycamore does not look like the vulnerable archetype here.

The archetype most exposed by these launches, as I see it, is the horizontal orchestration framework. LangChain, CrewAI, and VoltAgent compete more directly now with a free, model-native, well-supported harness from the lab whose models they depend on. The performance argument that model-agnostic frameworks have been making, that flexibility beats vendor lock-in, gets harder to land when the vendor in question is giving away an open-source harness that is better-aligned with its frontier models. The ones still pitching a horizontal model-agnostic orchestration layer to enterprise buyers probably have the harder conversation ahead.

Startups selling paid managed platforms face the squeeze from Anthropic, Google, and Microsoft. The strategic answer to both pressures looks the same to me. Differentiate into governance, compliance, vertical depth, or multi-model control, or compete on price against free on one side and bundled on the other.

What this means for teams that built their own

The build-versus-buy calculus has two new reference points. Teams that want bundled infrastructure can benchmark their internal harness against Anthropic Managed Agents at eight cents per session hour plus tokens. Teams that already run their own infrastructure can benchmark against OpenAI’s SDK with no additional first-party runtime fee, in addition to whatever they pay their sandbox and storage providers. Different teams will find different benchmarks relevant, but neither existed a month ago.

For teams still in the prototype phase, building the scaffolding from scratch got harder to defend overnight. The infrastructure work that used to be differentiated engineering is now a service available through an API or a free SDK. For teams already in production, the internal system might still be more tuned to the workload. But the team maintaining it is now competing with a category that four frontier labs are actively investing in, which will make that work evolve more slowly, less prestigious, and harder to recruit for.

Build is still a valid choice. It just has to beat both benchmarks now, on workload fit and on team sustainability, rather than neither.

What’s next

The harness was supposed to be the moat. For eighteen months, most teams shipping production agents built or assembled their own, and that work was the differentiation. The frontier labs have collectively decided not to sell model access and watch someone else capture the margin above it, but they have split on how to capture it themselves. Three of them charge for the runtime in one shape or another. One is giving the harness away and betting on model loyalty instead.

The harness was supposed to be the moat.

The question to watch is which business model wins, or whether the market sustains all of them. OpenAI’s bet is that a free, open-source, model-native harness drives more model consumption than a paid managed runtime ever would, and that the Bedrock partnership covers enterprises that want hosted. Anthropic is betting on a paid, fully managed version, while Google and Microsoft are betting on packaging priced primitives within a broader platform. Not all of these can be right at the same scale, and the startups watching from outside need to know which way the volume moves before they commit to their differentiation strategy. Stay tuned as I decode the concepts of the agent harness and the runtime, which are constantly evolving.

The post Anthropic, OpenAI, Google, and Microsoft agree that the harness is the product. They disagree on the price. appeared first on The New Stack.

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

The Evolution of My Coding Journey: From Pascal to AI

1 Share

Looking back at my coding journey, it’s remarkable how much the experience has evolved. From typing Pascal in a bare terminal to collaborating with AI, each stage brought new tools, abstractions, and possibilities. This article walks through the major technology stages that shaped my development career and how each one raised the bar on productivity, user experience, and software quality.

Pascal in a Terminal (No IntelliSense)

My programming journey started with Pascal—typed in a terminal (VT-100) with no code completion, no syntax highlighting, and certainly no IntelliSense. The feedback loop was painfully slow: I would write my code, print out the source listing for review, and then submit it for compilation. If there was a syntax error, I’d find out after waiting minutes. Compilation was sent to a batch job. Then it was back to the editor—I probably missed a semicolon or misspelled something—fix it, and start the cycle again.

Despite the friction, this era taught discipline. Every character mattered. You became very deliberate about what you wrote, because the cost of a mistake was measured in half-hour waits.

Pascal uses semicolons as well, just instead of curly braces BEGIN and END; surround code blocks.

Toggling Machine Code into a PDP-11

Working at Digital Equipment, I started my professional career repairing devices. Sometimes a PDP-11 system didn’t boot. In those moments, there was no graphical user interface to fall back on. I was writing small programs using assembly code (MACRO-11). The PDP-11 system had toggle switches I used to enter the machine code directly into the front panel—to find out what memory address had failed. This kind of hands-on, bare-metal interaction was a unique window into how a computer actually worked at the lowest level. The PDP-11 was a 16-bit system, and we used octal (1 octal digit = 3 bits). And no, I never used punch cards for coding—the terminal was already available by then.

illustration showing an open PDP 11 system where a toggle switches are used to enter a program binary to test the memory

Pascal and DECForms on VAX/VMS

A significant step forward came with building real business applications using Pascal and DECForms on VAX/VMS. The CPU was the VAX (Virtual Address eXtension), a 32-bit architecture. With the 32-bit architecture, Digital Equipment switched from octal to hex.

At the time, departments worked in isolation. Each team ran its own applications, and data was shared by printing reports and manually retyping the numbers into another system (Digital Equipment was the second largest computer company). There was no XML, no APIs, no standard data exchange format. The friction was error-prone.

illustration of a woman with a large pack of continuous-form-paper with data entering it into a VT100 terminal from Digital Equipment

I built a solution to manage company car expenses (CARMEN for Car Monthly ExpeNses) using Pascal and DECForms that automated data import, transformation, and calculation between teams. Users no longer had to retype data from printed reports; inter-team file transfers streamlined the workflows. This was an early taste of what software integration could deliver: saving time, eliminating errors, and letting people focus on their actual work rather than data entry.

However, as the applications we communicated with changed, CARMEN had to change as well, adapting to every new data format from all the other systems.

illustration showing a developer working on a VT200 terminal from Digital Equipment programming a DECForms application. The DECForms application should simulate Windows in a text-based form

With VMS, I was using the EDT editor, which was easy to use. The shell was the DCL (Digital Command Language), which had its own unique syntax and capabilities. RMS (Record Management Services) was the built-in file and record I/O subsystem, with locking, buffering, access methods, and more. It was a powerful environment for its time.

C on Unix Systems

Moving to the C programming language on Unix (Ultrix and DEC OSF/1) opened up a new world. The Unix toolchain, makefiles, and the expressiveness of C gave far more control over system resources and performance. My preferred editor at that time was vi, the Unix shells I was using were the c-sh and k-sh.

illustration showing a developer working on a Unix workstation with a monochrome monitor, displaying vi editor with C code, and a stack of books: K&R — The C Programming Language (1978), UNIX Programmer’s Manual (6th or 7th Edition), The UNIX Programming Environment (Kernighan & Pike), Software Tools (Kernighan & Plauger) on the desk

With QUOPFI (QUOta for Printer FIlter), I built a Unix printer filter which required users to pay for prints.

Linux was not available at that time! The C Programming language was born on a PDP-11!

C++ on Unix with x-Windows

Moving over to C++ on OpenVMS and DEC-OSF/1 workstations was a significant leap. The introduction of object-oriented programming allowed for better code organization and reuse. I was building graphical applications using X-Windows with Motif, delivering real GUI experiences on Unix workstations long before Windows dominated the desktop.

illustration showing a Unix workstation with X-Windows displaying a Motif application with multiple windows, menus, and dialog boxes, alongside the DEC Fuse IDE interface with project tree, code editor, and debugger windows

The development tooling on these systems was also more capable than many remember. DEC Fuse, a powerful and expensive—integrated development environment from Digital Equipment Corporation, brought a surprisingly modern feature set to the Unix world: an integrated project system, graphical build management, clickable error navigation, a graphical debugger and profiler, a language-sensitive editor, search and compare tools, a code manager for project-wide navigation, and a built-in man page browser. At the time, this level of tooling integration was remarkable, and it set a high bar that other environments took years to match.

Windows NT with C++ and MFC

C++ introduced object-oriented programming, and with it the promise of reuse and better structure. On the Windows side, I started with a beta version of Windows NT 3.1 in 1992, using Visual C++ 1.5 to build applications with MFC (Microsoft Foundation Classes). Richer user interfaces became possible—menus, dialogs, and controls that felt polished to end users. OOP concepts—encapsulation, inheritance, polymorphism—allowed code to be organized around real-world abstractions rather than raw procedures. The development experience improved noticeably: better editors, faster compilers, and a growing ecosystem of libraries.

illustration showing Visual C++ 1.5 IDE on Windows NT 3.1 with an MFC application designer, showing a dialog editor with buttons and controls, class wizard window, and C++ code editor with MFC framework code

Windows NT was not only available on Intel systems. I also used the DECstation, a system running on MIPS CPUs, supporting Ultrix and Windows NT. I had a dual boot 🙂 In 1993, Windows NT was ported to the Alpha AXP Architecture—a 64-bit RISC architecture developed by Digital Equipment Corporation. I was using an AlphaStation, an AXP system with Windows NT, OSF/1, and OpenVMS.

illustration showing a Digital Equipment AlphaStation workstation with three boot options displayed on screen: Windows NT, OSF/1, and OpenVMS, representing the multi-OS capability of the Alpha AXP architecture

I’m a Microsoft Certified Professional (MCP) since 1994, my first certifications were on Windows NT and Visual C++. Since 1995, I’m a Microsoft Certified Trainer (MCT). I was teaching Windows NT and Visual C++ at that time.

COM, DCOM, ATL, and HTML

Component-based development arrived with COM (Component Object Model) and DCOM (Distributed COM), along with the Active Template Library (ATL). This era introduced network communication with binary objects across language boundaries, and higher-level abstractions for building distributed systems. You could write a component once and consume it from C++, Visual Basic, or even scripting environments. DCOM extended this across the network. The complexity was real—interface definitions, registration, marshaling—but so was the power. This stage fundamentally shifted thinking from monolithic applications toward reusable, interoperable components.

illustration showing distributed COM architecture with multiple computers connected via network, displaying component objects communicating between C++, Visual Basic, and web browser clients, with registry and marshaling layers visualized

HTML and JavaScript also emerged during this time, opening up the web as a new platform for applications. The early web was primitive, but it laid the groundwork for the rich, interactive experiences we have today. I was using Visual InterDev to build early web applications, which was a new frontier for developers.

illustration showing Visual InterDev IDE with HTML code, early JavaScript, and a split view showing both code editor and web page preview with basic forms and buttons typical of 1990s web design

I was also using Java, and Microsoft’s implementation of Java called J++ (later renamed to Visual J++). It was an interesting time for Java, as it promised “write once, run anywhere,” but the reality was that the ecosystem was fragmented, and Microsoft’s implementation had its own extensions that were not compatible with Sun’s standard Java. This led to legal battles and ultimately Microsoft’s decision to pivot away from Java in favor of their own platform.

.NET Framework

I’ve been at the Professional Developers Conference (PDC) 2000 in Orlando, Florida when .NET was first announced, and it was clear that this was a major shift. The keynote was electric, with Bill Gates demonstrating the new platform’s capabilities.

illustration showing the PDC 2000 conference keynote with Bill Gates on stage presenting .NET Framework, large screens showing C# code and the new .NET logo, audience of developers taking notes

The .NET Framework was a turning point. Managed code, a garbage collector, and a rich standard library removed entire categories of bugs—buffer overflows, memory leaks, and pointer arithmetic errors largely disappeared. Building Windows Forms and Web Forms applications on Windows felt productive in a new way. The class library was comprehensive, tooling in Visual Studio matured rapidly, and the strongly typed, object-oriented model of C# made large codebases much more maintainable. Deployment still had its challenges, but the developer experience had improved dramatically compared to native C++ development.

illustration showing Visual Studio .NET IDE with split screen: Windows Forms designer with drag-and-drop controls on left, C# code with IntelliSense on right, and solution explorer showing project structure

My first https://www.cninnovation.com website was built with ASP.NET Web Forms. I moved to ASP.NET MVC with early releases of MVC. Later on, I switched to ASP.NET Core, switched over to Razor Pages. Now the Website is running with ASP.NET Core Blazor.

.NET Core, Containers, and Aspire

.NET Core opened the door to true cross-platform development—the same code running on Windows, Linux, and macOS. I was excited to finally write C# code that could run anywhere. Combined with Docker containers and cloud-native architectures, the deployment story changed completely. I could package applications with their dependencies, orchestrate them at scale, and deploy to any cloud or on-premises environment.

illustration showing .NET Core application running simultaneously on three platforms: Windows laptop, Linux server, and macOS laptop, with Docker containers and cloud icons representing Azure deployment

More recently, I’ve been using Aspire extensively, which has simplified application orchestration further—handling service discovery, health checks, distributed tracing, and structured logging out of the box. This lets me focus on features rather than infrastructure plumbing. Each layer of abstraction has improved my productivity and broadened what I could accomplish with small teams.

My wife was running a restaurant, and I built the MenuCardManager system to make it easier to decide the menus of the week—looking at a history database, offering auto-complete for dishes, searching for dishes, printing the menu cards, and making them available on the website. This system evolved through multiple .NET versions, eventually running on .NET Core with Docker containers.

Looking back to the early days of Pascal, it’s astonishing to see how far we’ve come. The tools and platforms have evolved dramatically, but the core principles of software development—writing clear code, understanding the problem domain, and delivering value to users—remain constant. Each stage of this journey has built upon the last, creating a richer ecosystem for developers and enabling us to solve increasingly complex problems.

From re-using methods to re-using classes to re-using components to re-using services, the evolution of software development has been a continuous journey of abstraction and empowerment. Each era has brought new tools and paradigms that have expanded our capabilities and transformed how we build software. Using new tools and platforms has always been a learning curve, but the payoff in productivity and creativity has been worth it.

AI and GitHub Copilot: The Multi-Agent Revolution

The current era of AI-assisted development is no exception—it’s opening up new possibilities for productivity and creativity that we are only beginning to explore. But this change is fundamentally different from all previous transitions in one critical way: the pace and magnitude of transformation.

The Unprecedented Speed of Change

Each previous stage of my journey took years—sometimes decades—to mature and become widely adopted. The transition from terminal-based Pascal to IDEs took a decade. Moving from procedural to object-oriented programming was a gradual shift spanning the better part of the 1990s. Even the .NET Framework, despite being revolutionary, required years of adoption and refinement.

AI-assisted development? It exploded in months, not years. GitHub Copilot went from preview to millions of developers in just a few years. More critically, the capabilities evolved at breakneck speed—from simple code completion to intelligent code generation to autonomous development agents—all within a timeframe shorter than any previous platform transition I’ve witnessed.

From Chat to Multi-Agent Collaboration

I’ve experienced the evolution of AI in development firsthand, and the pace has been breathtaking:

Phase 1: Intelligent Autocomplete (2021-2022)
When I first tried GitHub Copilot, it felt like magic—code suggestions appearing as I typed, often exactly what I needed. It was revolutionary at the time, but still reactive and limited to the immediate coding context. I found myself accepting about 40% of suggestions and modifying another 30%. Still, it was a significant productivity boost.

illustration showing a developer coding in Visual Studio with GitHub Copilot suggesting code completions in gray text, showing inline suggestions for a method implementation on a ultra-wide curved screen

Phase 2: Conversational AI (2023-2024)
GitHub Copilot Chat changed my workflow dramatically. Instead of searching documentation, I could just ask. “How do I configure distributed tracing in Aspire?” or “What’s the best way to implement this pattern?” The AI would explain concepts while showing code examples. I started using it as a learning tool when exploring new APIs or frameworks. The time I saved on context switching was enormous.

illustration showing GitHub Copilot Chat interface in a side panel with a conversation about Aspire configuration, showing code snippets and explanations, with developer reading the responses

Phase 3: Multi-Agent Orchestration (2024-Present)
This is where things got really interesting for me. The GitHub Copilot ecosystem evolved into a sophisticated multi-agent system where specialized agents collaborate on different aspects of development:

  • Planning Agents analyze my requirements, break down complex tasks, and create structured implementation plans
  • Coding Agents autonomously implement features, write tests, and refactor code based on the plan
  • Review Agents examine code quality, identify potential issues, and suggest improvements
  • Testing Agents generate test cases, run test suites, and report on coverage and failures
  • Documentation Agents create and update documentation, README files, and code comments

These agents don’t just assist—they collaborate with each other and with me in an orchestrated workflow. A typical scenario in my recent projects looks like this:

  1. I describe a feature requirement in natural language (often just a few sentences)
  2. The planning agent breaks it down into concrete tasks—usually better structured than I would have done manually
  3. The coding agent implements each task, coordinating with the testing agent
  4. The review agent examines the implementation and flags potential issues
  5. I review the collective output, provide feedback, and approve or iterate

Recently, I described a complex authentication flow I needed for a project. The planning agent created an 8-step implementation plan, the coding agent implemented it across multiple files, the testing agent created unit and integration tests, and the review agent caught a security issue I would have missed. The entire process took about 2 hours—what would have previously taken me 2 days.

illustration showing a multi-agent AI system workflow with interconnected nodes representing Planning Agent, Coding Agent, Testing Agent, Review Agent, and Documentation Agent, all collaborating around a central developer, with code files and test results flowing between them

This isn’t just faster autocomplete—it’s a fundamentally different development paradigm. The AI system handles the mechanical aspects of planning, implementation, testing, and review, while I focus on architecture, business logic validation, and creative problem-solving.

Why This Change is Different—and Bigger

Looking back at all the transitions I’ve experienced, this one stands out:

Magnitude of Productivity Gain: Previous transitions improved my productivity incrementally—maybe 2-5x at each stage. Moving from Pascal in a terminal to Visual Studio with IntelliSense was transformative. Moving from C++ to C# with garbage collection eliminated whole classes of bugs. But AI agents? I’m seeing 10-50x productivity improvements for certain tasks. Features that would have taken me days are now done in hours. What took hours can be accomplished in minutes. I recently built a complete REST API with authentication, database integration, and comprehensive tests in less time than it would have previously taken me just to scaffold the project structure.

Democratization of Expertise: Earlier tools required deep technical knowledge to leverage effectively. I spent years mastering C++, COM, and .NET. AI agents lower the barrier dramatically. I’ve watched junior developers on my team, with AI assistance, accomplish tasks that would have required my senior-level intervention just a year ago. They’re learning faster because the AI explains concepts while implementing them. The knowledge gap is compressing before my eyes.

Continuous, Exponential Improvement: Unlike previous platforms that evolved through major version releases every few years, AI models improve continuously. I notice new capabilities every few months. GitHub Copilot suggestions are noticeably better than they were six months ago. The agents understand context better. They catch more edge cases. This exponential improvement curve is unlike anything I’ve seen in my 30+ years of development.

Cross-Domain Amplification: Earlier tools specialized—an IDE helped with coding, a debugger with debugging, a profiler with performance. AI doesn’t just help with one thing—it assists me with architecture decisions, documentation, testing, debugging, learning new frameworks, and even understanding legacy code I wrote years ago (sometimes explaining my own code better than I could). It’s a force multiplier across my entire development lifecycle.

The scale and speed of this transformation is unprecedented in my career. I’m not just getting better tools—I’m fundamentally reimagining my role from “code writer” to “solution architect and AI orchestrator.” And this shift is happening not over decades, but over months and years. It’s exhilarating and, frankly, a bit overwhelming at times.

The Human Element Remains Central

Despite the power of multi-agent AI systems, I’ve learned that my judgment, creativity, and domain expertise remain irreplaceable. AI amplifies my capabilities—it doesn’t replace them. The most effective use of AI isn’t about letting it write all the code; it’s about:

  • Understanding user needs and translating them into clear requirements that guide the AI
  • Architecting robust, maintainable solutions—the AI is excellent at implementation, but the overall design still requires human insight
  • Reviewing AI-generated code critically and catching edge cases the AI might miss
  • Providing context and constraints that guide AI agents effectively—the quality of output depends heavily on the quality of my input
  • Making strategic technical decisions that align with business goals

I’ve found that AI handles the mechanics beautifully, but I still provide the vision, judgment, and creativity. The projects that work best are those where I clearly define the “what” and “why,” and let the AI handle much of the “how.”

Summary

From waiting 20 minutes for a compiler to tell you about a missing semicolon, to having an AI suggest an entire function as you type, to orchestrating multi-agent systems that plan, implement, and review code autonomously—the journey has been one of continuously expanding capability and exponentially increasing productivity.

What Has Changed: The tools, platforms, languages, and paradigms have evolved dramatically. From toggle switches to terminals, from procedural to object-oriented to functional programming, from monolithic applications to microservices, from local development to cloud-native architectures. Each era unlocked greater productivity, enhanced user experience, and broader possibilities.

What Has Remained Constant: Despite all these transformations, one thing has never changed—the core mission of building solutions and applications that serve users. Whether I was toggling machine code into a PDP-11, building business applications with Pascal and DECForms, creating distributed systems with COM and DCOM, or orchestrating AI agents to implement features, the ultimate goal has always been the same: solve real problems for real people.

Every technological advancement—from graphical IDEs to object-oriented programming to managed code to AI assistance—has been in service of this constant: enabling developers to build better solutions more efficiently. Productivity has been continuously enhanced with each transition, but the craft of understanding user needs, architecting robust solutions, and delivering value has endured unchanged.

The fundamentals learned in those early stages—precision, understanding the machine, thinking in abstractions, focusing on the user—remain just as relevant today. The tools change; the craft endures. The medium evolves; the mission stays the same.

What makes the current AI revolution particularly remarkable isn’t just the productivity gains—it’s how it frees developers to focus even more intensely on what has always mattered most: understanding the problem domain, designing elegant solutions, and creating software that genuinely improves people’s lives.

What’s your journey been like? How have you seen coding evolve over time, and how are you adapting to the current AI-assisted development era? I’d love to hear your thoughts and experiences in the comments!

Enjoy learning and coding!

Christian

Check my new workshops on AI:

And all my other workshops on .NET, Azure, and software development!

All the illustrations are AI-generated using gpt-image-1.5.





Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete

Headless everything for personal AI

1 Share

It’s pretty clear that apps and services are all going to have to go headless: that is, they will have to provide access and tools for personal AI agents without any of the visual UI that us humans use today.

By services I mean things like: getting a new passport; finding and booking a hotel or a flight; managing your bank account; shopping for t-shirts with a minimum cotton weight from brands similar to ones that you’ve bought from before.

Why? Because using personal AIs is a better experience for users than using services directly (honestly); and headless services are quicker and more dependable for the personal AIs than having them click round a GUI with a bot-controlled mouse.

Where this leaves design for the services… well, I have some thoughts on that.


Headless services? They’re happening already.

Already there is MCP, as previously discussed (2025), a kind of web API specifically for AI. For instance, best-in-class call transcriber app Granola recently released their MCP and now you can ask your Claude to pull out the meeting actions and go trawling in your personal docs to find answers to all the question. A good integration.

But command-line tools are growing in popularity, although they used to be just for developers. So you can now create a spreadsheet by typing in your terminal:

gws sheets spreadsheets create --json '{"properties": {"title": "Q1 Budget"}}'

Here are some recently launched CLI tools:

  • gws: Google Workspace CLI, "Drive, Gmail, Calendar, and every Workspace API. Zero boilerplate. Structured JSON output. 40+ agent skills included."
  • Obsidian CLI to do anything you can do with the (very popular) note-taking app - like keep daily notes, track and cross off tasks, search - from the CLI
  • Salesforce CLI and, look, I don’t really understand what the Salesforce business operating system does, but the fact it has a CLI too is significant.

And here is CLI-Anything (31k stars on GitHub) which "auto-generates CLIs for ANY codebase."

Why CLIs?

It turns out that the best place for personal AIs to run is on a computer. Maybe a virtual computer in the cloud, but ideally your computer. That way they can see the docs that you can see, and use the tools that you can use, and so what they want is not APIs (which connect webservers) but little apps they can use directly. CLI tools are the perfect little apps.


CLIs are composable so they are a better fit for what users actually do.

By composable I mean you can: query your notes then jump to a spreadsheet then research the web then jump back to the spreadsheet then text the user a clarifying question then double-check your notes, all by bouncing between CLIs in the same session.

A while back app design got obsessed with “user journeys.” Like the journey of a user finding a hotel then booking a hotel then staying in it and leaving a review.

But users don’t live in “journeys.” They multitask; they talk to people and come back to things; they’re idiosyncratic Try grabbing the search results from the Airbnb app and popping them in a message to chat on the family WhatsApp, then coming back to it two days later. It’s a pain and you have to use screenshots because apps and their user journeys are not composable.

CLIs are composable because they came originally from Unix and that is the Unix tools philosophy: "tools were designed so that they could operate together."

Personal AIs like Openclaw or [Poke](https://poke.com do what users want and don’t follow “designed” user journeys, and as a result the composed experience is more personal and way better. CLIs are a great underlying technology for that.


CLIs are smaller than regular apps and so they are easier to secure.

The alternative to providing special tools for AIs is that the AIs use the same browser-based apps that we do, and that’s a terrifying prospect.

For one, AIs are really good at finding security holes. The new Mythos model from Anthropic is so good at discovering security flaws that it has been held back from the public and governments are convening emergency meetings of the biggest banks.

And including a UI increasing complexity and makes security holes more likely.

Here’s a recent shocking example. Companies House is the national register of all companies, directors, and accounts for England and Wales. Users could view and edit any other user’s account:

a logged-in company director could exploit the flaw by starting from their own dashboard and then trying to log into another company’s account.

Once they reach the 2FA block, which they would not be able to pass, all that was required was to click the browser’s back button a few times. Typically, the user would be taken back to their own dashboard, but the bug instead returned them to the company they had tried to log into but couldn’t.

This bug had been present since October 2025.

Imagine a future where personal AIs are filing company records, and one of them notices this security hole overnight and posts about it on moltbook or whatever agent-only social network is most popular. The other agents would exploit the system up, down and sideways before the engineering team woke up.

The only viable solution is that services need to security hardened, and to do that they need to be simplifying and minimised. Again, CLI tools are a great fit.


What does this mean for front-end design?

Design won’t go anywhere.

Sure, the front-end should be driving the same CLI tools that agents use.

Arguably it’s more important than ever: human users will encounter services, figure out what they can do, and pick up their vibe from using the app, just as now.

Then they’ll tell their personal AI about the service and never see the front-end again, or re-mix it into bespoke personal software.

So from a usability perspective I see front-end as somewhat sacrificial. AI agents will drive straight through it; users will encounter it only once or twice; it will be customised or personalised; all that work on optimising user journeys doesn’t matter any more.

But from a vibe perspective, services are not fungible. e.g. if you’re finding a restaurant then Yelp, Google Maps, Resy, and The Infatuation are all more-or-less equivalent for answering that question but clearly they are completely different and you’ll use different services at different times.

Understanding that a service is for you is 50% an unconscious process - we call it brand - and I look forward to front-end design for apps and services optimising for brand rather than ease of use.


If I were a bank, I would be releasing a hardened CLI tool like yesterday.

There is so much to figure out:

  • How do permissions work? Should the user get a notification from their phone app when the agent strays outside normal behaviour? How do I give it credentials to act on my behalf, and how long do they last?
  • How does adjacency work? My bank gives me a current account in exchange for putting a “hey, get a loan!” button on the app home screen. How do you make offers to an agent?

Headless banks.


Headless government?

I’d love to show you a worked example here. I vibed up a suite of four CLI tools that wrap four different services from UK government departments.

If I were renting a house, I would set my agent to learning about the neighbourhoods using one of these tools. Another tool will be helpful next time I’m buying a used car. (There’s a Companies House command-line tool too.)

But I won’t show you the tools because I don’t want to be responsible for maintaining and supporting them.


I wish Monzo came with an official CLI. I wish Booking.com came with a CLI. I reckon, give it a year, they will.


Auto-detected kinda similar posts:

Read the whole story
alvinashcraft
7 hours ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories