<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>S Anand</title>
    <link>https://www.s-anand.net/blog/</link>
    <description>Recent content on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 10 Aug 2026 09:57:31 +0530</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ask AI Anything Email</title>
      <link>https://www.s-anand.net/blog/ask-ai-anything-email/</link>
      <pubDate>Mon, 10 Aug 2026 09:57:31 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/ask-ai-anything-email/</guid>
      <description>&lt;p&gt;I ran, an experiment in Straive. I asked my colleagues to mail me any questions or tasks that they had. I&amp;rsquo;d use my agents + my knowledge as context and reply based on that.&lt;/p&gt;
&lt;p&gt;A few interesting things came out of it.&lt;/p&gt;
&lt;p&gt;First: It often does a better job than me - it has more &lt;em&gt;patience&lt;/em&gt; and speed. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One colleague sent a detailed pitch. My agent spotted a tiny arithmetic averaging error.&lt;/li&gt;
&lt;li&gt;Another asked if I knew an ontology SME. The agent found a perfect match in my contacts - someone I would &lt;em&gt;not&lt;/em&gt; have thought of (and reached out to.)&lt;/li&gt;
&lt;li&gt;Another asked why a slide (screenshot) was empty. The agent searched Google Drive, found the slide, analyzed it, and replied: &amp;ldquo;It&amp;rsquo;s white-on-white text. But don’t bother. The slide two pages earlier is better for your meeting!&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One colleague asked: &amp;ldquo;Instead of sending this to your email id, why can’t we ask this directly into Claude or so?&amp;rdquo; It replied:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The difference is not the model. It is the context and tools. This agent can search my email, calendar, meeting transcripts, Drive, notes, demos and code, then answer using my recent decisions. A plain Claude, ChatGPT or LLMFoundry session can do the same only if it is given or connected to those sources.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&amp;hellip; and then listed 3 answers that &lt;em&gt;relevant to him&lt;/em&gt; that &lt;em&gt;only I could give&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;Where it does worse is, perhaps 2–5% of the time, I read the answer and think, “WTF? You’ve missed the whole point.” Maybe it missed the politics / psychology / nuance. But since I disagree with myself and &lt;a href=&#34;https://www.s-anand.net/blog/data-science-for-sustainable-development-goals-book&#34;&gt;can&amp;rsquo;t even remember what I wrote&lt;/a&gt; some of this might be noise.&lt;/p&gt;
&lt;p&gt;Second: I went to &lt;em&gt;Inbox Zero&lt;/em&gt;! Once I got there, it&amp;rsquo;s actually a slightly lonely feeling (&amp;ldquo;Oh, no one wants to talk to me any more!&amp;rdquo;) so I&amp;rsquo;ve started reaching out to people, asking them to mail me so that I can have AI reply to them.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-10-ask-ai-anything-email.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;So, here&amp;rsquo;s an offer:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Until 31 Aug 2026, you may email &lt;a href=&#34;mailto:askai@s-anand.net&#34;&gt;askai@s-anand.net&lt;/a&gt;. My AI agent (with my knowledge, code and tools) will reply within 24 hours.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This is best for questions where:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;AI won&amp;rsquo;t know some things (e.g. based on my research / experiments / classes)&lt;/li&gt;
&lt;li&gt;I wouldn&amp;rsquo;t have replied to you (e.g. I&amp;rsquo;m busy, or the question takes too much effort)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What&amp;rsquo;s the most relevant thing you’ve already written, built, taught, or seen for this problem?&lt;/li&gt;
&lt;li&gt;Given everything you know about this situation, what would you do?&lt;/li&gt;
&lt;li&gt;You said X a year ago. Do you still believe it? What has changed?&lt;/li&gt;
&lt;li&gt;What have you learned about X from your recent experiments, classes, or client conversations?&lt;/li&gt;
&lt;li&gt;I’m pitching X to Y. Based on what you’ve seen work, what would you change?&lt;/li&gt;
&lt;li&gt;Who do you know who might be unusually good for X?&lt;/li&gt;
&lt;li&gt;Here’s my deck / proposal / code / model. What am I missing? What would you do differently?&lt;/li&gt;
&lt;li&gt;This is going to take me three hours to figure out. Can your agent figure it out instead?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The best requests are probably ones where asking plain ChatGPT would give you a reasonable generic answer, but &lt;strong&gt;something I know, have done, or have access to could substantially change that answer.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Long, detailed emails are fine. Please attach/forward the context (document, email, links, screenshots, &amp;hellip;).
Short, 1-line questions are fine, too.&lt;/p&gt;
&lt;p&gt;I batch runs daily, so please expect a response within about 24 hours.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Dancing with eyes closed</title>
      <link>https://www.s-anand.net/blog/dancing-with-eyes-closed/</link>
      <pubDate>Sun, 09 Aug 2026 11:55:44 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/dancing-with-eyes-closed/</guid>
      <description>&lt;p&gt;One of my &lt;a href=&#34;https://www.s-anand.net/blog/my-year-in-2025/&#34;&gt;goals this year&lt;/a&gt; is to learn to dance.&lt;/p&gt;
&lt;p&gt;I haven&amp;rsquo;t done much about it, but I &lt;em&gt;did&lt;/em&gt; snatch one opportunity. At &lt;a href=&#34;https://vizchitra.com/2026&#34;&gt;VizChitra&lt;/a&gt;, Ashok Kumar led an &lt;a href=&#34;https://vizchitra.com/2026/sessions/afternoon-rhythm&#34;&gt;Afternoon Rhythm&lt;/a&gt; &amp;ldquo;where the drum sets a beat and you find your place within it.&amp;rdquo; He invited volunteers on stage.&lt;/p&gt;
&lt;p&gt;I usually volunteer for uncomfortable things (a habit from school days), so I briskly walked to the stage, waited for a few others to join, then started dancing to the beat.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been told (as a kid) that I was graceful. I haven&amp;rsquo;t danced in decades. I tried a few tentative moves.&lt;/p&gt;
&lt;p&gt;Then my mind voice went, &amp;ldquo;Screw this. Just f***ing dance. Don&amp;rsquo;t worry about looking good.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;I closed my eyes. I danced to the beat.&lt;/p&gt;
&lt;video controls playsinline preload=&#34;metadata&#34; width=&#34;1600&#34; height=&#34;1200&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;
  &lt;source src=&#34;https://example.com/video.webm&#34; type=&#34;video/webm&#34;&gt;
  &lt;a href=&#34;https://media.s-anand.net/2026-07-04-vizchitra-dance.webm&#34;&gt;Here&#39;s the video&lt;/a&gt;
&lt;/video&gt;
&lt;p&gt;This is the part where I&amp;rsquo;m supposed to say something poetic about how I felt. But it wasn&amp;rsquo;t like that.&lt;/p&gt;
&lt;p&gt;Some parts looked awkward. Felt awkward.&lt;/p&gt;
&lt;p&gt;Some parts flowed. At least to me.&lt;/p&gt;
&lt;p&gt;But for a few minutes, I was back at hostel, dancing to Ilayaraja&amp;rsquo;s beats in my room, all by myself.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;One of my goals this year is to learn to dance. Even more so, now.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>A Tea Perspective</title>
      <link>https://www.s-anand.net/blog/a-tea-perspective/</link>
      <pubDate>Sun, 09 Aug 2026 11:49:12 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/a-tea-perspective/</guid>
      <description>&lt;p&gt;When I was at school, I assumed that teachers in the staff room would mostly be discussing students, teaching, how to improve things, etc.&lt;/p&gt;
&lt;p&gt;A few years after I graduated, I spent time with my teachers in the staff room, and realized that the conversations are &lt;em&gt;far&lt;/em&gt; more mundane. The main topic of discussion (which went on for what felt like half-an-hour) was: Why was the tea at the high school staff room far inferior to the one for the junior school staff room? What could they do about it?&lt;/p&gt;
&lt;p&gt;It was a bit of a shock for two reasons.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;What!? Teachers don&amp;rsquo;t spend every second of their time thinking about students and teaching?&lt;/li&gt;
&lt;li&gt;Tea!? Who cares about tea? &lt;em&gt;Why&lt;/em&gt; care about tea?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That day, my perspective changed.&lt;/p&gt;
&lt;p&gt;25 years later, my perspective changed again. I wasn&amp;rsquo;t a tea drinker. I started a year ago when I switched my daily lunch to &lt;a href=&#34;https://en.wikipedia.org/wiki/Ya_Kun_Kaya_Toast&#34;&gt;Ya Kun Kaya Toast&lt;/a&gt;&amp;rsquo;s Set B: Kaya peanut butter toast (which is heavenly) + eggs + tea. I always get it from the same branch across my office.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s one guy who I think makes it &lt;em&gt;slightly&lt;/em&gt; sweeter, and a lady whose tea is more bitter. I spend a fair bit of time every morning (and sometimes it feels like half-an-hour) agonizing over &lt;em&gt;who&lt;/em&gt; will be making my tea today.&lt;/p&gt;
&lt;p&gt;Never thought the day would come, but this is one of my highlights of the day: having &lt;em&gt;his&lt;/em&gt; tea for lunch.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-09-a-tea-perspective.avif&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Comic art style prompts</title>
      <link>https://www.s-anand.net/blog/comic-art-style-prompts/</link>
      <pubDate>Sun, 09 Aug 2026 11:09:26 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/comic-art-style-prompts/</guid>
      <description>&lt;p&gt;Many people commented that they liked my comic illustrations and asked how I create them. Here is my process:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Paste a reusable prompt fragment that&amp;rsquo;ll take &lt;em&gt;any&lt;/em&gt; content, &lt;strong&gt;think&lt;/strong&gt; about what to draw, then draw it.&lt;/li&gt;
&lt;li&gt;Paste a style variation for different comic styles (optional).&lt;/li&gt;
&lt;li&gt;Paste the content itself and run it.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I use ChatGPT with &lt;a href=&#34;https://developers.openai.com/api/docs/models/gpt-image-2&#34;&gt;gpt-image-2&lt;/a&gt; more often than Gemini with &lt;a href=&#34;https://gemini.google/overview/image-generation/&#34;&gt;Nano banana 2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here are the prompts.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;STEP 1: Reusable Prompt Fragment&lt;/strong&gt;: I have a few of these right now:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/sanand0/blog/blob/d51ff28c1573e62d5d9dcff7caf04f1ffdd7ce85/pages/prompts/fragments.md#comic-page&#34;&gt;Comic &lt;em&gt;page&lt;/em&gt; prompt fragment&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Draw this as a full-color explainer comic page (portrait) - sequential explanation, friendly narrator, diagrams embedded inside panels, visual metaphors, self-aware captions, and clear cause-and-effect storytelling.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Style: expressive characters, comic-style ALL CAPS, vibrant modern colors, clear visual hierarchy.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Prefer pictures over words. Use recurring visual metaphors so the reader understands the idea even while skimming.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;First, write a memorable storyline that captures the most important points to convey - as a single cohesive story.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Just reading the storyline should communicate the entire message unambiguously.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Critique the storyline: what is confusing, doesn&amp;#39;t flow, or has low impact? Revise. Repeat until the storyline is GOOD!
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Draw each storyline element (typically a sentence, but sometimes a continued phrase, or multiple sentences) as a panel&amp;#39;s caption. (If there are 8 panels, there must be 8 storyline elements)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Each panel&amp;#39;s image should support and strengthen its caption - and reinforcing past panels / anticipating future panels where helpful.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sanand0.github.io/talks/2026-08-07-data-hack-summit/&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://sanand0.github.io/talks/2026-08-07-data-hack-summit/comic-page.avif&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/sanand0/blog/blob/d51ff28c1573e62d5d9dcff7caf04f1ffdd7ce85/pages/prompts/fragments.md#comic-strip&#34;&gt;Comic &lt;em&gt;strip&lt;/em&gt; prompt fragment&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Draw this as a simple black and white line drawing comic strip (1:1) with minimal shading.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Single panel.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Style: expressive characters, comic-style ALL CAPS.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Prefer pictures over words.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;No need to cover everything - just one key item is enough - e.g. the funniest, most important, or most surprising point.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Convey the INTENT of the point. An apt analogy that visually communicates instantly might work better than a literal depiction.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Keep it funny. The strip itself should make readers laugh.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Example:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.s-anand.net/blog/simple-writing-hurts-thinking/&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-01-simple-writing-hurts-thinking.avif&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;STEP 2: Style Variation&lt;/strong&gt;: This is optional. Here are examples of a few different styles:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://sanand0.github.io/llmartstyle/images/cat.elegant-brush-line.gpt-image-2.webp&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://sanand0.github.io/llmartstyle/images/cat.ratty-line.gpt-image-2.webp&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://sanand0.github.io/llmartstyle/images/cat.roundhead.gpt-image-2.webp&#34;&gt;
&lt;img loading=&#34;lazy&#34; src=&#34;https://sanand0.github.io/llmartstyle/images/cat.spot-black-economy.gpt-image-2.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;These are cataloged in my &lt;a href=&#34;https://sanand0.github.io/llmartstyle/?category=comic&#34;&gt;LLM Art Style gallery&lt;/a&gt; (see &lt;a href=&#34;https://www.s-anand.net/blog/llm-comic-styles/&#34;&gt;blog post&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;STEP 3&lt;/strong&gt;: Paste whatever content I want to illustrate. Some examples are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transcripts of my talk&lt;/li&gt;
&lt;li&gt;Contents of my blog post&lt;/li&gt;
&lt;li&gt;An email reply I&amp;rsquo;m sending&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;The main insight is that ChatGPT and Gemini can &lt;em&gt;think&lt;/em&gt; about what best to draw, and &lt;em&gt;then&lt;/em&gt; draw it. So I can, with some careful prompting, delegate the comic design to them for &lt;em&gt;any&lt;/em&gt; content, making this an automatable flow.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 09 Aug 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-09-aug-2026/</link>
      <pubDate>Sun, 09 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-09-aug-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kamakoti: &amp;ldquo;Entry (to the course) is relatively easy but the exit is extremely hard&amp;rdquo;. Generalizing, quality is determined by the exit criteria; loosening entry criteria is just openness / diversity. &lt;a href=&#34;https://www.thehindu.com/news/national/tamil-nadu/iit-madras-launches-online-bs-course-on-management-and-data-science/article70659825.ece&#34;&gt;The Hindu&lt;/a&gt; &lt;!-- https://gemini.google.com/app/b5c95aa16c056bb9 --&gt;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Once I have a persistent system that I pay to keep thinking, learning, and acting 24/7, I think that will decisively look like AGI.&amp;rdquo; - &lt;a href=&#34;https://every.to/p/after-automation&#34;&gt;Dan Shipper&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AI has expert-level capabilities in many (increasing) tasks #ForNow. If your edge is OUTSIDE of those, use AI for other tasks you couldn&amp;rsquo;t do before, insourcing or expanding horizontally. But your edge may be short-term - so move upstream / specialize. Your competitors&amp;rsquo; edge may be short-term, too - so plan to attack. &lt;!-- https://chatgpt.com/c/6a770801-7234-83ec-8f0f-63460e93edb1 --&gt;&lt;/li&gt;
