<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

 <title>Peter Forret</title>
 <link href="https://blog.forret.com/atom.xml" rel="self"/>
 <link href="https://blog.forret.com/"/>
 <updated>2026-03-14T22:19:08+00:00</updated>
 <id>https://blog.forret.com</id>
 <author>
   <name>Peter Forret</name>
   <email></email>
 </author>

 
 <entry>
   <title>The jumps in AI's autonomy</title>
   <link href="https://blog.forret.com/2026/2026-03-13/the-jumps-in-ais-evolution/"/>
   <updated>2026-03-13T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2026/2026-03-13/the-jumps-in-ais-evolution</id>
   <content type="html">&lt;p&gt;If you’ve raised kids, you know: they don’t develop in a smooth upward line. For weeks nothing seems to change — and then overnight they’re walking, or talking in full sentences, or suddenly grasping abstract concepts. Developmental psychologists call these &lt;strong&gt;growth spurts&lt;/strong&gt;: periods where the brain reorganizes itself and a whole new level of capability clicks into place. The in-between stretches aren’t wasted: that’s when the groundwork is laid, but the visible breakthroughs come in bursts.&lt;/p&gt;

&lt;p&gt;AI is following the same pattern. Not biologically, of course, but the rhythm is strikingly similar. Years of steady research, incremental improvements in benchmarks that only specialists notice — and then a sudden jump that changes how everyone interacts with the technology. We’ve seen three of these jumps in just over three years, each one fundamentally shifting what AI can do and more importantly: &lt;strong&gt;how much autonomy we’re willing to give it&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/03/the-jumps-in-ais-evolution.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;h2 id=&quot;jump-1-the-chat-interface-chatgpt-nov-2022&quot;&gt;Jump 1: The Chat Interface (ChatGPT, Nov 2022)&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;“Talk to the AI and it talks back.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;what-was-novel&quot;&gt;What was novel&lt;/h3&gt;

&lt;p&gt;For the first time, anyone with a browser could have a natural language conversation with an AI. No API keys, no Python scripts, no ML expertise required. You typed a question, it answered. The interface was disarmingly simple — just a chat box — but the capability behind it was unprecedented. It felt like talking to a very knowledgeable colleague who never slept.&lt;/p&gt;

&lt;h3 id=&quot;what-it-enabled&quot;&gt;What it enabled&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Writing&lt;/strong&gt;: drafting emails, blog posts, cover letters, marketing copy&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Learning&lt;/strong&gt;: explaining concepts at any level, from kindergarten to PhD&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Coding help&lt;/strong&gt;: “how do I do X in Python?” with working code snippets&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Translation, summarization, brainstorming&lt;/strong&gt; — all through conversation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key skill became &lt;strong&gt;prompt engineering&lt;/strong&gt;: learning how to ask the right question, provide the right context, maybe even upgrading to &lt;a href=&quot;https://www.promptingguide.ai/techniques/fewshot&quot;&gt;few-shot-prompting&lt;/a&gt; and coax the best answer out of the model.&lt;/p&gt;

&lt;h3 id=&quot;how-it-evolved&quot;&gt;How it evolved&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;GPT-4&lt;/strong&gt; (Mar 2023): dramatically better reasoning, fewer hallucinations&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multimodal input&lt;/strong&gt; (GPT-4V, Oct 2023): upload images, ask questions about them&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Custom GPTs&lt;/strong&gt; (Nov 2023): build specialized chatbots with custom instructions and knowledge&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Voice mode&lt;/strong&gt; (GPT-4o, May 2024): real-time spoken conversation&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Deep Research&lt;/strong&gt; (2025): multi-step web research with cited reports&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Competition&lt;/strong&gt;: Claude, Gemini, Llama, Mistral, Perplexity … → the chat interface became the standard&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;OpenAI pioneered this jump&lt;/strong&gt; — and the first-mover advantage was massive. ChatGPT reached 100 million users in two months, a record that still stands. Every major tech company scrambled to respond: Google rushed out Bard (later rebranded to Gemini), Meta open-sourced Llama, Anthropic launched Claude, Mistral emerged in Europe. But they were all playing catch-up to OpenAI’s paradigm. The chat interface wasn’t just a product — it became the default way humans interact with AI, and everyone else had to build their version of it.&lt;/p&gt;

&lt;p&gt;But no matter how smart the model got, the paradigm remained the same: &lt;strong&gt;human asks, AI answers, one turn at a time&lt;/strong&gt;. The AI had no memory between sessions, no access to your files, no ability to take action. It was a brilliant oracle trapped in a text box.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;jump-2-the-agentic-coder-claude-code-feb-2025&quot;&gt;Jump 2: The Agentic Coder (Claude Code, Feb 2025)&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;“AI works alongside you.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;what-was-novel-1&quot;&gt;What was novel&lt;/h3&gt;

&lt;p&gt;The AI moved from the browser to the terminal — and got hands. Claude Code could read your files, understand your codebase, run commands, edit code, and execute multi-step plans. Instead of copy-pasting code snippets from a chat window, you could say “fix the bug in the authentication module” and watch it read the relevant files, reason about the problem, and apply the fix directly. The AI became a &lt;strong&gt;collaborator&lt;/strong&gt;, not just an advisor.&lt;/p&gt;

&lt;h3 id=&quot;what-it-enabled-1&quot;&gt;What it enabled&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Codebase-aware development&lt;/strong&gt;: the AI understood your project structure, not just isolated snippets&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multi-file edits&lt;/strong&gt;: refactoring across dozens of files in one go&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Test-driven workflows&lt;/strong&gt;: write code, run tests, fix failures — in a loop&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;DevOps tasks&lt;/strong&gt;: git operations, deployments, CI/CD debugging&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: generating docs from actual code, not hallucinated APIs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key concept shifted from prompt engineering to &lt;strong&gt;context management&lt;/strong&gt;: CLAUDE.md files to give the AI project knowledge, well-structured codebases so the AI could navigate them, and clear task descriptions.&lt;/p&gt;

&lt;h3 id=&quot;how-it-evolved-1&quot;&gt;How it evolved&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Early Claude Code&lt;/strong&gt; (Feb 2025): file access, terminal commands, basic tool use&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Subagents&lt;/strong&gt; (mid 2025): delegate subtasks to specialized parallel agents (Explore, Plan, test runners)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;MCP (Model Context Protocol)&lt;/strong&gt;: connect to external services — databases, APIs, Slack, GitHub — through a standard protocol&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt;: reusable prompt-based capabilities (commit workflows, SEO audits, PR creation)&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory&lt;/strong&gt;: persistent cross-session recall of user preferences, project context, and past decisions&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AGENTS.md&lt;/strong&gt;: define specialized agent behaviors and configurations&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Hooks&lt;/strong&gt;: trigger shell commands on tool calls for custom workflows&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Anthropic pioneered this jump&lt;/strong&gt; with Claude Code, and again the first-mover advantage proved decisive. By defining the terminal-based agentic coding paradigm — complete with CLAUDE.md project context, MCP integrations, and subagent architecture — Anthropic set the template everyone else adopted. Its inventor, &lt;a href=&quot;https://x.com/bcherny&quot;&gt;Boris Cherny&lt;/a&gt;, became somewhat of a trailblazer and poster child of agentic software development.&lt;/p&gt;

&lt;p&gt;GitHub Copilot then added its own CLI agent mode, OpenAI made Codex CLI, Google launched Gemini CLI, and a wave of startups (Cursor, Windsurf, Aider, Jetbrains, Google Antigravity) built IDE-integrated agents. But they all converged on the pattern Anthropic established: give the AI file access, terminal access, and let it work in a loop until the task is done.&lt;/p&gt;

&lt;p&gt;The terminal agent went from “AI that can edit files” to a full development environment with its own ecosystem. But it still needed a human at the keyboard, approving actions and steering the work.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;jump-3-the-autonomous-agent-openclaw-2026&quot;&gt;Jump 3: The Autonomous Agent (OpenClaw, 2026)&lt;/h2&gt;

&lt;blockquote&gt;
  &lt;p&gt;“AI works independently.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;what-was-novel-2&quot;&gt;What was novel&lt;/h3&gt;

&lt;p&gt;The AI no longer waits for your next message. OpenClaw introduced &lt;strong&gt;persistent, autonomous agents&lt;/strong&gt; that maintain their own goals, communicate through channels, and work continuously. They have short-term memory (current task context) and long-term memory (learned patterns, preferences, past decisions). They can even “dream” — processing and consolidating information in the background. The shift: from AI as a tool you wield, to AI as a &lt;strong&gt;teammate you delegate to&lt;/strong&gt;.&lt;/p&gt;

&lt;h3 id=&quot;what-it-enabled-2&quot;&gt;What it enabled&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;App creation from description&lt;/strong&gt;: describe what you want, the agent builds it end-to-end — architecture, code, tests, deployment&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Continuous monitoring&lt;/strong&gt;: agents that watch your systems, detect issues, and fix them without waking you up&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Multi-agent collaboration&lt;/strong&gt;: agents that specialize (frontend, backend, testing, DevOps) and coordinate through messaging channels&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Self-improving workflows&lt;/strong&gt;: agents that learn from past failures and adapt their approach&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The key concept shifted again, from context management to &lt;strong&gt;goal setting and oversight&lt;/strong&gt;: defining clear objectives, setting boundaries, and reviewing output rather than directing each step.&lt;/p&gt;

&lt;h3 id=&quot;how-its-evolving&quot;&gt;How it’s evolving&lt;/h3&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Channel-based communication&lt;/strong&gt;: agents talk to each other (and to you) through structured messaging, like a team Slack&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Memory hierarchies&lt;/strong&gt;: working memory, episodic memory, and semantic memory — mirroring how humans organize knowledge&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Dreaming/consolidation&lt;/strong&gt;: background processing to extract patterns and improve future performance&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Trust calibration&lt;/strong&gt;: agents learn when to act autonomously vs. when to ask for human approval&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Composability&lt;/strong&gt;: chain specialized agents into complex workflows that would take a human team days&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;OpenClaw pioneered this jump&lt;/strong&gt;, and the pattern is repeating. By open-sourcing the autonomous agent framework — with its channel-based communication, memory hierarchies, and dreaming capabilities — OpenClaw defined what a “real” autonomous agent looks like. Now Anthropic, OpenAI, Google, Microsoft and even Nvidia are all building their own persistent agent platforms, but they’re converging on OpenClaw’s architecture: long-running agents with structured communication, layered memory, and trust calibration. The first mover doesn’t just get a head start — they get to define the vocabulary, the expectations, and the mental model that everyone else inherits.&lt;/p&gt;

&lt;p&gt;We’re still in the early days of this jump. The agents are capable but sometimes overeager, occasionally confused, and still learning when to ask for help. Sound familiar? It’s exactly how a promising junior developer behaves — which is why the analogy of “AI growing up” feels so apt.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;jump-4-&quot;&gt;Jump 4: ???&lt;/h2&gt;

&lt;p&gt;If the pattern holds, the next jump won’t be a faster version of what we have — it’ll be a qualitative shift that makes today’s autonomous agents look as quaint as ChatGPT looks to us now. Here are some candidates:&lt;/p&gt;

&lt;h3 id=&quot;the-ai-organization&quot;&gt;The AI Organization&lt;/h3&gt;

&lt;p&gt;Instead of individual agents that collaborate, the AI becomes a &lt;strong&gt;self-organizing entity&lt;/strong&gt; — spinning up and retiring its own specialized sub-agents as needed, managing its own resources, and operating more like a company than a tool. You don’t assign tasks to agents; you define a mission, and the AI figures out the org chart. Think: “grow my SaaS to 10K users” and the AI assembles its own marketing team, engineering team, and support team — all synthetic.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I interviewed a guy who gave his OpenClaw an X, stripe account, and bank account. He told it to build a million dollar business with zero human employees. &lt;a href=&quot;https://x.com/businessbarista/status/2032115802271596689&quot;&gt;It made $300K+ in a month&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;the-embodied-agent&quot;&gt;The Embodied Agent&lt;/h3&gt;

&lt;p&gt;AI breaks out of the screen entirely. Robotics has been advancing on a parallel track, and the jump happens when autonomous agents get &lt;strong&gt;physical presence&lt;/strong&gt;: navigating the real world, manipulating objects, and combining digital intelligence with spatial awareness. Not just a robot arm in a factory, but AI that can walk into your office, look at your whiteboard, and start contributing.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;a href=&quot;https://medium.com/technologai/the-rise-of-ai-powered-robotics-how-2026-is-reshaping-manufacturing-and-automation-638d3122212d&quot;&gt;In the span of a single week in March&lt;/a&gt;, ABB and NVIDIA announced they had closed the long-standing simulation-to-reality gap in industrial robotics, a Rivian spin-off raised $500 million to build AI-powered factory robots, and NVIDIA’s GTC 2026 conference showcased physical AI as the dominant theme&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;the-scientific-partner&quot;&gt;The Scientific Partner&lt;/h3&gt;

&lt;p&gt;AI stops being an executor and becomes a &lt;strong&gt;discoverer&lt;/strong&gt;. Not “run this experiment for me” but “here’s a field of research — find something new.” The jump: AI that generates novel hypotheses, designs its own experiments, interprets unexpected results, and publishes findings that surprise human experts. We’ve seen glimpses with AlphaFold and AI-assisted drug discovery, but the real jump is when AI drives the scientific method end-to-end.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;cf. &lt;a href=&quot;https://github.com/karpathy/autoresearch&quot;&gt;karpathy/autoresearch&lt;/a&gt;: give an AI agent a small but real LLM training setup and let it experiment autonomously overnight. It modifies the code, trains for 5 minutes, checks if the result improved, keeps or discards, and repeats&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3 id=&quot;the-white-collar-disruption&quot;&gt;The White-Collar Disruption&lt;/h3&gt;

&lt;p&gt;So far, AI’s biggest disruption has been in software development — an industry that was already in the business of automation. The real test comes when autonomous agents cross into &lt;strong&gt;paper-based, reasoning-heavy industries&lt;/strong&gt; like consulting, legal, audit, and accountancy. Not as copilots, but as replacements for the core work product: the analysis, the judgment, the recommendation.&lt;/p&gt;

&lt;p&gt;The early signs are already here. AI can review contracts faster than junior associates, flag anomalies in financial statements that auditors miss, and synthesize market data into strategic frameworks that look a lot like what McKinsey charges $500K to produce. But those are still tools &lt;em&gt;for&lt;/em&gt; professionals. The jump happens when an agent handles an entire engagement end-to-end: ingest the documents, identify the issues, apply the framework, produce the deliverable, defend the conclusions.&lt;/p&gt;

&lt;p&gt;What makes this candidate interesting is that it would lay bare a &lt;strong&gt;playbook for disrupting any document-driven industry&lt;/strong&gt;. The pattern would become clear: (1) ingest the domain’s corpus — regulations, case law, standards, precedents; (2) build specialized agents for each workflow step — intake, analysis, cross-referencing, reporting; (3) chain them into an autonomous pipeline that turns raw input into finished deliverable; (4) add human review only at the final sign-off. Once that playbook works for legal or audit, it becomes a template you can point at insurance, compliance, real estate, immigration, tax — any industry where the core value is structured reasoning over documents. The question stops being &lt;em&gt;whether&lt;/em&gt; AI can do this work and becomes &lt;em&gt;which industry is next&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;What’s your guess?&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Claude Code vs OpenClaw: the gap analysis</title>
   <link href="https://blog.forret.com/2026/2026-03-12/claude-code-vs-openclaw-gap-analysis/"/>
   <updated>2026-03-12T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2026/2026-03-12/claude-code-vs-openclaw</id>
   <content type="html">&lt;p&gt;One week ago I started &lt;a href=&quot;https://github.com/pforret/TropicClaw&quot;&gt;TropicClaw&lt;/a&gt;: an analysis of the gaps between Claude Code and the new paradigm of OpenClaw.
I wanted to understand what the secret sauce was, the combination of capabilities that made so many people go wild about it.&lt;/p&gt;

