This week, I learned:

  • Windows 11 got some very practical updates. Notepad now supports Markdown preview natively. MS Paint has an opacity filter. Microsoft Copilot can share screens and speak/listen.
  • Things I learn when Ubuntu drivers crashed on my laptop:
  • Gemini 2.5 Flash Image is not great at generating text. But a clever a workaround is to provide the rendered text as an image input! Also, Gemini 2.5 Flash Image seems to ignore commands that try style transfer (e.g. “turn me into Studio Ghibli”). GemImg
  • FLIP animation is an efficient animation technique.
    • Capture the First position
    • Apply the Last position (changing position, size, rotation, etc.)
    • Invert, i.e. apply just the transform that’ll move it back to the First position
    • Plan the animation. This only needs to change transform, hence no DOM reflow.
  • Asking coding agents to create a codemod for large-scale refactoring works well Peter Steinberger
  • When to quit vs persist. # #
    1. Do stats/signals support positive outcome? QUIT if not.
    2. Crossed any limits you set for yourself? QUIT if so. (Run pre-mortems to find these stats/signals and limits.)
    3. Is the decision hard to reverse AND uncertainty high? QUIT if so. Else you can experiment cheaply. (Create reversibility.)
    4. Are youI continuing because of past effort or pride? QUIT if so. (Set review cadence.)
    5. Is there a better alternative? SWITCH if so. (Get outside help.)
  • Once a model generates an output, an agentic look tends not to change the fundamental approach and just tweaks it. So, if a solution is directionally wrong, restarting works better than iterating. Agentic Pelican on a Bicycle
  • Reading between the lines on the Microsoft OpenAI deal:
    • Microsoft values OpenAI’s growth (financial return) than control
    • Neither trusts the other enough to decide what’s AGI
    • Microsoft gets some wins: models until 2032 (even post AGI) as well as research IP. Both parties expect AGI between 2027-2030.
    • OpenAI keeps all consumer hardware - so is betting hard on hardware. It’s more Apple than Microsoft territory
    • Divorce preparation: Microsoft can pursue AGI with other partners. OpenAI can purchase compute from anyone and release open weights models. Infra has more value than model dev!
  • OlmoEarth is a set of image models trained on labelled geospatial data. That’s useful for deforestation and land cover monitoring, wildfire detection, urban growth monitoring, crop mapping, etc. The models are open weights and can be fine-tuned.
  • Claude Code’s output styles are a way of using Claude Code for anything (e.g. writing, analysis, research, personal advice, etc.), not just coding. Create a ~/.claude/output-style/your-style-name.md and run /output-style your-style-name to replace the system prompt will be replaced. You can also use the --system-prompt and --append-system-prompt flags with the CLI.
  • Following Ethan Mollick’s lead I asked: I can travel back in time to any time before 1500 in India and change only one thing. What is the single thing you would change? Nothing obvious..
    • ChatGPT: Create a single, simple, phonetic script for all public life in India around 1100 CE.
    • Claude: institutionalize systematic historical recordkeeping, introduce limited liability commercial entities, and mandate systematic translation of Sanskrit technical texts into all major regional languages.
    • How about now? ChatGPT suggests: make all public rules and records computable by law. Claude suggests: make all state-level entitlements and civil documentation fully portable across India.
  • For the first time in history, Russian troops surrendered to a wheeled drone that carried 138 pounds of explosives - Washington Post. Given the cost and accessibility of drones, I guess drone terrorist attacks will soon emerge.
  • HTML + JS apps will last longer than server-side apps and it makes sense to write more of those. For essential back-end services, keep them generic. Specific services layers I see are:
    • Auth (e.g. Google Auth, Auth0, Supabase, …)
    • Storage (e.g. Supabase, Firebase)
    • LLMs (e.g. OpenAI, Claude, OpenRouter)
    • Communications (e.g. EmailJS)
    • … #TODO Extend with LLMs
  • https://gistpreview.github.io/ is an unofficial GIST preview tool. It accepts a ?GIST_ID and displays the gist as a standalone HTML page. Simon Willison
  • XSLT is deprecated in Chrome. So the <script> tag in XML will become the new way of rendering RSS/Atom. This is one of the rare “break-the-web” changes from browsers. Simon Willison
  • “India has absurdly low internal migration - around 9% annual migration rate versus 25-30% in China or the US. Not because people don’t want to move, but because the cost of moving is artificially massive. You lose your ration card, state entitlements, kids’ school continuity, voting rights, …” #
  • Rolf Dobelli’s The Not To-Do List is a good application of inversion. Also, the chapter titles themselves explain most of the message, which is very helpful. Just thinking about any of these can be a useful path to improvement.
    1. Let things fall apart
    2. Feed your weaker self
    3. Be unreliable
    4. Be an asshole
    5. Have high expectations
    6. Drift through the day
    7. Mess up your marriage
    8. Be a quitter
    9. Be hypocritical
    10. Cling to your bad habits
    11. Set the wrong goals
    12. Drink yourself miserable
    13. Get involved in other people’s drama
    14. Only learn from your own experience
    15. Be hyperactive on social media
    16. Indulge in road rage
    17. Surround yourself with negative people
    18. Micromanage your neighbours
    19. Say yes to drugs
    20. Get stuck in your career
    21. Never be playful
    22. Feel guilty
    23. Practise ingratitude
    24. Trust your banker
    25. Be paranoid
    26. Make other people feel unimportant
    27. Live in the past
    28. Listen to your inner voice
    29. Expect rationality
    30. Get nihilistic
    31. Catastrophize
    32. Consider money unimportant
    33. Cultivate a victim mentality
    34. Become a lapdog
    35. Get rich quick, get smart quick
    36. Ruminate
    37. Trade your reputation for money
    38. Never suffer
    39. Let your emotions define you
    40. Try to end it all
    41. Marry the wrong person – and stay with them
    42. Celebrate your resentment
    43. Join a cult
    44. Try to change people
    45. Say everything you think
    46. Spin multiple plates
    47. Do only shallow work
    48. Invite bad people into your life
    49. Go where the competition is strong
    50. Say yes to everything
    51. Crowd your life with gadgets
    52. Fall into the content trap
  • DeepSeek-V3.2-Exp has linear inference time, i.e. longer inputs don’t take longer time. It picks the top 2K most relevant tokenss from the input instead. This can make model inference cheaper and faster.
  • California’s Bill AB 316 makes the people who build autonomous systems liable for their actions. That’s quite a step.
  • Udio and Universal are launching a platform to generate music in the style of famous artistes. An interesting new way to monetize. Fingerprinting music is a hot area.
  • VaultGemma shows a fine-tuning approach that eliminates personal info that appears only once from memorization. It works by adding noise to weights and capping weights updates so that no one example has undue influence. Model quality is mostly the same.
  • Amazon is giving drivers smart glasses to scan packages, get directions, capture proof of delivery and detect hazards. Cool! TechCrunch
  • ⭐ Over 3 months, I’ve recorded ~180 calls. Processing each costs ~1.25 cents (GPT-5) and 1 year’s conversations cost ~$9. That’s incredible value for money if I hired GPT-5 / Codex as a data-driven personal coach to guide me on:
    • What are my blindspots? That is, feedback people share with me that I ignore?
    • What are the clusters of persona that I interact with and which of these have a positive and negative influence on me?
    • Where am I am being unreliable? Where am I being an asshole?
    • Where are my expectations high? Where are they low? Where would the opposite have helped?
    • Where do I quit early? Where do I persist? Where would the opposite have helped?
    • What good habits should I continue? What bad habits should I stop?
    • What are the strongest opportunities to thank or praise that I missed? Is there a pattern? What triggers could I use to build this habit?
    • Where have I tried to change people? Where have people tried to change me?
    • Where have I spotted wrong questions? That is, rather than answering the question, I spotted the more apt question and answered that instead?
    • … and a hundred other questions that I wouldn’t even know to ask.
  • Sub-agents can run parallel / independent tasks while keeping the context window small. (But the advantage over xargs seems marginal.) Simon Willison
    • Document, lint, type-check, add test cases (or other similar tasks) for all folders in a monorepo.
    • Research and create a report for each topic in */RESEARCH.md.
    • Synthesize learnings from each conversation in transripts/*.md.
  • “If you’re signed into sensitive accounts like your bank or your email provider in your browser, simply summarizing a Reddit post could result in an attacker being able to steal money or your private data.” Brave
  • OpenAI Atlas has a “Watch Mode” that will stop working if you move away from that tab. Useful to keep an eye on sensitive sites. Simon Willison
  • “… image editing platforms seem like they’ll eat and subsume Photoshop… modern image editors – especially Nano Banana from Google Gemini – … they’re extremely effective and, increasingly, instructable” - Import AI. Facebook now suggests edits to photos - TechCruch.
  • WebPerl runs Perl in the browser via WebAssembly. Simon Willison