&lt;li&gt;Analyzing &lt;a href=&#34;https://huggingface.co/datasets/Anthropic/EconomicIndex/tree/main&#34;&gt;Anthropic Economic Survey&lt;/a&gt;, it looks like people in rich countries are asking Claude for &lt;em&gt;advice&lt;/em&gt; (explain this spreadsheet) while poor countries are asking Claude for &lt;em&gt;output&lt;/em&gt; (build this website) #ForNow. Maybe because rich users already have tools / people that create output for them? &lt;!-- https://chatgpt.com/c/6a6f3195-fa08-83ec-8f8c-3443da3a29f9 --&gt;&lt;/li&gt;
&lt;li&gt;Humans can&amp;rsquo;t define all laws of language but LLMs have learnt them anyway. What if there are laws of nature that humans can&amp;rsquo;t understand but AI can? Actually, this is already true of black-box models (loan approvals, weather forecasts, &amp;hellip;) where benefit/control &amp;gt; understanding. But as data &amp;amp; compute scales, this might &amp;ldquo;solve&amp;rdquo; entire fields like psychology, economics, etc. &lt;a href=&#34;https://www.noahpinion.blog/p/the-third-magic-23f&#34;&gt;Noah Smith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;In each area, there might be a limit to how much intelligence is possible/useful. For example, we&amp;rsquo;re pretty good at recognizing food and emotions - there&amp;rsquo;s not much benefit / possibility of more intelligence. But we can copy and share this intelligence - and that might help more than we think. &lt;a href=&#34;https://www.noahpinion.blog/p/what-will-more-intelligence-actually&#34;&gt;Noah Smith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The ChatGPT Dropbox plugin can read Markdown files if you specify the path, but can only read PDF, Word, PPTX, Excel, etc. when searching. It cannot update files on Dropbox, but can add and delete. #ForNow &lt;!-- https://chatgpt.com/c/6a76ecca-a794-83ec-8f57-f59896963abb --&gt;&lt;/li&gt;
&lt;li&gt;Given how long agents run without mistakes, verification is increasingly &amp;ldquo;drift correction&amp;rdquo;. You can&amp;rsquo;t spot it easily. Learn writing specs that EXPOSE drift. Build and test against &amp;ldquo;oracles&amp;rdquo; (verification systems). Reduce cost of error. &lt;!-- https://claude.ai/chat/9950d3e9-ed70-45c5-9bfa-da85798385de --&gt;&lt;/li&gt;
&lt;li&gt;Permissions, in the context of multiple agents, is complex. If agent A can read my email but wants to consult agent B, can B see the email? We&amp;rsquo;d need to make permissions pretty specific, like:
&lt;ul&gt;
&lt;li&gt;principal: &amp;ldquo;anand&amp;rdquo;&lt;/li&gt;
&lt;li&gt;agent: &amp;ldquo;agent-17&amp;rdquo;&lt;/li&gt;
&lt;li&gt;purpose: &amp;ldquo;insurance-coverage-check&amp;rdquo;&lt;/li&gt;
&lt;li&gt;allowed_data: [&amp;ldquo;email:read&amp;rdquo;, &amp;ldquo;dropbox/notes:read&amp;rdquo;]&lt;/li&gt;
&lt;li&gt;allowed_effects: [&amp;ldquo;email:send&amp;rdquo;]&lt;/li&gt;
&lt;li&gt;audience: [&amp;ldquo;anand&amp;rdquo;]&lt;/li&gt;
&lt;li&gt;expires_at: &amp;ldquo;&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;delegation_depth: 1&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;After struggling to understand where to apply loop engineering, here&amp;rsquo;s my guess. If you have a metric (or something really well defined) that you want to optimize, and a single agent iteration isn&amp;rsquo;t enough, loops are a way to get there. Kaggle competitions, benchmark optimizations, etc. are examples. This means that any complex system that you can benchmark (or at least where you can robustly compare results) is loop engineerable. (This means that the ability to benchmark, and using agents to benchmark, will become a key ability.)&lt;/li&gt;
&lt;li&gt;Ontologies, state machines, etc. can be used to create verifiable systems, e.g. nodes become states, relations are valid operations. That&amp;rsquo;s great for building verifiable systems (leading to things like LEAN). Of course, a key skill will be knowing what to put into the state, what relations to allow/disallow, what reflects reality well, how it might evolve (e.g. temporal graphs), how that might change in the future, etc.
&lt;ul&gt;
&lt;li&gt;Having said that, this is just creating a neural network of sorts - so according to the bitter lesson, we should just toss data at an agent and have it build a graph (or not) as required. BTW, I shared this with a bunch of speakers at Data Hack Summit who were speaking about knowledge graphs. There was silence for a while. Then, gently, they all agreed.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Some people blab. Interrupting with a question is a good diversion mechanism. Some blab even after that. Exiting politely is both wise and surprisingly un-rude.&lt;/li&gt;
&lt;li&gt;To control your mental state, breathe slowly. 5–6 times/min for five minutes (that&amp;rsquo;s longer than I thought was needed), exhaling slower than you inhale. &lt;a href=&#34;https://pubmed.ncbi.nlm.nih.gov/35623448/&#34;&gt;PubMed&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Once a ChatGPT conversation uses a developer plugin, #ForNow it refuses to use other plugins. So, if you need to use a GMail plugin AND a plugin you built yourself, you&amp;rsquo;d need to use the GMail plugin first, get stuff into the chat, then switch over to yours. I suspect conversations with developer plugins might not be accessible when using other plugins, too - but that&amp;rsquo;s untested.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a jagged edge of AI adoption as well, not just AI capability. Several organizations limit users to weaker agents #ForNow (e.g. only Microsoft Copilot or Gemini). Many have never seen the power of Codex or Claude Code on their systems. It&amp;rsquo;s hard to convince them that AI can do much more than they think.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a &amp;ldquo;data engineering&amp;rdquo; industry incentivized by structuring data. This is partly enabled by poor enterprise agent adoption #ForNow (e.g. Microsoft Copilot). The sequence works like this: &amp;ldquo;AI does not solve something with the data it&amp;rsquo;s given. Let&amp;rsquo;s structure the data. It solves it. Therefore, we need to structure data - all data.&amp;rdquo; The alternative which I believe is: agents will structure it themselves.&lt;/li&gt;
&lt;li&gt;I noticed that when you submit a prompt on ChatGPT, it changes the URL to &lt;code&gt;https://chatgpt.com/c/WEB:...&lt;/code&gt; and once it starts processing it on the server, changes it to &lt;code&gt;https://chatgpt.com/c/...&lt;/code&gt; giving it the actual conversation. So, if you see a &lt;code&gt;WEB:&lt;/code&gt; in the URL #ForNow, make sure you &lt;em&gt;copy the prompt&lt;/em&gt; before reloading the page - because it hasn&amp;rsquo;t been saved or sent to the server.&lt;/li&gt;
&lt;li&gt;I assumed inflammation was mostly a bio/chemical process. Looks like neural signals are involved, too, and electrical simulation can control inflammation. This leads us to a new territory: bio-electrical medicine.&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://www.anthropic.com/research/economic-index-june-2026-report&#34;&gt;Anthropic Economic Index&lt;/a&gt; indicates that, on average, if you prompt Claude like an 8th grader, it responds for a 9th grader. Does that mean (a) that more sophisticated prompts get a better response, and (b) if you repeatedly meta-prompt, you increase the sophistication by about a year each iteration, and hence can get very smart prompts by just getting out of the way and with little hope of understanding the question? This might actually make sense if AI will action the result without you needing to understand.&lt;/li&gt;
&lt;li&gt;The geometric mean is always less than or equal to the arithmetic mean. This is why a &amp;ldquo;smooth&amp;rdquo; 8% return is worth much more than a &amp;ldquo;wild&amp;rdquo; 8% return. &lt;a href=&#34;https://x.com/i/status/2082101954206130402&#34;&gt;@lumenxbt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Quantum cryptography can give us unclonable encryption, i.e. if someone copies a message midway (or you publish it), you can&amp;rsquo;t independently decrypt both. We knew how to do this in 2020. Now, ChatGPT helped &amp;ldquo;indistinguishable security&amp;rdquo;. Between 2 messages, people can&amp;rsquo;t figure out (e.g. from the length, or other attributes) which message is which. &lt;a href=&#34;https://share.gemini.google/2Ci7ZKRLHBHk&#34;&gt;Gemini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Agents can record network requests into a HAR file and reverse-engineer an API for many websites. More efficient than browser control. &lt;a href=&#34;https://x.com/thdxr/status/2078727284865827140&#34;&gt;dax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://www.anthropic.com/economic-index&#34;&gt;Anthropic Economic Index&lt;/a&gt; dataset is on &lt;a href=&#34;https://huggingface.co/datasets/Anthropic/EconomicIndex/tree/main&#34;&gt;Hugging Face&lt;/a&gt; - released quarterly #ForNow. The longitudinal analysis is likely to be interesting.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://business-ai-benchmark.github.io/&#34;&gt;BusinessCaseBench&lt;/a&gt; solved over 238 business cases with AI agents and they&amp;rsquo;re doing well and improving #ForNow. Not surprising. &lt;a href=&#34;https://arxiv.org/pdf/2607.16057v2&#34;&gt;Frontier AI performance across the business disciplines&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openai.com/index/introducing-openai-presence/&#34;&gt;OpenAI Presence&lt;/a&gt; shows a pathway for deploying agents. Deploy for a &lt;strong&gt;specific job&lt;/strong&gt;, with &lt;strong&gt;only required access&lt;/strong&gt; to knowledge and systems, company defined &lt;strong&gt;policies&lt;/strong&gt; for approval, agent periodically &lt;strong&gt;reviews logs&lt;/strong&gt; &amp;amp; escalations and &lt;strong&gt;proposes updates&lt;/strong&gt; for testing and approval.&lt;/li&gt;
&lt;li&gt;A lot of work people are doing on ChatGPT is OUTSIDE their area of work. &amp;ldquo;&amp;hellip; a substantial part of work-related ChatGPT use is from users expanding their role.&amp;rdquo; &lt;a href=&#34;https://openai.com/index/how-ai-is-expanding-what-people-do-at-work/&#34;&gt;OpenAI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>MCP vs Shell</title>
      <link>https://www.s-anand.net/blog/mcp-vs-shell/</link>
      <pubDate>Sat, 08 Aug 2026 07:02:28 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/mcp-vs-shell/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-08-mcp-vs-shell.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m a fan of the &lt;a href=&#34;https://blog.cloudflare.com/code-mode-mcp/&#34;&gt;Code Mode approach&lt;/a&gt; - i.e. letting agents run code rather than narrow functions. Many people agree: &lt;a href=&#34;https://circleci.com/blog/mcp-vs-cli/&#34;&gt;CircleCI&lt;/a&gt;, &lt;a href=&#34;https://palma.ai/blog/mcp-vs-cli-not-the-same-thing&#34;&gt;Perplexity&lt;/a&gt;, etc. In fact, &lt;a href=&#34;https://github.com/knowsuchagency/mcp2cli&#34;&gt;mcp2cli&lt;/a&gt; gives MCPs a CLI interface.&lt;/p&gt;
&lt;p&gt;I feel the main reason is UNIX composability. I can run CLI commands in a loop, pipe them, etc.&lt;/p&gt;
&lt;p&gt;I tested it out on ChatGPT. ChatGPT has an &lt;code&gt;@Gmail&lt;/code&gt; &lt;a href=&#34;https://chatgpt.com/features/plugins/&#34;&gt;Plugin&lt;/a&gt;. I build a &lt;a href=&#34;https://github.com/sanand0/scripts/blob/main/mcpserver.py&#34;&gt;Local MCP Server&lt;/a&gt; that exposes my CLIs, including &lt;a href=&#34;https://github.com/googleworkspace/cli&#34;&gt;&lt;code&gt;gws&lt;/code&gt; (Google Workspace CLI)&lt;/a&gt;. I gave it 3 tasks in a single prompt:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mailbox-scale commitments&lt;/strong&gt;: Using only @SOURCE, scan my work email from the past 6 months. Find every commitment I made that appears to require follow-up.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Communication analytics&lt;/strong&gt;: Using only @SOURCE, analyze my work email from the past 12 months. Identify the 20 people I interact with most.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-thread project reconstruction&lt;/strong&gt;: Using only @SOURCE, reconstruct everything material about $CLIENT from my email over the past year, including relevant attachments.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The @Gmail plugin did &lt;em&gt;surprisingly&lt;/em&gt; well. After 19 minutes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;🟢 It scanned 373 sent messages &amp;ldquo;containing commitment language&amp;rdquo;, then checked replies, and gave me a prioritized list of 8 items. Good ones.&lt;/li&gt;
&lt;li&gt;🔴 It said &amp;ldquo;I can&amp;rsquo;t do this reliably&amp;rdquo;, but shared a few clusters of relationthips.&lt;/li&gt;
&lt;li&gt;🟢 It clearly reconstructed the client timeline.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The @LocalMCP plugin had issues. I&amp;rsquo;m wrapping &lt;code&gt;gws&lt;/code&gt; inside a developer MCP plugin, and:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ChatGPT has to send large files back and forth from &lt;code&gt;gws&lt;/code&gt; via an MCP interface, rather than just read it.&lt;/li&gt;
&lt;li&gt;ChatGPT&amp;rsquo;s restrictions didn&amp;rsquo;t allow it to read the retrieved files - maybe because it was a developer plugin.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Clearly, I know less and mess up more than I think - better to use well-tested well-maintained tools and interfaces.&lt;/p&gt;
&lt;p&gt;But anyway, I said: &amp;ldquo;ChatGPT, use &lt;code&gt;codex&lt;/code&gt; on @LocalMCP to process the files from &lt;code&gt;gws&lt;/code&gt;.&amp;rdquo; That took 39 minutes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;🟢 It scanned far more messages and gave me 10 unresolved items.&lt;/li&gt;
&lt;li&gt;🟢 It managed to scan all contacts and give me the top 20.&lt;/li&gt;
&lt;li&gt;🟢 It clearly reconstructed the client timeline.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The quality and scale of the latter are certainly better.&lt;/p&gt;
&lt;p&gt;But my main learnings is: &lt;strong&gt;don&amp;rsquo;t underestimate agents&amp;rsquo; ability to loop&lt;/strong&gt;! They can iterate for long - mode like code than humans.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>AI tax returns 2026</title>
      <link>https://www.s-anand.net/blog/ai-tax-returns-2026/</link>
      <pubDate>Tue, 04 Aug 2026 05:48:31 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/ai-tax-returns-2026/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-06-05-ai-tax-returns-2026.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;On 16 July, my auditor sent me a draft Indian tax return: a refund of Rs 3 lakhs.&lt;/p&gt;
&lt;p&gt;I gave ChatGPT my AIS, Form 26AS, bank statements, mutual fund statements, property papers, travel records, prior returns, and so on, told it &lt;em&gt;not&lt;/em&gt; to look at the auditor&amp;rsquo;s draft, and asked it to calculate my tax independently.&lt;/p&gt;
&lt;p&gt;It calculated a refund of about Rs 2.8 lakhs, roughly Rs 20K lower. (Less money, but a smaller refund felt less worse than a larger tax.)&lt;/p&gt;
&lt;p&gt;Why? The auditor treated a Rs 40K in Form 26AS as &lt;em&gt;interest&lt;/em&gt; on an income-tax refund. ChatGPT said (based on an earlier tax intimation) that it was &lt;em&gt;tax&lt;/em&gt; deducted on an interest of Rs 1.3 lakhs.&lt;/p&gt;
&lt;p&gt;My auditor disagreed, so we got on a screen-sharing call. She showed me Form 26AS. I showed her the earlier tax intimation. (It &lt;em&gt;was&lt;/em&gt; confusing.)&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I think it was a mistake. I&amp;rsquo;ll rectify it,&amp;rdquo; she said.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I had a large capital gain from redeeming Indian mutual funds. My auditor said it&amp;rsquo;s taxable in India.&lt;/p&gt;
&lt;p&gt;ChatGPT found a similar case, &lt;a href=&#34;https://indiankanoon.org/doc/23391260/&#34;&gt;&lt;em&gt;Anushka Sanjay Shah v. ITO&lt;/em&gt;&lt;/a&gt;. A Singapore tax resident had redeemed Indian mutual funds. The court said that the gain was taxable only in Singapore under the India-Singapore tax treaty.&lt;/p&gt;
&lt;p&gt;My auditor said &amp;ldquo;No, only NRE accounts are exempt, not NRO accounts&amp;rdquo;. ChatGPT said &amp;ldquo;But the judgement does not mention the type of account at all&amp;rdquo;, which I told my auditor.&lt;/p&gt;
&lt;p&gt;She checked with a senior colleague. The next morning she called. &amp;ldquo;You are eligible&amp;rdquo;, she said, &amp;ldquo;I will file it based on that scenario.&amp;rdquo; (I asked for that in writing.)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Yes, AI got me a better (or more correct) return. But frankly, it could have gone either way (been wrong, gotten me a worse return).&lt;/p&gt;
&lt;p&gt;The main lesson I&amp;rsquo;m taking away is: &lt;strong&gt;The auditor cross-checked AI and filed it as their responsibility.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The useful Expert + AI workflow, for me, is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Let AI calculate independently without the expert.&lt;/li&gt;
&lt;li&gt;Give it raw sources, not summaries. (It can crunch lots more data.)&lt;/li&gt;
&lt;li&gt;Ask the expert precise questions with evidence.&lt;/li&gt;
&lt;li&gt;Get the expert&amp;rsquo;s position in writing for important things.&lt;/li&gt;
&lt;li&gt;Let the expert take the final call.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That division worked rather well, I think.&lt;/p&gt;
&lt;!--
Source chats:
- https://chatgpt.com/c/6a5eb53c-a954-83e8-bab1-effbcb70ced2
- https://chatgpt.com/c/6a6ae0bf-ff18-83ec-83dd-962a126bb6b8
- https://chatgpt.com/c/6a706237-a2c4-83ec-aa51-ea6fed960b50
--&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 02 Aug 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-02-aug-2026/</link>
      <pubDate>Sun, 02 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-02-aug-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;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 &lt;em&gt;individual&lt;/em&gt; PNGs!
