2026 25

Local agents are good but slow

Last year, I shared how local LLMs are expensive. There are only 3 reasons to use them over an inference API: You have no choice, e.g. Government, pharma, finance, or other sensitive data. You have free GPUs, e.g. your laptop, local data center with sunk cost, free cloud credits, etc. This doesn’t scale. You want to learn. This year, I finally started using them for a combination of #1 (on flights) and #2 (my 8 GB NVIDIA RTX 2000). ...

Creating a scrollytelling map

I had Claude Code with Fable create a small scrollytelling map for my 14-minute walk experience at Bagmane Capital in Bangalore. I used this as an opportunity to explore the current status of the technology. ChatGPT suggested: Try ArcGIS StoryMaps first for a polished scrollytelling story. Try Google Earth Projects if this is primarily something you will present live, like a map-based slide deck. Use MapLibre GL JS with a coding agent if you want precise choreography, animated routes, unusual visual effects, or an asset you can continually extend. None of these fit my requirements, which was: ...

Bounty hunting agent ecosystem 2

Yesterday, I wrote about @syu-toutousai, the bounty-hunting agent ecosystem. That led me to OpenAgents. OpenAgents has plenty of bounty issues: Fix JWT auth middleware accepts algorithm none - $8k Fix rate limiter doesn’t differentiate authenticated vs anonymous limits - $2.2k Add structured error responses with error codes - $8.6k Fix Math.random used for nonce generation - $8k Fix ABI encoding BigInt overflow - $9k Most issues also include a trick requirement. For example, #100 asks contributors to add a @generated-by block with: ...

Bounty-Hunting Agent Ecosystem

Yesterday, I submitted a Codex co-authored PR to fix an issue I raised (using ChatGPT and Z3 - so yeah, I used AI to raise the bug and squash the bug!) A few hours later, @syu-toutousai submitted another PR to solve the same issue. @syu-toutousai seems interesting. The user account description says “Autonomous Technical Contributor & AI-Driven Developer” - a bot account. The PR itself was simple and had a few improvements I can think of: ...

Arvind Satyanarayan talk at VizChitra 2026

On Sat 4 July at Bangalore, Arvind Satyanarayan is speaking at VizChitra 2026 - a talk I’m keenly looking forward to. I’ve been following Arvind’s work since Vega-Lite. It’s a grammar of graphics - something that makes data visualizations (charts) more structured. I tried switching to it our default at Gramener - but most felt it was too much to learn (they already knew Excel/Power BI) or too limiting (D3 can do more). ...

When the prompt is longer than the code

I used pi to create a compact home page for media.s-anand.net using these prompts: Create index.html - a simple, elegant page that says that this page (media.s-anand.net) serves large media files for Anand - that’s where they should look instead. … followed by: Skip the part that says “Please visit …” … then: Shorten index.html to just 2-3 elegant rules of CSS. I want it MUCH smaller and simpler. … and finally: Center vertically and horizontally. ...

AI Coding Agent Subscription ROI

I ran npx -y ccusage monthly --compact to get the following break-up of my AI coding agent costs. Month Codex Claude 2025-09 $37.47 $2.29 2025-10 $106.79 $9.13 2025-11 $100.35 $14.24 2025-12 $240.69 $24.88 2026-01 $100.89 $20.28 2026-02 $323.21 $29.46 2026-03 $1996.32 $134.87 2026-04 $401.36 $47.07 2026-05 $378.20 $45.13 This shows the ROI of my $20 subscriptions to each. I get ~$35 worth of API calls for my $20 Claude Pro subscription and ~$400 of API calls for my $20 ChatGPT Plus subscription (on top of my ChatGPT chats.) ...

Correcting instruction debt

Here’s another AI-generated post, with Anand editor notes. But I’ve also added my own version of the post below. I told my “find a free calendar slot” script to “Avoid weekends and holidays”. Wednesday vanished. Turns out it’s a Singapore holiday (Anand: It’s Eid al-Adha), — irrelevant for the people I was meeting in other zones. I’d debugged my own helpful rule. (Anand: What? What does “debugged my own helpful rule” even mean?) ...

