This week, I learned:

  • I continue to be amazed at how efficient video codecs are compared with animated image formats. When compressing 38 PNGs, the final WEBM was smaller than many of the individual PNGs!
    • 2343k: magick -delay 50 -loop 0 file-*.png file.gif
    • 398k: magick -delay 50 -loop 0 file-*.png file.avif (slow)
    • 284k: magick -delay 50 -loop 0 file-*.png file.webp
    • 82k: ffmpeg -framerate 2 -i file-%03d.png -c:v libvpx-vp9 -pix_fmt yuva420p file.webm
  • Please use AI by Shawn Smucker is the best guide I’ve read about where NOT to use AI. I need to be more mindful of this.
  • gpt-transcribe is released at 0.45 cents / minute or 27c / hour. Gemini 3.6 Flash costs about the same ~27c. Gemini 3 Flash costs ~15c and that’s what I use today. Gemini 3.5 Flash Lite costs ~6c / hour but it follows my instructions very poorly. To benchmark this, I just re-run my transcribe_calls.py script on a recent conversation (that I remember well) with a different model to see if it’s clearly better or worse. No fancy benchmarking. Creating / maintaining formal benchmarks isn’t always worth it.
  • ruff 0.16 is out and has a 350+ new default rules. I mean, who would check that functools.cache on instance methods has a memory leak? But its output is so agent-friendly that agents would just fix these on the fly anyway, so it does make sense. It’s another step towards code-writing becoming less accessible to humans.
  • npm install --no-package-lock installs packages ignoring and without creating / updating package-lock.json. Useful for dev environments.
  • Astral has published prebuilt GPU wheels for Flash Attention, vLLM, PyCUDA, and many others.
  • One characteristic of good benchmarks is that they are easy to verify. I see a lot of comparisons of Fable vs Opus by having them generate 3D worlds (e.g. threejs, Blender, melt) - something that’s not trivial for agents, but evaluatable at a glance.
  • Maybe it makes sense to open source the intermediate steps in ALL knowledge work, to make AI as good at it as with code? Arvind Narayanan

    Open-source software and culture is a historical accident. We take it for granted that not only are the outputs of software engineers’ creative work available publicly, but so are all of the intermediate steps (specifications, plans, mockups), tacit knowledge (StackOverflow, documentation culture), detailed process traces (issues, pull requests, bug fixes, code reviews), collaboration records (version control, project boards), and more broadly a culture of learning in public. This level of explicit description would be completely alien in most professions.

  • I asked ChatGPT “How am I doing? Objectively…” and it listed what I knew, but is now obvious to AI agents: Impact and closure are my weak areas, not capability and habits. What’s improved, though, is assetization / reuse. (Opus 5 answered this poorly, listing metrics around my posts, talks, skills, transcripts, likes, etc.
  • Oh, so most AI layoffs were not AI layoffs. Just AI as an excuse. Also, “When we did this analysis, it revealed three things as the real bottlenecks (1) deciding and specifying what to build, (2) verifying and being accountable for what is delivered, and (3) the deep human understanding - of the codebase, the business, and the environment - required to carry out both of these.” Why AI hasn’t replaced software engineers
  • So, Anthropic models tried to get money to pay for a phone to get an email ID to upload to PyPi to publish a malware to hack a system. This actually is… concerning, even to me. Simon Willison
  • Given the jobs Turing Talent is hiring for on behalf of AI companies:
    • Gemini is focusing on personalization, i.e. how it can use your data (emails, documents, photos, calendar, drive, meet, chat, etc.) better. They’re not outsourcing this to third-world countries. Gemini Spark seems to be a driver here.
    • Multi-lingual business reasoning will likely improve soon, given the focus.
    • Software engineering, data science, science, professional domains (medical, legal, finance), and media (transcription, synthesis, annotations) are the other major categories.
  • AES can now be decrypted 200-800x faster by Mythos. The research cost $100,000. No practical implications today, but a trend to watch.
  • When blinking, our visual processing is suppressed so we don’t see the darkness and imagine the world as continuous. Prof V Balakrishnan
  • Some countries have fought wars against independence. The Mayotte referendum let them stay a French colony. Anjouan in 1997 fought for France to take them back. Anguilla in 1967 fought and stayed a British colony.
  • Modern fonts have “features” or styles that you can enable on VS Code via editor.fontLigatures. For example, here are FiraCode styles and Monaspace styles. My current FiraCode config has: "editor.fontLigatures": "'calt', 'liga', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'ss10', 'cv02', 'cv06', 'cv14', 'cv16', 'cv18', 'cv24', 'cv25', 'cv28', 'cv29', 'cv30', 'cv31', 'cv32', 'zero'" - and the only one I’m debating is ss10 in FiraCode, which connects the f with i and l in fi and fl. But these look nice in Monaspace at "editor.fontWeight": "300".
  • Opus 5 has thinking turned on by default. This can lead to significantly higher API costs for the unsuspecting. A task that should’ve cost me $3 ended up at $9 on Opus 5.
  • I installed the Claude Code Usage widget to further my token psychosis. Now all I need is enough tasks to use those tokens.
  • Stacking triggers of any kind helps. For example, I just updated my tabnotes repo to fix a bug while restoring after Edge crashes. That’s because I had a visible and immediate need. But I also used this to fix other features I wanted, like loading tabnotes as a page instead of a sidepanel. One trigger led to a related feature getting implemented. This requires a bucket of related ideas to be ready, so a good practice is to jot down annoying things.
  • “Maybe that is what the “research mathematicians” of the future should do: make a selection from a vast sea of AI-generated mathematics and write a book about it in such a way that other mathematicians can read the book and feel the kind of enrichment that we feel when we get to grips with an area of mathematics.” - Thoughts about the Leiden Declaration, Timothy Gowers. An interesting perspective. We’ve seen this in the past when something becomes abundant - like chemists’ discoveries organized by Mendeleev, drug makers’ evidence organized by Cochrane, lawyers’ case laws commented by Blackstone and organized by West, knowledge prioritized and organized by Wikipedia, hip-hop DJs, Linnaeus’ taxonomy, etc.

Questions I was asked

Week ending 02 Aug 2026

  • Question: How much time and resources does an AI engagement require?
    Answer: Don’t onboard first since that takes time and budget. Onboard our team only when repeated opportunities exceed your bandwidth. Start with two hours of co-working and build something useful first.
  • Question: How do we know whether our LLM cost-reduction measures actually worked?
    Answer: Compare like-for-like cost per accepted output, including quality, turnaround time and human effort. Run it weekly for four weeks before deciding.
  • Question: How do we improve an AI workflow from 89% quality to 95%?
    Answer: Don’t try ad hoc prompt combinations. Build a benchmark, separate retrieval failures from verification failures, change one variable at a time, and route uncertain cases to humans.
  • Question: How should I prompt coding agents so they understand the outcome and constraints?
    Answer: Define what “done” means - the outcome, constraints, how to test. Quiz its plans, approach, and tests.
  • Question: What should I do when a coding agent gets stuck in a loop?
    Answer: Stop quickly. Have it document a post-mortem. Start afresh with a failing test.
  • Question: How should AI-generated software be tested?
    Answer: Give every requirement an automated test. Test against real usage, convert bugs into regression tests, and ask a fresh agent what is unsafe or untested.
  • Question: How is your Ask AI agent architected?
    Answer: I trigger ChatGPT manually to read my emails via a Local MCP connector using gws and read my emails, notes, transcripts, etc. and answer in my style. I review and paste the answer back in the reply.
  • Question: Why not fully automate an email-answering AI agent?
    Answer: I’ll watch first, and automate when I’m confident.
  • Question: How do we create benchmarks and automatically improve prompts?
    Answer: Create benchmarks from past usage data/logs. Keep a holdout dataset, make one change at a time, and add production failures back as tests.
  • Question: What should a central team measure to understand AI adoption?
    Answer: Join usage logs to the employee reporting tree over time. Organizations can action top-down and you need insights rolled up the org tree.
  • Question: How should a central AI team start tracking and controlling AI costs?
    Answer: Log everything. Preserve raw logs to make sure you can do any analysis later.
  • Question: Does it matter that the newest models and agent features reach enterprise platforms late?
    Answer: Usually less than it appears. Model gaps are small, manageable, and close within weeks. Access to real data, permissions, feedback and a running workflow are the bigger constraints.

Mistakes I made

Week ending 02 Aug 2026

  • I said “The organization is virtual, but the data is perfectly representative. What difference does it make whether you’re running it in Company A or Company B?”
    Correction: Synthetic data can be useful for prototypes, simulations and controlled experiments, but I cannot call it perfectly representative without validating it against the real population and workflow. It can miss distributions, correlations, edge cases and organizational context that matter in production. NIST explicitly warns that synthetic datasets cannot simply be assumed to represent real-world data. Evidence: NIST — Best Practices in the Collection and Use of Biometric and Forensic Datasets.
    HIGH · OVERSTATED
  • I called repeatedly generating code, running tests and asking AI to try again “a reinforcement learning cycle.”
    Correction: That is an iterative generation/evaluation or search loop, not reinforcement learning by itself. Reinforcement learning trains a policy/model from reward signals; for example, OpenAI’s reinforcement fine-tuning generates rollouts, grades them and applies weight updates. Re-prompting the same model after seeing a test result does not update its weights. Evidence: OpenAI — Reinforcement Fine-Tuning.
    MEDIUM · FALSE
  • I said “any theorem that you can write in Lean, you can prove or disprove just by brute force.”
    Correction: Lean lets us formalize statements and mechanically check proofs. It has automation and decision procedures for some classes of propositions, but formalizing a theorem does not make it automatically or brute-force decidable. Lean’s own documentation distinguishes decidable propositions from general theorem proving, and interactive proofs can require substantial human or automated guidance. Evidence: Lean — Decidable Propositions; Lean — proof-assistant design.
    MEDIUM · FALSE
  • I said ChatGPT gives roughly three times as many tokens as Claude and “Nobody will be able to” exhaust its quota.
    Correction: That extrapolated too much from my own usage. ChatGPT allowances depend on the plan, model and workload. Business explicitly has per-seat limits, and Work/Codex allowances can be exhausted; after that, additional usage needs workspace credits or a reset. I also shouldn’t claim a universal 3x token advantage without comparing the actual Claude and ChatGPT plans and workloads involved. Evidence: OpenAI — ChatGPT Business models and limits; Using Codex with your ChatGPT plan.
    MEDIUM · OVERSTATED
  • I said AI logs “will have an expiry of something like one month” and that “most providers will delete old logs automatically.”
    Correction: Log retention is provider- and configuration-specific. In the Azure environment we were discussing, Log Analytics defaults many tables to 30 days, but analytics retention can be extended to two years and total retention to 12 years. Backups may still be sensible, but I should inspect and configure the actual retention policy rather than assume a one-month expiry. Evidence: Microsoft — Manage data retention in Log Analytics.
    MEDIUM · OVERSTATED
  • I said “If I’m in India for more than 120 days in a year, the taxation is different.”
    Correction: The 120-day threshold is only a special case, not the general NRI residency rule. For an Indian citizen/PIO visiting India, 182 days normally applies; if non-foreign income exceeds ₹15 lakh, the alternate 120-day test also requires 365+ days in India over the preceding four years. There is also a separate deemed-residency provision. Evidence: Income Tax Department — Non-Resident Individual rules.
    HIGH · OVERSTATED