&lt;p&gt;Let me talk about the findings and how it inspire dme to make my own autonomous agent, by extending Claude Code.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/03/claude-code-vs-openclaw.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;h2 id=&quot;what-is-openclaw&quot;&gt;What is OpenClaw?&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/openclaw/openclaw&quot;&gt;OpenClaw&lt;/a&gt; is a free, open-source autonomous AI agent created by Peter Steinberger (founder of PSPDFKit). Originally published in November 2025 under the name &lt;em&gt;Clawdbot&lt;/em&gt;, it went viral in late January 2026 and became the fastest-growing open-source project in GitHub history: &lt;strong&gt;250,000+ stars in about 60 days&lt;/strong&gt;, a milestone that took the Linux kernel years to reach. Steinberger describes it as &lt;em&gt;“an AI that actually does things”&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;What makes it special: OpenClaw uses messaging platforms as its main interface. It consolidates 20+ channels (WhatsApp, Telegram, Slack, Discord…) into a single agent workspace. Over 800 published skills on ClawHub extend its capabilities — Gmail, GitHub, Spotify, smart home, and more.&lt;/p&gt;

&lt;p&gt;In February 2026, Steinberger joined OpenAI and the project moved to an independent 501(c)(3) foundation, keeping the MIT license and community governance. The “lobster craze” has since spread globally, with massive adoption in China and enterprises racing to deploy OpenClaw-based agents.&lt;/p&gt;

&lt;h2 id=&quot;the-gap-analysis-10-subsystems&quot;&gt;The gap analysis: 10 subsystems&lt;/h2&gt;

&lt;p&gt;The project maps OpenClaw’s subsystems against Claude Code’s native capabilities. The verdict ranges from GREEN (Claude Code can do it) to RED (significant gap).&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Subsystem&lt;/th&gt;
      &lt;th&gt;Verdict&lt;/th&gt;
      &lt;th&gt;Biggest gap&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Gateway&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;No programmatic gateway — hooks and CLI exist, but no HTTP orchestrator&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Channels&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🔴&lt;/td&gt;
      &lt;td&gt;No adapters for WhatsApp, Telegram, Discord — Claude Code is terminal-only&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Agent Runtime&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟢&lt;/td&gt;
      &lt;td&gt;Multi-turn, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLAUDE.md&lt;/code&gt;, skills — all natively supported&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Tools &amp;amp; Skills&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;Bash, files, web, MCP — mostly covered. No camera/location&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Memory&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;Session memory works, but long-term memory is manual: extract learnings into &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.md&lt;/code&gt; files&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Self-Scheduling&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🔴&lt;/td&gt;
      &lt;td&gt;No built-in cron or task scheduling&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Persona Templates&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLAUDE.md&lt;/code&gt; layering works, but no structured user model or device registry&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Autonomy &amp;amp; Trust&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;allowed-tools&lt;/code&gt; exists, but no trust tiers, no audit trail&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;App Generation&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🔴&lt;/td&gt;
      &lt;td&gt;Claude Code can generate web applications but not host them&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Integrations&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;🟡&lt;/td&gt;
      &lt;td&gt;MCP servers cover most apps, but no registry, no unified credentials, no event triggers&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;The core difference: &lt;strong&gt;OpenClaw is a multi-channel platform&lt;/strong&gt;, while &lt;strong&gt;Claude Code is a terminal tool&lt;/strong&gt;. OpenClaw can receive messages from Telegram, Slack, Discord, WhatsApp and route them to specialized agents. Claude Code sits in your terminal and waits for you to type.&lt;/p&gt;

&lt;p&gt;Specifically:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;No HTTP gateway&lt;/strong&gt; — OpenClaw has a central orchestrator that manages agent pools, routing, and sessions. Claude Code has no equivalent.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No messaging channels&lt;/strong&gt; — OpenClaw connects to any chat platform. Claude Code only speaks CLI (plus Remote Control for web/mobile, but human-operated).&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No live rendering&lt;/strong&gt; — OpenClaw’s Canvas lets agents push interactive UI to users in real-time. Claude Code generates code, but can’t serve it.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No structured identity&lt;/strong&gt; — OpenClaw maintains rich user/device models. Claude Code has &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;CLAUDE.md&lt;/code&gt; and basic auto-memory.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;No integration ecosystem&lt;/strong&gt; — OpenClaw has 50+ native integrations (Gmail, Spotify, smart home, 1Password…). Claude Code relies on MCP servers — the protocol works, but there’s no curated registry, no auto-provisioning, and no unified credential management.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;challenge-accepted&quot;&gt;Challenge accepted!&lt;/h2&gt;

&lt;p&gt;When I was first reading this analysis, I thought: surely it must be possible to create a dynamic scheduling system for Claude Code. I just schedule a crontab job to run each minute, and all it runs, is a minimal script that check a folder full of generated Markdown files to see which one should be fed to the LLM. What better language to use than bash? So I quickly created &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;tropicron.sh&lt;/code&gt; with its associated Claude skill &lt;a href=&quot;https://github.com/pforret/TropicClaw/blob/main/.claude/skills/tropicron/SKILL.md&quot;&gt;tropicron&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then I started on the memory gap, by installing some existing memory plugins and implementing a system for nightly ‘&lt;a href=&quot;https://github.com/pforret/TropicClaw/blob/main/.claude/tropicron/jobs/dream-main.md&quot;&gt;dreaming&lt;/a&gt;’. One &lt;em&gt;channel&lt;/em&gt; thing led to another &lt;em&gt;gateway&lt;/em&gt; and before I realised it, I had developed &lt;strong&gt;my own working autonomous agent on top of Claude Code&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There is no feature parity with OpenClaw (e.g. only Telegram channel is supported), and I don’t think I have the bandwidth to aim for that, but it has been a very interesting couple of days developing it. I now understand much better what makes OpenClaw, and Autonomous Agents as a whole, such a compelling paradigm.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Estimating (LLM) bot traffic on my website</title>
   <link href="https://blog.forret.com/2026/2026-01-24/estimating-llm-bot-traffic-on-my-website/"/>
   <updated>2026-01-24T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2026/2026-01-24/estimating-llm-bot-traffic-on-my-website</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I configured local log analytics reporting on my site with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;goaccess&lt;/code&gt; and &lt;a href=&quot;https://github.com/pforret/goax&quot;&gt;pforret/goax&lt;/a&gt;, a bash wrapper script, to analyse regular, SEO and LLM bot traffic. 
I then also extended my &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;fail2ban&lt;/code&gt; configuration to ban vulnerability scanning bots.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/01/unsplash.bot.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;h2 id=&quot;toolstudio&quot;&gt;toolstud.io&lt;/h2&gt;

&lt;p&gt;I have a mildly popular website of &lt;a href=&quot;https://toolstud.io/&quot;&gt;web calculators and converters&lt;/a&gt;, that sees a decent amount of traffic per month. 
But just how much of that traffic is OpenAI/ANthropic/Google/Meta/… scraping my content?
How can I get a view on that, because the bots don’t show up on my SimpleAnalytics dashboard?&lt;/p&gt;

&lt;h2 id=&quot;bot-traffic&quot;&gt;Bot traffic&lt;/h2&gt;

&lt;p&gt;When we talk about bot traffic, we mean automated HTTP requests — not humans clicking around, but scripts and crawlers hitting your server. They usually identify themselves via the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;User-Agent&lt;/code&gt; header, though some lie or omit it entirely.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The classic bots are &lt;strong&gt;SEO crawlers&lt;/strong&gt; like Googlebot, Bingbot and DuckDuckBot. They index your content for search results, generally play nice, and respect your &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt;. You want these.&lt;/li&gt;
  &lt;li&gt;Then there’s the newer wave of &lt;strong&gt;LLM bots&lt;/strong&gt; — GPTBot (OpenAI), Claude-Web (Anthropic), CCBot (Common Crawl), Bytespider (ByteDance). These scrape content for AI training data or RAG retrieval systems. This category is growing fast, and whether they respect &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;robots.txt&lt;/code&gt; varies.&lt;/li&gt;
  &lt;li&gt;Finally, you have &lt;strong&gt;vulnerability scanners&lt;/strong&gt; probing for exposed &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.env&lt;/code&gt; files, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/wp-admin&lt;/code&gt; endpoints, SQL injection paths, and other low-hanging fruit. Some are legitimate security researchers, many are not.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’re using an external analytics service like &lt;a href=&quot;https://www.simpleanalytics.com/&quot;&gt;SimpleAnalytics&lt;/a&gt;/Google Analytics, you’re only seeing human/browser visitors. These services work by injecting a JavaScript snippet into your pages. Bots don’t execute JavaScript — they fetch the raw HTML and move on. Your analytics script never runs, so these requests are invisible.  To see the full picture, you need to use the server-side logs. Your Apache or Nginx access logs record every HTTP request, regardless of whether JavaScript was executed. That’s where the bots live.&lt;/p&gt;

&lt;h2 id=&quot;goaccess&quot;&gt;GoAccess&lt;/h2&gt;

&lt;p&gt;I quickly figured out that the best program to use for this would be &lt;a href=&quot;https://goaccess.io/&quot;&gt;GoAccess&lt;/a&gt;: a web log analyzer that can generate static HTML reports. It parses Apache, Nginx, and other common log formats out of the box.&lt;/p&gt;

&lt;p&gt;It would have been fairly easy to just run a daily &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;goaccess /var/log/nginx/[logfile] -o [webpage] --log-format=COMBINED&lt;/code&gt; job, but I created a &lt;a href=&quot;https://github.com/pforret/goax&quot;&gt;pforret/goax&lt;/a&gt; bash wrapper to do something more sophisticated:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;first &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;cat&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gunzip&lt;/code&gt; all relevant log files into one big file.&lt;/li&gt;
  &lt;li&gt;run the access report not just on all of it, but also for subselections of the total data: only the bots, only the LLM bots, everything except the bots.&lt;/li&gt;
  &lt;li&gt;put those reports in one special folder withing the website, with an index.html frame around to easily switch between them. &lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_index.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;help with putting password protection on that special folder&lt;/li&gt;
  &lt;li&gt;delete the temp joined log file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is scheduled as a daily job in Laravel Forge &lt;img src=&quot;/wp-content/uploads/2026/01/goax_job.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;results&quot;&gt;Results&lt;/h2&gt;

&lt;p&gt;So how much of my traffic is bot traffic?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;this is my overall traffic: 994K requests, from  160K visitors. &lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_all.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;this is how much of those are ‘normal’ users: 286K requests (30%), from 96K visitors (60%) &lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_nobots.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;if we look at all bots (SEO/LLM/…), we see it’s the remainder: 708K requests (70%) from 65K visitors (40%) &lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_bots.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
  &lt;li&gt;if we zoom in on only the LLM bots: 335K requests (35%) from 50K visitors (30%) &lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_llm.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So these LLM bots, who are they? It’s mainly GPTBot (OpenAI), Bytespider (Bytedance/TikTok) and then a bit of Meta/Facebook and ClaudeBot (Anthropic). The rest is &lt;em&gt;de minimis&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_llm_agents.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Even compared to the ‘classic’ search bots, ChatGPT is very active.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/01/goaccess_bot_agents.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;fail2ban&quot;&gt;fail2ban&lt;/h2&gt;

&lt;p&gt;While checking the results, I saw a lot of vulnerability scanning activity, looking for URls like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/wp-admin/..&lt;/code&gt;. and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/wp-login.php&lt;/code&gt; (WordPress). I knew I already had &lt;a href=&quot;https://github.com/fail2ban/fail2ban&quot;&gt;fail2ban&lt;/a&gt; running on that server, which detects suspect traffic and then blocks the responsible IP addresses for N minutes. However, it was only active for SSH vulnerability scans. With some help of Claude Code, I set up a new rule to include those scanners.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;[Definition]
failregex = ^&amp;lt;HOST&amp;gt; - - \[.*\] &quot;(GET|POST|HEAD) .*(/wp-login\.php|/xmlrpc\.php|/admin\.php|/wp-admin|/\.env|/\.git).*
ignoreregex =
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Leaderboard for AI Terminal-based agents</title>
   <link href="https://blog.forret.com/2026/2026-01-14/ai-terminal-agents-leaderboard/"/>
   <updated>2026-01-14T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2026/2026-01-14/leaderboard-for-ai-terminal-based-agents</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I’ve created a daily updated AI terminal coding agent leaderboard (i.e. Claude Code and its competition), ranking popularity based on monthly downloads. It lives on &lt;a href=&quot;https://terminalai.forret.com/&quot;&gt;https://terminalai.forret.com/&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;ai-terminal-coding-agents&quot;&gt;AI Terminal Coding Agents&lt;/h2&gt;

&lt;p&gt;I have been a very enthusiastic user of Claude Code for about 6 months now.
It is really getting better by the day. Its skills and insights are way beyond a junior programmer now.
I’ve also dabbled with &lt;a href=&quot;/2025/2025-09-27/a-spectrogram-for-videos/&quot;&gt;Gemini CLI&lt;/a&gt; and &lt;a href=&quot;/2025/2025-09-20/transcode-c-to-golang/&quot;&gt;Codex CLI&lt;/a&gt;, and even JetBrains’ &lt;a href=&quot;/2025/2025-09-19/jetbrains-plugin-kotlin/&quot;&gt;Junie&lt;/a&gt;.
Using a coding agent in a CLI setting really works for me. I’ve even set up a &lt;a href=&quot;https://petesena.medium.com/how-to-run-claude-code-from-your-iphone-using-tailscale-termius-and-tmux-2e16d0e5f68b&quot;&gt;TailScale/Termius connection&lt;/a&gt; on my phone to work from literally anywhere.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/01/unsplash.leaderboard.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;h2 id=&quot;terminalaiforretcom&quot;&gt;terminalai.forret.com&lt;/h2&gt;

&lt;p&gt;I did read about other AI agents like Cline, Qodo, Amp and Goose, since I develop a popular &lt;a href=&quot;https://plugins.jetbrains.com/plugin/28522-llm-brains&quot;&gt;JetBrains plugin for running all these CLI coding agents in PHPStorm/IntelliJ/PyCharm&lt;/a&gt;. 
So now I’ve made a leaderboard website to rank all these CLI terminal-based coding agents based on &lt;strong&gt;monthly installs&lt;/strong&gt;.
This is a Laravel 12 project, that gets data from NPM, PyPi, GitHub and does some analysis on the actual packages.
Stats are updated on a daily basis.&lt;/p&gt;

&lt;p&gt;Check it out on &lt;a href=&quot;https://terminalai.forret.com/&quot;&gt;&lt;strong&gt;terminalai.forret.com&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2026/01/terminalai.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;h2 id=&quot;some-findings&quot;&gt;Some findings&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; leads by a big margin. It currently gets 10 times the monthly installs of the number 2. 17 million every month, for a very nerdy product.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Codex CLI&lt;/strong&gt; and &lt;strong&gt;Gemini CLI&lt;/strong&gt; are in the same ballpark, both around 1.5 million installs/month.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Copilot&lt;/strong&gt; and &lt;strong&gt;Aider&lt;/strong&gt; are in the next group, those with between 200K and 250K installs in a month. I was unaware of Aider before I started this side-project.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Grok CLI&lt;/strong&gt; is not in the same league. They don’t really compare with only 9K installs per month.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;npm-as-a-wrapper&quot;&gt;NPM as a wrapper&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;The largest package is 370MB large. The smallest is 720KB. I still have to investigate properly how that is even possible.&lt;/li&gt;
  &lt;li&gt;Some NPM packages like &lt;a href=&quot;https://terminalai.forret.com/packages/google-gemini-cli&quot;&gt;Gemini CLI&lt;/a&gt; have dependencies (through its &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;package.json&lt;/code&gt; file) and almost 2000 files. That seems normal. Other packages have only 20 files and no dependencies, just 1 huge .js file. Probably a minified compilation from TypeScript. I also want to investigate that.&lt;/li&gt;
  &lt;li&gt;a lot of the packages have a bundled copy of &lt;a href=&quot;https://github.com/BurntSushi/ripgrep&quot;&gt;ripgrep&lt;/a&gt;: &lt;em&gt;ripgrep recursively searches directories for a regex pattern while respecting your gitignore&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
 </entry>
 
 <entry>
   <title>The Mythical Agent-Month: Brooks's Law in the Age of Agentic Software Development</title>
   <link href="https://blog.forret.com/2025/2025-10-26/mythical-agent-month/"/>
   <updated>2025-10-26T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-10-26/mythical-agent-month</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: “&lt;em&gt;Adding an autonomous AI agent to a late software project makes it later&lt;/em&gt;.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/10/mythical-agent-month.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;
&lt;h2 id=&quot;i-no-silver-bullet&quot;&gt;I. No Silver Bullet&lt;/h2&gt;