Things I Learned - 17 May 2026

This week, I learned: I had GPT-5.5 and Opus 4.7 analyze a few of my conversations and learnt that I need to ask myself: “What must they take away? What must you take away?” in my conversations. That lets me speak with intention rather than instict. (Instinct has its place. I happen to over-use it.) Turns out there are several well-established taxonomies. It makes sense to align with these. Linked data is powerful and AI makes linkage easy. General Knowledge: Wikidata, DBpedia, YAGO. People: VIAF, ISNI, ORCID, LC Name Authority, GND. Places: GeoNames, Getty TGN, ISO 3166. Organizations: LEI, ROR, Wikidata. Books/Media: Open Library, WorldCat, MusicBrainz, IMDB. Chemicals/Biology: PubChem, ChEBI, GBIF, ITIS. Legal/Units/Math/Events: EuroVoc, QUDT, OEIS, PeriodO, etc. BitWarden supports a bw CLI that seems handy for quick CLI access to passwords. It’s a step towards me moving away from saving passwords unencrypted on my local file system. Singapore has banned prediction markets like Polymarket and Kalshi. Pity. I was hoping to use AI coding agents to play them. Yahoo flipbook.page is a fascinating generative UI exploration. It’s a visual browser, i.e. it generates an image based on text, you click anywhere, it generates an image interpreting based on where you clicked, and so on. A very different style of exploration! Vercel’s deepsec uses Codex / Claude to search for vulnerabilities, but “scans can cost thousands or even tens-of-thousands of dollars for large codebases”. When I charge my Lenovo Thinkpad (P1 Gen 7) with the 170W charger that came with the laptop, it delivers ~60W of power to the battery, charging the laptop in about an hour. A 65W laptop delivers half the power and takes twice as long.

Using Codex as my OS

Increasingly, I’m using Codex (or other AI coding agents) as the “operating system” to run programs. That is, rather than directly run programs, I have the coding agent run the program. Advantage: If the program breaks, or needs a configuration change, the coding agent debugs it and fixes it. I don’t need to do anything. This is particularly useful for installation. For example: Install demucs and run it against my music folder. ...

Agent Skills Usage

I have a bunch of coding agent skills I’ve accumulated over the last few months. Here’s how often my sessions use them: Skill Claude Codex Copilot Overall code 6.1% 69.1% 37.5% 51.5% data-story 48.7% 16.4% 37.5% 28.0% data-analysis 2.6% 35.2% 7.8% 21.8% design 25.5% 23.6% 14.1% 21.8% plan 8.5% 11.8% 14.1% 11.8% agent-friendly-cli 3.7% 13.8% 11.1% 11.2% devtools 20.4% 7.3% 9.4% 10.0% llm 2.5% 8.7% 7.8% 7.4% pdf 0.0% 7.9% 7.8% 6.6% linkedin-cdp 14.3% 0.0% 5.6% 5.3% uv-uvx 0.0% 9.5% 0.0% 4.9% interactive-storytelling 7.1% 2.7% 7.1% 4.6% demos 8.5% 2.8% 1.6% 3.5% cloudflare 0.0% 4.3% 3.1% 3.3% melt-mlt 0.0% 2.5% 1.6% 1.8% vector-art 2.5% 2.4% 0.0% 1.7% vitest-dom 0.0% 2.2% 0.0% 1.4% memorable-explanations 2.6% 1.6% 0.0% 1.3% npm-packages 0.0% 0.6% 0.0% 0.3% Here are my observations, with surprises highlighted as ⁉️ ...

Things I Learned - 29 Mar 2026