&lt;ul&gt;
&lt;li&gt;2343k: &lt;code&gt;magick -delay 50 -loop 0 file-*.png file.gif&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;398k: &lt;code&gt;magick -delay 50 -loop 0 file-*.png file.avif&lt;/code&gt; (slow)&lt;/li&gt;
&lt;li&gt;284k: &lt;code&gt;magick -delay 50 -loop 0 file-*.png file.webp&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;82k: &lt;code&gt;ffmpeg -framerate 2 -i file-%03d.png -c:v libvpx-vp9 -pix_fmt yuva420p file.webm&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://shawnsmucker.substack.com/p/please-use-ai&#34;&gt;Please use AI&lt;/a&gt; by Shawn Smucker is the best guide I&amp;rsquo;ve read about where &lt;em&gt;NOT&lt;/em&gt; to use AI. I need to be more mindful of this.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://developers.openai.com/api/docs/models/gpt-transcribe&#34;&gt;gpt-transcribe&lt;/a&gt; is released at 0.45 cents / minute or 27c / hour. &lt;!-- https://chatgpt.com/c/6a6d46c1-c580-83ec-a164-0f0bf46f87ce --&gt;
Gemini 3.6 Flash costs about the same ~27c.
Gemini 3 Flash costs ~15c and that&amp;rsquo;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 &lt;a href=&#34;https://github.com/sanand0/scripts/blob/fbd7958bf40da02bcc7bf8c920edc45235c271cd/transcribe_calls.py#L34&#34;&gt;&lt;code&gt;transcribe_calls.py&lt;/code&gt;&lt;/a&gt; script
on a recent conversation (that I remember well) with a different model to see if it&amp;rsquo;s clearly better or worse.
No fancy benchmarking. Creating / maintaining &lt;a href=&#34;https://pythonicvarun.github.io/llm-audio-transcription-benchmark/&#34;&gt;formal benchmarks&lt;/a&gt; isn&amp;rsquo;t always worth it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://astral.sh/blog/ruff-v0.16.0&#34;&gt;ruff 0.16&lt;/a&gt; is out and has a &lt;a href=&#34;https://simonwillison.net/2026/Jul/25/ruff/&#34;&gt;350+ new default rules&lt;/a&gt;. I mean, who would check that &lt;a href=&#34;https://docs.astral.sh/ruff/rules/cached-instance-method/&#34;&gt;&lt;code&gt;functools.cache&lt;/code&gt; on instance methods has a memory leak&lt;/a&gt;? But its output is so agent-friendly that agents would just fix these on the fly anyway, so it &lt;em&gt;does&lt;/em&gt; make sense. It&amp;rsquo;s another step towards code-writing becoming less accessible to humans.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm install --no-package-lock&lt;/code&gt; installs packages ignoring and without creating / updating &lt;code&gt;package-lock.json&lt;/code&gt;. Useful for dev environments.&lt;/li&gt;
&lt;li&gt;Astral has published &lt;a href=&#34;https://wheels.astral.sh/&#34;&gt;prebuilt GPU wheels&lt;/a&gt; for Flash Attention, vLLM, PyCUDA, and many others.&lt;/li&gt;
&lt;li&gt;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&amp;rsquo;s not trivial for agents, but evaluatable at a glance.&lt;/li&gt;
&lt;li&gt;Maybe it makes sense to open source the intermediate steps in ALL knowledge work, to make AI as good at it as with code? &lt;a href=&#34;https://x.com/i/status/2082163285588107752&#34;&gt;Arvind Narayanan&lt;/a&gt;
&lt;blockquote&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;I asked ChatGPT &amp;ldquo;How am I doing? Objectively&amp;hellip;&amp;rdquo; 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&amp;rsquo;s improved, though, is assetization / reuse. (Opus 5 answered this poorly, listing metrics around my posts, talks, skills, transcripts, likes, etc. &lt;!-- https://chatgpt.com/c/6a6c495d-9938-83ec-814a-3c48d9ef466e + https://claude.ai/chat/aad83bd6-aeca-4afa-9580-36e89b7ac4cf --&gt;&lt;/li&gt;
&lt;li&gt;Oh, so most AI layoffs were not AI layoffs. Just AI as an excuse. Also, &amp;ldquo;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.&amp;rdquo; &lt;a href=&#34;https://www.normaltech.ai/p/why-ai-hasnt-replaced-software-engineers&#34;&gt;Why AI hasn&amp;rsquo;t replaced software engineers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;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&amp;hellip; concerning, even to me. &lt;a href=&#34;https://simonwillison.net/2026/Jul/30/three-real-world-incidents/&#34;&gt;Simon Willison&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Given the &lt;a href=&#34;https://work.turing.com/jobs&#34;&gt;jobs Turing Talent is hiring for&lt;/a&gt; on behalf of AI companies: &lt;!-- https://chatgpt.com/c/6a6b2a9d-b5d0-83ec-8dd7-6c6e2709116f + https://claude.ai/chat/399736bc-f6bd-4e6e-841b-1c8fe4e99f2b --&gt;
&lt;ul&gt;
&lt;li&gt;Gemini is focusing on personalization, i.e. how it can use &lt;em&gt;your&lt;/em&gt; data (emails, documents, photos, calendar, drive, meet, chat, etc.) better. They&amp;rsquo;re not outsourcing this to third-world countries. &lt;a href=&#34;https://gemini.google/overview/agent/spark/&#34;&gt;Gemini Spark&lt;/a&gt; seems to be a driver here.&lt;/li&gt;
&lt;li&gt;Multi-lingual business reasoning will likely improve soon, given the focus.&lt;/li&gt;
&lt;li&gt;Software engineering, data science, science, professional domains (medical, legal, finance), and media (transcription, synthesis, annotations) are the other major categories.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AES can now be decrypted 200-800x faster by &lt;a href=&#34;https://x.com/AnthropicAI/status/2082153302704193861&#34;&gt;Mythos&lt;/a&gt;. The research cost $100,000. No practical implications today, but a trend to watch.&lt;/li&gt;
&lt;li&gt;When blinking, our visual processing is suppressed so we don&amp;rsquo;t see the darkness and imagine the world as continuous. &lt;a href=&#34;https://x.com/i/status/2081388445197389993&#34;&gt;Prof V Balakrishnan&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a681b2d-a734-83ec-a03d-b21fa387d2e3 --&gt;&lt;/li&gt;
&lt;li&gt;Some countries have fought wars &lt;em&gt;against&lt;/em&gt; independence. The &lt;a href=&#34;https://en.wikipedia.org/wiki/1976_Mahoran_Comoros_referendum&#34;&gt;Mayotte referendum&lt;/a&gt; let them stay a French colony. &lt;a href=&#34;https://en.wikipedia.org/wiki/1997_Anjouan_independence_referendum&#34;&gt;Anjouan in 1997&lt;/a&gt; fought for France to take them back. &lt;a href=&#34;https://www.aahsanguilla.com/anguilla-revolution-1967.html&#34;&gt;Anguilla in 1967&lt;/a&gt; fought and stayed a British colony. &lt;!-- https://chatgpt.com/c/6a673ca5-e79c-83ec-b7ca-69bd86e63006 --&gt;&lt;/li&gt;
&lt;li&gt;Modern fonts have &amp;ldquo;features&amp;rdquo; or styles that you can enable on VS Code via &lt;code&gt;editor.fontLigatures&lt;/code&gt;. For example, here are &lt;a href=&#34;https://github.com/tonsky/FiraCode/wiki/How-to-enable-stylistic-sets&#34;&gt;FiraCode styles&lt;/a&gt; and &lt;a href=&#34;https://monaspace.githubnext.com/#code-ligatures&#34;&gt;Monaspace styles&lt;/a&gt;. My current FiraCode config has: &lt;code&gt;&amp;quot;editor.fontLigatures&amp;quot;: &amp;quot;&#39;calt&#39;, &#39;liga&#39;, &#39;ss01&#39;, &#39;ss02&#39;, &#39;ss03&#39;, &#39;ss04&#39;, &#39;ss05&#39;, &#39;ss06&#39;, &#39;ss07&#39;, &#39;ss08&#39;, &#39;ss09&#39;, &#39;ss10&#39;, &#39;cv02&#39;, &#39;cv06&#39;, &#39;cv14&#39;, &#39;cv16&#39;, &#39;cv18&#39;, &#39;cv24&#39;, &#39;cv25&#39;, &#39;cv28&#39;, &#39;cv29&#39;, &#39;cv30&#39;, &#39;cv31&#39;, &#39;cv32&#39;, &#39;zero&#39;&amp;quot;&lt;/code&gt; - and the only one I&amp;rsquo;m debating is &lt;code&gt;ss10&lt;/code&gt; in FiraCode, which connects the &lt;code&gt;f&lt;/code&gt; with &lt;code&gt;i&lt;/code&gt; and &lt;code&gt;l&lt;/code&gt; in &lt;code&gt;fi&lt;/code&gt; and &lt;code&gt;fl&lt;/code&gt;. But these look nice in Monaspace at &lt;code&gt;&amp;quot;editor.fontWeight&amp;quot;: &amp;quot;300&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://platform.claude.com/docs/en/about-claude/models/whats-new-opus-5#thinking-on-by-default&#34;&gt;Opus 5 has thinking turned on by default&lt;/a&gt;. This can lead to significantly higher API costs for the unsuspecting. A task that should&amp;rsquo;ve cost me $3 ended up at $9 on Opus 5.&lt;/li&gt;
&lt;li&gt;I installed the &lt;a href=&#34;https://extensions.gnome.org/extension/9231/claude-code-usage/&#34;&gt;Claude Code Usage&lt;/a&gt; widget to further my token psychosis. Now all I need is enough tasks to use those tokens.&lt;/li&gt;
&lt;li&gt;Stacking triggers of any kind helps. For example, I just updated my tabnotes repo to fix a bug while restoring after Edge crashes. That&amp;rsquo;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 &lt;strong&gt;jot down annoying things&lt;/strong&gt;. &lt;!-- https://claude.ai/chat/41501fc8-dd10-4ae9-9cf4-2d883396180a --&gt;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;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.&amp;rdquo; - &lt;a href=&#34;https://gowers.wordpress.com/2026/07/26/thoughts-about-the-leiden-declaration/&#34;&gt;Thoughts about the Leiden Declaration, Timothy Gowers&lt;/a&gt;. An interesting perspective. We&amp;rsquo;ve seen this in the past when something becomes abundant - like chemists&amp;rsquo; discoveries organized by Mendeleev, drug makers&amp;rsquo; evidence organized by Cochrane, lawyers&amp;rsquo; case laws commented by Blackstone and organized by West, knowledge prioritized and organized by Wikipedia, hip-hop DJs, Linnaeus&amp;rsquo; taxonomy, etc. &lt;!-- https://chatgpt.com/c/6a66cc30-729c-83ec-8ba3-f38d27e8bc3e + https://claude.ai/chat/9d6caa91-dfb4-49bb-928e-9d1300c24a6d --&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>The Falling Cost of Intelligence</title>
      <link>https://www.s-anand.net/blog/the-falling-cost-of-intelligence/</link>
      <pubDate>Sat, 01 Aug 2026 22:03:50 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/the-falling-cost-of-intelligence/</guid>
      <description>&lt;p&gt;It&amp;rsquo;s amazing to watch the cost of intelligence falling.&lt;/p&gt;
&lt;div style=&#34;width: 100vw; margin-left: calc(50% - 50vw); width: min(100vw, 100rem); margin-left: calc(50% - min(50vw, 50rem)); margin-top: 1.5rem; margin-bottom: 2rem;&#34;&gt;
  &lt;iframe src=&#34;https://sanand0.github.io/llmpricing/intelligence.html&#34; title=&#34;LLM Intelligence Cost Drops&#34; loading=&#34;lazy&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; style=&#34;display: block; width: 100%; height: 820px; height: min(56rem, 92svh); border: 0; background: #f5f1e6;&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;In Nov 2023, we had college-junior level intelligence for $10 per million tokens, i.e. it would take them $10 to read and process something as large as all seven Harry Potter books.&lt;/p&gt;
&lt;p&gt;By Apr 2025, Gemma 2 could do that at 2 cents. 500 times cheaper in a year and a half.&lt;/p&gt;
&lt;p&gt;In Sep 2024, O1 brought in a college-grad level intelligence for $15 / MTok. That&amp;rsquo;s 5 cents today with GLM 4.7 Flash.&lt;/p&gt;
&lt;p&gt;In Jan 2026, Gemini 3 Pro brought us tenured-professor level intelligence for $2 / MTok. Let&amp;rsquo;s give it a few months&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://sanand0.github.io/llmpricing/intelligence.html&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-01-the-falling-cost-of-intelligence.avif&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Simple writing hurts thinking</title>
      <link>https://www.s-anand.net/blog/simple-writing-hurts-thinking/</link>
      <pubDate>Sat, 01 Aug 2026 14:00:27 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/simple-writing-hurts-thinking/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-01-simple-writing-hurts-thinking.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;As agents get smarter, and when we ask questions outside our expertise, it&amp;rsquo;s pretty hard to understand what they&amp;rsquo;re saying.&lt;/p&gt;
&lt;p&gt;Andrew Carr &lt;a href=&#34;https://x.com/andrew_n_carr/status/2081534245370314816&#34;&gt;uses&lt;/a&gt; &amp;ldquo;only report to me in ASD-STE100 Simplified Technical English&amp;rdquo; to simplify their writing.
Ben Sehl &lt;a href=&#34;https://x.com/benjaminsehl/status/2082158002958741746&#34;&gt;suggested&lt;/a&gt; making this a permanent instruction.&lt;/p&gt;
&lt;p&gt;But, does simplifying the writing worsen their thinking?&lt;/p&gt;
&lt;!-- https://chatgpt.com/c/6a6d770d-9d68-83ec-b544-84a7aa1ecdc6 + https://claude.ai/chat/7788dcc8-dd41-4605-843b-7c418d675b8a --&gt;
&lt;p&gt;I tested six tasks on ChatGPT (GPT 5.6 Sol), with and without this suffix: &amp;ldquo;Answer in ASD-STE100&amp;rdquo;.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Task&lt;/th&gt;
					&lt;th&gt;Without&lt;/th&gt;
					&lt;th&gt;With suffix&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Model benchmarking&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/1a.md&#34;&gt;Result&lt;/a&gt;: 66 sources, 1m 31s&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/1b.md&#34;&gt;Result&lt;/a&gt;: 44 sources, 41s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Causal diagnosis&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/2a.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/2b.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Decision under uncertainty&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/3a.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/3b.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Experimental design&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/4a.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/4b.md&#34;&gt;Result&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Evidence and judgment&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/5a.md&#34;&gt;Result&lt;/a&gt;: 123 sources, 2m 4s&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/5b.md&#34;&gt;Result&lt;/a&gt;: 84 sources, 5m 4s&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/question/1.md&#34;&gt;Adversarial system design&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/6a.md&#34;&gt;Result&lt;/a&gt;: 97 sources, 2m 20s&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/result/6b.md&#34;&gt;Result&lt;/a&gt;: 26 sources, 3m 44s, wrote code&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The simple writing prompt reduced the number of sources it checked. (Thinking time varies.)&lt;/p&gt;
&lt;p&gt;I &lt;a href=&#34;rubric.md&#34;&gt;evaluated&lt;/a&gt; the quality of the results on ChatGPT (GPT 5.6 Sol):&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th style=&#34;text-align: right&#34;&gt;Task&lt;/th&gt;
					&lt;th&gt;Order&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Winner&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Correctness&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Key drivers&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Mechanism&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Caveats&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Calibration&lt;/th&gt;
					&lt;th style=&#34;text-align: center&#34;&gt;Actionability&lt;/th&gt;
					&lt;th&gt;Eval&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;1&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/1ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;1&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/1ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;2&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/2ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;2&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟡&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/2ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;3&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟡&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/3ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;3&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟡&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/3ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;4&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/4ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;4&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟢&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟡&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/4ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;5&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟡&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/5ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;5&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🟢&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/5ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;6&lt;/td&gt;
					&lt;td&gt;A, B&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/6ab.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;6&lt;/td&gt;
					&lt;td&gt;B, A&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td style=&#34;text-align: center&#34;&gt;🔴&lt;/td&gt;
					&lt;td&gt;&lt;a href=&#34;https://github.com/sanand0/research/blob/main/simplification-prompt/evals/6ba.md&#34;&gt;Eval&lt;/a&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;🟢 = Simplification improves quality. 🟡 = Tie. 🔴 = Simplification worsens quality.&lt;/p&gt;
&lt;p&gt;(Each pair was compared twice, in both orders (A, B) and (B, A) - to reduce position bias.)&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s no doubt that asking ChatGPT to &amp;ldquo;Answer in ASD-STE100&amp;rdquo; reduces its thinking quality. (It might be worth re-testing this in a few months.)&lt;/p&gt;
&lt;p&gt;So, what should we do for now? My thoughts:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Don&amp;rsquo;t simplify the writing initially. Let it think. THEN, ask for a simple explanation.&lt;/li&gt;
&lt;li&gt;Continue conversations by deleting/editing the simplification.&lt;/li&gt;
&lt;li&gt;Or, &lt;em&gt;don&amp;rsquo;t&lt;/em&gt; read it. Tell it to do what you would do after understanding.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For me: I shouldn&amp;rsquo;t invoke my &lt;a href=&#34;https://github.com/sanand0/blog/blob/main/pages/skills/anand-writing-style/SKILL.md&#34;&gt;writing&lt;/a&gt; and &lt;a href=&#34;https://github.com/sanand0/blog/blob/main/pages/skills/meeting-response-style/SKILL.md&#34;&gt;speaking&lt;/a&gt; skills along with other &lt;a href=&#34;https://github.com/sanand0/blog/tree/main/pages/skills&#34;&gt;thinking&lt;/a&gt; skills.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Agent Experience is the new User Experience</title>
      <link>https://www.s-anand.net/blog/agent-experience-is-the-new-user-experience/</link>
      <pubDate>Sat, 01 Aug 2026 10:24:31 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/agent-experience-is-the-new-user-experience/</guid>
      <description>&lt;p&gt;Agents are increasingly the consumers of things that used to be made for humans: &lt;!-- https://chatgpt.com/c/6a6c7803-d62c-83ec-8144-15cf74b3219c --&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Docs&lt;/em&gt; are increasingly for agents to &lt;em&gt;read&lt;/em&gt;. E.g. &lt;a href=&#34;https://llmstxt.org/&#34;&gt;&lt;code&gt;llms.txt&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Code&lt;/em&gt; is increasingly for agents to &lt;em&gt;edit&lt;/em&gt;. E.g. &lt;a href=&#34;https://agents.md/&#34;&gt;&lt;code&gt;AGENTS.md&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Tests&lt;/em&gt; are increasingly for agents to &lt;em&gt;satisfy&lt;/em&gt;. E.g. &lt;a href=&#34;https://www.swebench.com/&#34;&gt;SWE-bench&lt;/a&gt;, &lt;a href=&#34;https://github.com/SWE-bench/SWE-bench&#34;&gt;GitHub repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Software&lt;/em&gt; is increasingly for agents to &lt;em&gt;operate&lt;/em&gt;. E.g. &lt;code&gt;--json&lt;/code&gt;, &lt;code&gt;--schema&lt;/code&gt;, &lt;a href=&#34;https://clispec.dev/&#34;&gt;&lt;code&gt;--dry-run&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://github.com/HKUDS/CLI-Anything&#34;&gt;CLI-Anything&lt;/a&gt;, &lt;a href=&#34;https://axi.md/&#34;&gt;AXI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Websites&lt;/em&gt; are increasingly for agents to &lt;em&gt;invoke&lt;/em&gt;. E.g. &lt;a href=&#34;https://developer.chrome.com/docs/ai/webmcp&#34;&gt;WebMCP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Capabilities&lt;/em&gt; are increasingly for agents to &lt;em&gt;discover&lt;/em&gt;. E.g. &lt;a href=&#34;https://modelcontextprotocol.io/specification/2025-11-25/server/tools&#34;&gt;MCP tools&lt;/a&gt;, &lt;a href=&#34;https://registry.modelcontextprotocol.io/&#34;&gt;MCP Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Procedures&lt;/em&gt; are increasingly for agents to &lt;em&gt;follow&lt;/em&gt;. E.g. &lt;a href=&#34;https://agentskills.io/specification&#34;&gt;&lt;code&gt;SKILL.md&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://github.com/agentskills/agentskills&#34;&gt;Agent Skills&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Products&lt;/em&gt; are increasingly for agents to &lt;em&gt;choose&lt;/em&gt;. E.g. &lt;a href=&#34;https://ucp.dev/&#34;&gt;Universal Commerce Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Money&lt;/em&gt; is increasingly for agents to &lt;em&gt;spend&lt;/em&gt;. E.g. &lt;a href=&#34;https://github.com/google-agentic-commerce/AP2&#34;&gt;Agent Payments Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Identity&lt;/em&gt; is increasingly for agents to &lt;em&gt;prove&lt;/em&gt;. E.g. &lt;a href=&#34;https://developer.visa.com/capabilities/trusted-agent-protocol/trusted-agent-protocol-specifications/&#34;&gt;Visa Trusted Agent Protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Agents&lt;/em&gt; are increasingly for agents to &lt;em&gt;delegate&lt;/em&gt; to. E.g. &lt;a href=&#34;https://a2a-protocol.org/latest/specification/&#34;&gt;A2A Agent Cards and Tasks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Humans&lt;/em&gt; are increasingly for agents to &lt;em&gt;escalate&lt;/em&gt; to. E.g. &lt;a href=&#34;https://modelcontextprotocol.io/specification/2025-11-25/client/elicitation&#34;&gt;MCP Elicitation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&#34;https://www.google.com/search?q=agent+experience&#34;&gt;Agent Experience&lt;/a&gt; or AX is the new UX.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-08-01-agent-experience-is-the-new-user-experience.avif&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>LLM Model Cost Capability Strategy</title>
      <link>https://www.s-anand.net/blog/llm-model-cost-capability-strategy/</link>
      <pubDate>Sat, 01 Aug 2026 09:43:46 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/llm-model-cost-capability-strategy/</guid>
      <description>&lt;p&gt;I track the cost vs capability of LLMs at &lt;a href=&#34;https://sanand0.github.io/llmpricing/&#34;&gt;LLM Pricing&lt;/a&gt; - the rough cost to read all Harry Potters (~1M tokens) vs the intelligence level on the &lt;a href=&#34;https://lmarena.ai/&#34;&gt;LMSYS Leaderboard&lt;/a&gt; - over time.&lt;/p&gt;
&lt;div style=&#34;width: 100vw; margin-left: calc(50% - 50vw); width: min(100vw, 100rem); margin-left: calc(50% - min(50vw, 50rem)); margin-top: 1.5rem; margin-bottom: 2rem;&#34;&gt;
  &lt;iframe src=&#34;https://sanand0.github.io/llmpricing/&#34; title=&#34;LLM Pricing&#34; loading=&#34;lazy&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; style=&#34;display: block; width: 100%; height: 820px; height: min(56rem, 92svh); border: 0; background: #f5f1e6;&#34;&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;Here&amp;rsquo;s what the models&amp;rsquo; strategy evolution looks like.&lt;/p&gt;
&lt;p&gt;Claude started at the mid-to-high end of the cost-capability frontier. Over time, they decided to specialize in the high-end, which they&amp;rsquo;re doing well on.&lt;/p&gt;
&lt;video controls autoplay loop muted playsinline preload=&#34;metadata&#34; width=&#34;1600&#34; height=&#34;1200&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;
  &lt;source src=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-claude.webm&#34; type=&#34;video/webm&#34;&gt;
  &lt;a href=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-claude.webm&#34;&gt;Claude Cost-Capability Evolution&lt;/a&gt;
&lt;/video&gt;
&lt;p&gt;Gemini began in the middle and rapidly pushed the low-end of the frontier. But now, it&amp;rsquo;s focusing on the mid-end, which they&amp;rsquo;re doing well on.&lt;/p&gt;
&lt;video controls autoplay loop muted playsinline preload=&#34;metadata&#34; width=&#34;1600&#34; height=&#34;1200&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;
  &lt;source src=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-gemini.webm&#34; type=&#34;video/webm&#34;&gt;
  &lt;a href=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-gemini.webm&#34;&gt;Gemini Cost-Capability Evolution&lt;/a&gt;
&lt;/video&gt;
&lt;p&gt;OpenAI has always had models that cover the entire spectrum and the widest range. But currently, they don&amp;rsquo;t lead the frontier at any end.&lt;/p&gt;
&lt;video controls autoplay loop muted playsinline preload=&#34;metadata&#34; width=&#34;1600&#34; height=&#34;1200&#34; style=&#34;max-width: 100%; height: auto;&#34;&gt;
  &lt;source src=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-gpt.webm&#34; type=&#34;video/webm&#34;&gt;
  &lt;a href=&#34;https://files.s-anand.net/images/2026-08-01-llmpricing-gpt.webm&#34;&gt;GPT Cost-Capability Evolution&lt;/a&gt;
&lt;/video&gt;
&lt;p&gt;&lt;a href=&#34;https://claude.ai/share/6fab32f4-dbfb-491b-9c1d-3144778bb231&#34;&gt;Fable 5&lt;/a&gt; and &lt;a href=&#34;https://chatgpt.com/share/6a6d5143-a278-83ec-89f1-0d8276e7b52e&#34;&gt;GPT 5.6 Sol&lt;/a&gt; helped me with the analysis based on &lt;a href=&#34;https://sanand0.github.io/llmpricing/elo.csv&#34;&gt;this data&lt;/a&gt;.&lt;/p&gt;
&lt;!-- https://claude.ai/chat/acf12a02-4870-42e9-9d6b-a15c3ecffa95 + https://chatgpt.com/c/6a6d4cae-d588-83ec-a221-bfa047b752e0 --&gt;
</description>
    </item>
    <item>
      <title>An email interface to AI</title>
      <link>https://www.s-anand.net/blog/an-email-interface-to-ai/</link>
      <pubDate>Mon, 27 Jul 2026 20:01:34 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/an-email-interface-to-ai/</guid>
      <description>&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-07-27-an-email-interface-to-ai.avif&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;bring-ai-to-where-people-already-work-email&#34;&gt;Bring AI to where people already work: email&lt;/h3&gt;
&lt;p&gt;Lots of companies are putting AI into their chat applications. &lt;a href=&#34;https://www.anthropic.com/news/introducing-claude-tag&#34;&gt;Add Claude to a Slack channel&lt;/a&gt;, tell &amp;ldquo;@Claude&amp;rdquo; to do something, and it reads the conversation, uses tools, does what you tell it to, and replies in the same chat.&lt;/p&gt;
&lt;p&gt;Nice, for &lt;a href=&#34;https://slack.com/intl/en-sg/customer-stories&#34;&gt;companies that use Slack a lot&lt;/a&gt;. (Many do. We don&amp;rsquo;t.)&lt;/p&gt;
&lt;p&gt;Straive and many of our clients use email more. There&amp;rsquo;s Google Chat, Teams, and others too, but email&amp;rsquo;s what &lt;em&gt;most&lt;/em&gt; people access. (Apart from WhatsApp.)&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not saying email is the top channel. Microsoft reports that employees receive over &lt;a href=&#34;https://www.microsoft.com/en-us/worklab/work-trend-index/breaking-down-infinite-workday&#34;&gt;~120 emails and over 150 Teams messages a day&lt;/a&gt;. But email is almost universal, cross-company, and blessedly asynchronous.&lt;/p&gt;
&lt;p&gt;So, &lt;strong&gt;why not make email an interface to AI?&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;people-often-prefer-a-trusted-human-to-asking-ai&#34;&gt;People often prefer a trusted human to asking AI&lt;/h3&gt;
&lt;p&gt;Recently, &lt;a href=&#34;https://www.linkedin.com/in/lalanazaveri/&#34;&gt;Lalana&lt;/a&gt; asked how she should find and approach companies that might buy organizational data.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Ask AI,&amp;rdquo; I said.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I&amp;rsquo;m asking you!&amp;rdquo; she replied.&lt;/p&gt;
&lt;p&gt;I have become what AI called a &lt;strong&gt;Human as an Interface&lt;/strong&gt;. People ask me questions I may simply pass to ChatGPT.&lt;/p&gt;
&lt;p&gt;Maybe because I could verify the results. Or curate the answer. Adapt it to their situation. Check if it&amp;rsquo;s sensible. Catch if it is wrong.&lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s useful. But (and I didn&amp;rsquo;t think of this at first) it also helps adoption. Someone not comfortable with AI would happily ask a person they know, get an AI answer, and slowly start trying it themselves.&lt;/p&gt;
&lt;h3 id=&#34;i-turned-my-email-address-into-ask-anands-ai&#34;&gt;I turned my email address into &amp;ldquo;Ask Anand&amp;rsquo;s AI&amp;rdquo;&lt;/h3&gt;
&lt;p&gt;Last Thursday, I sent this email internally:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you email me with &amp;ldquo;Ask AI&amp;rdquo; in the subject, my AI agent - with access to my knowledge, code and tools - will reply within 24 hours.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Use it when AI wouldn&amp;rsquo;t know our company context, when the research would take me too long, or just to pick my brain, I told them.&lt;/p&gt;
&lt;p&gt;Ten people mailed me on the first day.&lt;/p&gt;
&lt;p&gt;I still trigger each reply using my &lt;a href=&#34;https://www.s-anand.net/blog/prompts/email-reply/&#34;&gt;email reply prompt&lt;/a&gt;, read it and manually send it. ChatGPT writes the answer and I make sure it&amp;rsquo;s OK.&lt;/p&gt;
&lt;p&gt;I sent replies mostly verbatim. Changes were mostly like &amp;ldquo;Maybe try this?&amp;rdquo; instead of &amp;ldquo;You should do this.&amp;rdquo;&lt;/p&gt;
&lt;h3 id=&#34;one-nice-reply-solved-a-question-i-did-not-understand&#34;&gt;One nice reply solved a question I did not understand&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/in/lori-silverstein-b9baa03&#34;&gt;Lori&lt;/a&gt; sent me half a line with a screenshot:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What do you do when the PPT doesn&amp;rsquo;t populate?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I didn&amp;rsquo;t get it. But the previous day, she&amp;rsquo;d asked which demos to show a media client. ChatGPT searched Google Drive and recommended a few slides. This email was a reply to that. Some of the &lt;strong&gt;text on one slide looked empty&lt;/strong&gt;. So, ChatGPT:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Found my earlier reply (it was connected to email)&lt;/li&gt;
&lt;li&gt;Downloaded the PPTs (it was connected to Google Drive)&lt;/li&gt;
&lt;li&gt;Extracted the slide (it could write and run code)&lt;/li&gt;
&lt;li&gt;Analyzed it (it knew how to edit PPTs)&lt;/li&gt;
&lt;li&gt;Found that it was &lt;strong&gt;white text on white background&lt;/strong&gt; (it could read images)&lt;/li&gt;
&lt;li&gt;Shared the solution&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But the coolest part was the next sentence. It said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The workflow is probably too detailed for an introductory discussion anyway.
I would use the first metadata slide and mention the 60% automation and 4,100 hours saved verbally.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;This was a better reply than I could have written.&lt;/strong&gt; I would not even have known which presentation she meant.&lt;/p&gt;
&lt;h3 id=&#34;other-replies-found-things-id-forgotten&#34;&gt;Other replies found things I&amp;rsquo;d forgotten&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/in/shankar-kamarajan/&#34;&gt;Shankar&lt;/a&gt; asked what I had presented to an industry analyst two weeks earlier.&lt;/p&gt;
&lt;p&gt;ChatGPT went through my transcripts and:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconstructed the storyline&lt;/li&gt;
&lt;li&gt;Searched my laptop to locate all seven demos&lt;/li&gt;
&lt;li&gt;Found their links - including some that I had opened but didn&amp;rsquo;t present&lt;/li&gt;
&lt;li&gt;Shared them all.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I remembered the meeting well, but I know I would have either missed a few or added some that I didn&amp;rsquo;t present.&lt;/p&gt;
&lt;p&gt;More likely, I wouldn&amp;rsquo;t have replied to the email because it&amp;rsquo;d take me too long.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/in/vel2008/&#34;&gt;Vel&lt;/a&gt; sent a detailed question about improving an AI extraction workflow. ChatGPT converted his experiments into a step-by-step evaluation loop process.&lt;/p&gt;
&lt;p&gt;He replied:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is amazing Anand!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/in/manishxsuthar/&#34;&gt;Manish&lt;/a&gt; asked what company I would start today and what Gramener might have missed. (A question I was curious about, too.)&lt;/p&gt;
&lt;p&gt;ChatGPT went through years of emails, transcripts, notes, etc. and said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;hellip; pick one workflow, deliver ten useful outputs, measure which are accepted or acted upon, and assetize every correction.
If output ten is materially cheaper, faster or better than output one, there may be a company.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Manish replied:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This is very useful to read&amp;hellip; Especially the last paragraph on the workflow experiment.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Same here - now I know &lt;em&gt;how to figure out&lt;/em&gt; what company to start next.&lt;/p&gt;
&lt;p&gt;This is more than fetching documents. It&amp;rsquo;s &lt;strong&gt;strategizing&lt;/strong&gt; on my behalf.&lt;/p&gt;
&lt;h3 id=&#34;the-model-matters-less-than-the-context-and-tools&#34;&gt;The model matters less than the context and tools&lt;/h3&gt;
&lt;p&gt;The agent can search:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;my email, chat, calendar, transcripts;&lt;/li&gt;
&lt;li&gt;Google Drive, notes, talks, demos and code;&lt;/li&gt;
&lt;li&gt;the Internet;&lt;/li&gt;
&lt;li&gt;screenshots, spreadsheets and presentations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also have a long public prompt that tells it &lt;a href=&#34;https://www.s-anand.net/blog/prompts/email-reply/&#34;&gt;how to reply to email like me&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When &lt;a href=&#34;https://www.linkedin.com/in/naveengattu/&#34;&gt;Naveen&lt;/a&gt; asked how it worked, I guessed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;75% past data, 25% prompt.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The model, prompt and tooling quality help. But that&amp;rsquo;s something everyone can get. Personal data and the controlled access I&amp;rsquo;ve given ChatGPT is why mine is different. And the more personal + useful data I can give it, the more &amp;ldquo;nichely&amp;rdquo; useful it is.&lt;/p&gt;
&lt;h3 id=&#34;start-with-a-few-people-everyone-already-asks&#34;&gt;Start with a few people everyone already asks&lt;/h3&gt;
&lt;p&gt;Organizations needn&amp;rsquo;t make &lt;em&gt;every&lt;/em&gt; employee&amp;rsquo;s context an agent.&lt;/p&gt;
&lt;p&gt;Start with a few whom people already reach out to for help. (They&amp;rsquo;ll be the overloaded ones.) Give agents permissioned access to &lt;em&gt;their&lt;/em&gt; context. Put an email in front of it. Keep the person in the loop - they can take responsibility.&lt;/p&gt;
&lt;p&gt;This means that I can now respond to Diya, who asked &amp;ldquo;What sort of pharma clients is Straive handling&amp;rdquo; - an email I wouldn&amp;rsquo;t have had time for before.&lt;/p&gt;
&lt;p&gt;Or, I can tell Mayank, &amp;ldquo;Naveen and I have been chatting for &lt;em&gt;years&lt;/em&gt;. Just use my agent. Mail me, and it&amp;rsquo;ll tell you more about the use cases he needs - better than he can remember himself.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A few context-rich people may be enough to nudge an organization into AI adoption.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;People will continue to ask people they trust. Now, &lt;em&gt;that&lt;/em&gt; person can become dramatically more responsive. Answers get better. Eventually, people will start using AI directly.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Incidentally, as a result, I hit inbox zero for the first time in years. And not by deleting emails. By actually answering them &lt;em&gt;all&lt;/em&gt;, better (hopefully) than before.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 26 Jul 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-26-jul-2026/</link>
      <pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-26-jul-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Thinking traces vanished in ChatGPT Work (or did they never exist) and &lt;a href=&#34;https://x.com/emollick/status/2080829512275624173&#34;&gt;seem to be vanishing in Claude&lt;/a&gt;. Not sure if it&amp;rsquo;s because Chinese models are using the thinking traces as signals.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://chatgpt.com/skills&#34;&gt;ChatGPT Skills&lt;/a&gt; is available in the Plus plan. This was available to Enterprise and Edu, but since I saw this on ChatGPT just today, I guess it&amp;rsquo;s a recent feature. &lt;!-- https://chatgpt.com/c/6a64b13b-2fdc-83ec-aca1-a067fd23c6ce --&gt;&lt;/li&gt;
&lt;li&gt;Peter Gostev compares Opus 5, Fable 5, Kimi K3, GPT 5.6 Sol, GLM 5.3, etc. on a variety of visual tasks in this &lt;a href=&#34;https://youtu.be/UDE0qOnAb-I&#34;&gt;video&lt;/a&gt;. The most intruiguing prompt I spotted was: &amp;ldquo;I would like you to research the most interesting, impressive dataset where I would learn something about the world and you can visualize in the most creative way, making it something completely unexpected. Then create the most elaborate version of it possible.&amp;rdquo; This apart, I got the general sense that Opus 5 is &lt;em&gt;quite&lt;/em&gt; good at visualization and design, perhaps even better than Fable 5.&lt;/li&gt;
&lt;li&gt;After reflecting on &lt;a href=&#34;https://platform.claude.com/cookbook/capabilities-knowledge-graph-guide&#34;&gt;Knowledge graph construction with Claude&lt;/a&gt;, I believe that knowledge graph construction is roughly: &amp;ldquo;Tag each document with people, place, org, event, etc.&amp;rdquo; - and it&amp;rsquo;s good enough for agents to use.&lt;/li&gt;
&lt;li&gt;Increasingly, the real question isn&amp;rsquo;t &amp;ldquo;What interesting things you doing with agents?&amp;rdquo; It is the followup? &amp;ldquo;What lets you do that (when I can&amp;rsquo;t)&amp;rdquo;? For example, &lt;a href=&#34;https://www.linkedin.com/in/naveengattu/&#34;&gt;Naveen&lt;/a&gt; asked me, &amp;ldquo;Can I set up your email reply agent?&amp;rdquo; I said, &amp;ldquo;No, you don&amp;rsquo;t have transcripts, blogs, notes, or exports like I do.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;LinkedIn lets you &lt;a href=&#34;https://www.linkedin.com/help/linkedin/answer/a541960/saving-a-profile-in-a-pdf-format&#34;&gt;save a profile as PDF&lt;/a&gt;. While it formats text reasonably well, it doesn&amp;rsquo;t preserve newlines in the &amp;ldquo;About&amp;rdquo; section - so what looks good on the browser looks terrible in the PDF. Such PDFs are sent to interviewers, making it a bit of a bad experience for the interviewee. (Of course, it could also be a signal to see how well interviewees pay attention to small details like LinkedIn PDF formatting.) &lt;!-- https://chatgpt.com/c/6a631464-2300-83ec-b3ca-e6a418314175 --&gt;&lt;/li&gt;
&lt;li&gt;The ability to measure an outcome is (and has always been) important. It lets you capture value (outcome pricing) when you control the outcome, or de-risk (insurance) when you don&amp;rsquo;t. But what might be new is that metrics are outdated at an increasingly faster pace - so (a) setting an expiry date and (b) knowing if it&amp;rsquo;s expired have become important. &lt;!-- Outcome-based pricing models and enablers: https://claude.ai/chat/92b43646-2880-4102-ae8a-ef61c6b7735f --&gt;&lt;/li&gt;
&lt;li&gt;I wasn&amp;rsquo;t using AI to reply to emails because (a) it didn&amp;rsquo;t have enough context and (b) it didn&amp;rsquo;t write in my style. I spent a few months making sure I give them context and style guidance. Given the current intelligence of models and my &lt;a href=&#34;https://www.s-anand.net/blog/prompts/email-reply/&#34;&gt;email reply&lt;/a&gt; prompt, I&amp;rsquo;m now happy for AI to answer my emails.&lt;/li&gt;
&lt;li&gt;My learnings based on &lt;a href=&#34;https://www.ycombinator.com/rfs&#34;&gt;YC request for startups Fall 2026&lt;/a&gt; - which probably means we&amp;rsquo;ll see many more startups in these spaces. Here are my takeaways:
&lt;ul&gt;
&lt;li&gt;Self-Maintaining APIs: Nice idea. When a service changes an API, they share an agent/skill that can fix YOUR code to upgrade the API!&lt;/li&gt;
&lt;li&gt;AI-Native Compliance Infrastructure: So, compliance becomes cheaper =&amp;gt; MORE and STRICTER regulation. Licensees become valuable (AI rollup). Private regulator feedback becomes valuable. Compliance companies will themselves get regulated (like auditors). &lt;!-- https://chatgpt.com/c/6a62fbf5-7180-83ec-ab1f-d417fc5f560f + https://claude.ai/chat/4cfd8680-a67d-45a7-b364-bda05cefa649 --&gt;&lt;/li&gt;
&lt;li&gt;Multiplayer AI: &lt;a href=&#34;https://www.anthropic.com/news/introducing-claude-tag&#34;&gt;Claude Tag&lt;/a&gt; is a step in this direction. WhatsApp&amp;rsquo;s @Meta is too. I expect most chats will allow AI as participants. Most collaborative software, too - GitHub, JIRA, Figma, GMail, HubSpot, maybe even VS Code, Office/Notion, Chrome, Games, &amp;hellip;&lt;/li&gt;
&lt;li&gt;A Cloud for Small Software: Systems of record are likely to be safe, but software AROUND it will explode into tiny tools. Access control, ratings, &amp;hellip; is what&amp;rsquo;ll be important, not generation / managing them. &lt;!-- https://claude.ai/chat/1fac6122-d85d-490c-bfdf-e71ae1e79d02 + https://chatgpt.com/c/6a630348-0c68-83ec-856c-69641da775b9 --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Grok 4.5 took &lt;a href=&#34;https://grok-cheese-essay.julius.site/&#34;&gt;14 iterations&lt;/a&gt; to write an essay about Cheese before Pangram declared it &amp;ldquo;Human&amp;rdquo;. Pangram is increasingly becoming the new Turing Test. &lt;a href=&#34;https://x.com/0interestrates/status/2079730851580084560&#34;&gt;Rahul&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Notes from a Claude Code interview with &lt;a href=&#34;https://simonwillison.net/2026/Jul/21/cat-and-thariq/&#34;&gt;Simon Willison&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;Fewer examples. More examples don&amp;rsquo;t help Fable and Opus 4.8. &amp;ldquo;&amp;hellip; removing examples was extremely helpful, because it was just more creative than the examples we gave it.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Fewer hard constraints like &amp;ldquo;fewer “do not do this” instructions, because that’s a very strong impulse for Claude, and especially if it conflicts with user instructions&amp;rdquo;. &amp;ldquo;Do X when &amp;hellip;&amp;rdquo; or &amp;ldquo;Do X because &amp;hellip;&amp;rdquo; is more helpful.&lt;/li&gt;
&lt;li&gt;Fewer tools. A few general-purpose tools work best.&lt;/li&gt;
&lt;li&gt;Fewer sandboxes. Auto-mode is safe enough. Sonnet judges every tool call with context, enabling dynamic permissions.&lt;/li&gt;
&lt;li&gt;Fewer software / integrations. Use Claude Code itself as the software / integration layer.&lt;/li&gt;
&lt;li&gt;Fewer components. Memory is just a Markdown file in the right folder.&lt;/li&gt;
&lt;li&gt;Fewer interventions. &amp;ldquo;&amp;hellip; given a COMPLETE definition of a task&amp;hellip; does Claude make the right decisions&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Fewer decisions. Fewer reviews. Generation is cheap, so let people who need something get there immediately, as long as a good AI judges and its reversible.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;We actually have a different system prompt per model now&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Claude Tag is next evolution of Claude Code: Multiple people interacting per channel, working with Claude on a task. (Claude tag contributes to 65% of our PRs)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ossie.apache.org/&#34;&gt;Apache Ossie&lt;/a&gt; is a YAML standard for dataset metadata. If adoption grows, it could be a useful machine and human readable way to document and describe datasets. Databricks, Snowflake, Qlik, are part of the group. If more join, this could become a useful standard.&lt;/li&gt;
&lt;li&gt;An interesting technique to build an efficient video understanding agent. Use AI to generate transcripts with timestamps. Have it identify key moments, e.g. where the presenter explicitly (&amp;ldquo;as you can see&amp;rdquo;) or implicitly (&amp;ldquo;these two cells&amp;rdquo;) flags something on screen. Extract up to ~50 of the most important frames. &lt;a href=&#34;https://github.com/bradautomates/claude-video/blob/main/skills/watch/SKILL.md#transcript-cue-frames&#34;&gt;claude-video SKILL.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/kangarooking/cangjie-skill&#34;&gt;Cangjie Skill&lt;/a&gt; converts books, videos, etc. into AI skills, like &lt;a href=&#34;https://github.com/kangarooking/poor-charlies-almanack-skill&#34;&gt;Poor Charlie&amp;rsquo;s Almanack skills&lt;/a&gt;. However, since AI has already read most of these, the value of this (compared with &amp;ldquo;Apply principles from Poor Charlie&amp;rsquo;s Almanack&amp;rdquo;) is unclear.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Alt+Shift+Right Arrow&lt;/code&gt; expands selection in VS Code, and &lt;code&gt;Alt+Shift+Left Arrow&lt;/code&gt; shrinks selection. That&amp;rsquo;s useful in Markdown, HTML, etc. to select sections. Since &lt;a href=&#34;https://code.visualstudio.com/updates/v1_120#_smart-select-for-markdown-tables&#34;&gt;Jun 2026&lt;/a&gt;, this also lets you select a specific Markdown table cell, row, or entire table. Also, since &lt;a href=&#34;https://code.visualstudio.com/updates/v1_109#_select-bracket-and-string-content-with-double-click&#34;&gt;Jan 2026&lt;/a&gt;, double-clicking &lt;em&gt;just inside&lt;/em&gt; quotes or brackets selects the entire contents inside.&lt;/li&gt;
&lt;li&gt;I analyzed the Claude Code session of a domain expert building an enterprise application without knowing how to code. Here&amp;rsquo;s what I learnt about expertise: &lt;!-- https://chatgpt.com/c/6a60c799-ba90-83ee-94b5-6d09d116f8b9 - Kalidas CRM application --&gt;
&lt;ul&gt;
&lt;li&gt;An expert can instantly see errors / misses and their causes - amateurs can&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;An expert can point to specific nitty-gritty details - amateurs can&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;An expert knows what&amp;rsquo;s possible/easy and what&amp;rsquo;s not - amateurs don&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;An expert has strong opinions that&amp;rsquo;re often right - amateurs don&amp;rsquo;t.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Claude gave me $100 credits until 19 Sep and Fable 5 will now consume those. My queries cost about $1, so I have ~100 queries to exhaust in ~60 days. About 1.5 Fable queries a day. That&amp;rsquo;s about what I normally ask Claude, so I think I should just stick to Fable 5 until my promotional credit expires - it&amp;rsquo;ll expire otherwise anyway. But using it with Claude Code is quite expensive ($7 is common.)&lt;/li&gt;
&lt;li&gt;I asked ChatGPT to analyze an MRI report and compared it with the doctor&amp;rsquo;s. Problem: they agreed on what problems most people in that age group face; they disagreed on things I have no way of validating! Maybe it&amp;rsquo;s best to use a doctor / radiologist to read the MRI, diagnose, and prescribe - but use AI to translate and cross-check (e.g. is this a typical age-related problem, is this the standard treatment, etc.) &lt;!-- https://claude.ai/chat/0ae952ea-9cd3-4f0a-a28b-fa62a09f11ce + https://chatgpt.com/c/6a578bb5-d5d4-83e8-82c7-e5838c4fbb40 --&gt;&lt;/li&gt;
&lt;li&gt;Both ChatGPT and Claude subscriptions offer an OAuth based coding agent API access - &lt;a href=&#34;https://learn.chatgpt.com/docs/codex-sdk&#34;&gt;Codex SDK&lt;/a&gt; and &lt;a href=&#34;https://github.com/anthropics/claude-agent-sdk-python&#34;&gt;Claude Agent SDK&lt;/a&gt; - which is how coding agents like &lt;a href=&#34;https://pi.dev/&#34;&gt;Pi&lt;/a&gt;, &lt;a href=&#34;https://opencode.ai/&#34;&gt;OpenCode&lt;/a&gt;, etc. are able to authenticate and use the subscription. This means that anyone can build their own harness using existing subscriptions. &lt;a href=&#34;https://chatgpt.com/share/6a5dbb44-5bb8-83e8-a5c2-3b802951e551&#34;&gt;ChatGPT&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a5db0f0-648c-83e8-98a4-a165a53ad866 --&gt;&lt;/li&gt;
&lt;li&gt;A useful way to improve your SKILL.md files from others&amp;rsquo; skills or prompts is: &lt;!-- https://claude.ai/chat/365908a3-49ee-49d8-960a-89bee3367bb8 + https://chatgpt.com/c/6a54f875-6d6c-83e8-9501-7ee70aa7b983 --&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;What cool prompting / SKILL.md techniques does this have?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Based on my usage patterns and objectives, which of these have the highest impact (provides highest uplift to my chats) x frequency (relevance)?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Review all my skills. See what applies where. Filter what has HIGH impact. Draft the full diffs for the relevant skill files.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;GPT 5.6 Sol attempted the &lt;a href=&#34;https://mathworld.wolfram.com/CycleDoubleCoverConjecture.html&#34;&gt;Cycle Double Cover Conjecture&lt;/a&gt;. An interesting learning from &lt;a href=&#34;https://cdn.openai.com/pdf/04d1d1e4-bc75-476a-97cf-49055cd98d31/cdc_prompt.pdf&#34;&gt;the prompt&lt;/a&gt; is how they listed tempting outputs that APPEAR to satisfy this request, but would not actually, and told it to avoid them: &amp;ldquo;Use adversarial agents throughout: every candidate proof must be checked for exact-two multiplicity, repeated-edge closed trails masquerading as cycles, &amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 19 Jul 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-19-jul-2026/</link>
      <pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-19-jul-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Writing is slightly, but only slightly, better than typing (for adult learning.) One factor is that typing is faster, so many people take notes verbatim, summarizing and thinking less. &lt;a href=&#34;https://chatgpt.com/share/6a5c286f-1f08-83ee-9c6a-870c0fb53c91&#34;&gt;ChatGPT&lt;/a&gt; + &lt;a href=&#34;https://claude.ai/share/1663cb57-5453-42b5-ae4f-099384c76946&#34;&gt;Claude&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a5b7dd5-7888-83ee-84e0-68534d9be8c9 + https://claude.ai/chat/817697ee-c3a3-4b46-b515-342ca04f0597 --&gt;&lt;/li&gt;
&lt;li&gt;Graphology for personality is pseudoscience. &lt;a href=&#34;https://chatgpt.com/share/6a5c23e8-aa3c-83e8-ac67-32382a87a789&#34;&gt;ChatGPT&lt;/a&gt; + &lt;a href=&#34;https://claude.ai/share/45d91f44-be1f-43d0-afda-5814f2e7942e&#34;&gt;Claude&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a5b7f9c-271c-83ee-ae4a-e21115502f21 + https://claude.ai/chat/3b289000-a2c2-4327-a7e5-676b5f267322 --&gt;&lt;/li&gt;
&lt;li&gt;When I decide to spend time, or someone says &amp;ldquo;Let&amp;rsquo;s do X&amp;rdquo;, it&amp;rsquo;s worth checking: is this something AI can easily try, and is it clear to verify? If so, reinforcement learning loops could make AI good at it, making it a depreciating asset.&lt;/li&gt;
&lt;li&gt;Studying how to live in an AI world is &lt;em&gt;exhausting&lt;/em&gt;. (Not as bad as my MBA days, but not as easy as my data scientist days, either.) It requires me to make a larger mental shift, i.e. change my perspective, than I have since 2000, and that feels like work.&lt;/li&gt;
&lt;li&gt;Both &lt;code&gt;nl FILE&lt;/code&gt; and &lt;code&gt;cat -n FILE&lt;/code&gt; add line numbers to files, but &lt;code&gt;nl&lt;/code&gt; skips blank lines by default, &lt;code&gt;cat&lt;/code&gt; doesn&amp;rsquo;t.&lt;/li&gt;
&lt;li&gt;After using &lt;a href=&#34;https://github.com/rtk-ai/rtk&#34;&gt;&lt;code&gt;rtk&lt;/code&gt;&lt;/a&gt; for 2 months, I&amp;rsquo;m &lt;em&gt;slightly&lt;/em&gt; downgrading it. It saves tokens but agents mess up shell commands when using it. It&amp;rsquo;s still probably a net saving, so I&amp;rsquo;ve changed my &lt;code&gt;AGENTS.md&lt;/code&gt; from &amp;ldquo;Always prefix with &lt;code&gt;rtk&lt;/code&gt;&amp;rdquo; to &amp;ldquo;Prefix supported, high-output commands with &lt;code&gt;rtk&lt;/code&gt;&amp;hellip; skip for bash builtins, pipes, loops, etc.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;I find 🔴🟡🟢 convenient status indicators in my notes. Similar ones are: 🟥🟨🟩, ❤️💛💚, 📕📙📗. I&amp;rsquo;m not fully convinced by: 😄😐😞, █ ▒ ░, ↑ → ↓, ▁▂▃▄▅▆▇, ■ ⬔ □, ● ◐ ○, ⚫ ⚪ 🔘, 🌕 🌗 🌑, etc. though they might have their uses. &lt;!-- https://claude.ai/chat/dc7d6d66-7d68-4c15-99be-09c841dfbb6e + https://gemini.google.com/app/0c8b3d0659763fc7 --&gt;&lt;/li&gt;
&lt;li&gt;Model updates means a SKILL.md and a plugin review / update, e.g. &lt;a href=&#34;https://x.com/keyanzhang/status/2076461227661054015&#34;&gt;with GPT 5.6 Sol&lt;/a&gt;. So, like with any open source repo, use from people who update it regularly and benchmark it and version control it by model.&lt;/li&gt;
&lt;li&gt;I asked Gemini 3.5 Flash thinking: &amp;ldquo;Which of our employees have worked on Microsoft PowerApps? Search @Google Drive and @Gmail&amp;rdquo;. It found one employee and a referral in under a minute. I asked ChatGPT with GPT 5.6 Sol with &lt;a href=&#34;https://github.com/googleworkspace/cli&#34;&gt;gws&lt;/a&gt; access. It found 3 more, plus 5 possibilities, in 12 minutes. Truly a &lt;a href=&#34;https://x.com/sama/status/2075047747250684352&#34;&gt;rottweiler&lt;/a&gt;. &lt;!-- https://gemini.google.com/app/84c7a64cf87e15b5 + https://chatgpt.com/c/6a58e9ea-8c1c-83ee-8b94-c5a638ddf6f6 --&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://parallel.ai/blog/parallel-search-turbo&#34;&gt;Parallel Search Turbo&lt;/a&gt; seems like a pretty good search API, especially for agents. Low price, high speed, and maybe good quality. #ForNow &lt;a href=&#34;https://chatgpt.com/share/6a58b12c-b5f4-83e8-a325-7349266577c5&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Group chats in ChatGPT will &lt;a href=&#34;https://x.com/i/status/2076061674306687161&#34;&gt;probably get deprecated&lt;/a&gt; #ForNow.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://claude.ai/share/1f12542b-6eb3-4b3c-a272-90c82d326b00&#34;&gt;What I learned&lt;/a&gt; from benchmarking my &lt;a href=&#34;https://github.com/sanand0/research/tree/main/ideation-protocol-optimization&#34;&gt;Ideation Protocol&lt;/a&gt; skill extensively: &lt;!-- https://claude.ai/chat/8e13e695-564c-47f2-8446-747a714d3e89 + https://chatgpt.com/c/6a5661ee-4400-83ee-ad5d-dec78ef9e89e --&gt;
&lt;ol&gt;
&lt;li&gt;Once you know the rubric, models can easily create a good prompt to optimize for a known rubric #ForNow. So rubric design matters more.&lt;/li&gt;
&lt;li&gt;⭐ Rubric design is really knowing what you want/need. To do this, iterating on output matters.&lt;/li&gt;
&lt;li&gt;Position bias is real #ForNow. Always check if an (P, Q) comparison matches a (Q, P) comparison.&lt;/li&gt;
&lt;li&gt;Models are still biased towards longer content, and potentially towards their own output #ForNow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How to optimize a prompt or skill&lt;/strong&gt;: Research and figure out what you &lt;em&gt;really&lt;/em&gt; want, first. Then, ask a smart model for a prompt that optimizes for it. Benchmark only if you&amp;rsquo;ll use it a lot - it&amp;rsquo;s still a lot of work, and meta-prompting does a good job #ForNow. &lt;a href=&#34;https://github.com/garrytan/gbrain/blob/master/docs/guides/skillopt.md&#34;&gt;gbrain skillopt&lt;/a&gt; might be premature optimization.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://x.com/i/status/2076119366647894371&#34;&gt;You can use GPT 5.6 Sol in Claude Code&lt;/a&gt; #ForNow. (But what&amp;rsquo;s the point? Harnesses seem to be working better with their own models #ForNow.)&lt;/li&gt;
&lt;li&gt;Our clients keep saying &amp;ldquo;We need to build a data lake&amp;rdquo; or &amp;ldquo;We need an enterprise data strategy.&amp;rdquo; I keep telling them, &amp;ldquo;No, agents can do it for you.&amp;rdquo; What I missed is: &lt;em&gt;technology&lt;/em&gt; is the smaller part of the problem. Finding who has what data, getting access to it, and sorting out permissions (&amp;ldquo;governance&amp;rdquo;) is the bigger part.&lt;/li&gt;
&lt;li&gt;Giving agents expert &lt;strong&gt;task-specific, testable procedures&lt;/strong&gt; seems better than expert &lt;strong&gt;roles&lt;/strong&gt; or &lt;strong&gt;mental models&lt;/strong&gt; #ForNow. But benchmark in any case. &lt;a href=&#34;https://chatgpt.com/share/6a563182-4860-83e8-974e-90ec5c8ec2ac&#34;&gt;ChatGPT&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a562b69-8788-83ee-9774-c5834a30641b --&gt;&lt;/li&gt;
&lt;li&gt;Python 3.3 introduced &lt;code&gt;str.casefold()&lt;/code&gt;.  It performs more comprehensive Unicode caseless matching than &lt;code&gt;lower()&lt;/code&gt;; &lt;code&gt;&#39;Straẞe&#39;.casefold()&lt;/code&gt; becomes &lt;code&gt;&#39;strasse&#39;&lt;/code&gt;. (🟢 Unicode case-folding is standardized.) &lt;code&gt;contextlib.closing(x)&lt;/code&gt; calls &lt;code&gt;x.close()&lt;/code&gt; when its context exits. (⚪) In a dataclass, use &lt;code&gt;x: list = dataclasses.field(default_factory=list)&lt;/code&gt;, not a mutable literal default. (⚪)
I learnt these while reviewing Codex-generated Python—illustrating, rather than proving, that reviewing AI-generated code can teach and catch errors. (🟡 Review remains useful across tooling. Review 2029.) “Do not discriminate against intelligence—artificial or otherwise” is a rhetorical value judgment, not an empirical conclusion. (⚫ Rhetorical value judgment, not testable. Review now.)&lt;/li&gt;
&lt;li&gt;Here&amp;rsquo;s a nice idea from ChatGPT. &amp;ldquo;When itching to correct or clarify, FIRST restate their position to their satisfaction. &amp;lsquo;Did I get you right, fully?&amp;rsquo;&amp;rdquo; &lt;!-- https://chatgpt.com/c/6a35f0c1-ff74-83e8-a8c7-78ec10e8e450 Aarushi --&gt;
This emerged from the prompt suffix: Based on your research, and my past conversations, what are the top areas where and how (specifically) I can apply this principle on myself and others to maximize impact?&lt;/li&gt;
&lt;li&gt;Automated evals can catch stuff humans miss. And vice versa. And given how many evals we create, we need automated evals to be written in an easy-to-review way. &lt;a href=&#34;https://parlance-labs.com/blog/posts/auto-evals/&#34;&gt;Do Automated Evals Work?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href=&#34;https://arxiv.org/abs/2606.27226&#34;&gt;BINEVAL&lt;/a&gt; paper reiterates that a bunch of Yes/No binary questions beats scales or ratings for many benchmarks. You know exactly how to grade and WHY you got a certain score. This is more reproducible and easier to learn from / act on.&lt;/li&gt;
&lt;li&gt;When asked &amp;ldquo;How long will this software take?&amp;rdquo; models typically provide estimates assuming human speed #ForNow. Maybe they haven&amp;rsquo;t been trained enough on agentic timelines. So, when my colleague got a 2-4 week estimate which he was able to solve in hours, it was a surprise. (But, of course, it&amp;rsquo;s best to verify before promising speed.)&lt;/li&gt;
&lt;li&gt;SKILL.md dramatically lowers the cost of learning a skill (since you don&amp;rsquo;t learn it - the agent does). That means that the value of creating skills is much higher - hundreds can use what you create (giving you recognition, if not money). I think I&amp;rsquo;ve underestimated the number of skills people will have available (I thought dozens - but it may be thousands #ForNow) and the number of skills people will create (I thought tens of thousands - but it may be millions #ForNow.) A Wikipedia (community curated, verified, high quality catalog) of skills might emerge #ForNow, if it hasn&amp;rsquo;t already.&lt;/li&gt;
&lt;li&gt;Tacit knowledge is often just un-measured knowledge. Once I put a sensor on the bellboy&amp;rsquo;s hands at The Curzon Court, AI can figure out how he opens the door with the key and why I can&amp;rsquo;t do the same. The subset of tacit knowledge that&amp;rsquo;s AI-resistant is where attempts are expensive (&amp;ldquo;How to negotiate a merger&amp;rdquo; rather than &amp;ldquo;How to open a door&amp;rdquo;) and feedback is slow/vague (&amp;ldquo;Does the client trust me&amp;rdquo; rather than &amp;ldquo;Did the door open&amp;rdquo;).&lt;/li&gt;
&lt;li&gt;The fact that Composio has ~20,000 tools is a market signal that connectors are commoditizing, and are a depreciating asset #ForNow.&lt;/li&gt;
&lt;li&gt;A weak model needs a forgiving harness - which ends up slowing down model learning. Stricter, accurate verification environments are better for fastest model learning.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://learn.chatgpt.com/docs/get-started-with-work&#34;&gt;ChatGPT Work&lt;/a&gt; lets you run for longer, faster, install plugins and skills, host a website, etc #ForNow. It&amp;rsquo;s somewhere between Chat and Codex. It consumes Codex limits - something to watch for (since chat limits are quite generous).&lt;/li&gt;
&lt;li&gt;Codex temporarily removed the 5-hour usage limit. &lt;a href=&#34;https://x.com/thsottiaux/status/2076365965915467978&#34;&gt;Tibo&lt;/a&gt;. So, since I have 3 banked rate-limit resets #ForNow, I can, in theory, use 4 full weeks of Codex usage at one go. Reality: I don&amp;rsquo;t have problems large enough for a SINGLE week&amp;rsquo;s consumption!&lt;/li&gt;
&lt;li&gt;From what I see of the &lt;a href=&#34;https://stateofaidesign.com/chapters/tools&#34;&gt;State of AI Design&lt;/a&gt; and &lt;a href=&#34;https://survey.uxtools.co/spring-2026&#34;&gt;State of Prototyping&lt;/a&gt;, Figma is &lt;em&gt;way&lt;/em&gt; ahead of competition #ForNow, e.g. Adobe, with &lt;a href=&#34;https://www.figma.com/make/&#34;&gt;Figma Make&lt;/a&gt; and &lt;a href=&#34;https://weave.figma.com/&#34;&gt;Weave&lt;/a&gt;. I was also surprised how popular Cursor is (#2 behind Claude Code #ForNow). It&amp;rsquo;s also interesting that designers are coding directly #ForNow, using Figma just for edits / steering. But many &lt;em&gt;research&lt;/em&gt; tools (note takers, survey analysis/research, etc.) will likely get eaten up by AI coding agents #ForNow, given how much designers are building their own tools.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    <item>
      <title>Data Science for Sustainable Development Goals Book</title>
      <link>https://www.s-anand.net/blog/data-science-for-sustainable-development-goals-book/</link>
      <pubDate>Tue, 14 Jul 2026 15:18:33 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/data-science-for-sustainable-development-goals-book/</guid>
      <description>&lt;p&gt;One of my goals this year is to &lt;a href=&#34;https://www.s-anand.net/blog/my-year-in-2025/&#34;&gt;publish 2 books&lt;/a&gt;. One got published. Sort of.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.taylorfrancis.com/books/oa-edit/10.1201/9781003487531/data-science-sustainable-development-goals-avik-sarkar-bappaditya-mukhopadhyay&#34;&gt;Data Science for Sustainable Development Goals: India Case Studies&lt;/a&gt; is an open-access anthology and I&amp;rsquo;m the designated author of Chapter 10: &lt;em&gt;Using Data Analytics to Improve Students&amp;rsquo; Performance&lt;/em&gt; is about how Gramener worked with NCERT to &lt;a href=&#34;https://gramener.com/nas/&#34;&gt;analyze the National Achievement Survey&lt;/a&gt; data, discovering stuff like TV hurts maths but not reading scores, playing helps maths but not reading scores, fathers of West Bengal (not mothers) and mothers of Punjab (not fathers) influence their children&amp;rsquo;s scores the strongest, and so on.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.taylorfrancis.com/books/oa-edit/10.1201/9781003487531/data-science-sustainable-development-goals-avik-sarkar-bappaditya-mukhopadhyay&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-07-14-data-science-for-sustainable-development-goals-book-cover.avif&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(BTW, Chapter 5: &lt;em&gt;Enhancing Reader Engagement and Creating Interaction through Data Analysis&lt;/em&gt; by &lt;a href=&#34;https://www.google.com/search?q=sugata+srinivasaraju&#34;&gt;Sugata&lt;/a&gt; is about how Gramener visualized the &lt;a href=&#34;https://gramener.com/vijaykarnataka/&#34;&gt;2013 elections with Vijay Karnataka&lt;/a&gt;, sharing how rich the candidates where, where the money was concentrated, which MLAs performed well, how younger MLAs differed in their questions from older ones, and so on - and that&amp;rsquo;s something &lt;a href=&#34;https://www.linkedin.com/in/nikhilkabbin/&#34;&gt;Nikhil&lt;/a&gt;, &lt;a href=&#34;https://www.linkedin.com/in/sharon-sowmya-a0a37b78/&#34;&gt;Sharon&lt;/a&gt; and I worked on, too.)&lt;/p&gt;
&lt;p&gt;In Jan 2019, &lt;a href=&#34;https://www.linkedin.com/in/aviksarkar/&#34;&gt;Avik Sarkar&lt;/a&gt; - who was an Expert on UN Big Data &amp;amp; Data Science Committee from India - reached out suggesting that Gramener write chapters for a book on applications of data science in government. We discussed internally and picked up four streams:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ministry of Trade &amp;amp; Commerce work. I requested &lt;a href=&#34;https://www.linkedin.com/in/shankesh/&#34;&gt;Shankesh&lt;/a&gt; who was busy, then &lt;a href=&#34;https://www.linkedin.com/in/vijayam-sirikonda-06ba4a322/&#34;&gt;Vijayam&lt;/a&gt;, who agreed, but we didn&amp;rsquo;t proceed.&lt;/li&gt;
&lt;li&gt;UP Health Ministry: &lt;a href=&#34;https://www.linkedin.com/in/anandmadhav/&#34;&gt;Anand Madhav&lt;/a&gt; wrote this along with &lt;a href=&#34;https://www.linkedin.com/in/drvasanthias/&#34;&gt;Dr Vasanthakumar&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NCERT: I wrote a draft in Feb 2019, expanded it a bit in Jul 2019, and this was ready too.&lt;/li&gt;
&lt;li&gt;Karnataka Elections: &lt;a href=&#34;https://www.google.com/search?q=sugata+srinivasaraju&#34;&gt;Sugata&lt;/a&gt; wrote this chapter in Oct 2019.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By then, COVID struck. Avik approached Sage as the publishers initially, but COVID stopped all new books, and Sage&amp;rsquo;s India operation later ceased. Then he approached Wiley but Wiley&amp;rsquo;s India publishing operations had also stopped. Besides, the case study format made it difficult to position it as an academic book.&lt;/p&gt;
&lt;p&gt;Eventually, CRC Press / Taylor &amp;amp; Francis eventually accepted it. Great Lakes Institute agreed to pay the processing charges so that it could be open access.&lt;/p&gt;
&lt;p&gt;So, by Dec 2023, we had 3 chapters ready for publication.&lt;/p&gt;
&lt;p&gt;But by Mar 2024, Dr Vasanthakumar had moved to Ladakh and the current UPTSE officials denied permission. So we dropped this chapter.&lt;/p&gt;
&lt;p&gt;Finally, in Jun 2026, the book was published - with Sugata&amp;rsquo;s and my chapter.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;But note my use of the words &amp;ldquo;sort of&amp;rdquo; and &amp;ldquo;designated author&amp;rdquo;? That&amp;rsquo;s partly because it&amp;rsquo;s an anthology, not a solo book (but no complaints). But also because &lt;em&gt;I wasn&amp;rsquo;t sure I wrote that chapter&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;My chapter opens with these words:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Anand’s neighbour’s son, Adhvait, is a precocious 10-year old. He is into gaming and gadgets. He’s glued to Chotta Bheem on TV and Doraemon on YouTube&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;My reaction was: &amp;ldquo;Adhvait? Who&amp;rsquo;s that? Oh, wait, I didn&amp;rsquo;t write this. &lt;a href=&#34;https://www.linkedin.com/in/heysunil/&#34;&gt;Sunil&lt;/a&gt; must have ghost-written this. This is not my style. Besides, I wouldn&amp;rsquo;t mention Chotta Bheem or Doremon.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This is exactly how I feel when AI ghost-writes for me. &amp;ldquo;This is not my style.&amp;rdquo; or &amp;ldquo;This is not what I would have written.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Clearly, AI ghost-writing is not a new problem. People have been ghost-writing for decades. The feeling it evokes in me is the same.&lt;/p&gt;
&lt;p&gt;To be fair, the style wasn&amp;rsquo;t bad. Not AI style, certainly not mine, but not bad.&lt;/p&gt;
&lt;p&gt;Then I asked ChatGPT to go through my emails and find out when exactly I asked Sunil to write it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;It turns out I never did&lt;/strong&gt;. On 18 Feb 2019, I wrote the first draft of the chapter. It begins with &lt;em&gt;exactly&lt;/em&gt; the same sentences - including Adhvait, Chota Bheem, and Doremon.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s when went through my head:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;What!? I wrote this? Who is this Advaith &amp;hellip;&lt;/p&gt;
&lt;p&gt;Oh, it says &amp;ldquo;&amp;hellip;he skulks near Anand’s door to use our WiFi on his phone.&amp;rdquo; I remember Adhvait! We spoke to his parents. I was really impressed&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Wait a sec.. Some of this is clearly written by me. In fact, I wrote this &lt;strong&gt;whole&lt;/strong&gt; thing!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;s amazing. I don&amp;rsquo;t like AI&amp;rsquo;s style. I don&amp;rsquo;t like ghost writers&amp;rsquo; styles. I don&amp;rsquo;t like &lt;em&gt;my own style&lt;/em&gt;! Reminds me of &amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;This Calvin &amp;amp; Hobbes strip: Greetings, 8:30 Calvin and Hobbes! I&amp;rsquo;m 6:30 Calvin and this is 6:30 Hobbes! Charmed. Well, since we&amp;rsquo;re YOU from the past, I suppose you know why we&amp;rsquo;re here. Did you do the homework? Me?? No. NO?! Why not?? Because two hours ago, I went to the future to get it. Yeah, and here I am! Where is it?! That&amp;rsquo;s what I said two hours ago! I knew this would never work. Right as always, Hobbes.&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1992/ch920526.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;So the next time I critique AI or a ghost-writer for not writing in my style, I should remember that even I don&amp;rsquo;t write in my own style. Whatever that is.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;There&amp;rsquo;s another story here: I remembered &lt;strong&gt;none&lt;/strong&gt; of this. Not the original request, nor the chapters, nor who wrote what, nothing!&lt;/p&gt;
&lt;p&gt;All of this was excavated by ChatGPT with GPT 5.6 Sol on High, over 90 minutes, going through several gigabytes of my email archives. It found the entire story. Not just stuff I forgot, but stuff I &lt;em&gt;never knew&lt;/em&gt;. (I don&amp;rsquo;t read all my emails, certainly not fully.)&lt;/p&gt;
&lt;!-- https://chatgpt.com/c/6a55ef1b-5df0-83ee-add1-7cc32fe89194 --&gt;
&lt;p&gt;This &amp;ldquo;email archeology&amp;rdquo; is powerful. Storing everything enables it (and that&amp;rsquo;s going to become more common) but re-constructing history is amazing.&lt;/p&gt;
&lt;p&gt;Reminds me of &lt;a href=&#34;https://en.wikipedia.org/wiki/The_Dead_Past&#34;&gt;The Dead Past&lt;/a&gt; by Isaac Asimov. A historian is able to reconstruct history from the past using a chronoscope.&lt;/p&gt;
&lt;p&gt;ChatGPT is my chronoscope.&lt;/p&gt;
&lt;p&gt;The Dead Past also ends with a warning on how creepy it can be. True. It feels creepy. But, like videos, gramophones, portraits, and writing, I guess we&amp;rsquo;ll get used to it.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Tacit is just un-instrumented</title>
      <link>https://www.s-anand.net/blog/tacit-is-just-un-instrumented/</link>
      <pubDate>Mon, 13 Jul 2026 20:43:33 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/tacit-is-just-un-instrumented/</guid>
      <description>&lt;p&gt;At &lt;a href=&#34;https://maps.app.goo.gl/VKT8FiANmzsehMHJA&#34;&gt;The Curzon Hotel&lt;/a&gt;, my key card didn&amp;rsquo;t work. But every time I went to the reception, they&amp;rsquo;d send a bellboy who would use the &lt;em&gt;same&lt;/em&gt; key card, jiggle it a bit, pull it in and out a few times, and the door would open.&lt;/p&gt;
&lt;p&gt;Every night. For five nights. I just couldn&amp;rsquo;t get the knack of it.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been at the other end of this. People often reach out to me saying, &amp;ldquo;Anand, this software isn&amp;rsquo;t working.&amp;rdquo; Then I go do the &lt;em&gt;same&lt;/em&gt; thing they did, and it works. (Sometimes, I just need to watch them do it and it works.)&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s an intangible skill, I guess.&lt;/p&gt;
&lt;p&gt;That gave me some food for thought. This is &lt;em&gt;exactly&lt;/em&gt; the kind of skill an AI cannot pick up, right? I mean, jiggling keys, physical world, tacit knowledge, precisely the kind of things that would be AI proof.&lt;/p&gt;
&lt;p&gt;So I asked Claude Fable for its opinion. &amp;ldquo;Can AI pick up the key knack?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;It already has.&amp;rdquo; Claude said. Apparently, opening locks is one of the most studied problems in robotics.&lt;/p&gt;
&lt;p&gt;The only reason opening the key feels hard to learn is because we didn&amp;rsquo;t / couldn&amp;rsquo;t put it in words. But a sensor on his hand would. &lt;strong&gt;Tacit is just un-instrumented&lt;/strong&gt;. Once we measure it, it becomes training data.&lt;/p&gt;
&lt;p&gt;As long as something is cheap to try and fast + clear to verify, it doesn&amp;rsquo;t matter how &amp;ldquo;physical&amp;rdquo; it is - we can build a model around it.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;Cheap to try&lt;/th&gt;
					&lt;th&gt;Expensive to try&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Fast + clear to verify&lt;/td&gt;
					&lt;td&gt;Pottery&lt;/td&gt;
					&lt;td&gt;Surgery&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Slow + vague to verify&lt;/td&gt;
					&lt;td&gt;Friendships&lt;/td&gt;
					&lt;td&gt;Mergers&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;section ai-disclosure=&#34;ai-generated&#34; data-ai-model=&#34;claude-fable-5&#34; data-ai-provider=&#34;Anthropic&#34;&gt;
&lt;p&gt;This applies to organizations firms in different ways.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Organization&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Automate&lt;/strong&gt; (cheap to try, clear to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Cut the cost of trying&lt;/strong&gt; (expensive to try, clear to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Cut the cost of verifying&lt;/strong&gt; (cheap to try, vague to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Keep human&lt;/strong&gt; (expensive to try, vague to verify)&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Insurance&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Photo-based simple claims&lt;/td&gt;
					&lt;td&gt;Fraud investigations (proven or not) → AI triage of which cases to open&lt;/td&gt;
					&lt;td&gt;Underwriting rule tweaks (losses mature in years) → early-warning loss indicators&lt;/td&gt;
					&lt;td&gt;Risk appetite; reinsurance structure&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Asset mgmt&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Rebalancing, index tracking (tracking error verifies daily)&lt;/td&gt;
					&lt;td&gt;Large trade execution (implementation shortfall is measured) → execution simulators&lt;/td&gt;
					&lt;td&gt;Stock picks (skill or luck? takes years) → forecast scoring, attribution&lt;/td&gt;
					&lt;td&gt;Private-market deals; manager selection&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Waste mgmt&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Route optimization; robotic sorting&lt;/td&gt;
					&lt;td&gt;Fleet electrification pilots (cost per route is clear) → route and energy simulation&lt;/td&gt;
					&lt;td&gt;Recycling awareness campaigns → bin-level contamination sensors&lt;/td&gt;
					&lt;td&gt;Landfill siting; 30-year municipal contracts&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Logistics&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Routing, load planning, ETAs&lt;/td&gt;
					&lt;td&gt;Network redesign, e.g. a new hub (cost-to-serve verifies in months) → digital twin of the network&lt;/td&gt;
					&lt;td&gt;Driver incentive tweaks (retention causality is murky) → cohort telemetry&lt;/td&gt;
					&lt;td&gt;Building capacity ahead of demand&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Healthcare equipment&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Visual defect detection on the line&lt;/td&gt;
					&lt;td&gt;Clinical trials (clear endpoints, millions per try) → in-silico trials, device digital twins&lt;/td&gt;
					&lt;td&gt;Hospital sales messaging (committee sales, vague attribution) → pipeline instrumentation&lt;/td&gt;
					&lt;td&gt;Ten-year platform bets (R&amp;amp;D + regulation + adoption)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Card processor&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Transaction fraud scoring (millions of labeled tries a day)&lt;/td&gt;
					&lt;td&gt;Core platform migration (latency and uptime verify instantly) → shadow and parallel runs&lt;/td&gt;
					&lt;td&gt;Fee and pricing tweaks (merchant churn is slow, confounded) → churn cohorts&lt;/td&gt;
					&lt;td&gt;Betting on new payment rails&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Scientific publisher&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Integrity checks, formatting, metadata&lt;/td&gt;
					&lt;td&gt;Replicating a paper&amp;rsquo;s results (re-run the code and data; verdict is clear) → automated re-execution&lt;/td&gt;
					&lt;td&gt;Desk rejections (did we reject a breakthrough) → track the fate of rejects&lt;/td&gt;
					&lt;td&gt;Open-access business model transition&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Virtual school&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Auto-grading; tutoring on known-answer problems&lt;/td&gt;
					&lt;td&gt;Full course production (completion and scores verify fast at scale) → AI-drafted courses&lt;/td&gt;
					&lt;td&gt;Engagement nudges (engagement isn&amp;rsquo;t learning) → better assessment&lt;/td&gt;
					&lt;td&gt;Accreditation; university partnerships&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Physical school&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Timetabling, worksheets, admin&lt;/td&gt;
					&lt;td&gt;Campus expansion (enrolment verifies) → demand modeling&lt;/td&gt;
					&lt;td&gt;Classroom pedagogy tweaks (education&amp;rsquo;s replication crisis) → proper assessment&lt;/td&gt;
					&lt;td&gt;School culture and head succession&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Or at a role level.&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Role&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Automate&lt;/strong&gt; (cheap to try, clear to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Cut the cost of trying&lt;/strong&gt; (expensive to try, clear to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Cut the cost of verifying&lt;/strong&gt; (cheap to try, vague to verify)&lt;/th&gt;
					&lt;th&gt;&lt;strong&gt;Keep human&lt;/strong&gt; (expensive to try, vague to verify)&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CMO&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Ad copy variants (CTR verifies in hours)&lt;/td&gt;
					&lt;td&gt;National campaign launches → test with synthetic consumers, test markets&lt;/td&gt;
					&lt;td&gt;Brand and content posts (&amp;ldquo;half my advertising is wasted&amp;rdquo;) → brand-lift measurement&lt;/td&gt;
					&lt;td&gt;Repositioning the company&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CFO&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Reconciliations, close, variance commentary&lt;/td&gt;
					&lt;td&gt;Refinancing and hedging moves (P&amp;amp;L verifies) → backtests, scenario sims&lt;/td&gt;
					&lt;td&gt;Forecasts (cheap to issue, never scored) → track accuracy, Brier-style&lt;/td&gt;
					&lt;td&gt;M&amp;amp;A; capital allocation&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CHRO&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Policy Q&amp;amp;A, payroll queries&lt;/td&gt;
					&lt;td&gt;Comp restructuring (offer acceptance, attrition verify in months) → model before rollout&lt;/td&gt;
					&lt;td&gt;Training programs (nobody knows if they worked) → real skill assessments&lt;/td&gt;
					&lt;td&gt;Succession; senior hires; culture&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CIO&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Code with test suites&lt;/td&gt;
					&lt;td&gt;System migrations and cutovers → staging, canary, parallel runs&lt;/td&gt;
					&lt;td&gt;Developer productivity tooling (adopted cheaply, impact unclear) → DORA-style metrics&lt;/td&gt;
					&lt;td&gt;Build-vs-buy platform bets&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;CRO (Sales)&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Lead scoring; outreach drafts (reply rates verify fast)&lt;/td&gt;
					&lt;td&gt;Enterprise pursuits (win/loss is clear, each pursuit costs months) → rehearse against simulated buyers&lt;/td&gt;
					&lt;td&gt;Relationship nurturing (coffee now, payoff unclear when) → pipeline telemetry per touch&lt;/td&gt;
					&lt;td&gt;Key-account and channel strategy&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The common pattern here is:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;&lt;/th&gt;
					&lt;th&gt;Cheap to try&lt;/th&gt;
					&lt;th&gt;Expensive to try&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Fast + clear to verify&lt;/td&gt;
					&lt;td&gt;Automate high-volume&lt;/td&gt;
					&lt;td&gt;Build simulators&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Slow + vague to verify&lt;/td&gt;
					&lt;td&gt;Capture data&lt;/td&gt;
					&lt;td&gt;Spend on leadership development&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Keep in mind that this is at a task-level, not role-level. A single role may span the entire spectrum of tasks.&lt;/p&gt;
&lt;/section&gt;
&lt;!-- https://claude.ai/chat/e76b43b0-d59e-46d1-a575-7afeebf05901 --&gt;
</description>
    </item>
    <item>
      <title>Calvin and Hobbes Tracer Bullet 2</title>
      <link>https://www.s-anand.net/blog/calvin-and-hobbes-tracer-bullet-2/</link>
      <pubDate>Sun, 12 Jul 2026 16:59:07 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/calvin-and-hobbes-tracer-bullet-2/</guid>
      <description>&lt;p&gt;In 2007, I extracted the first arc of the &lt;a href=&#34;https://www.s-anand.net/blog/calvin-and-hobbes-tracer-bullet-1/&#34;&gt;Tracer Bullet strips&lt;/a&gt;. I didn&amp;rsquo;t realize I never shared the second arc. So, 19 years later, here it is. It remains my all-time favourite series from &lt;a href=&#34;https://www.s-anand.net/blog/calvin/&#34;&gt;Calvin and Hobbes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;AUGH! Who did this? The Dame&amp;rsquo;s scream hit an octave usually reserved for calling dogs, but it meant I had a case, and the sound of greenbacks slapping across my palm is music to my ears any day. After all, I&amp;rsquo;m not an opera critic. I&amp;rsquo;m a private eye.&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910225.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;I keep two magnum&amp;rsquo;s in my desk. One&amp;rsquo;s a gun, and I keep it loaded. The other&amp;rsquo;s a bottle and it keeps ME loaded. I&amp;rsquo;m Tracer Bullet. I&amp;rsquo;m a professional snoop. It&amp;rsquo;s a tough job, but then, I&amp;rsquo;m a tough guy. Some people don&amp;rsquo;t like an audience when they work. Enough of them have told me so with blunt instruments that I&amp;rsquo;m a phrenologist&amp;rsquo;s dream come true. Snooping pays the bills, though. Especially Bill, my bookie, and Bill, my probation officer. So when a tall brunette opened my door with a case for me, my heart did a few calisthenics and I took the job.&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910226.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;The dame said she had a case. She sounded like a case herself, but I can&amp;rsquo;t choose my clients. She was the pushy type, the kind who&amp;rsquo;d break your heart, or maybe your arms. I hurried over. Either she had a psychotic decorator, or her place had been ransacked by someone in a big hurry. WELL?! How do you explain this? The dame was hysterical. Dames usually are.&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910227.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;What have you got to say for yourself? Don&amp;rsquo;t touch anything. I&amp;rsquo;m looking for clues. The click of a hammer being cocked behind my head focused my thoughts like only a loaded .38 can. The dame had set me up! She didn&amp;rsquo;t want me to solve the case at all! She just wanted a patsy to pin the crime on! Well? I didn&amp;rsquo;t like the way this story was shaping up, so I decided to write a new ending with my .45 automatic as co-author.&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910228.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;I introduced the dame to a friend who&amp;rsquo;s very close to my heart. Just a little down and left, to be specific. My friend is an eloquent speaker. He made three profound arguments, while I excused myself from the room. I always leave when the talk gets philosophical. You&amp;rsquo;re in REAL trouble NOW, young man!!&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910301.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;I&amp;rsquo;d just finished putting the puzzle pieces together when the dame&amp;rsquo;s hired goon jumped out of nowhere and practiced for his chiropractic degree. When the discussion was done, an all-percussion symphony was playing in my head, and the accoustics were incredible. The orchestra went on a ten-city tour of my brain. And I had a season pass with front row seats. I had figured out who trashed the dame&amp;rsquo;s living room, but since she wasn&amp;rsquo;t my client any more, I felt no need to divulge that information. Besides, the culprit happened to be a buddy of mine. I closed the case. I guess we should&amp;rsquo;ve played outside, huh?&#34; loading=&#34;lazy&#34; src=&#34;https://picayune.uclick.com/comics/ch/1991/ch910302.gif&#34;&gt;&lt;/p&gt;
&lt;p&gt;This is funny at so many levels, but the wordplay is what sticks with me.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I keep two magnum&amp;rsquo;s in my desk. One&amp;rsquo;s a gun, and I keep it loaded. The other&amp;rsquo;s a bottle and it keeps ME loaded.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Snooping pays the bills, though. Especially Bill, my bookie, and Bill, my probation officer.&amp;rdquo;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Creating a scrollytelling map</title>
      <link>https://www.s-anand.net/blog/creating-a-scrollytelling-map/</link>
      <pubDate>Sun, 12 Jul 2026 16:25:50 +0530</pubDate>
      <guid>https://www.s-anand.net/blog/creating-a-scrollytelling-map/</guid>
      <description>&lt;p&gt;I had Claude Code with Fable create a small scrollytelling map for my &lt;a href=&#34;https://sanand0.github.io/datastories/security-at-bagmane-capital/&#34;&gt;14-minute walk&lt;/a&gt; experience at &lt;a href=&#34;https://www.s-anand.net/blog/security-at-bagmane-capital/&#34;&gt;Bagmane Capital&lt;/a&gt; in Bangalore.&lt;/p&gt;
&lt;p&gt;I used this as an opportunity to explore the current status of the technology. &lt;a href=&#34;https://chatgpt.com/share/6a537375-5308-83ee-ab03-00e39d8cc05a&#34;&gt;ChatGPT&lt;/a&gt; suggested: &lt;!-- https://chatgpt.com/c/6a520c51-2e08-83e8-8073-a1b703bdd45c --&gt;&lt;/p&gt;
&lt;section ai-disclosure=&#34;ai-generated&#34; data-ai-model=&#34;gpt-5.6-sol&#34; data-ai-provider=&#34;OpenAI&#34;&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Try ArcGIS StoryMaps first&lt;/strong&gt; for a polished scrollytelling story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Try Google Earth Projects&lt;/strong&gt; if this is primarily something you will present live, like a map-based slide deck.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use MapLibre GL JS with a coding agent&lt;/strong&gt; if you want precise choreography, animated routes, unusual visual effects, or an asset you can continually extend.&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
&lt;p&gt;None of these fit my requirements, which was:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hostable, self-contained, on GitHub Pages&lt;/li&gt;
&lt;li&gt;Forever free tiles, to the extent possible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Based on its recommendations, my workflow was:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Capture locations in Google Maps&lt;/strong&gt;. Right-click and copy the latitude, longitude.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capture routes in &lt;a href=&#34;https://mymaps.google.com&#34;&gt;Google My Maps&lt;/a&gt;&lt;/strong&gt;. This was insight. MyMaps lets you export driving, walking, and cycling routes as KML. (No bike routes, though.)&lt;/li&gt;
&lt;li&gt;Create a single-page index.html using &lt;strong&gt;MapLibre GL JS with a free OpenFreeMap basemap&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I &lt;a href=&#34;https://www.google.com/maps/d/u/0/edit?mid=1EmnW_jW6nP22MBJAlFg0R66CfBt9Fw8&#34;&gt;created the MyMaps routes&lt;/a&gt;&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.google.com/maps/d/u/0/edit?mid=1EmnW_jW6nP22MBJAlFg0R66CfBt9Fw8&#34;&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-07-12-creating-a-scrollytelling-map-google-mymaps.avif&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;hellip; exported layers as KML files, and meta-prompted Codex with my story written in this form:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-markdown&#34; data-lang=&#34;markdown&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I was staying at [&lt;span class=&#34;nt&#34;&gt;The Curzon Court, Brigade Road&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://maps.app.goo.gl/ArHn75eAihHzZXcr9&lt;/span&gt;). 12.97454856819103, 77.60788450296555
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I needed to be at [&lt;span class=&#34;nt&#34;&gt;Microsoft Luxor North Tower&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://maps.app.goo.gl/Tf5qZGwXogetSJr46&lt;/span&gt;) 12.984402817080221, 77.70407412470264
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;for a 2 pm [&lt;span class=&#34;nt&#34;&gt;workshop&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://hasgeek.com/fifthelephant/when-data-is-for-agents-workshop/&lt;/span&gt;).
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;So I came over to [&lt;span class=&#34;nt&#34;&gt;Seetharampalya Metro Station&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://maps.app.goo.gl/Z4deFUzZsqamcCZC9&lt;/span&gt;) 12.98116461318051, 77.70872373073122
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;and seated myself at [&lt;span class=&#34;nt&#34;&gt;Fairfield by Marriott&lt;/span&gt;](&lt;span class=&#34;na&#34;&gt;https://maps.app.goo.gl/NJqUfFnHL4QW8xa2A&lt;/span&gt;) 12.981961760138114, 77.70869689674738
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;by 11 am.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;hellip; and also attached a series of &lt;code&gt;.kml&lt;/code&gt; files for the routes. The generated prompt had some &lt;em&gt;nice&lt;/em&gt; suggestions, such as:&lt;/p&gt;
&lt;section ai-disclosure=&#34;ai-generated&#34; data-ai-model=&#34;gpt-5.6-sol&#34; data-ai-provider=&#34;OpenAI&#34;&gt;
&lt;ul&gt;
&lt;li&gt;Break the story into well-paced scenes, preserving its dry, escalating humour.&lt;/li&gt;
&lt;li&gt;Make time pressure visible through restrained clocks, timestamps, distance and ETA annotations.&lt;/li&gt;
&lt;li&gt;Build tension toward the late arrival, then treat the security confrontation with deadpan repetition.&lt;/li&gt;
&lt;li&gt;End quietly and anticlimactically at Bug &amp;amp; Bean with the peri peri paneer sandwich.&lt;/li&gt;
&lt;li&gt;&amp;hellip; etc.&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;p&gt;But one interesting idea I didn&amp;rsquo;t explore was to &amp;ldquo;Have the coding agent add an authoring mode&amp;rdquo;, specifically:&lt;/p&gt;
&lt;section ai-disclosure=&#34;ai-generated&#34; data-ai-model=&#34;gpt-5.6-sol&#34; data-ai-provider=&#34;OpenAI&#34;&gt;
&lt;p&gt;In authoring mode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clicking the map copies &lt;code&gt;[longitude, latitude]&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy camera&lt;/strong&gt; copies the current center, zoom, bearing and pitch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy visible bounds&lt;/strong&gt; copies southwest and northeast coordinates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Import KML/GeoJSON&lt;/strong&gt; previews routes.&lt;/li&gt;
&lt;li&gt;Selecting a route offers &lt;strong&gt;Create fit chapter&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Clicking a marker offers &lt;strong&gt;Create point chapter&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;A panel shows the exact chapter JSON.&lt;/li&gt;
&lt;li&gt;Pressing &lt;code&gt;C&lt;/code&gt; copies the current camera.&lt;/li&gt;
&lt;li&gt;Pressing &lt;code&gt;P&lt;/code&gt; creates a placemark.&lt;/li&gt;
&lt;li&gt;Pressing &lt;code&gt;B&lt;/code&gt; creates a fit-to-bounds instruction.&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;p&gt;This is a great idea - fairly easy to implement, meaning that I can even do away with map authoring software in the future.&lt;/p&gt;
&lt;p&gt;AI agents write software, but also know &lt;em&gt;what&lt;/em&gt; software features are useful. That makes taste more niche (i.e. I&amp;rsquo;ll use / buy your software if I already know and totally align with your taste, but otherwise, I&amp;rsquo;ll mix-and-match and build my own.)&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 12 Jul 2026</title>
      <link>https://www.s-anand.net/blog/things-i-learned-12-jul-2026/</link>
      <pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-12-jul-2026/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://x.com/eyad_khrais/article/2074519552277336571&#34;&gt;How to become an applied AI engineer&lt;/a&gt; is a concise, well-written, and suprisingly current summary of what AI engineering is.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Xinjiang_conflict&#34;&gt;Xinjiang&lt;/a&gt; seems to be China&amp;rsquo;s Kashmir problem. &lt;a href=&#34;https://share.gemini.google/cDYpzSmjOlJ6&#34;&gt;Not quite&lt;/a&gt;, but similar. &lt;!-- https://gemini.google.com/app/8b3dd829d3bbde14 --&gt;&lt;/li&gt;
&lt;li&gt;Analogies for how forward deployed engineers work:
&lt;ul&gt;
&lt;li&gt;It is like a &lt;strong&gt;food truck&lt;/strong&gt; that brings and serves home food while building a kitchen and restaurant around it. &lt;!-- https://gemini.google.com/app/a1bead8f1509f60c --&gt;&lt;/li&gt;
&lt;li&gt;It is like setting up a &lt;strong&gt;field hospital&lt;/strong&gt;: patients are treated from day one, while the equipment and procedures are built around the live work. &lt;!-- https://chatgpt.com/c/6a509e35-0748-83ec-8811-b33a4f5c959c --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Froghoppers excrete ~300x their weight daily. &lt;a href=&#34;https://chatgpt.com/share/6a4fc46b-17a0-83ec-861f-f0fa22f16d36&#34;&gt;ChatGPT&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a4f21e2-89fc-83ec-aa65-72913400ac2c --&gt;&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s a growing shift away from AI-written commit messages, e.g. &lt;a href=&#34;https://x.com/kentonvarda/status/2074924213983740233&#34;&gt;Kenton Varda&lt;/a&gt;. I compared my &lt;a href=&#34;https://github.com/sanand0/tools/commits/main&#34;&gt;human written&lt;/a&gt; &lt;a href=&#34;https://github.com/sanand0/talks/commits/80d42a4&#34;&gt;commit messages&lt;/a&gt; vs &lt;a href=&#34;https://github.com/sanand0/blog/commits/0717cde&#34;&gt;AI-generated&lt;/a&gt; &lt;a href=&#34;https://github.com/sanand0/til/commits/2e73dd9&#34;&gt;commit messages&lt;/a&gt; and the AI-generated ones are less helpful.&lt;/li&gt;
&lt;li&gt;Finally, &lt;a href=&#34;https://openai.com/index/introducing-gpt-live/&#34;&gt;GPT live&lt;/a&gt; gets an update and the new speaking model can delegate to GPT 5.5 when required. I tried it once today, to plan for a teacher workshop, and it was fairly good. It tends to begin with &amp;ldquo;Hmm&amp;rdquo; like it&amp;rsquo;s thinking, which feels comforting. &lt;!-- https://chatgpt.com/c/7695d193-8464-4c92-80ad-ffc3fe9d0d8d --&gt;&lt;/li&gt;
&lt;li&gt;Using a Unicode character like &lt;code&gt;🟢&lt;/code&gt; is unusually low-risk across file systems today. It works well across OSs, mobile, ZIP, attachments, file share systems, etc. Some old apps might have trouble, but for storing and sharing, it&amp;rsquo;s fine. I&amp;rsquo;ve been using Unicode symbols like these a lot in my notes, and extending to file names feels like a natural next step. &lt;!-- https://chatgpt.com/c/6a4ddcfb-3c54-83ec-be17-30659786de9f --&gt;&lt;/li&gt;
&lt;li&gt;Though swimming gets the most Olympic medals (11%), for a country chasing its first medals, 78% of first-medal breakthroughs came from Athletics, Wrestling, Shooting, Boxing, Judo, Weightlifting, or Taekwondo (which are 44% of medals) - where single athletes can win without a support ecosystem. &lt;a href=&#34;https://chatgpt.com/share/6a4ddbd0-026c-83ec-b268-50c8a40925aa&#34;&gt;ChatGPT&lt;/a&gt; &lt;!-- https://chatgpt.com/c/6a2e276a-949c-83ec-96b1-085284eaa484 --&gt;&lt;/li&gt;
&lt;li&gt;JMFL accidentally emailed several people a letter intended for their brokers. It roughly said: &amp;ldquo;Many of you are recording client calls. That&amp;rsquo;s a regulatory risk. If you keep doing this, we&amp;rsquo;ll hold your payments, even fire you.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Several Smart TVs have software that let your TVs act as proxies for data collection companies. &lt;a href=&#34;https://blog.includesecurity.com/2026/06/the-smart-tv-in-your-livingroom-is-a-node-in-the-aiscraping-economy/&#34;&gt;Include Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.mapdraw.net/&#34;&gt;MapDraw&lt;/a&gt; is a convenient tool to annotate maps (e.g. routes, boundaries, places) and share or download it.&lt;/li&gt;
&lt;li&gt;There seems to be no way to edit the &amp;ldquo;About&amp;rdquo; message on WhatsApp Web. Though the &lt;a href=&#34;https://faq.whatsapp.com/859240711908360/?cms_platform=web&#34;&gt;help&lt;/a&gt; suggests steps, and the &amp;ldquo;About&amp;rdquo; mood/status &lt;em&gt;is&lt;/em&gt; visible, there&amp;rsquo;s no way to edit it. (Editing on the phone works.)&lt;/li&gt;
&lt;li&gt;Cloudflare optimised a reader component by sometimes letting the input buffer fill fully. This inadvertently introduced a hard to reproduce race bug because the producer would close the socket if the buffer was full. The producer bug was old (it didn&amp;rsquo;t check if a flush succeeded or not) but was never visible since the readers never let the buffer fill in the past. &lt;a href=&#34;https://blog.cloudflare.com/hyper-bug/&#34;&gt;Cloudflare&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;neofirm&lt;/strong&gt; is a start-from-scratch AI-native business, e.g. Crosby&amp;rsquo;s AI-first law firm. An &lt;strong&gt;AI rollup&lt;/strong&gt; is where a company buys small traditional firms and AI-enables them - like &lt;a href=&#34;https://www.generalcatalyst.com/stories/europes-ai-transformation-in-services&#34;&gt;General Catalyst proposed&lt;/a&gt;. &lt;strong&gt;AI SaaS&lt;/strong&gt; is selling AI agents to services firms.&lt;/li&gt;
&lt;li&gt;Give people free platforms and collect their data. Learn the supply-demand network patterns, what pepole value, and add value-added services.&lt;/li&gt;
&lt;li&gt;Claude Code checks if you&amp;rsquo;re working behind a Chinese corporate domain - somewhat sneakily - by changing an apostrophe or slash in the date to visually similar Unicode. &lt;a href=&#34;https://thereallo.dev/blog/claude-code-prompt-steganography&#34;&gt;Claude Code Is Steganographically Marking Requests&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can use the &lt;a href=&#34;https://github.com/Kaggle/kaggle-cli&#34;&gt;Kaggle CLI&lt;/a&gt; via Codex to solve Kaggle problems. (&lt;a href=&#34;https://github.com/multimodal-art-projection/AutoKaggle&#34;&gt;AutoKaggle&lt;/a&gt; automates it - but is 2 years old.) But, like &lt;a href=&#34;https://www.s-anand.net/blog/bounty-hunting-agent-ecosystem/&#34;&gt;GitHub bounty hunting bots&lt;/a&gt;, we will probably have a Kaggle bounty-hunting bot ecosystem - maybe already do.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://huggingface.co/datasets/Helsinki-NLP/OpenSubtitles2024&#34;&gt;OpenSubtitles2024&lt;/a&gt; and &lt;a href=&#34;https://huggingface.co/datasets/refine-ai/subscene&#34;&gt;subscene&lt;/a&gt; are large pre-AI subtitle datasets with a 2024 cutoff. &lt;a href=&#34;https://data.mendeley.com/datasets/wcb4bxbyxx&#34;&gt;IndicDialogue&lt;/a&gt; is a 7.7K OpenSubtitles snapshot of Indic language SRTs. The &lt;a href=&#34;https://opensubtitles.stoplight.io/docs/opensubtitles-api/a172317bd5ccc-search-for-subtitles&#34;&gt;OpenSubtitles API&lt;/a&gt; lets you search by IMDb/TMDb ID and is up-to-date. &lt;!-- https://chatgpt.com/c/6a48ca99-4e9c-83ec-bcb4-677478cc80f6 --&gt;&lt;/li&gt;
&lt;li&gt;A soup spoon is better than a table spoon (for soup), though both carry about the same volume, because you can fit a soup spoon it fully into your mouth (a table spoon is too long) and this reduces spilling.&lt;/li&gt;
&lt;li&gt;Here&amp;rsquo;s a sign of accelerating AI progress. I used to critique outdated techniques by saying &amp;ldquo;This feels like a 20th century approach.&amp;rdquo; Then &amp;ldquo;This feels like a 2010s solution.&amp;rdquo; Recently, &amp;ldquo;This is SO 2025-ish.&amp;rdquo; Now, &amp;ldquo;That&amp;rsquo;s Q1 2026. It&amp;rsquo;s Q2.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;The 7-day week emerged from the Hellenistic planetary week and the Jewish week (not astronomy based), which Rome adopted, then spread by several routes to India, China, and worldwide. Unlike the astronomical year and month, the week is just a convention. Egypt, China, and Athens grouped days in tens; Etruria and Rome used 8-day market cycles; West Africa used varied cycles; Java used five days; Mesoamerica used 13- and 20-day cycles. &lt;a href=&#34;https://share.gemini.google/DPWeYqx3RIGn&#34;&gt;Gemini&lt;/a&gt; &lt;!-- https://gemini.google.com/app/9223b933d8e12403 + https://chatgpt.com/c/6a4a35f3-0904-83ec-b9de-1855ae57c2bd --&gt;&lt;/li&gt;
&lt;li&gt;I met an ex-photographer and learned that photography is another profession where technology (mobile cameras) squeezed the middle. Generation (taking good pictures) became cheap. Value moved upstream (direction), downstream (selection, editing, album design), and into niches (forensic, industrial, sport/event photography). &lt;!-- https://chatgpt.com/c/6a48f8b1-8c80-83ec-b42e-8b9bfae9b194 --&gt;&lt;/li&gt;
&lt;li&gt;Looks like Claude favors Claude Code. Might not be intentional, and just a result of training more on Claude Code data, but it does look like a network effect that could weaken open harnesses. &lt;a href=&#34;https://lucumr.pocoo.org/2026/7/4/better-models-worse-tools/&#34;&gt;Armin Rocher&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