&lt;p&gt;In his seminal 1975 text, &lt;strong&gt;The Mythical Man-Month&lt;/strong&gt;, Frederick P. Brooks Jr. used a chilling metaphor to describe large-scale software projects. He compared them to werewolves: “&lt;em&gt;usually innocent and straightforward, but capable of becoming a monster of missed schedules, blown budgets, and flawed products&lt;/em&gt;”. For these monsters, managers desperately seek a “silver bullet” to magically lay them to rest. For five decades, this has been the central challenge of software engineering: managing an intangible, invisible, and maddeningly complex craft.&lt;/p&gt;

&lt;p&gt;Today, a new and compelling “silver bullet” candidate has emerged: generative artificial intelligence. This technology manifests in various forms, from AI-assisted pair programmers and “vibe coding” (where a developer guides an AI with natural language, often without deep review) to fully autonomous AI coding agents that can reason, plan, and execute tasks. The promise is an order-of-magnitude leap in productivity.&lt;/p&gt;

&lt;p&gt;However, this article contends that &lt;strong&gt;AI-assisted development does not invalidate Brooks’s core lessons&lt;/strong&gt;. Instead, it accelerates their consequences, acting as a force multiplier for both sound and unsound engineering practices. The analysis draws this conclusion from Brooks’s 1986 follow-up essay, “&lt;a href=&quot;https://en.wikipedia.org/wiki/No_Silver_Bullet&quot;&gt;No Silver Bullet—Essence and Accident in Software Engineering&lt;/a&gt;”. There, Brooks posited that software complexity is of two forms:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Accidental Complexity&lt;/strong&gt;: Problems that engineers create and can fix, such as writing boilerplate code, managing memory, or mastering difficult syntax.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Essential Complexity&lt;/strong&gt;: The irreducible, inherent complexity of the problem domain itself; the “fashioning of the complex conceptual structures”, managing state, and defining intricate human requirements.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AI is a revolutionary tool for attacking accidental complexity. It can automate debugging, generate routine code, and write documentation. But it cannot solve essential complexity. As Brooks stated, “The hardest single part of building a software system is deciding precisely what to build”.&lt;/p&gt;

&lt;p&gt;AI-assisted development, particularly the “vibe coding” philosophy, represents a cultural shift that attempts to bypass this essential complexity through sheer generative speed. This report will argue that this approach is dangerously flawed. &lt;strong&gt;AI removes the “friction” of manual coding, which also served as a natural brake on poor design&lt;/strong&gt;. In the AI era, ignoring Brooks’s principles on team structure and design integrity will lead to systemic collapse faster and at a greater scale than ever before. The human role, therefore, is not obviated; it is elevated from “generator” to “validator”, forcing developers to focus almost exclusively on the essential complexity that has always been the real “werewolf”.&lt;/p&gt;

&lt;h2 id=&quot;ii-brookss-law-revisited&quot;&gt;II. Brooks’s Law Revisited&lt;/h2&gt;

&lt;h3 id=&quot;a-deconstructing-brookss-law&quot;&gt;A. Deconstructing Brooks’s Law&lt;/h3&gt;

&lt;p&gt;The most famous axiom from The Mythical Man-Month is Brooks’s Law: “&lt;em&gt;Adding manpower to a late software project makes it later&lt;/em&gt;”. This counter-intuitive observation is based on two primary factors:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;Ramp-up Time&lt;/strong&gt;: New team members are not immediately productive. They require training from existing members, diverting resources from the project and temporarily diminishing the productivity of the most experienced staff.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Communication Overhead&lt;/strong&gt;: As team size increases, the number of communication channels increases combinatorially (n(n-1)/2). More time is spent on coordination, meetings, and synchronization, reducing the time available for productive development.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;b-ai-as-tool-vs-ai-as-teammate&quot;&gt;B. “AI as Tool” vs. “AI as Teammate”&lt;/h3&gt;

&lt;p&gt;The impact of AI on this law depends entirely on its mode of integration.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;&lt;strong&gt;AI as a Tool&lt;/strong&gt;: When AI is used as an &lt;em&gt;integrated assistant&lt;/em&gt; (e.g., GitHub Copilot), it is not a new team member. It is a “force multiplier” that enhances the existing developer. In this context, AI inverts Brooks’s Law. It reduces communication overhead by automating tasks that constitute the “collaboration tax”. It can summarize meetings, draft documentation, and reduce the “cognitive toil” of administrative work. By handling these tasks, AI enables the smaller, more agile teams that Brooks championed to become dramatically more effective.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AI as a Teammate&lt;/strong&gt;: When an autonomous AI agent is deployed with the directive to independently take tasks, reason about solutions, and submit code, it is a new “teammate”. As such, it absolutely falls under Brooks’s Law, though the costs are deceptively hidden.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;c-the-new-overhead-of-an-ai-teammate&quot;&gt;C. The New “Overhead” of an AI Teammate&lt;/h3&gt;

&lt;p&gt;Adding an autonomous AI agent to a late project introduces new, non-obvious forms of overhead that mirror Brooks’s original factors.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;del&gt;Ramp up time&lt;/del&gt; &lt;strong&gt;Context Engineering&lt;/strong&gt;. An AI agent is not “plug-and-play.” To be effective, the team must “onboard” it by feeding it the project’s entire context: its architecture, existing schemas, design patterns, and business goals. This is a highly skilled task that consumes the time of senior developers and architects, who must craft perfect, “context-rich” prompts, the exact “ramp-up” cost Brooks described.&lt;/li&gt;
  &lt;li&gt;&lt;del&gt;Communication Overhead&lt;/del&gt; &lt;strong&gt;Human-in-the-Loop Validation Tax&lt;/strong&gt;. The “communication” with an AI agent is the process of review and integration, which is often more costly than a human-to-human code review.
    &lt;ul&gt;
      &lt;li&gt;Review Overhead: Reviewing AI-generated code is notoriously difficult. The code is often syntactically perfect but logically flawed, non-idiomatic, or inconsistent with the project’s architecture.&lt;/li&gt;
      &lt;li&gt;Integration Overhead: AI agents, optimizing for a local prompt, frequently produce code that fails at the system integration level. This creates a cascade of “fragile” bugs that are discovered late in the testing cycle.&lt;/li&gt;
      &lt;li&gt;Debugging Overhead: The most expensive cost is debugging “black box” code. When an AI-generated component fails, no human on the team has a complete mental model of its construction. The AI cannot be reliably interrogated for its “intent”; it can only post-rationalize its output. This erodes the team’s “deep system understanding” and introduces a massive, hidden maintenance burden.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;d-the-verdict&quot;&gt;D. The Verdict&lt;/h3&gt;

&lt;p&gt;Brooks’s Law is not only upheld in the age of autonomous agents; it is strengthened. “&lt;em&gt;Adding an autonomous AI agent to a late software project makes it later&lt;/em&gt;.” The “ramp-up” and “communication” costs are simply rebranded as “context engineering” and “integration testing.” These costs are back-loaded, appearing as an “overnight miracle” of productivity before maturing into an “AI-induced technical debt” that can cripple the project.&lt;/p&gt;

&lt;h2 id=&quot;iii-conceptual-integrity-the-primary-casualty-of-vibe-coding&quot;&gt;III. Conceptual Integrity: The Primary Casualty of “Vibe Coding”&lt;/h2&gt;

&lt;h3 id=&quot;a-brookss-most-important-consideration&quot;&gt;A. Brooks’s “Most Important Consideration”&lt;/h3&gt;

&lt;p&gt;Brooks contended that Conceptual Integrity (CI) is “the most important consideration in system design”, more so than any single feature. This is the principle that a system must “reflect one set of design ideas” and originate from “one mind, or from a very small number of agreeing resonant minds”. A system with CI is easier to use, understand, and maintain, even if it “deliberately provides fewer features”.&lt;/p&gt;

&lt;h3 id=&quot;b-the-inherent-conflict-cohesion-vs-completion&quot;&gt;B. The Inherent Conflict: Cohesion vs. Completion&lt;/h3&gt;

&lt;p&gt;A fundamental tension exists between the goals of a human architect and an AI agent:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Human Architect: Strives for &lt;strong&gt;cohesion&lt;/strong&gt;: long-term maintainability, consistent patterns, and clean abstractions.&lt;/li&gt;
  &lt;li&gt;AI Agent: Is optimized for &lt;strong&gt;completion&lt;/strong&gt;: providing a syntactically correct and immediate solution to the user’s prompt.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;c-vibe-coding-as-the-enemy-of-integrity&quot;&gt;C. “Vibe Coding” as the Enemy of Integrity&lt;/h3&gt;

&lt;p&gt;“Vibe coding,” in its purest form, is the antithesis of conceptual integrity. It is defined by its focus on “iterative experimentation” over “code correctness or structure” 6 and its acceptance of AI-generated code “without human review”.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;This workflow is, by definition, an “uncoordinated” set of “independent” ideas. The AI, lacking a holistic understanding of the “why,” will generate a “patchwork of code” that is architecturally inconsistent.&lt;/li&gt;
  &lt;li&gt;It will solve the same problem in different ways throughout the codebase, introducing massive “accidental complexity” in the form of duplicated logic and brittle components.&lt;/li&gt;
  &lt;li&gt;This process leads to rapid “architectural drift,” where the codebase “quietly bends out of shape” until it becomes an unmaintainable “big ball of mud”.&lt;/li&gt;
  &lt;li&gt;The result is a new, insidious “black box”. The team loses “deep system understanding”, and the system’s logic is no longer owned by the team; it is a series of artifacts generated by an external oracle. The project’s core intellectual property, the knowledge of how the system works, is eroded.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;d-the-architect-as-guardian-of-the-vibe&quot;&gt;D. The Architect as “Guardian of the Vibe”&lt;/h3&gt;

&lt;p&gt;In the AI era, the role of the architect is not diminished; it is more critical than ever. The architect’s new primary function is to enforce conceptual integrity upon the AI. The human must define the “vibe” (the architecture) so the AI can follow it.&lt;/p&gt;

&lt;p&gt;Strategies for this new “AI-proof” architecture include:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Architectural Decision Records (ADRs): Explicitly documenting architectural decisions to create guardrails for the AI generation process.&lt;/li&gt;
  &lt;li&gt;Custom Templates and Patterns: Developing and feeding the AI “golden path” templates that represent the organization’s approved way of solving a problem.&lt;/li&gt;
  &lt;li&gt;Architecture as Code: Defining system architecture in machine-readable formats that can be used to test AI-generated code for compliance&lt;/li&gt;
  &lt;li&gt;Context-Rich Prompting: The architect’s role shifts to “Context Engineering”, ensuring the AI is always fed the relevant ADRs, design documents, and schemas with every prompt to guide its output toward cohesion.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;iv-the-human-surgeon-and-the-ai-support-staff&quot;&gt;IV. The Human Surgeon and the AI Support Staff&lt;/h2&gt;

&lt;h3 id=&quot;a-brookss-original-model&quot;&gt;A. Brooks’s Original Model&lt;/h3&gt;

&lt;p&gt;To maintain conceptual integrity, Brooks proposed a radical team structure: the “&lt;strong&gt;Surgical Team&lt;/strong&gt;”. He argued that instead of a “hog-butchering team” where everyone “cuts away on the problem,” a project should have a single “surgeon,” or chief programmer, who does all the critical design and coding.&lt;/p&gt;

&lt;h3 id=&quot;b-the-support-staff&quot;&gt;B. The Support Staff&lt;/h3&gt;

&lt;p&gt;This surgeon is supported by a small team of specialists:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The Co-pilot: The surgeon’s alter ego, a fully qualified backup.&lt;/li&gt;
  &lt;li&gt;The Toolsmith: Responsible for building and maintaining custom tools, macros, and utilities for the surgeon.&lt;/li&gt;
  &lt;li&gt;The Tester: An adversary responsible for devising test cases from the specifications and debugging.&lt;/li&gt;
  &lt;li&gt;The Editor: Takes the surgeon’s drafts and produces formal documentation.&lt;/li&gt;
  &lt;li&gt;The Language Lawyer: An expert who masters the “intricacies” of the programming language and advises the surgeon.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;c-the-ai-powered-surgical-team&quot;&gt;C. The AI-Powered “Surgical Team”&lt;/h3&gt;

&lt;p&gt;This model was largely impractical in 1975. It was too expensive, and finding true “surgeons” was nearly impossible. Today, however, AI-assisted development makes this “Surgical Team” model the premiere paradigm for effective, high-integrity software development.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;The Human as Surgeon&lt;/strong&gt;: The human developer is elevated to the “surgeon”. They stop writing boilerplate code (accidental complexity) and focus entirely on the essential complexity: defining specifications, designing the architecture, and directing the AI. The human holds the “conceptual integrity” as their sole responsibility.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;AI as the Ubiquitous Support Staff&lt;/strong&gt;: AI agents can now perfectly, instantly, and tirelessly fill all the specialist support roles:
    &lt;ul&gt;
      &lt;li&gt;AI as Co-pilot: This is the literal function of tools like GitHub Copilot.&lt;/li&gt;
      &lt;li&gt;AI as Toolsmith: A developer can “use AI as a toolsmith to create tools for… everyday work in natural language”, generating specialized scripts and utilities on demand.&lt;/li&gt;
      &lt;li&gt;AI as Tester: The AI is a “tireless” tester, capable of generating comprehensive unit tests, mocks, and edge-case test data from a simple function prompt.&lt;/li&gt;
      &lt;li&gt;AI as Editor: AI can auto-generate and maintain documentation from code comments, “reducing the collaboration tax” and ensuring the project manual is always up to date.&lt;/li&gt;
      &lt;li&gt;AI as Language Lawyer: The AI has perfect, instant-recall knowledge of every programming language, framework, and API, far exceeding any human “language lawyer”.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This “Human Surgeon, AI Staff” model directly validates the metaphor’s use in medicine. Studies of AI in actual surgery show it is used as a decision-support and assistance tool. AI enhances precision and predicts risks, but the human surgeon remains the “decision-maker” responsible for “clinical judgement,” an area where AI is “dramatically inferior”.&lt;/p&gt;

&lt;p&gt;This paradigm is the solution to the report’s central tensions. It maintains Conceptual Integrity by vesting it in a single human mind. It avoids Brooks’s Law by enabling a tiny, elite team (n=1 or n=2) to be hyper-productive. It redefines the senior developer’s job from “creator” to “director” and “validator”.&lt;/p&gt;

&lt;h2 id=&quot;v-prototyping&quot;&gt;V. Prototyping&lt;/h2&gt;

&lt;h3 id=&quot;a-plan-to-throw-one-away-the-ultimate-ai-use-case&quot;&gt;A. “Plan to Throw One Away”: The Ultimate AI Use Case&lt;/h3&gt;

&lt;p&gt;Brooks strongly advocated for prototyping, or building a “pilot system”. He famously advised, “&lt;em&gt;plan to throw one away; you will, anyhow&lt;/em&gt;”. The first system is “barely usable” because its true purpose is to “make mistakes and to learn from those mistakes”, especially concerning the “risky” or uncertain parts of the design.&lt;/p&gt;

&lt;p&gt;AI-driven “vibe coding” is the perfect technology for this. It enables “near-instant prototyping” at almost zero marginal cost. Designers and developers can “build quick, functional prototypes” to “rapidly explore ideas and user experiences”.&lt;/p&gt;

&lt;h3 id=&quot;b-the-prototype-as-product-trap&quot;&gt;B. The “Prototype-as-Product” Trap&lt;/h3&gt;

&lt;p&gt;This capability, however, presents the single greatest organizational risk of AI-driven development: the “Prototype-as-Product” trap.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;An AI-generated prototype is dangerously functional. It looks like an “overnight miracle”.&lt;/li&gt;
  &lt;li&gt;Management, seeing a “working” demo, will be powerfully tempted to ship it, skipping the “throw away” step entirely.&lt;/li&gt;
  &lt;li&gt;The organization is then committed to a production system built on a foundation of “vibe coded,” un-architected, non-performant, and insecure code.&lt;/li&gt;
  &lt;li&gt;This is not technical debt; it is a &lt;em&gt;technical mortgage&lt;/em&gt; on a collapsing foundation. The “maintenance nightmare” begins immediately, and “code churn” skyrockets as human developers are forced to rewrite the AI’s unmaintainable “patchwork of code” from scratch, while it is already in production.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Brooks’s advice must be elevated to strict policy: The AI-generated prototype is for learning, not shipping. &lt;strong&gt;The code is disposable; its true asset is the learning it produced&lt;/strong&gt;. That learning should be captured as a formal specification, which is then handed to the “Surgical Team” to be built correctly.&lt;/p&gt;