This week, I learned: The Kids Should See This - great collection of videos for curious people. Thej A jury fined Meta and YouTube $4.2m and $1.8m for building addictive features in their products. That’s a first. NY Times “I think AI-type tools will actually revolutionize the experimental side of math, where you don’t care so much about individual problems and the process of solving them, but you want to gather large-scale data about what things work and what things don’t.” Terence Tao The hedonic treadmill (which roughly quantifies a Buddhist principle) says that we revert to a happiness set point (which varies by individual). Worse, those who experience a high kick (e.g. a lottery) don’t get enough kick from normal wins (contrast effect) – Interactive explainer. The happiness neutral As of today, a LinkedIn search for “llm psychologist” lists 9 people. I’m not alone! Anand S, LLM Psychologist, Singapore, Singapore Anshul Saxena, PhD, AI Advisor & Trainer | Technology Strategist | LLM Psychologist | Currently teaching humans, machines & business to work smarter through Generative AI and Quantum Computing | 15+ Years Experience, Pune, Maharashtra, India Charitarth (Chad) Sindhu, LLM Psychologist / Fractional Business & AI Workflow Consultant/ Digital Nomad, Tokyo, Japan Lancelot Salavert, LLM Psychologist, Barcelona, Catalonia, Spain Lior Dor(Durahly), Team Lead | Bug Banisher | Ex 8200, Tel Aviv District, Israel. Past: R&D Team Lead and LLM Psychologist at Superwise | A Blattner Tech Company maxime bodereau, Lead Creative Art Director | UX Forensics | Ai LLM Psychologist | Visual Alchemist | Codesmith | Brandologist | Full Stack Designer, Nantes, Pays de la Loire, France Mei Chen 🦋, LLM Psychologist | Lead Product Engineer | Delivering Agentic Experiences, Toronto, Ontario, Canada Shoshannah Tekofsky, LLM Psychologist at AI Digest, Zwolle, Overijssel, Netherlands LinkedIn Member, LLM, psychologist, mediator, Prague, Czechia OpenAI acquired Astral!. This will likely slow down the new wonderful tools accelerating the Python ecosystem. Like with PromptFoo and OpenClaw, this seems to be about talent. The “acqui-hire” mode seems a clear niche career path now, and an alternative to getting hired (you get a much higher salary) or getting acquired (you take on much higher risk). quickjs-emscripten lets you run isolated JS code securely in the browser, CloudFlare workers, NodeJS, and Deno. It compiles to WASM. @sebastianwessel/quickjs is a higher-level TS wrapper. Simon Willison Manyana is a CRDT based version control system. It sounds like a good idea but I’m sceptical because merge conflicts are a “what should I do” problem more than “how”. With agents doing more merge conflict management, I am not sure this will offer a concrete benefit - but probably no harm either. LLMs are able post-train LLMs on new topics. They’re improving fast. Jack Clark Vibe Coding Fixer and AI Slop Cleaner are real job descriptions - which are morphing into enterprise offerings. But I still seem to be the only official LLM Psychologist Notes from AI Services - Wrong Mental Models, Right Moment: AI services has 3 markets. Automatable work: vanishes in 2 years. Human-in-the-loop work: sustains. Judgement-driven: grows in importance. YC: don’t sell access to a tool for $50 a month, use the AI yourself and sell the finished work for $5,000. Sell output. Price on outcome. Sell to business, not IT. Sell accountability: proven success, with your guarantee. Sell authenticity: a brand story representing uniqueness, character, … or whatever… something people respect. Data transfer between GPU and memory is a bottleck and three approaches are emerging. # Taalas is etching LLMs into the chip. Llama 8b runs at 17,000 tok/s (H200 is at 230 tok/s). d-Matrix is moving compute into SRAM memory chips. 30,000 tok/s for Llama 70b. Cerebras and MatX are similar: memory-oriented. FuriosaAI minimizes data movement. Groq and Sambanova are similar. But in the long run, commodity technology usually beats integrated stacks. GPT 5.4 Nano ($0.2/MTok) and Mini ($0.75/MTok) are good options for bulk OCR, transcription, etc. as cost and quality comparable alternatives to Gemini Flash Lite and Gemini Flash. They can describe 75K photos for $50. Both models are better than GPT-5 Mini on most benchmarks. Cool AI coding agent git prompt fragments: Use git bisect to find when this bug was introduced: … Find and recover my code that does … Sort out this git mess for me. Rewrite history removing … Split the last commit into multiple commits grouped logically. Start a new repo at … and build just this module … based on … with a similar commit history copying the author and commit dates. Campaigns Are Knowledge Workers and the Tools Just Caught Up. A powerful framing. I saw this in action a few days ago when a friend was able to automate an outbound campaign with Claude Code. EARS (Easy Approach to Requirements Syntax) is a simple structure for requirements. For example, “Users should be able to drag tasks between columns. The app needs to work offline too. Handle errors gracefully.” becomes the following - which AI can convert to and is easier to spot errors in. State machines and decision tables are useful alternatives, too. REQ-001 (Event): When the user drags a task card to a different column, the system shall update the task status to match the destination column. REQ-002 (State): While the application is offline, the system shall store task updates in local storage. REQ-003 (Event): When the application reconnects, the system shall synchronize locally stored updates with the server. REQ-004 (Unwanted): If synchronization conflicts occur, then the system shall display a resolution dialog to the user. As of now, avoid using Claude.ai to create (large) visualizations. It runs forever and exhausts credits without generating anything. Claude Code works much better for this.

Coding agents ARE the new software

Increasingly, I use coding agents instead of writing software. For example, I built a Blog UMAP. Then, I built Calvin UMAP. And more. But instead of building re-usable software, I just ran Claude with prior context. Increasingly, I use coding agents to run software. For example, I use Codex to classify my expense receipts. It writes re-usable code, but I run it using Codex, and it updates the code with new/edge cases. ...

Local context repositories for AI

When people ask me for connections, I share my LinkedIn data and ask them to pick. This week, three people asked for AI ideas. I shared my local content with AI coding agents and asked them to pick. STEP 1: Give access to content. I use a Dockerfile and script to isolate coding agents. To give access, I run: dev.sh -v /home/sanand/code/blog/:/home/sanand/code/blog/:ro \ -v /home/sanand/code/til:/home/sanand/code/til:ro \ -v /home/sanand/Dropbox/notes/transcripts:/home/sanand/Dropbox/notes/transcripts:ro This gives read-only access to my blog, things I learned, transcripts, and I can add more. (My transcripts are private, the rest are public.) ...

AI in SDLC at PyConf

I was at a panel on AI in SDLC at PyConf. Here’s the summary of my advice: Process Make AI your entire SDLC loop. Record client calls, feed them to a coding agent to directly build & deploy the solution. Record your prompts, run post-mortems, and distill them into SKILLS.md files for reuse. Prompting Ask AI to make output more reviewable. Don’t waste time reviewing unclear output. Prefer directional feedback (feeling, emotion, intent) over implementational. Also give AI freedom to do things its way. Learn from that - you’ll be surprised. Learning ...

Hardening my Dev Container Setup

I run AI coding agents inside a Docker container for safety. The setup is dev.dockerfile: builds the image dev.sh: launches the container with the right mounts and env vars dev.test.sh: verifies everything works. I wrote them semi-manually and it had bugs. I had GitHub Copilot + GPT-5.4 High update tests and actually run the commands to verify the setup. Here’s what I learned from the process. 1. Make it easier to review. The first run took long. I pressed Ctrl+C, told Copilot to “add colored output, timing, and a live status line”. Then I re-ran. Instead of a bunch of ERROR: lines, I now got a color-coded output with timing + a live status line showing what’s running. ...

Cracking online exams with coding agents