&lt;h3 id=&quot;c-the-second-system-effect-on-steroids&quot;&gt;C. The Second-System Effect on Steroids&lt;/h3&gt;

&lt;p&gt;Brooks’s “Second-System Effect” describes the tendency for the designers of a successful, lean first system to become “over-engineered, bloated” and “inflated with expectations” when building the second one.&lt;/p&gt;

&lt;p&gt;AI is an engine for inflated expectations. It makes adding new features frictionless. A developer, flush with the power of “vibe coding”, can indulge every stakeholder request and “good but independent” idea without the natural friction of manual coding. This allows a project to suffer from the Second-System Effect in the first system. The product becomes bloated, complex, and violates Conceptual Integrity from day one, collapsing under the weight of its own unmanaged essential complexity.&lt;/p&gt;

&lt;h2 id=&quot;vi-conclusion&quot;&gt;VI. Conclusion&lt;/h2&gt;

&lt;p&gt;The principles of The Mythical Man-Month are not obsolete in the age of AI; they have become the essential guardrails against the exponential chaos that AI-driven development can unleash. AI automates accidental complexity, forcing a long-overdue reckoning with the essential complexity of human communication, system design, and conceptual integrity.&lt;/p&gt;

&lt;p&gt;The following table synthesizes Brooks’s key principles, their modern AI-driven manifestations, and the strategic mandates required for organizations to navigate this new landscape.&lt;/p&gt;

&lt;h3 id=&quot;brooks-today-1975-vs-2025&quot;&gt;Brooks Today: 1975 vs. 2025&lt;/h3&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Brooks’s Principle&lt;/th&gt;
      &lt;th&gt;Classic Definition (1975)&lt;/th&gt;
      &lt;th&gt;AI-Driven Manifestation (2025)&lt;/th&gt;
      &lt;th&gt;Actionable Advice&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;No Silver Bullet&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;No single technology or technique will provide an order-of-magnitude (10x) productivity gain.&lt;/td&gt;
      &lt;td&gt;AI is not a silver bullet. It only solves accidental complexity, not the essential complexity of “what to build”.&lt;/td&gt;
      &lt;td&gt;Stop seeking a 10x coding tool. Invest in AI that accelerates design, validation, and testing—the essential work.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Brooks’s Law&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;“Adding manpower to a late software project makes it later” due to ramp-up and communication overhead.&lt;/td&gt;
      &lt;td&gt;“AI Assistants” (tools) invert the law by reducing team size. “AI Agents” (teammates) uphold the law via new “integration overhead”.&lt;/td&gt;
      &lt;td&gt;Use AI tools to enable smaller, elite teams. Treat autonomous agents as new hires with a high “ramp-up” cost (Context Engineering).&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Conceptual Integrity&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;A single, coherent vision from “one mind” is the most important consideration in system design.&lt;/td&gt;
      &lt;td&gt;“Vibe coding” is the enemy of CI. AI optimizes for completion, not cohesion, leading to “architectural drift”.&lt;/td&gt;
      &lt;td&gt;Elevate the architect to “Guardian of the Vibe.” Enforce CI via machine-readable ADRs, templates, and architectural tests.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;The Surgical Team&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;A single “surgeon” (chief programmer) supported by specialists (tester, toolsmith, editor).&lt;/td&gt;
      &lt;td&gt;This model is now perfectly viable. The human is the “surgeon” (essential design). AI is the “support staff” (tester, toolsmith, editor).&lt;/td&gt;
      &lt;td&gt;Restructure teams to this model. Train developers to be “surgeons”—designers and directors, not just coders.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Plan to Throw One Away&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Build a pilot system (prototype) to learn from and then discard, as the first version is “barely usable”.&lt;/td&gt;
      &lt;td&gt;AI enables “near-instant” prototypes. The trap is shipping this prototype, inheriting massive, hidden technical debt.&lt;/td&gt;
      &lt;td&gt;Enforce the “throw away” rule. The prototype’s code is disposable; its learnings (the validated requirements) are the asset.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Second-System Effect&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;Overconfidence from a successful first system leads to a “bloated,” over-engineered second system.&lt;/td&gt;
      &lt;td&gt;AI makes adding features frictionless. This enables bloat and over-engineering from day one (a “Second-System in the First System”).&lt;/td&gt;
      &lt;td&gt;Use Conceptual Integrity 47 as the brake. If a feature doesn’t fit the central design, it must be rejected, no matter how “easy” AI makes it to add.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;blockquote&gt;
  &lt;p&gt;Disclaimer: The original idea for the research (&lt;em&gt;is “the Mythical Man Month” still valid in the age of A.I.?&lt;/em&gt;) was mine. This content was prepared by Google Gemini Deep Research, and reviewed and adapted by me.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
 </entry>
 
 <entry>
   <title>A.I. Governance in Belgium</title>
   <link href="https://blog.forret.com/2025/2025-09-28/ai-governance-in-belgium/"/>
   <updated>2025-09-28T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-28/ai-governance-in-belgium</id>
   <content type="html">&lt;p&gt;In the preparation of my &lt;a href=&quot;2025-09-04-prompt-parlour.md&quot;&gt;PromptParlour&lt;/a&gt; meetings, I wanted to get an idea of who in Belgian government is responsible for
understanding and forecasting the (exponential) progress of Artificial Intelligence, and its impact on Belgian business, innovation and society.
Who do Belgian/Flemish ministers call when they want an expert opinion on legislation or government intervention?&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/unsplash.belgium.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;!-- more --&gt;

&lt;blockquote&gt;
  &lt;p&gt;This report was done by Google Gemini Deep Research. Emphasis and annotations by me.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2 id=&quot;executive-summary&quot;&gt;Executive Summary&lt;/h2&gt;

&lt;p&gt;Belgium has engineered a sophisticated and multi-layered governance architecture for Artificial Intelligence (AI), characterized by a strategic division of labor between its federal and regional governments. This structure operates as a “dual-engine” model: &lt;strong&gt;the Flemish Region serves as a dynamic, well-funded engine for research, innovation, and economic implementation, while the Federal Government provides the national chassis for coordination, legal harmonization, and regulatory oversight&lt;/strong&gt;, largely driven by European Union mandates. This report provides a comprehensive analysis of the key people, institutions, and strategic frameworks responsible for researching AI, monitoring its evolution, and advising government bodies on its implications for legislation and public initiatives.&lt;/p&gt;

&lt;h3 id=&quot;federal-belgium&quot;&gt;Federal (Belgium)&lt;/h3&gt;

&lt;p&gt;At the federal level, &lt;a href=&quot;https://bosa.belgium.be/en&quot;&gt;the Federal Public Service (FPS) Policy and Support (BOSA)&lt;/a&gt; (&lt;a href=&quot;https://bosa.belgium.be/nl&quot;&gt;&lt;em&gt;FOD Beleid en Ondersteuning&lt;/em&gt;&lt;/a&gt;) is the central coordinating body. Through its five core missions—including an &lt;a href=&quot;https://bosa.belgium.be/nl/AI4Belgium/observatorium&quot;&gt;AI Observatory&lt;/a&gt;, strategic policy support, and management of the &lt;a href=&quot;https://bosa.belgium.be/nl/AI4Belgium&quot;&gt;AI4Belgium coalition&lt;/a&gt;—BOSA orchestrates the national dialogue and ensures alignment with the &lt;a href=&quot;https://bosa.belgium.be/en/themes/digital-administration/digital-strategy-and-policy/national-convergence-plan-development&quot;&gt;National Convergence Plan for AI&lt;/a&gt;/&lt;a href=&quot;https://bosa.belgium.be/nl/themas/digitale-overheid/artificiele-intelligentie-en-nieuwe-technologieen/ai4belgium/nationaal&quot;&gt;&lt;em&gt;Nationaal convergentieplan voor de ontwikkeling van artificiële intelligentie&lt;/em&gt;&lt;/a&gt;. This plan, a high-level strategic document, aims to create a “#SmartAINation” by focusing on broad objectives such as trustworthy AI, cybersecurity, and economic competitiveness. The federal government has also proactively established a regulatory framework in anticipation of the &lt;a href=&quot;https://www.europarl.europa.eu/topics/en/article/20230601STO93804/eu-ai-act-first-regulation-on-artificial-intelligence&quot;&gt;EU AI Act&lt;/a&gt;, designating the &lt;a href=&quot;https://www.bipt.be/operators/application-of-the-ai-act&quot;&gt;Belgian Institute for Postal Services and Telecommunications (BIPT)&lt;/a&gt; as the lead supervisory authority and creating dedicated advisory committees for ethics and strategy.&lt;/p&gt;

&lt;h3 id=&quot;regional-flanders&quot;&gt;Regional (Flanders)&lt;/h3&gt;
&lt;p&gt;In contrast, the Government of Flanders has implemented a highly structured and generously funded &lt;a href=&quot;https://www.flandersai.be/en/beleidsplan-artificiele-intelligentie&quot;&gt;Flanders AI Policy Plan&lt;/a&gt;, committing approximately €36 million annually to a clear, three-pillar strategy.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Pillar I focuses on strategic research through the &lt;a href=&quot;https://www.flandersairesearch.be/en&quot;&gt;Flanders AI Research Program&lt;/a&gt;, a powerful consortium of the region’s five universities and six strategic research centers, including the world-renowned &lt;a href=&quot;https://www.imec-int.com/en/artificial-intelligence&quot;&gt;imec&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;Pillar II drives implementation, with &lt;a href=&quot;https://www.vlaio.be/nl/begeleiding-advies/digitalisering/artificiele-intelligentie&quot;&gt;Flanders Innovation &amp;amp; Entrepreneurship (VLAIO)&lt;/a&gt; stimulating adoption in the private sector through subsidies and advice, and the &lt;a href=&quot;https://www.vlaanderen.be/digitaal-vlaanderen/onze-diensten-en-platformen/ai-expertisecentrum&quot;&gt;AI Expertise Center&lt;/a&gt; within Digitaal Vlaanderen promoting AI use within the public administration.&lt;/li&gt;
  &lt;li&gt;Pillar III provides the crucial societal framework, led by the &lt;a href=&quot;https://data-en-maatschappij.ai/en/&quot;&gt;Knowledge Centre Data &amp;amp; Society&lt;/a&gt;/&lt;a href=&quot;https://data-en-maatschappij.ai/&quot;&gt;&lt;em&gt;Kenniscentrum Data &amp;amp; Maatschappij&lt;/em&gt;&lt;/a&gt;, which offers expert guidance on the ethical, legal, and social dimensions of AI.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The ecosystem is further strengthened by key institutions like imec, which provides the foundational hardware and nanoelectronics research essential for future AI advancements, and leading academic hubs such as KU Leuven (&lt;a href=&quot;https://ai.kuleuven.be/&quot;&gt;Leuven.AI&lt;/a&gt;). Policy advice flows through a multi-vector system of formal steering groups, expert committees, influential coalitions, and citizen engagement panels. The overarching influence of the EU AI Act serves as a powerful forcing function, compelling a degree of national cohesion and collaboration between the federal and Flemish levels. Ultimately, Belgium’s approach represents a compelling model for governing a transformative technology within a complex federal state, balancing regional economic ambition with national regulatory responsibility to position itself as a key player in Europe’s trustworthy AI landscape.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id=&quot;the-full-report&quot;&gt;The Full Report&lt;/h1&gt;

&lt;h2 id=&quot;1-the-federal-ai-strategy-and-governance-framework&quot;&gt;1. The Federal AI Strategy and Governance Framework&lt;/h2&gt;

&lt;p&gt;The Belgian federal government’s approach to Artificial Intelligence is primarily one of strategic orchestration, coordination, and regulatory harmonization. Rather than directly funding large-scale research and development, the federal apparatus focuses on creating a cohesive national framework that aligns the efforts of its diverse regions and communities, ensures compliance with overarching European Union legislation, and positions Belgium as a unified actor on the international stage. This strategy is embodied in the National Convergence Plan for AI and executed through a network of public services, coalitions, and newly established advisory and supervisory bodies.&lt;/p&gt;

&lt;h3 id=&quot;11-the-national-convergence-plan-for-ai-forging-a-smartaination&quot;&gt;1.1. The National Convergence Plan for AI: Forging a #SmartAINation&lt;/h3&gt;

&lt;p&gt;The cornerstone of the federal AI strategy is the National Convergence Plan for the Development of Artificial Intelligence, a comprehensive document approved by the Council of Ministers on October 28, 2022.1 The plan’s central ambition is to transform Belgium into a “#SmartAINation” by systematically harnessing the opportunities presented by AI across various sectors of the economy and society. The very title of the plan is significant; the term “convergence” underscores its primary function, which is to align and unify the disparate AI initiatives emerging from Belgium’s complex, multi-level governance structure, ensuring that federal, regional, and community efforts move in a coherent direction.&lt;/p&gt;

&lt;p&gt;The plan’s vision is articulated through nine core objectives, which collectively reveal the federal government’s strategic priorities. These pillars are broad and cross-cutting, reflecting a high-level coordinating role rather than the direct, project-focused funding characteristic of the regional strategies, particularly that of Flanders. The nine objectives are&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Promoting Trustworthy AI: Ensuring that AI is developed and used in a responsible, human-centric manner that respects fundamental rights and ethical principles.&lt;/li&gt;
  &lt;li&gt;Guaranteeing Cybersecurity: Addressing the new security risks and vulnerabilities introduced by the widespread adoption of AI and connected devices.&lt;/li&gt;
  &lt;li&gt;Boosting Belgium’s Competitiveness and Attractiveness through AI: Strengthening the national economy by fostering an environment conducive to AI innovation and investment.&lt;/li&gt;
  &lt;li&gt;Developing a Data-Driven Economy and a High-Performance Infrastructure: Building the foundational data and computational infrastructure necessary for a thriving AI ecosystem.&lt;/li&gt;
  &lt;li&gt;AI at the Heart of Healthcare: Leveraging AI to improve diagnostics, treatment, and the overall efficiency of the healthcare system.&lt;/li&gt;
  &lt;li&gt;Driving More Sustainable Mobility: Using AI to optimize transportation systems, reduce congestion, and enhance safety.&lt;/li&gt;
  &lt;li&gt;Protecting the Environment: Applying AI to address climate change and promote a circular economy.&lt;/li&gt;
  &lt;li&gt;Better Lifelong Training: Preparing the workforce for the labor market transformations driven by AI through continuous education and skills development.&lt;/li&gt;
  &lt;li&gt;Providing Citizens with Better Services and Protection: Using AI to improve the efficiency, accessibility, and personalization of public services.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To oversee the execution of this ambitious plan, a dedicated steering committee has been established. This committee is jointly managed by two key federal bodies: the Federal Public Service (FPS) Policy and Support (BOSA) and the FPS Economy. It is designed to function as the central point of contact at the federal level for all matters related to AI, tasked with formulating proposals on the AI program’s operation and ensuring its strategic implementation.1 The committee is chaired by the Director-General of the &lt;a href=&quot;https://bosa.belgium.be/en/dg-simplification-and-digitalisation&quot;&gt;Directorate-General (DG) Simplification and Digitisation&lt;/a&gt; within FPS BOSA, placing the digital transformation arm of the federal government at the heart of national AI governance.&lt;/p&gt;

&lt;h3 id=&quot;12-fps-bosa-the-federal-engine-for-digital-transformation&quot;&gt;1.2. FPS BOSA: The Federal Engine for Digital Transformation&lt;/h3&gt;