An effective way to solve online exams is to point a coding agent at it. I use that on my Tools in Data Science course in two ways: As a test case of my code. If my agent can solve it, good: I set the question correctly. As a test of student ability. If it can’t, good: it’s a tough question (provided I didn’t make a mistake). For PyConf, Hyderabad, my colleague built a Crack the Prompt challenge. Crack it and you get… I don’t know… goodies? A job interview? Leaderboard bragging rights? ...

Recording screencasts

Since WEBM compresses videos very efficiently, I’ve started using videos more often. For example, in Prototyping the prototypes and in Using game-playing agents to teach. I use a fish script to compress screencasts like this: # Increase quality with lower crf= (55 is default, 45 is better/larger) # and higher fps= (5 is default, 10 is better/larger). screencastcompress --crf 45 --fps 10 a.webm b.webm ... To record the screencasts, I prefer slightly automated approaches for ease and quality. ...

Directional feedback for AI

People worry that AI atrophies skills. Also that junior jobs, hence learning opportunities, are shrinking. Can AI fill the gap, i.e. help build skills? One approach is: Do it without AI. Then have AI critique it and learn from it. (Several variations work, e.g. have the AI do it independently and compare. Have multiple AIs do it and compare. Have AI do it and you critique - but this is hard.) ...

Using game-playing agents to teach

After an early morning beach walk with a classmate, I realized I hadn’t taken my house keys. My daughter would be sleeping, so I wandered with my phone. This is when I get ideas - often a dangerous time for my students. In this case, the idea was a rambling conversation with Claude that roughly begins with: As part of my Tools in Data Science course, I plan to create a Cloudflare worker which allows students to play a game using an API. The aim is to help them learn how to build or use AI coding agents to interact with APIs to solve problems. ...

Things I Learned - 08 Mar 2026

This week, I learned: IITM has launched a 4 year degree in management & data science. “Use AI to replace early-career mentorship: use AI-driven synthetic practice when traditional apprenticeship pathways collapse. AI can generate personalized coaching, replacing the missing junior loop with training environments.” Jack Clark Observability is more than logging. It’s agents watching feeds and signalling insights! The GPT 5.4 prompt guidance is a bit complex, but here’s what it’s broadly saying: (Gemini) It’ll over-complicate answers and front-end design unless you tell it exactly how you want it It’ll keep checking with you or give up (e.g. on errors) unless you tell it otherwise, e.g. with checklists or rules Claude Code supports 32K output tokens by default. Since I generate large data stories, I usually hit this limit and lose an entire session. Setting the environment variable CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000 (which is the maximum) reduces this problem. Google Workspace CLI lets you run npx -y @googleworkspace/cli as a single unified service for all Google Workspace APIs. It follows agent-friendly CLI practices which I turned into a SKILL.md. I’ve been using mise use -g ubi:owner/repo to install GitHub packages. The ubi backend is now deprecated in favor of the new github backend. This works fine for most repos, with edge cases like jtroo/kanata which still require ubi:jtroo/kanata as of now. On the margin, I’ll likely switch to just as my task runner. Claude With AI now writing almost all of my code, I don’t see much need to format it. Code formatters like ruff, dprint, biome, etc. are not relevant when AI will be reading and writing the code, not humans. I just format the prompts in Markdown. Salt is the duct tape of food ingredients. Lemon juice, vinegar, butter/oil, onion/garlic, etc. are runners-up. Claude Claude’s prompt to import memory from other AI providers doesn’t seem to work with Claude’s free account: “No memories or stored context found.”

Things I Learned - 01 Mar 2026

This week, I learned: unidown is a Rust CLI tool that converts Markdown to Unicode characters - useful for LinkedIn. 3 years into Nestle, Sangeeta Talwar (who was selling Maggi soup cubes) took the “Maggi Instant Noodles” (popular in Malaysia), changed it to “2-minutes”, realized that noodles are fun for kids to play with, invented the masala flavor, positioned it as easy for moms, distributed hanging baskets (rodent-safe, brand visibility) at stores, marketed on TV and in stores, etc. Gemini Nano Banana Pro 2 is out. Better text, better instruction following. codespelunker is a fast CLI code search tool. Just run cs for an interactive search. It feels light and fast, like ug. lobste.rs Shadow IT is unpaid R&D, not a security threat. When frustrated marketing or sales teams secretly buy their own software tools and bypass the IT department, traditional companies try to ban them. Transformed companies study them. “Shadow IT” is a highly accurate heat map pointing exactly to where your current systems are failing and where the immediate business value lies. Source: CIO.com, Gartner: Business-Led IT Coding agents have introduced a “Usage” page to check your usage: Claude usage and ChatGPT usage. Both have weekly limits and 5 hour rolling limits - with Codex’s being more generous. This aggregates usage across the coding agents as well. Codex has a separate GitHub Code Review quota separate from this, however.

AI video compression

I recorded a short screen cast of a demo I built. It was ~900KB - way too large to publish as a thumbnail. So I asked ChatGPT: What’s the best equivalent of squoosh.app for WEBM compression? I’m looking for a free modern high-quality online video compressor. There are a few, and they compressed it to a third of its size, but 300KB is still too large. So I attached the original and asked: ...

Organizing PDF receipts

One of my goals this year is to “Automate finance + tax”. Today, I took a baby step by organizing my expenses. This is my current process: STEP 1: Download PDF receipts (from OpenAI, Anthropic, Google, and other cloud/AI services) STEP 2: Organize them, so I know which receipt to upload against which expense STEP 3: Submit on SAP Concur. All steps are manual as of now. I automated STEP 2: Organize them. ...

Migrating my blog from WordPress to Hugo

In 2009, I migrated from a self-made Perl static site generator to WordPress because it was slow, WordPress was dynamic and rapidly growing in features, and I wanted to write rather than code. (Also, I had plenty of time in 2009 for such things!) Over the years, problems crept in. Hosting costs ($200/year) for a slow server. No local writing - Windows Live Writer was dead. I wasn’t using most WordPress features. So it was time to migrate back to a static site generator. (Also, I now have plenty of time for such things!) ...

2025 3

Things I Learned - 02 Nov 2025