&lt;p&gt;The Federal Public Service Policy and Support (BOSA) stands out as the primary institutional driver of the federal government’s digital and AI agenda. Its mandate is not limited to passive implementation; BOSA is tasked with actively shaping the digital evolution of the federal administration by monitoring technological trends, providing high-level strategic support to policymakers, and fostering an environment of innovation. This central role is operationalized through five core missions specifically focused on AI and emerging technologies:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;AI and Digital Technologies Observatory: This mission serves as the federal government’s primary intelligence-gathering function. The observatory proactively monitors and analyzes emerging digital trends to anticipate their evolution and inform public strategy. It actively tracks AI and blockchain projects across Belgium, developing tools such as initiative maps that provide a comprehensive overview of the national ecosystem. This function directly addresses the need to “follow up on AI evolution and breakthroughs”.&lt;/li&gt;
  &lt;li&gt;Ethical and Legal Support: BOSA provides expert guidance on the complex ethical and legal dimensions of AI and blockchain technologies. This support is offered at all levels of governance—regional, national, and international—to ensure that the deployment of these technologies complies with established standards and regulations. This mission is central to advising the government on “safety and directions to take for legislation.”&lt;/li&gt;
  &lt;li&gt;Strategic Support for Political Decision-Makers (AI4Gov): This function establishes a direct and formal channel of communication between technical expertise and political leadership. Through the AI4Gov initiative, BOSA provides strategic advice and support directly to policymakers on issues related to AI, ensuring that political decisions are well-informed and strategically sound.&lt;/li&gt;
  &lt;li&gt;Artificial Intelligence Expertise Center and AI Lab: BOSA actively fosters innovation by developing cutting-edge AI solutions and conducting in-depth research. This center serves as an internal incubator for the federal government, developing and piloting AI applications such as chatbots for public services and tools for auditing the accessibility of government websites.&lt;/li&gt;
  &lt;li&gt;Ecosystem Management and International Outreach: BOSA plays a crucial role as a national convener. It leads and facilitates the AI4Belgium coalition, fostering collaboration among stakeholders from Flanders, Wallonia, and Brussels. Furthermore, it coordinates the steering committee responsible for implementing the National Convergence Plan, cementing its position as the institutional heart of federal-regional cooperation on AI.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The key entity within BOSA responsible for these tasks is the Directorate-General for Simplification and Digitalisation (DG SD), also known as the DG Digital Transformation. (…), the most recent information from BOSA’s official website indicates that &lt;a href=&quot;https://bosa.belgium.be/nl/news/nieuwe-directeur-generaal-ai-bij-dg-vereenvoudiging-en-digitalisering-van-fod-bosa&quot;&gt;Liliane Verreyen&lt;/a&gt; is currently the acting Director-General a.i. Political oversight is provided by &lt;a href=&quot;https://matz.belgium.be/nl&quot;&gt;Minister Vanessa Matz&lt;/a&gt;, who is in charge of Digitalisation, and &lt;a href=&quot;https://news.belgium.be/nl/mathieu-michel-staatssecretaris-voor-digitalisering-belast-met-administratieve-vereenvoudiging&quot;&gt;Secretary of State Mathieu Michel&lt;/a&gt;, who is responsible for Digitalisation and Administrative Simplification.&lt;/p&gt;

&lt;h3 id=&quot;13-ai4belgium-a-national-coalition-for-stakeholder-alignment&quot;&gt;1.3. AI4Belgium: A National Coalition for Stakeholder Alignment&lt;/h3&gt;

&lt;p&gt;AI4Belgium is a cornerstone of the federal strategy, operating as a “grassroot” community-driven coalition managed and led by FPS BOSA.  It is not a formal government agency but rather a dynamic and influential ecosystem manager designed to connect and align the diverse stakeholders in the Belgian AI landscape, including academia, industry, and government bodies from all three regions.&lt;/p&gt;

&lt;p&gt;The coalition’s primary functions are to co-animate the Belgian AI community, facilitate access to EU funding, propose concrete actions for AI training, and promote the adoption of AI technologies by industry. Its influence on formal policy is substantial; the “AI4Belgium roadmap” served as a foundational document that directly informed the development of the National Convergence Plan, demonstrating how this community-based initiative provides critical input into the official policymaking process. With a modest annual budget of less than €1 million, AI4Belgium’s value lies not in direct funding but in its ability to build consensus, share best practices, and serve as the primary informal channel for advice and strategic alignment across Belgium’s federated structure.&lt;/p&gt;

&lt;h3 id=&quot;14-regulatory-and-ethical-oversight-at-the-federal-level&quot;&gt;1.4. Regulatory and Ethical Oversight at the Federal Level&lt;/h3&gt;

&lt;p&gt;In response to the growing complexity of AI and the impending enforcement of comprehensive EU regulations, the federal government has moved to establish a clear and robust architecture for regulatory and ethical oversight. This structure is designed to ensure compliance, provide expert guidance, and create a predictable legal environment for AI innovation.&lt;/p&gt;

&lt;p&gt;The most significant development is the designation of the Belgian Institute for Postal Services and Telecommunications (BIPT) as the lead national supervisory authority for the EU AI Act and the Data Act.12 This appointment, outlined in the 2025-2029 federal government agreement, represents a major expansion of BIPT’s traditional mandate as a regulator of the telecommunications sector. It positions the BIPT as the central enforcer of AI regulations in Belgium, responsible for market surveillance and ensuring that AI systems placed on the market comply with EU law.&lt;/p&gt;

&lt;p&gt;To complement this supervisory function, the government has instituted two distinct consultative bodies to provide structured, expert advice&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Federal Government Data Ethics and Artificial Intelligence Advisory Committee: Officially appointed by ministerial decree on May 8, 2024, this committee is housed within FPS BOSA.14 Its mandate is to provide scientific advice on the ethical, legal, economic, social, and environmental issues related to the use of AI within the federal administration. Its focus is therefore on internal governance, ensuring that the government itself is a responsible user of AI technology.&lt;/li&gt;
  &lt;li&gt;Artificial Intelligence Steering Committee: Established by a Royal Decree on May 24, 2024, this body has a broader mandate to advise the federal government on all other matters relating to artificial intelligence.14 It functions as a high-level strategic advisory council, providing guidance on national AI policy, technological developments, and economic opportunities.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The establishment of these distinct bodies—a single powerful regulator (BIPT) and two specialized advisory committees—demonstrates a deliberate and proactive effort to construct a comprehensive national governance framework. This architecture is clearly designed in anticipation of the full implementation of the EU AI Act, which requires Member States to designate competent authorities and establish clear governance structures.11 This indicates that European regulation is a primary driver of federal AI policy, with the federal government positioning itself as the key national entity for implementing and enforcing pan-European digital law.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Institution&lt;/th&gt;
      &lt;th&gt;Key Document/Mandate&lt;/th&gt;
      &lt;th&gt;Core Responsibilities&lt;/th&gt;
      &lt;th&gt;Key Personnel/Leadership&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;FPS BOSA (DG Simplification &amp;amp; Digitalisation)&lt;/td&gt;
      &lt;td&gt;National Convergence Plan for AI&lt;/td&gt;
      &lt;td&gt;Coordination of federal digital strategy; AI Observatory; Ethical &amp;amp; Legal Support; AI4Gov; AI Expertise Center; Management of AI4Belgium&lt;/td&gt;
      &lt;td&gt;Minister Vanessa Matz; Sec. of State Mathieu Michel; Liliane Verreyen (DG a.i.)&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;AI4Belgium Coalition&lt;/td&gt;
      &lt;td&gt;AI4Belgium Roadmap&lt;/td&gt;
      &lt;td&gt;Ecosystem management; Stakeholder alignment (academia, industry, government); Policy recommendations; EU funding facilitation.&lt;/td&gt;
      &lt;td&gt;Led by FPS BOSA&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;BIPT&lt;/td&gt;
      &lt;td&gt;Federal Government Agreement (2025-2029)&lt;/td&gt;
      &lt;td&gt;Designated Supervisory Authority for the EU AI Act and the Data Act; Market surveillance and regulatory enforcement.&lt;/td&gt;
      &lt;td&gt;?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Federal AI Steering Committee&lt;/td&gt;
      &lt;td&gt;Royal Decree of 24 May 2024&lt;/td&gt;
      &lt;td&gt;Provides strategic advice to the federal government on all general matters relating to artificial intelligence.&lt;/td&gt;
      &lt;td&gt;?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Federal Data and AI Ethics Advisory Committee&lt;/td&gt;
      &lt;td&gt;Royal Decree of 4 October 2023&lt;/td&gt;
      &lt;td&gt;Provides scientific advice on ethical, legal, and societal issues of AI use within the federal administration.&lt;/td&gt;
      &lt;td&gt;Appointed within FPS BOSA&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h2 id=&quot;2-the-flemish-ai-ecosystem-a-three-pillar-approach&quot;&gt;2. The Flemish AI Ecosystem: A Three-Pillar Approach&lt;/h2&gt;

&lt;p&gt;While the federal government provides the national framework, the Flemish Region has established itself as the primary engine of AI research, development, and economic implementation in Belgium. The Government of Flanders has crafted a highly structured, ambitious, and exceptionally well-funded strategy designed to position the region as a European leader in the field. This strategy is not merely a policy document but an operational blueprint that creates a clear and integrated pipeline from fundamental research to industrial application and societal oversight.&lt;/p&gt;

&lt;h3 id=&quot;21-the-flanders-ai-policy-plan-a-regional-blueprint-for-leadership&quot;&gt;2.1. The Flanders AI Policy Plan: A Regional Blueprint for Leadership&lt;/h3&gt;

&lt;p&gt;The central instrument of the Flemish strategy is the Flanders Artificial Intelligence (AI) Policy Plan. First launched in July 2019 and renewed for a second five-year cycle in March 2024, the plan’s explicit goal is to expand the region’s AI knowledge base, cultivate deep expertise within Flemish industry, and actively foster the widespread rollout of AI technologies to ensure Flanders assumes a “leading role” in the global AI revolution.&lt;/p&gt;

&lt;p&gt;This ambition is backed by a substantial and sustained financial commitment. The plan represents an annual investment of approximately €32-36 million, a figure that dwarfs the federal government’s direct spending on AI initiatives and signals the high strategic priority placed on AI by the Flemish government. Political leadership for the plan rests at the highest level of the Flemish government. The responsible minister is the Minister-President of Flanders, a role that combines the portfolios of Economy, Innovation, and Industry. The current Minister-President is &lt;a href=&quot;https://www.vlaanderen.be/en/government-of-flanders/minister-president-matthias-diependaele&quot;&gt;Matthias Diependaele&lt;/a&gt;. The primary administrative body overseeing the plan is the Department of Economy, Science and Innovation (EWI).&lt;/p&gt;

&lt;p&gt;The defining feature of the Flanders AI Policy Plan is its clear and logical three-pillar structure. This architecture deliberately divides responsibilities and funding into three complementary and interconnected sections, creating a comprehensive ecosystem that addresses the full lifecycle of technological innovation&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;A research section, focused on strengthening strategic basic research.&lt;/li&gt;
  &lt;li&gt;An implementation and digitalization section, aimed at encouraging the adoption of AI by businesses and public services.&lt;/li&gt;
  &lt;li&gt;An accompanying section, which provides the necessary ethical framework, training, and public awareness initiatives.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This tripartite structure is the operational heart of the Flemish strategy, providing a clear roadmap from scientific discovery to market application and responsible governance.&lt;/p&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Pillar&lt;/th&gt;
      &lt;th&gt;Lead Agency/Initiative&lt;/th&gt;
      &lt;th&gt;Annual Budget (€)&lt;/th&gt;
      &lt;th&gt;Core Objective&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Pillar I: Strategic Research&lt;/td&gt;
      &lt;td&gt;Flanders AI Research Program&lt;/td&gt;
      &lt;td&gt;€14.185 million&lt;/td&gt;
      &lt;td&gt;To conduct strategic basic research into generic AI methodologies applicable across key sectors.&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Pillar II: Implementation &amp;amp; Adoption&lt;/td&gt;
      &lt;td&gt;VLAIO / Digitaal Vlaanderen&lt;/td&gt;
      &lt;td&gt;~€9.5 million (+ €12M for SME digitalization)&lt;/td&gt;
      &lt;td&gt;To stimulate the widespread adoption of AI by businesses (VLAIO) and within the government (Digitaal Vlaanderen).&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Pillar III: Societal Framework&lt;/td&gt;
      &lt;td&gt;Knowledge Centre Data &amp;amp; Society / VAIA / Amai!&lt;/td&gt;
      &lt;td&gt;€5 million&lt;/td&gt;
      &lt;td&gt;To provide ethical and legal guidance, deliver targeted training, and foster public awareness and engagement.&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;h3 id=&quot;22-pillar-i---strategic-research-the-flanders-ai-research-program&quot;&gt;2.2. Pillar I - Strategic Research: The Flanders AI Research Program&lt;/h3&gt;

&lt;p&gt;The first pillar of the Flemish plan is dedicated to fundamental scientific advancement and is embodied by the Flanders AI Research Program. This program is the core research engine of the regional strategy, receiving an annual budget of €14.185 million to conduct strategic basic research into generic AI methodologies. Its research is intentionally demand-driven, designed to produce foundational knowledge that can be applied across a wide range of applications in healthcare, industry, and government.&lt;/p&gt;

&lt;p&gt;The program’s research agenda is organized around five key focus themes, selected to align with both global trends and Flanders’ existing research strengths:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Responsible AI: Developing AI that is fair, transparent, explainable, and aligned with societal values.&lt;/li&gt;
  &lt;li&gt;Human-centered AI: Creating AI systems that support human decision-making and interact safely and intuitively with users.&lt;/li&gt;
  &lt;li&gt;Sustainable AI: Designing energy-efficient AI hardware and software to minimize environmental impact.&lt;/li&gt;
  &lt;li&gt;Productive and Data-efficient AI: Building AI systems that can learn from small datasets and are easily integrated into existing workflows.&lt;/li&gt;
  &lt;li&gt;Resilient and Performant AI: Creating dynamic and adaptive AI that can operate effectively in uncertain and changing environments.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The immense strength of the Flanders AI Research Program lies in its collaborative structure. It is not a single institution but a powerful consortium of Flanders’ eleven leading research institutions. This brings together the region’s five universities—&lt;a href=&quot;https://ai.kuleuven.be/&quot;&gt;KU Leuven&lt;/a&gt;, &lt;a href=&quot;https://ai.ugent.be/index.en.html&quot;&gt;Ghent University&lt;/a&gt;, &lt;a href=&quot;https://www.uantwerpen.be/nl/onderzoek/beleid/ethiek-integriteit/ai/&quot;&gt;University of Antwerp&lt;/a&gt;, &lt;a href=&quot;https://www.uhasselt.be/nl/aparte-sites-uhasselt/ai-uhasselt&quot;&gt;Hasselt University&lt;/a&gt;, and &lt;a href=&quot;https://ai.vub.ac.be/&quot;&gt;Vrije Universiteit Brussel&lt;/a&gt;—with its six strategic research centers: imec, &lt;a href=&quot;https://www.flandersmake.be/en&quot;&gt;Flanders Make&lt;/a&gt;, &lt;a href=&quot;https://vib.ai/en&quot;&gt;VIB&lt;/a&gt; (Flanders Institute for Biotechnology), &lt;a href=&quot;https://vito.be/en/research/data-science/artificial-intelligence&quot;&gt;VITO&lt;/a&gt; (Flemish Institute for Technological Research), &lt;a href=&quot;https://www.sirris.be/en/expertise/data-and-artificial-intelligence-solutions&quot;&gt;Sirris&lt;/a&gt; (the collective center of the Belgian technology industry), and &lt;a href=&quot;https://ilvo.vlaanderen.be/en/search-results?q=artificial+intelligence&amp;amp;id=ilvo&amp;amp;l=en&amp;amp;index=all&quot;&gt;ILVO&lt;/a&gt; (Flanders Research Institute for Agriculture, Fisheries and Food). This “triple helix” model, uniting over 300 researchers, ensures that cutting-edge academic research is closely linked with applied science and industrial needs from the very beginning.&lt;/p&gt;

&lt;h3 id=&quot;23-pillar-ii---implementation--adoption-the-role-of-vlaio-and-digitaal-vlaanderen&quot;&gt;2.3. Pillar II - Implementation &amp;amp; Adoption: The Role of VLAIO and Digitaal Vlaanderen&lt;/h3&gt;

&lt;p&gt;The second pillar of the Flemish plan is focused on ensuring that the knowledge generated by the research program is effectively translated into tangible economic and societal value. This is achieved through a dual-pronged approach, with dedicated agencies targeting the private and public sectors, respectively. This separation allows for tailored strategies that recognize the different needs, incentives, and constraints of businesses versus government bodies.&lt;/p&gt;

&lt;p&gt;Flanders Innovation &amp;amp; Entrepreneurship (VLAIO) is the primary vehicle for driving AI adoption in the private sector. As the Flemish government’s central point of contact for entrepreneurs, VLAIO is tasked with de-risking and accelerating the integration of AI into Flemish businesses. It receives approximately €9.5 million annually from the AI plan, supplemented by a separate €12 million fund for broader SME digitalization, to carry out its mission. VLAIO’s activities include raising awareness, providing expert advice, and offering direct financial support through a range of subsidy instruments for research, development, and implementation projects. A specific funding stream, known as “&lt;a href=&quot;https://www.scivil.be/project/burgerpanel-vaiop&quot;&gt;VAIOP&lt;/a&gt;,” is earmarked for projects that actively disseminate the results of the Flanders AI Research Program to the broader business community, creating a direct, funded pathway from basic research to industrial application.&lt;/p&gt;

&lt;p&gt;A key figure representing VLAIO’s role in the broader ecosystem is &lt;a href=&quot;https://www.vaia.be/nl/experts/jeroen-fiers&quot;&gt;Jeroen Fiers&lt;/a&gt;, an advisor who sits on both the VAIA steering committee and the overarching AI Steering Group for the Flemish plan.&lt;/p&gt;

&lt;p&gt;The internal counterpart to VLAIO is the &lt;a href=&quot;https://www.vlaanderen.be/digitaal-vlaanderen/onze-diensten-en-platformen/ai-expertisecentrum&quot;&gt;AI Expertise Center&lt;/a&gt;, housed within Digitaal Vlaanderen, the agency responsible for the digital transformation of the Flemish public sector.42 The center’s mission is to promote and guide the responsible adoption of AI within the Flemish government and local authorities. Its work is structured around five pillars:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Vision &amp;amp; Strategy, which involves developing frameworks like the AI Playbook;&lt;/li&gt;
  &lt;li&gt;Innovation, which includes piloting new tools such as Microsoft 365 Copilot for public servants;&lt;/li&gt;
  &lt;li&gt;Reliable AI, providing crucial guidance on compliance with the EU AI Act;&lt;/li&gt;
  &lt;li&gt;People &amp;amp; Organization, focusing on change management and AI literacy for government employees; and 
5; AI Architecture, developing scalable and reusable technical solutions.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The center also manages the AI Adviesraad (AI Advisory Council), a strategic body composed of experts from academia, industry, and government that advises the Flemish government on AI policy and implementation. A key individual supporting the center’s strategic work is &lt;a href=&quot;https://www.vaia.be/en/experts/hans-arents&quot;&gt;Hans Arents&lt;/a&gt;, a senior advisor at Digitaal Vlaanderen.&lt;/p&gt;

&lt;h3 id=&quot;24-pillar-iii---societal-framework-ethics-training-and-awareness&quot;&gt;2.4. Pillar III - Societal Framework: Ethics, Training, and Awareness&lt;/h3&gt;

&lt;p&gt;The third and final pillar of the Flemish plan provides the essential societal guardrails and enablers for the first two. With an annual budget of €5 million, it focuses on building a trustworthy, skilled, and engaged society capable of navigating the complexities of the AI revolution. This is accomplished through three distinct but complementary initiatives.&lt;/p&gt;

&lt;p&gt;The Knowledge Centre Data &amp;amp; Society (Kenniscentrum Data &amp;amp; Maatschappij) serves as the ethical and legal conscience of the Flemish AI ecosystem. It is a unique collaboration between three leading university research groups: &lt;a href=&quot;https://smit.research.vub.be/en&quot;&gt;imec-SMIT&lt;/a&gt; at Vrije Universiteit Brussel (VUB), &lt;a href=&quot;https://www.imec-int.com/en/connect-with-us/mict-imec-reseach-group-at-ghent-university&quot;&gt;imec-MICT&lt;/a&gt; at Ghent University, and the Centre for IT &amp;amp; IP Law (&lt;a href=&quot;https://www.law.kuleuven.be/citip/en&quot;&gt;CiTiP&lt;/a&gt;) at KU Leuven. Its core mission is to provide concrete, actionable guidance on the legal, ethical, and social implications of AI. It does this by developing practical tools (such as its “&lt;a href=&quot;https://www.vaia.be/en/courses/the-eu-ai-act-in-6-steps&quot;&gt;EU AI Act in 6 steps&lt;/a&gt;” guide and the &lt;a href=&quot;https://ally-ai.be/about&quot;&gt;“ALLY” framework&lt;/a&gt; for responsible AI strategy), publishing accessible research, and offering advice to policymakers, companies, and the public to ensure that AI is implemented in a socially responsible and legally compliant manner. The center is led by Academic Coordinator Dr. &lt;a href=&quot;https://smit.research.vub.be/en/prof-dr-rob-heyman&quot;&gt;Rob Heyman&lt;/a&gt; and Operational Coordinator &lt;a href=&quot;https://smit.research.vub.be/en/pieter-duysburgh&quot;&gt;Pieter Duysburgh&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;https://www.vaia.be/en/&quot;&gt;Flemish AI Academy&lt;/a&gt; (VAIA) addresses the critical need for skills and training. As a collaboration between all Flemish universities and university colleges, VAIA’s mission is to provide a comprehensive and accessible range of AI courses and training programs for professionals across all sectors. It acts as a central hub for lifelong learning in AI, ensuring that the Flemish workforce is equipped with the necessary skills to adapt to and thrive in an AI-driven economy.&lt;/p&gt;

&lt;p&gt;Finally, &lt;a href=&quot;https://amai.vlaanderen/&quot;&gt;Amai!&lt;/a&gt; is a citizen-facing initiative designed to foster public awareness and engagement. It informs citizens about AI and actively involves them in the co-creation of AI solutions to pressing societal challenges in areas like climate, mobility, and health. This ensures that the development of AI in Flanders is not a purely top-down process but is instead informed by public needs and values.&lt;/p&gt;

&lt;h2 id=&quot;3-key-institutions-and-personalities-in-ai-research-and-policy&quot;&gt;3. Key Institutions and Personalities in AI Research and Policy&lt;/h2&gt;

&lt;p&gt;The strategic frameworks established by the federal and Flemish governments are brought to life by a network of world-class research institutions and a cadre of influential leaders. These organizations and individuals form the intellectual and operational core of the Belgian AI ecosystem, driving the research, executing the policy, and bridging the gaps between science, industry, and governance.&lt;/p&gt;

&lt;h3 id=&quot;31-leading-research-institutions&quot;&gt;3.1. Leading Research Institutions&lt;/h3&gt;

&lt;p&gt;At the heart of Belgium’s AI capabilities are several research institutions with global reputations. Their work provides the foundational knowledge and technological breakthroughs that fuel the entire ecosystem.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;imec (Interuniversity Microelectronics Centre) is arguably the most critical technological institution in the Belgian AI landscape. Headquartered in Leuven, imec is a world-leading independent R&amp;amp;D hub in nanoelectronics and digital technologies. Although it was founded with support from the Flemish Government, it operates as a truly international organization with a global partner network. Imec’s role in AI is foundational and strategic; it focuses on developing the next-generation hardware—the smaller, faster, more powerful, and more energy-efficient microchips—that is essential for enabling future AI applications.56 This focus on the physical layer of AI distinguishes the Belgian ecosystem, as it is not merely concerned with applying existing AI software but with building the fundamental technology for the next generation of AI. Imec is a key partner in the Flanders AI Research Program and also coordinates the Flanders AI EDIH (European Digital Innovation Hub), which helps accelerate AI adoption among SMEs.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The leadership at imec is crucial to this vision. The President and CEO is &lt;a href=&quot;https://nl.wikipedia.org/wiki/Luc_Van_den_hove&quot;&gt;Luc Van den hove&lt;/a&gt;, a pivotal figure who has shaped imec’s global ecosystem, championed its role in the EU Chips Act, and consistently emphasized the need to future-proof AI through hardware innovation.55 Within his leadership team, two individuals are central to the AI strategy: &lt;a href=&quot;https://datanews.knack.be/carriere/karl-tuyls-ex-deepmind-wordt-cto-ai-bij-imec/&quot;&gt;Karl Tuyls&lt;/a&gt;, who serves as an imec fellow and the Chief Technology Officer (CTO) for AI, and &lt;a href=&quot;https://www.imec-int.com/en/articles/meet-imec-fellow-steven-latre&quot;&gt;Steven Latré&lt;/a&gt;, who holds the position of AI Strategy Advisor.&lt;/p&gt;

&lt;p&gt;University Hubs form the backbone of fundamental AI research in the region.&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;KU Leuven is a powerhouse in AI research and is recognized as one of Europe’s top universities for spin-off activities. Its Leuven.AI institute serves as a central hub, coordinating multidisciplinary AI research across dozens of labs and research groups. As a leading member of the Flanders AI Research Program, KU Leuven is central to the region’s scientific output. A key personality is Prof. &lt;a href=&quot;https://www.bartdemoor.be/&quot;&gt;Bart De Moor&lt;/a&gt;, a full professor at KU Leuven who is not only a promotor for the Flanders AI Research Program but also serves as the influential chair of the VAIA (Flemish AI Academy) steering committee, creating a strong link between top-tier research and professional training.&lt;/li&gt;
  &lt;li&gt;The VUB AI Lab at Vrije Universiteit Brussel is renowned for its pioneering and interdisciplinary research, with a long history in areas such as autonomous systems, reinforcement learning, and AI ethics. It plays a leading role within the Flanders AI Research Program, heading the research challenge on “Multi-agent collaborative AI”.&lt;/li&gt;
  &lt;li&gt;Ghent University, the University of Antwerp, and Hasselt University are the other vital academic partners in the Flanders AI Research Program&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each brings specialized expertise, and their collective participation ensures a comprehensive and robust research base that covers the full spectrum of AI disciplines.&lt;/p&gt;

&lt;h3 id=&quot;32-governmental-leadership-and-key-figures&quot;&gt;3.2. Governmental Leadership and Key Figures&lt;/h3&gt;

&lt;p&gt;The direction and implementation of AI policy are guided by key political and administrative leaders at both the federal and Flemish levels.&lt;/p&gt;

&lt;p&gt;At the Federal Level:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Ministerial Leadership: The political direction for the federal digital agenda is set by Minister Vanessa Matz, who is the Minister of the Modernisation of the Public Administration and is in charge of Digitalisation, and Secretary of State Mathieu Michel, who is responsible for Digitalisation and Administrative Simplification.&lt;/li&gt;
  &lt;li&gt;Administrative Leadership: The day-to-day execution of the federal AI strategy falls to FPS BOSA, where Liliane Verreyen serves as the acting Director-General for Simplification and Digitalisation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At the Flemish Level:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Ministerial Leadership: The ultimate political authority for the comprehensive and well-funded Flanders AI Policy Plan is Matthias Diependaele. In his dual role as Minister-President of the Government of Flanders and Flemish Minister for Economy, Innovation, Industry, and Digitalisation, he oversees the entire AI ecosystem in the region.&lt;/li&gt;
  &lt;li&gt;Administrative Leadership: Several key figures are instrumental in managing the Flemish ecosystem. Jan Smedts, as the head of Digitaal Vlaanderen, chairs the AI Advisory Council that guides public sector adoption. Jeroen Fiers, an advisor at VLAIO, is a crucial link, representing the implementation pillar in the overarching AI Steering Group.26Dr. Rob Heyman, the Academic Coordinator of the Knowledge Centre Data &amp;amp; Society, is a highly influential voice on the ethical and legal dimensions of AI and also participates as an expert in the AI Steering Group.26The Belgian AI ecosystem is held together not just by formal structures but by a network of these key individuals who often hold multiple roles across different institutions. For instance, Prof. Bart De Moor’s leadership in both the research program and the AI academy ensures that scientific advancements are quickly translated into training curricula. Similarly, the presence of figures like Jeroen Fiers and Rob Heyman on the central AI Steering Group guarantees that the perspectives of industrial implementation and ethical oversight are tightly integrated into the highest level of strategic decision-making. This overlapping leadership model fosters strong informal and formal links, reducing institutional silos and enabling rapid, coherent action across the different pillars of the Flemish plan.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;4-the-flow-of-advice-from-research-to-legislation&quot;&gt;4. The Flow of Advice: From Research to Legislation&lt;/h2&gt;

&lt;p&gt;The process by which research findings, ethical considerations, and stakeholder feedback are translated into government policy and legislation in Belgium is a multi-vector system. It involves a sophisticated interplay of formal advisory bodies, influential informal coalitions, direct academic input, and structured citizen engagement. This complex network ensures that decision-making on AI is informed by a wide range of perspectives, balancing expert opinion with industry needs, ethical principles, and public sentiment.&lt;/p&gt;

&lt;h3 id=&quot;41-formal-pathways-of-influence&quot;&gt;4.1. Formal Pathways of Influence&lt;/h3&gt;

&lt;p&gt;Both the federal and Flemish governments have established formal structures to channel expert advice directly into the policymaking process.In the Flemish Government, the primary formal advisory body is the AI Steering Group. This group is responsible for the overall management of the Flanders AI Policy Plan and is composed of high-level representatives from universities, key industry associations (Agoria, Voka, UNIZO), research centers, and government agencies, including VLAIO and Digitaal Vlaanderen.26 Advice flows vertically from the three pillars of the AI plan into this central committee. The Flanders AI Research Program provides scientific and technological insights; VLAIO channels feedback on the needs and challenges of industrial implementation; and the Knowledge Centre Data &amp;amp; Society delivers crucial analysis on ethical and legal issues. The steering group synthesizes this input and provides direct advice to the Department of Economy, Science and Innovation (EWI) and the responsible minister, Matthias Diependaele. For matters specific to the public sector, Digitaal Vlaanderen’s AI Advisory Council offers targeted recommendations on AI adoption within the government itself.&lt;/p&gt;