This week, I learned: TVMaze API is an API for TV shows, episodes, cast, crew, etc. Useful for TV-related apps as well as learning APIs. Awesome Skills is a curated list of prompts and skills for AI coding agents. ⭐ nokode is a API server that has no code: just LLMs responding. Interestingly, it is compliant. Just expensive, slow, forgetful and unreliable compared to code. All four are improving with time, indicating that coding may be transitional. Notes from Vanya Seth’s keynote at OSAI HYD Superpowers of Gen AI to keep in mind when exploring AI coding agent use cases: Translating. Requirements to code, code to code, language to queries, standard to standard. Finding info just-in-time (in context). How does this work? What’s this error? What tools are permitted in my org? Who knows what? E.g. Atlassian Rovo queries across JIRA, Confluence, etc. Brainstorming and ideation. Product ideation. Requirements. Testing gaps. Architecture review. Exploratory / scenario testing. Summarizing and clustering. Change logs, incident management, research data, docs summary. Challenges in using AI coding agents: Adoption imbalance. Only certain roles are amplified by AI. Coding, QA, more than planning, maintenance, AI ops, etc. What’s the impact of this? ⭐ Goldratt’s ToC implies that backlogs need to fill faster. Downstream becomes a bottleneck. Technical debt piles up. ACTION: Use AI across entire value chain, from research to maintenance. Locality. enhances roles (nodes), not relationships (links). They optimize local work, not global flow. Workflow tools are missing. Coordination overhead. Context Fragmentation. Translation problems. ⭐ Expand productive roles to cover neighboring tasks. Productive developers shift left and build backlogs; shift right to reduce code review, maintenance tasks. E.g. Move maintenance/production activities into development. Security, performance, monitoring, observability, cost, infrastructure. We spend time on IDE, CI/CD, Jira, Confluence, Prod observability tools. A typical Agent Development Platform (ADP) covers evals, guardrails, workflow builder, agent builder, observability, prompt management, AI gateway (LiteLLM), MCP servers, model fine-tuning, model serving, model repository, vector stores We need ADP Agents covering delivery risk, continuous security, prod issues RCA, observability, performance, accessibility, product research, infra optiimzation, test data generation, anomaly detection, release management ACTION: Share ADP photo with Patrick. ACTION: ⭐ Centralize skills (“knowledge packs”) and MCPs and observe which gets used most. Allow people to use more. Lethal Trifecta. There’s growing demand for higher productivity with AI code assistants. But the lethal trifecta makes them an attack vector. It has access to sensitive information, exfiltrate data, and read and follow unsafe instructions. Can lead to supply chain poisoning attacks. Regulated industries cannot adopt. Technical debt growth. More productivity leads to poor code quality which will slow down future work. See Software Engineering Excellence 2025 AI induced complacency. Sunk-cost fallacy on AI-generated code hurts. ACTION: Evaluate code quality continuously to reduce technical debt. Double-down on good engineering practices. Compliance. Model residency. Self-hosting is required. Data observability gaps. Data privacy, audit trails, etc. are concerns. Token economics. $20/day happens in Thoughtworks. Token cost is subsidized. Rogue AI usage. Use of dis-allowed tools; shadow IT. ROI justification. Hard to quantify productivity gains. Adoption. AI Literacy. Tap into organizational knowledge Champions & communities of practice to support cross-pollination. Use-case driven adoption. Teams identify based on AI superpowers. AI playbook. Share what worked, what didn’t work. AI automation is likely less if a high portion of work Has legal liability (e.g. pharmacist/judge vs shop attendant/lawyer) Is subjective (e.g. perfumer/auction appraiser vs lab chemist/insurance appraiser) Needs rapid contextual decisions (e.g. detective/fireman/ER vs parking enforcer) Via ChatGPT, Claude parse-sse from Sindre Sorhus is a more standards-compliant, more likely-to-be-maintained alternative to my async-sse package. Which is better: Comment A: 1 upvote, 0 downvotes (100% positive) or Comment B: 99 upvotes, 1 downvote (99% positive)? Use Wilson’s Lower Bound which measures “What % positive am I 95% confident of?” Claude Using this, we can measure metrics for tweets, like below. ChatGPT Popularity = (5 _ WLB(reposts / views) + 2 _ WLB(likes / views)) * Decay(half-life of 72 h) Memorability = (5 _ WLB(bookmarks / views) + 4 _ WLB(replies / views)) * Decay(half-life of 36 hours) A nice visual “benchmark” of text-to-image and image editing models. Seadream 4, Gemini 2.5 Flash, and Qwen Image Edit lead. This includes examples like straightening te Tower of Pisa - which only Flux.1 and Seadream 4 do well on; or removing only the brown M&Ms - which only Qwen Image Edit manages to. Arch is a pure LLM router. It supports multiple LLMs, flexible routing and observability but not auth. From Codex docs Add custom prompts in ~/.codex/prompts/xyz.md and launch as /prompts:xyz. Optional: description: and argument-hint: in YAML front-matter. For example, create prompts to refactor, rewrite in a developer’s style, document AGENTS.md, identify re-usable code, etc. AGENTS.override.md overrides parent directory AGENTS.md. AGENTS.md appends to parent AGENTS.md. Fallback names are allowed. codex exec supports streaming JSON codex exec accepts a CODEX_API_KEY= environment variable. codex uses an OPENAI_API_KEY. You can configure which environment variables are passed to the shell Codex reads 32KB from AGENTS.md by default Things that I currently follow and don’t follow from Peter Steinberger’s excellent Just Talk To It: Prefer Codex > Claude Code. Ask for options before executing Generate & review specs collaboratively You don’t need git worktrees Prefer subscriptions over API to reduce cost Store docs with code Give examples Use voice input Use Codex Web as a mobile inbox for ideas Prefer CLI over agentic platforms Prefer CLI tools over MCP Avoid ALL-CAPS for Codex. It follows instructions well Avoid sub-agents, RAG, etc. Iterate UI live. Watch changes Use 3-8 agents in parallel on a single repo. Make small, atomic commit checkpoints. Commit only what the agent touches Add ast-grep as a pre-commit hook to block rule violations. Keep custom prompts minimal (commit, automerge, massageprs, review, …). Just “commit” reduces context Cancel long tasks and ask what’s happening Prefer Medium over High reasoning. It decides level of thinking Share screenshots Use tmux to run CLIs persistently Schedule refactor time (20%). Use jscpd, knip, oxlint, … Don’t reset context. Cold start wastes time + tokens Write tests in the same context. Yields better tests, reveals bugs. Prototype in a separate folder / PR Queue continue messages** before stepping away Ask it to “Preserve intent and add comments at tricky spots”. Future you needs the WHY On hard problems, add “take your time”, “be comprehensive”, “read all related code”, “form hypotheses”, etc. Maintain an evolving AGENTS.md with product notes, naming, API patterns, test policy, ast-grep rules, etc. Delete stale guidelines Fascinating implications from Quantifying Human-AI Synergy ChatGPT Models vary in ability to uplift humans. Don’t just use standalone model benchmarks. People vary in ability to work with AI. Don’t just measure solo skills. Reward AI collaboration ability (delegation, prompting, verification, revision, …) Train models to ask for missing Theory-of-Mind cues: goal, beliefs, constraints, audience, success test Train people by asking them to predict what the model will get right/wrong, and validate Design UI and models for synergy. UI: Surface/solicit assumptions, intent, uncertainty, constraints. Model: Infer & adapt to evolving user state. OpenRouter image generation now includes GPT-5 Image Mini. An image costs about 1 cent. Here’s the code: curl 'https://openrouter.ai/api/v1/chat/completions' \ -H "Authorization: Bearer $OPENROUTER_API_KEY" \ -H "Content-Type: application/json" \ -d '{ model: "openai/gpt-5-image-mini", messages: [{ role: "user", content: "Draw a cat" }], modalities: ["image"], image_config: { "aspect_ratio": "16:9" } }' | jq -r '.choices[0].message.images[0].image_url.url' | cut -c23- | base64 -d > cat.png