&lt;p&gt;At the Federal Government level, the advisory process has been recently formalized and strengthened. The “Strategic support for political decision-makers” (&lt;a href=&quot;https://bosa.belgium.be/nl/AI4Belgium/AI4GOV&quot;&gt;AI4Gov&lt;/a&gt;) mission within FPS BOSA represents a direct, ongoing channel of expert advice to government ministers.2 This has been supplemented by the creation of two new, highly structured committees. The Federal Data and &lt;a href=&quot;https://bosa.belgium.be/en/news/appointment-data-and-ai-ethics-advisory-committee-federal-administration&quot;&gt;AI Ethics Advisory Committee&lt;/a&gt; provides specific, scientific advice on the responsible use of AI within federal government operations, focusing on internal governance. In contrast, the broader Federal AI Steering Committee is tasked with advising the government on all other matters related to AI, serving as the main source of high-level strategic guidance on national policy.&lt;/p&gt;

&lt;h3 id=&quot;42-inter-governmental-collaboration-and-eu-influence&quot;&gt;4.2. Inter-Governmental Collaboration and EU Influence&lt;/h3&gt;

&lt;p&gt;Given Belgium’s federal structure, mechanisms for inter-governmental collaboration are essential. The primary vehicle for this is the AI4Belgium coalition, managed by FPS BOSA. It serves as the main forum for dialogue and consensus-building between the federal government and the regions (Flanders, Wallonia, and Brussels), ensuring that regional initiatives are understood at the national level and vice versa. The National Convergence Plan itself is the intended outcome of this collaborative ideal, aiming to create a unified national vision.However, the most powerful driver of national cohesion is the external pressure of European Union legislation. The EU AI Act, a comprehensive and legally binding regulation, acts as a significant forcing function for federal-regional alignment.11 The federal government is responsible for the national implementation of the Act, including designating the supervisory authority (BIPT) and ensuring a consistent enforcement framework across the country.12 Simultaneously, regional bodies are actively preparing their stakeholders for compliance. The AI Expertise Center within Digitaal Vlaanderen is developing guidance specifically for the Flemish public administration on how to navigate the Act’s requirements. The Knowledge Centre Data &amp;amp; Society plays a pivotal role in interpreting the complex legal text and developing practical tools to help Flemish companies and organizations understand their obligations.12 This shared, non-negotiable requirement for compliance necessitates a common understanding and a coordinated response, compelling a level of collaboration that might otherwise be challenging to achieve.&lt;/p&gt;

&lt;h3 id=&quot;43-citizen-and-stakeholder-engagement&quot;&gt;4.3. Citizen and Stakeholder Engagement&lt;/h3&gt;

&lt;p&gt;Both levels of government have also recognized the importance of incorporating public perspectives into AI governance, moving beyond purely expert-driven advice.At the federal level, the FPS Foreign Affairs organized a pioneering citizens’ panel in the lead-up to the finalization of the EU AI Act.65 A group of 60 Belgians, randomly selected to be representative of the national population in terms of age, gender, language, and other demographics, was convened to deliberate on the promises and risks of AI. Their deliberations produced nine key messages for policymakers, emphasizing the need for permanent human oversight in decision-making, greater consideration for the environmental impact of AI, and the importance of ensuring AI serves the common good without undermining democracy or employment. These recommendations were intended to inform the Belgian government’s negotiating positions and to inspire the strategic agenda of the European Commission.65In Flanders, citizen engagement is designed as a continuous process through the Amai! initiative, which is part of the third pillar of the AI Policy Plan.18 Amai! actively involves the public in the co-creation of AI solutions for specific societal problems, such as those in mobility or healthcare. This approach ensures that public needs and concerns are not just solicited as feedback on existing policies but are integrated into the innovation process from the very beginning, helping to build public trust and ensure that AI development is aligned with societal values.&lt;/p&gt;

&lt;h2 id=&quot;5-analysis-and-conclusion&quot;&gt;5. Analysis and Conclusion&lt;/h2&gt;

&lt;p&gt;Belgium’s approach to the governance of Artificial Intelligence is a direct reflection of its unique federal structure. It is a complex, multi-layered system that, rather than being a source of fragmentation, has been strategically leveraged to create a “dual-engine” model for innovation and oversight. This architecture combines the strengths of regional agility and economic focus with the stability of a national regulatory framework, positioning the country to navigate the challenges and opportunities of the AI era.&lt;/p&gt;

&lt;h3 id=&quot;51-strengths-the-dual-engine-advantage&quot;&gt;5.1. Strengths: The “Dual-Engine” Advantage&lt;/h3&gt;

&lt;p&gt;The primary strength of the Belgian system is its effective division of labor, which allows it to function as a dual-engine entity. The Flemish Region acts as a powerful and well-funded R&amp;amp;D and economic engine. Through its highly structured, three-pillar AI Policy Plan, Flanders has created an integrated pipeline that efficiently moves ideas from fundamental research in its world-class universities and research centers, through industrial implementation facilitated by VLAIO, all while being guided by the ethical oversight of the Knowledge Centre Data &amp;amp; Society. This model is designed to maximize innovation, economic growth, and competitiveness.Simultaneously, the Federal Government provides the essential chassis and steering mechanism for the entire nation. Its role is not to compete with the regions in funding innovation but to provide the overarching legal framework, national and international representation, and regulatory stability required to guide the system. By focusing on “convergence,” leading the AI4Belgium coalition, and establishing the national supervisory architecture for the EU AI Act, the federal level ensures legal coherence, prevents a fragmented internal market, and presents a unified face to Europe and the world. This symbiotic relationship allows for both dynamic, regionally-tailored innovation and consistent, nationwide regulatory standards.&lt;/p&gt;

&lt;h3 id=&quot;52-challenges-navigating-complexity-and-ensuring-convergence&quot;&gt;5.2. Challenges: Navigating Complexity and Ensuring Convergence&lt;/h3&gt;

&lt;p&gt;The principal challenge of this model is its inherent complexity. The multiplicity of plans, agencies, advisory bodies, and research programs across different levels of government can be difficult to navigate, particularly for external stakeholders such as international investors, SMEs, or researchers seeking to engage with the ecosystem. The success of the National Convergence Plan will depend entirely on the continued effectiveness of coordinating bodies like the joint federal steering committee and the AI4Belgium coalition. Without robust and continuous communication and alignment, there remains a risk of policy divergence, duplication of effort, and inefficient allocation of resources.Furthermore, the significant expansion of BIPT’s mandate from a telecommunications regulator to the national supervisor for the AI Act will be a critical test. The institute will need to rapidly build deep technical and legal expertise in AI governance to effectively carry out its new responsibilities. Ensuring that its enforcement actions are consistent and well-coordinated with the innovation-focused activities of the regions will be crucial to maintaining a balance between regulation and growth.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Idea: A spectrogram for videos</title>
   <link href="https://blog.forret.com/2025/2025-09-27/a-spectrogram-for-videos/"/>
   <updated>2025-09-27T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-27/a-spectrogram-for-videos</id>
   <content type="html">&lt;p&gt;I was driving home after work and I had a vague idea: 
what if I could represent a video with an image where the X axis was ‘time’ and the Y-axis was &lt;em&gt;something that represented the images&lt;/em&gt; (it was this vague in my mind: “something with the colors”)  in that video?
Three hours of work later, spread out over the same evening, I got it working, assisted by A.I. every step of the way.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/unsplash.spectrogram.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;The idea hit me behind the steering wheel, so I started a voice conversation with Google Gemini on my phone.
Together we defined how the ‘something with the colors’ would work. I would convert all pixels colors from RGB to HSL (Hue Saturation Luminance),
divide that 3-D color space into A/B/C segments on each axis, and thus create AxBxC ‘color buckets’.
I would then create a histogram for each of these buckets, take the N most populated ones and use those to draw the vertical pixel lines.
Just show the popular colors. If most of the image(s) was blue, show that blue.&lt;/p&gt;

&lt;p&gt;When I got home, I asked Gemini to create a prompt for me, that defined the program to be developed.
I just used that prompt to give to Gemini CLI, because I wanted to use Golang (fast and multiplatform). 
Both are Google products/projects. Surely Gemini was trained a lot on Go programs.
Gemini wrote the initial version and fixed the first few obvious error messages.
I then tweaked the results somewhat and tested some edge cases (what if the width of the output image is more than the number of frames in the input video?).
An hour later, it worked as expected, albeit slow. I left for my evening class, and came back with an urge to finish the program.
A prompt almost as basic as “&lt;em&gt;make it run faster&lt;/em&gt;” introduced Golang multi-threading and sped up the program 5x to 10x.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://github.com/pforret/colorduce/raw/main/amelie.png&quot; alt=&quot;Amelie Poulain&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is the result for this &lt;a href=&quot;https://www.youtube.com/watch?v=_XI0wPGbf7Q&quot;&gt;Amelie Poulain clip&lt;/a&gt;. Check more examples here: &lt;a href=&quot;https://pforret.github.io/colorduce/examples/&quot;&gt;pforret.github.io/colorduce/examples/&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The resulting code is here: &lt;a href=&quot;https://github.com/pforret/colorduce&quot;&gt;github.com/pforret/colorduce&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;$ colorduce -i &quot;amelie.mp4&quot; -o &quot;amelie-12-10-10-75.png&quot; -h 1080 -w 1920 -c 12 -s 10 -l 10 -b 75

Processing: amelie.mp4 -&amp;gt; amelie-12-10-10-75.png
Input file      : examples/amelie.mp4
Input size      : 33.74 MB
Input Resolution: 1920x816
Input Duration  : 116.41 s
Input Bitrate   : 2243 kbps
Parallel workers: 10
100%
Execution time: 20.94 s
Speed index: 5.56x
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I developed a working program in Golang, with parallel processing, in 1/3 day. 
I am not at all proficient in Golang. 
&lt;strong&gt;Don’t tell me coding agents are inferior to junior programmers&lt;/strong&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Transcode from C to Golang: Claude vs Codex vs Gemini</title>
   <link href="https://blog.forret.com/2025/2025-09-20/transcode-c-to-golang/"/>
   <updated>2025-09-20T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-20/transcode-c-to-golang</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I compared three AI coding agents (Claude Code, Codex CLI, Gemini CLI) for transcoding an existing audio-processing C program to Golang. 
The clear winner in this case was OpenAI’s Codex. See the results on &lt;a href=&quot;https://github.com/pforret/leqm-nrt&quot;&gt;github.com/pforret/leqm-nrt&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/unsplash.machine.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;h2 id=&quot;leqm&quot;&gt;LEQ(m)&lt;/h2&gt;

&lt;p&gt;So I work in digital cinema technology. Part of my work involves processing and transforming audio and video for advertising.
For instance, we care a lot about measuring the perceived loudness of audio, so that all spots in the advertising pre-show reel sound equally loud to the viewer.
And none of them hurts the ears, obviously. We measure the loudness, we adapt the audio if necessary.&lt;/p&gt;

&lt;p&gt;There is a standard for measuring loudness in a cinema. It’s called &lt;strong&gt;LEQ(m)&lt;/strong&gt; (&lt;em&gt;loudness equivalent using &lt;a href=&quot;https://en.wikipedia.org/wiki/ITU-R_468_noise_weighting#M-weighting&quot;&gt;M-weighting&lt;/a&gt;&lt;/em&gt;), defined by the 2016 standard &lt;a href=&quot;https://github.com/pforret/leqm-nrt/blob/master/docs/leqm/iso_2016.md&quot;&gt;ISO 21727:2016&lt;/a&gt;. It measures audio in the unit &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;dBLeq(m)&lt;/code&gt;.
I’ll spare you the &lt;a href=&quot;https://www.production-expert.com/production-expert-1/leq-m-loudness-what-is-it-and-when-is-it-used-iw6gp&quot;&gt;technical details&lt;/a&gt;, but it’s very specific. Now imagine you have an audio file, how can you measure this LEQ(m) loudness?&lt;/p&gt;

&lt;h2 id=&quot;software-options&quot;&gt;Software options&lt;/h2&gt;

&lt;p&gt;Dolby used to have a rack-mountable hardware device (for studios), and then also a software emulation of it called ‘Dolby Media Meter’.
Both are now discontinued. There are a number of commercial software plugins (for DAWs or studio setups).
But I wanted a CLI program that I can run on any (cloud) server.&lt;/p&gt;

&lt;p&gt;I did find a C implementation &lt;a href=&quot;https://github.com/lucat/leqm-nrt&quot;&gt;lucat/leqm-nrt&lt;/a&gt; that was created in 2020 by &lt;a href=&quot;https://github.com/lucat&quot;&gt;Luca Trisciani&lt;/a&gt;. &lt;em&gt;Grazie mille, Luca&lt;/em&gt;. It’s a single 5000-lines C file. I &lt;a href=&quot;https://github.com/pforret/leqm-nrt&quot;&gt;forked his repo&lt;/a&gt;, and got his program to compile on Linux. It works well, but the output format is rather ugly.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;leqm-nrt  Copyright (C) 2011-2013, 2017-2020 Luca Trisciani
This program comes with ABSOLUTELY NO WARRANTY,
for details on command line parameters see --help
First argument is the audio file to be measured.
Other parameters can follow in free order.
This is free software, and you are welcome to redistribute it
under the GPL v3 licence.
Program will use 1 + 13 slave threads.
Opened file: examples/short.wav
Sample rate: 48000
Channels: 2
Format: 65538
Frames: 240000
Using input channel calibration for 2.0 configuration:
0 0
Leq(M): 74.7538
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;I want to change it. And it’s been 30+ years since I last wrote C code. Wouldn’t it be so much easier to do this in Go? So let’s ask some help from the coding agents, to transcode it to Golang.&lt;/p&gt;

&lt;h2 id=&quot;the-prompt&quot;&gt;The prompt&lt;/h2&gt;

&lt;p&gt;I just had a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;README.md&lt;/code&gt; document with this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;leqm-nrt is a non-real-time implementation of Leq(M) measurement according to&lt;/p&gt;

  &lt;ul&gt;
    &lt;li&gt;ISO 21727:2004(E): “Cinematography — Method of measurement of perceived loudness of motion-picture audio material” and&lt;/li&gt;
    &lt;li&gt;ISO 21727:2016(E) “Cinematography — Method of measurement of perceived loudness of short duration motion-picture audio material”&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;And the prompt I asked was: “&lt;em&gt;Create a new program in &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/golang&lt;/code&gt; that implements the same functionality as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@leqm-nrt.c&lt;/code&gt;, and gives its output as JSON. It should only support WAV, MP3 and M4A input files.&lt;/em&gt;”&lt;/p&gt;

&lt;h2 id=&quot;contestant-1-claude-code-anthropic&quot;&gt;Contestant 1: Claude Code (Anthropic)&lt;/h2&gt;

&lt;p&gt;Claude Code had an advantage, because I first created the &lt;a href=&quot;https://github.com/pforret/leqm-nrt/blob/master/CLAUDE.md&quot;&gt;CLAUDE.md&lt;/a&gt; file with the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/init&lt;/code&gt; command. 
But most of the information in there was about the build process (make/configure), not about the actual code.
When it finished after this first prompt, there was indeed a working Go program. However, it was wrong. The measurements it came back with were completely off.
When I asked about that, it tried again, but still the results were not correct. (I benchmarked it against the results of the original C program.)&lt;/p&gt;

&lt;h2 id=&quot;contestant-2-codex-cli-openai&quot;&gt;Contestant 2: Codex CLI (OpenAI)&lt;/h2&gt;

&lt;p&gt;I didn’t even create a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AGENTS.md&lt;/code&gt; file for Codex, I just ran the same prompt as above.
It was an instant hit. The first trial produced a working Go program that produced correct results, very close to the original C program.
(I don’t need 6 digit precision, so a few tenths of a dB difference is acceptable.)
I then refined by adding some more data to the JSON output (e.g. peak and average dB per channel), and again this worked on a first try.&lt;/p&gt;

&lt;p&gt;When I looked further, I saw that Codex used &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg&lt;/code&gt; to decode the audio files, which is an understandable choice.
When I tried to use a native audio processing library &lt;a href=&quot;https://github.com/go-audio/wav&quot;&gt;go-audio/wav&lt;/a&gt; for reading the input, the speed dropped to 1/10th of the original Go version. So I stuck with using &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg&lt;/code&gt; under the hood.&lt;/p&gt;

&lt;h2 id=&quot;contestant-3-gemini-cli-google&quot;&gt;Contestant 3: Gemini CLI (Google)&lt;/h2&gt;

&lt;p&gt;I copied the CLAUDE.md file to GEMINI.md, and ran the same prompt as for the others.
Gemini also produced a working Go program, but that did not do what I asked. It just ran &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg&lt;/code&gt; (another very powerful open-source audio/video tool) to get the loudness and then just gave that back. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ffmpeg -i input.wav -filter:a volumedetect -f null -&lt;/code&gt; for the connaisseurs.&lt;/p&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;In this case, the clear winner was &lt;strong&gt;Codex CLI&lt;/strong&gt;. It produced a working Go program that did what I asked, on the first try.&lt;/p&gt;

&lt;p&gt;I also did some benchmarks to compare the C and Go programs. For this, I calculate the &lt;strong&gt;speed index&lt;/strong&gt;: the ratio of audio duration over processing time. So a speed index of 1 means real-time processing, 10 means 10x real-time, etc.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The C program executed at a speed index of about &lt;a href=&quot;https://github.com/pforret/leqm-nrt/blob/master/benchmark/leqm_macos.2025-09-19.md&quot;&gt;300x - 1500x&lt;/a&gt;.&lt;/li&gt;
  &lt;li&gt;The Go program, compiled for AMD64 on macOS (the ‘old’ Intel processors), executed at a speed index of about &lt;a href=&quot;https://github.com/pforret/leqm-nrt/blob/master/benchmark/goqm_macos.2025-09-19.md&quot;&gt;15x - 70x&lt;/a&gt;. That’s 20 times slower than the C program.&lt;/li&gt;
  &lt;li&gt;The Go program, compiled for ARM64 on macOS (the ‘new’ M processors), executed at a speed index of about &lt;a href=&quot;https://github.com/pforret/leqm-nrt/blob/master/benchmark/goqm_macos_arm.2025-09-19.md&quot;&gt;60x - 500x&lt;/a&gt;. That’s only 3 times slower than the C program.&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>Creating my first Jetbrains plugin with Junie and Kotlin</title>
   <link href="https://blog.forret.com/2025/2025-09-19/jetbrains-plugin-kotlin/"/>
   <updated>2025-09-19T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-19/jetbrains-plugin-kotlin</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I created a Jetbrains plugin in Kotlin, a language I don’t master, with Jetbrains’ own Junie AI Agent. 
It went quite easy, and now I have my first published &lt;a href=&quot;https://plugins.jetbrains.com/plugin/28522-llm-brains/edit&quot;&gt;plugin in the Jetbrains marketplace&lt;/a&gt;.
Source code: &lt;a href=&quot;https://github.com/toolstud-io/LlmBrains&quot;&gt;toolstud-io/LlmBrains&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/unsplash.brains.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;
I’ve been using Claude Code for a while, because I like the way it integrates with PHPStorm, my main IDE.
Claude Code also has a &lt;a href=&quot;https://plugins.jetbrains.com/plugin/27310-claude-code-beta-&quot;&gt;plugin for Jetbrains IDEs&lt;/a&gt;, that gives a little button in the top right corner, that you can click to start a Claude Code terminal session.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/claude_code_plugin.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I like it, but it could be better. For one, I would like the Claude Code terminal to be easier to recognize by the title. 
I also want the same functionality for other terminal coding agents (Codex CLI, Gemini CLI).
How does one do that? I had no idea.&lt;/p&gt;

&lt;h2 id=&quot;kotlin-you-say&quot;&gt;Kotlin, you say?&lt;/h2&gt;

&lt;p&gt;Jetbrains plugins are written in &lt;a href=&quot;https://kotlinlang.org/&quot;&gt;Kotlin&lt;/a&gt;. That is Jetbrains’ own language, and it is a modern language that runs on the JVM.
It’s Java’s cooler younger sibling, with a lot of syntactic sugar and modern features.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;“Development lead Andrey Breslav has said that Kotlin is designed to be an industrial-strength object-oriented language, and a “better language” than Java, but still be fully interoperable with Java code, allowing companies to make a gradual migration from Java to Kotlin”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I am comfortable in bash and PHP, I can manage Golang and Python. But I have never seen/written Kotlin.
Also, I expect this plugin to use a lot of the Jetbrains SDK, which I have never used before either.&lt;/p&gt;

&lt;h2 id=&quot;trial-1-codex-cli-openai&quot;&gt;Trial 1: Codex CLI (OpenAI)&lt;/h2&gt;

&lt;p&gt;First, I ask Codex CLI to help me create a Jetbrains plugin that adds a icon button to the top right corner of the IDE, with a dropdown of the code agents I can start.
It comes up with a lot of code. Now I have to compile that, I guess? I prefer not to install a full Java SDK on my machine, so I ask it to create a Docker setup to compile and test. This it does well: a &lt;a href=&quot;https://github.com/toolstud-io/LlmBrains/blob/main/gradlew&quot;&gt;gradlew&lt;/a&gt; script that uses the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradle:8.7-jdk17-jammy&lt;/code&gt; Docker image to compile.&lt;/p&gt;

&lt;p&gt;I try to create my first binary with &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;gradlew buildPlugin&lt;/code&gt;, and … it doesn’t build. I spend a lot of time trying to figure out why. 
There’s obsolete methods, missing dependencies and lots of warnings. Eventually I manage to create a binary, and I manually install it into PHPStorm.
I see the icon, but I can’t click on it. I then go back and forth with Codex CLI, with varying success. 
It’s frustrating, also since I don’t really understand the code.&lt;/p&gt;

&lt;p&gt;Then I recall: I also have access to &lt;a href=&quot;https://www.jetbrains.com/junie/&quot;&gt;Junie&lt;/a&gt;, Jetbrains’ own AI agent. Maybe it can help me better?&lt;/p&gt;

&lt;h2 id=&quot;trial-2-junie-jetbrains&quot;&gt;Trial 2: Junie (Jetbrains)&lt;/h2&gt;

&lt;p&gt;I start from scratch with the source code, but I leave build scripts that Codex gave me.
Junie is much better at understanding the Jetbrains SDK, and it gives me better code that actually works.&lt;/p&gt;

&lt;p&gt;Once I submit it to the Jetbrains marketplace, I also get warnings about using soon-to-be-replaced methods.
I fix this with Junie, but here it struggles. It replaces one deprecated method with another deprecated method, and I have to go back and forth a few times before I get it right.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/marketplace_warnings.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I also made an icon/logo based on the 🫴 emoji. Junie helped me get it in the button, and also on the Marketplace listing.&lt;/p&gt;

&lt;p&gt;One detail that I’m still not happy with, is that the ‘Check versions’ terminal window first shows all the bash code that will run and then only runs after a second. It works, but it’s a bit ugly.&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;Checking CLI coding agents...

- Claude Code is installed: 1.0.120 (Claude Code)
- Codex CLI is installed: codex-cli 0.36.0
! Gemini CLI is NOT installed. You can install it with: npm install -g @google/gemini-cli
! Qodo Command is NOT installed. You can install it with: npm install -g @qodo/command
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Junie (and Codex) helped me create my first Jetbrains plugin, in a language I don’t know, and with an SDK I don’t know.
It’s published here: &lt;a href=&quot;https://plugins.jetbrains.com/plugin/28522-llm-brains&quot;&gt;plugins.jetbrains.com/plugin/28522-llm-brains&lt;/a&gt;.
Your feedback is welcome!&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/llm-brains-plugin.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>A static Docs site for every project</title>
   <link href="https://blog.forret.com/2025/2025-09-13/mkdox-static-site/"/>
   <updated>2025-09-13T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-13/mkdox-every-repo</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I have started using &lt;a href=&quot;https://github.com/pforret/mkdox&quot;&gt;mkdox&lt;/a&gt; (which uses mkdocs, material and Docker) to create a static documentation site &lt;strong&gt;for every repository/project I’m working on&lt;/strong&gt;. It’s easy, light and fast. It also invites me to document everything in Markdown, which is great for coding agents.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/unsplash.books.jpg&quot; alt=&quot;&quot; /&gt;
&lt;!-- more --&gt;&lt;/p&gt;

&lt;p&gt;Recently I realized:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Projects ♥️ documentation&lt;/strong&gt;. A lot of my repositories or projects have a folder &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/doc&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/examples&lt;/code&gt;, where I save non-source code files that are relevant to the project. Actually, even some of my bigger PowerPoint presentations have their own &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs&lt;/code&gt; folder.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Documentation ♥️ structure&lt;/strong&gt;. I already tend to organize those into subfolders like &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/archive&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/plugins&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/pdf&lt;/code&gt; or &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/&amp;lt;topic&amp;gt;&lt;/code&gt;.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Documentation ♥️ Markdown&lt;/strong&gt;. It’s an easy format to write and read. My IDE (PHPStorm) has very good support for it. It’s easy to copy/paste a text and then quickly add some Markdown formatting.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Agents ♥️ Markdown&lt;/strong&gt;. Coding agents (like Claude Code and Codex) love to get their extra context from Markdown files. So I was not only writing documentation in Markdown, but also converting some content like PDF and HTML files to Markdown.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Documentation ♥️ a website&lt;/strong&gt;: the ideal presentation for a folder structure of (Markdown) documents is a website with navigation, internal links and a search functionality.&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;mkdox ♥️ creating sites&lt;/strong&gt;: my preferred way of making a static website these days is &lt;a href=&quot;https://squidfunk.github.io/mkdocs-material/&quot;&gt;Material for MkDocs&lt;/a&gt;, for which I’ve written a handy tool called &lt;a href=&quot;https://github.com/pforret/mkdox&quot;&gt;&lt;strong&gt;mkdox&lt;/strong&gt;&lt;/a&gt;. I can create a new mkdocs site as simple as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdox new website.com&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;mkdox ♥️ /docs&lt;/strong&gt;: Mkdocs also puts its contents in a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs&lt;/code&gt; folder. So in a lot of projects, I only needed to run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdox new .&lt;/code&gt; to get a working website with the existing documentation in there.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So this is what I do now with each new or old repository/project that I work on:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;mov all the docs to a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs&lt;/code&gt; folder.&lt;/li&gt;
  &lt;li&gt;run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdox new .&lt;/code&gt; in the root folder
    &lt;ul&gt;
      &lt;li&gt;mkdox recognizes that there already is a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;README.md&lt;/code&gt; and moves it to &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/index.md&lt;/code&gt; (the homepage of the doc website) and creates a symbolic link to make &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/README.md&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/index.md&lt;/code&gt; point to the same file.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;mkdox serve&lt;/code&gt; and have the docs website popping up within seconds.&lt;/li&gt;
  &lt;li&gt;subfolders &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs/[topic]/&lt;/code&gt; show up in the navigation.&lt;/li&gt;
  &lt;li&gt;search the website&lt;/li&gt;
  &lt;li&gt;the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;/docs&lt;/code&gt; folder is also added to GitHub, so I can even see the contents within GitHub.&lt;/li&gt;
  &lt;li&gt;point Claude Code to use &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;@docs/examples/[clever_thing].md&lt;/code&gt; when you want to add it to your context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is what that looks like for &lt;a href=&quot;https://github.com/pforret/ytaudio&quot;&gt;pforret/ytaudio&lt;/a&gt;
&lt;img src=&quot;/wp-content/uploads/2025/09/mkdox_example.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Prompt Parlour</title>
   <link href="https://blog.forret.com/2025/2025-09-04/prompt-parlour/"/>
   <updated>2025-09-04T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2025/2025-09-04/prompt-parlour</id>
   <content type="html">&lt;blockquote&gt;
  &lt;p&gt;TL;DR: I am starting a community with in-person events for discussing A.I. First one will happen in Oct/Nov 2025. Join the mailing list at &lt;a href=&quot;https://pforret.kit.com/promptparlour&quot;&gt;Prompt Parlour&lt;/a&gt; if you are interested.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Back in April 2023, I gave a speech on &lt;a href=&quot;https://commpass.media/media-innovation-session/&quot;&gt;Generative A.I. at CommPass&lt;/a&gt;. 
ChatGPT had been launched some months before and had become the fastest product ever to reach 10 million users (in 40 days).
We’re now 2,5 years later, and we are still speeding up. There’s Cursor, Claude Code, Veo3, Nano Banana, Runway, and new announcements every week.&lt;/p&gt;

&lt;p&gt;As an engineer, I am excited, then as well as now. As a father, as a citizen, I am worried. The pace of change is breathtaking, and I am not sure we as a society are ready for it.
&lt;a href=&quot;https://theaidigest.org/time-horizons&quot;&gt;Exponential growth is hard to grasp&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://theaidigest.org/time-horizons&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/file.Screensh.7da208.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My friends know I have been talking about A.I. for a long time: the technology, the applications, the impact on jobs and society.
I have been mostly a missionary, sometimes a sceptic. 
I am now looking for other missionaries, entrepreneurs, sceptics and curious people. This thing is big. We need to talk about it.&lt;/p&gt;

&lt;p&gt;I couldn’t find a community that offers what I’m looking for, so I am starting it myself, like I did in 2006 with &lt;a href=&quot;/tag/barcamp/&quot;&gt;Barcamp Brussels&lt;/a&gt;. 
That was fun to do, I learned a lot, and I met plenty of interesting people.&lt;/p&gt;

&lt;h2 id=&quot;introducing-prompt-parlour&quot;&gt;Introducing &lt;a href=&quot;https://promptparlour.com/&quot;&gt;&lt;strong&gt;Prompt Parlour&lt;/strong&gt;&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2025/09/url.download.3d5c90.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Prompt Parlour&lt;/strong&gt; is a Belgian community for people interested in artificial intelligence and its impact on business, society and our personal lives.
We will organize in-person events with speakers, panels and discussion opportunities.&lt;/p&gt;

&lt;p&gt;I have created a &lt;a href=&quot;https://pforret.kit.com/promptparlour&quot;&gt;mailing list&lt;/a&gt; to keep you informed of upcoming events.
Please sign up if you are interested.&lt;/p&gt;

&lt;style&gt;
table th:first-of-type {
    width: 50%;
}
table th:nth-of-type(2) {
    width: 50%;
}
&lt;/style&gt;

&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th&gt;Presentations I would like at Prompt Parlour&lt;/th&gt;
      &lt;th&gt;Presentations that are not for Prompt Parlour&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;The current state-of-the-art and future of AI in medicine, legal, software dev, construction…&lt;/td&gt;
      &lt;td&gt;How to train a AI image model on radiology photos&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Impact of AI on (junior) marketing/communications jobs&lt;/td&gt;
      &lt;td&gt;How to write better prompts for marketing content&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;AI Scaling laws: what could 2030 be like?&lt;/td&gt;
      &lt;td&gt;Are NVIDIA shares still a good investment?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;How far is China in AI developments? Europe? Russia? UAE?&lt;/td&gt;
      &lt;td&gt;What are the best AI services for translations?&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Prompts vs Context vs Agents&lt;/td&gt;
      &lt;td&gt;CUDA vs OpenCL vs Triton&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Impact of AI on national power generation and delivery&lt;/td&gt;
      &lt;td&gt;Why you should vote for party X for less AI&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;In-house LLMs for private data: how feasible?&lt;/td&gt;
      &lt;td&gt;Please buy our private LLM services&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;I would like to follow the Barcamp principles: open, participative, and community-driven. 
Speakers are there to share their knowledge, not to sell stuff.&lt;/p&gt;

&lt;p&gt;I’m planning the first event in October or November 2025, depending on venue and speaker possibilities.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Relaunch of launch.nuuz.io</title>
   <link href="https://blog.forret.com/2024/10/06/relaunch-nuuz-io/"/>
   <updated>2024-10-06T00:00:00+00:00</updated>
   <id>https://blog.forret.com/2024/10/06/relaunch-nuuz-io</id>
   <content type="html">&lt;p&gt;Thi Saturday morning, I was browsing through my &lt;a href=&quot;https://www.simpleanalytics.com/?referral=tewor&quot;&gt;SimpleAnalytics stats&lt;/a&gt; and saw one sorry number for a side-project I had forgotten about: &lt;a href=&quot;https://launch.nuuz.io/&quot;&gt;launch.nuuz.io&lt;/a&gt;. All of zero visits in the last month. This was a one-page website of mine that listed a number of launch sites for new projects (e.g. ProductHunt, HackerNews, Reddit etc.), and what the public consensus was on the &lt;strong&gt;best day-of-the-week and/or time-of-day&lt;/strong&gt; for posting a new project. It also showed a countdown for that ideal submission moment.&lt;/p&gt;

&lt;p&gt;I checked how I created this project, and to my surprise it was a Laravel 10 project. That seemed like a bit of overkill. Since I hadn’t decided yet what I would procrastinate on this weekend, I decided to give this project a little love.&lt;/p&gt;

&lt;p&gt;I quickly decided on a tech stack of &lt;a href=&quot;https://squidfunk.github.io/mkdocs-material/&quot;&gt;mkdocs-material&lt;/a&gt;, since that is my favourite way of creating content these days, ever since I created &lt;a href=&quot;https://github.com/pforret/mkdox/&quot;&gt;pforret/mkdox&lt;/a&gt; to &lt;a href=&quot;/2024/03/09/mkdox-mkdocs-material-docker/&quot;&gt;make it even easier&lt;/a&gt;. Since this is a static site generator, and my web pages would be all static HTML, I would need to redevelop the countdown and timezone logic in JavaScript. Thanks to GitHub Copilot in PHPStorm, that was a breeze. Today, a mere 36 hours later and with only a few hours of actual work, I am proud to announce the &lt;strong&gt;relaunch of &lt;a href=&quot;https://launch.nuuz.io/&quot;&gt;launch.nuuz.io&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://launch.nuuz.io/&quot;&gt;&lt;img src=&quot;/wp-content/uploads/2024/10/launch-nuuz-io.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is now a page per launch website (many more added to the original 5), a blog with related content (like “&lt;a href=&quot;https://launch.nuuz.io/blog/2023/06/launching-on-betalist--50-entrepreneurs-share-all/&quot;&gt;Launching On Betalist – 50 Entrepreneurs Share All&lt;/a&gt;”), amounted to a total of more than 50 separate pages, which should be good for the SEO.&lt;/p&gt;

&lt;p&gt;The tricky parts were:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;finding out in which country each service was based. This matters, because I need to know what timezone they operate in. Some services do a reset at midnight, or start processing new submissions at 9am, so knowing if they’re in Pacific Standard Time or Indian Standard Time is crucial. E.g. for &lt;a href=&quot;https://www.sideprojectors.com/&quot;&gt;SideProjectors.com&lt;/a&gt; I’m still not sure. Even the Terms and Conditions and Privacy Statement don’t mention a country.&lt;/li&gt;
  &lt;li&gt;figuring out how ‘important’ each service was. Ideally I need an estimate of monthly traffic (how many visitors might I get through this site) and domain authority of the domain (how valuable are backlinks from this site). But SimilarWeb and Ahrefs don’t give me all the data, unless I take a paid subscription. I get why, but it’s still something I would like to add.&lt;/li&gt;
  &lt;li&gt;I would love to have a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;{% for page in pages %}&lt;/code&gt; loop in my custom page layout, but a loop that has access to all the page’s metadata, not just the URL and the title. I’m sure there’s a way to do this, but I haven’t found it yet.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now I just need submit the site to all different launch websites. And now it’s easy to know &lt;strong&gt;when&lt;/strong&gt; I should do this.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/wp-content/uploads/2024/10/countdown.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
</content>
 </entry>
 

</feed>