GPT-5 (Codex) follows instructions exactly as given. Usually a good thing, but sometimes, it this is what happens. AGENTS.md: ALWAYS WRITE TESTS before coding. Codex: Let me begin with the tests. (Spends 5 minutes writing tests.) Anand: Stop! This is a proof of concept. We don’t need tests! AGENTS.md: Write tests before coding. Drop tests for proof-of-concepts. Codex: (Proceeds to delete all existing tests.) Anand: STOP! We need those tests! ...

Mistakes AI Coding Agents Make

I use Codex to write tools while I walk. Here are merged PRs: Add editable system prompt Standardize toast notifications Persist form fields Fix SVG handling in page2md Add Google Tasks exporter Add Markdown table to CSV tool Replace simple alerts with toasts Add CSV joiner tool Add SpeakMD tool This added technical debt. I spent four hours fixing the AI generated tests and code. What mistakes did it make? Inconsistency. It flips between execCommand("copy") and clipboard.writeText(). It wavers on timeouts (50 ms vs 100 ms). It doesn’t always run/fix test cases. Missed edge cases. I switched <div> to <form>. My earlier code didn’t have a type="button", so clicks reloaded the page. It missed that. It also left scripts as plain <script> instead of <script type="module"> which was required. Limited experimentation. My failed with a HTTP 404 because the common/ directory wasn’t served. I added console.logs to find this. Also, happy-dom won’t handle multiple exports instead of a single export { ... }. I wrote code to verify this. Coding agents didn’t run such experiments. What can we do about it? Three things could have helped me: ...