<?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>gemini-flash on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/gemini-flash/</link>
    <description>Recent content in gemini-flash on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Thu, 21 May 2026 14:02:10 +0800</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/gemini-flash/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LLM Deprecations and Price Changes</title>
      <link>https://www.s-anand.net/blog/llm-deprecations-and-price-changes/</link>
      <pubDate>Thu, 21 May 2026 14:02:10 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/llm-deprecations-and-price-changes/</guid>
      <description>&lt;p&gt;A colleague told me a near-miss horror story.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;As Google began deprecating Gemini 2.0, we moved to Gemini 2.5 Pro. But reasoning is enabled by default and cannot be turned off.&lt;/p&gt;
&lt;p&gt;For our specific problem statement, reasoning was not required. Token costs increased 10x and speeds were 3-4x slower. We moved the client to Gemini 2.5 Flash Lite, which has reasoning turned off by default and offers much lower latency.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Because we track compute costs closely, we managed this without a major financial impact.&lt;/p&gt;
&lt;p&gt;But model updates clearly require careful testing on the cost and latency front as well, not just output quality.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;AI used to keep getting cheaper. But now it&amp;rsquo;s more a &amp;ldquo;convergence&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-05-21-llm-pricing.svg&#34;&gt;&lt;/p&gt;
&lt;p&gt;Each line traces a model family. The X-axis is its intelligence (&lt;a href=&#34;https://lmarena.ai/leaderboard&#34;&gt;LMArena ELO score&lt;/a&gt;) and the Y-axis is the input cost ($ per million tokens, log scale). Time flows roughly left to right as models improve.&lt;/p&gt;
&lt;p&gt;Three patterns emerge and each seems strategic.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gemini Flash rockets upward (cheap -&amp;gt; expensive, moving right).&lt;/li&gt;
&lt;li&gt;GPT-4 class collapses from $30 toward $1.25, then GPT-5.5 jumps back up to $5.&lt;/li&gt;
&lt;li&gt;Claude Sonnet runs perfectly flat (cheap stays cheap as it gets smarter).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;googles-loss-leaders&#34;&gt;Google&amp;rsquo;s Loss Leaders&lt;/h3&gt;
&lt;p&gt;Gemini 1.5 Flash was $0.075/MTok in August 2024. I told everyone to use it - it&amp;rsquo;s a fantastic, affodable model.&lt;/p&gt;
&lt;p&gt;Gemini 3.5 Flash, released this week at Google I/O, is $1.50. That&amp;rsquo;s a &lt;strong&gt;20× in 21 months&lt;/strong&gt;. Looks like &lt;strong&gt;&amp;ldquo;Flash&amp;rdquo; is more a brand position than a price position.&lt;/strong&gt; It migrates up-market.&lt;/p&gt;
&lt;p&gt;Same for Gemini 1.5 Flash 8b (3.75 cents) which migrated into Gemini 3.1 Flash Lite (25 cents - a 6.7× increase).&lt;/p&gt;
&lt;p&gt;Gemini Pro went the opposite direction: down from $5.00 (1.5-pro in Oct 2024) to $1.25-$2.00 today. Pro seems to be a competitive weapon against Anthropic and OpenAI at the top, while monetizing the middle.&lt;/p&gt;
&lt;p&gt;Of course, Gemini&amp;rsquo;s real lock-in is the Google Workspace bundling and Search AI Mode. Personally, I subscribed to Google Pro for the first time in 20 years just for these bundled capabilities.&lt;/p&gt;
&lt;p&gt;By the time people notice the Flash price, it&amp;rsquo;s hard to leave the ecosystem.&lt;/p&gt;
&lt;h3 id=&#34;openais-relaunches&#34;&gt;OpenAI&amp;rsquo;s Relaunches&lt;/h3&gt;
&lt;p&gt;The price chart speaks for itself:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Model&lt;/th&gt;
					&lt;th style=&#34;text-align: right&#34;&gt;Price&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-4&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$30&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-4 Turbo&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$10&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-4o&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$2.50&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-4.1&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$2.00&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-5&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$1.25&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-5.2&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$1.75&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-5.4&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$2.50&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-5.5&lt;/td&gt;
					&lt;td style=&#34;text-align: right&#34;&gt;$5.00&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Maybe their strategy seems is: scale current technology to commodity (the O-series showed the same pattern with $15 for O1 falling to $1.10 for O4-mini in 7 months), &lt;em&gt;THEN&lt;/em&gt; launch a new frontier above it, and repeat?&lt;/p&gt;
&lt;h3 id=&#34;anthropics-revisions&#34;&gt;Anthropic&amp;rsquo;s Revisions&lt;/h3&gt;
&lt;p&gt;Claude Sonnet has held at &lt;strong&gt;exactly $3.00/MTok input&lt;/strong&gt; for over two years, across four model generations and an ELO gain of nearly 200 points. Pretty unusual.&lt;/p&gt;
&lt;p&gt;Opus came down from $15 to $5 in November 2025 - likely a deliberate move to make it production-viable. Haiku crept from $0.25 to $0.80. The tiers are converging.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s a twist, though. Anthropic restructured enterprise contracts in late 2025. Seat prices dropped to $20/seat. Token discounts (previously 10-15% off API rates) were removed. For a 100-seat team, that adds ~$15K-$40K to annual TCO. So, prices went down, but &lt;em&gt;the actual bill went up&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Also, Opus 4.7 uses a new tokenizer that may consume ~35% more tokens for the same text. It&amp;rsquo;s worth re-benchmarking prompts before assuming $5 is 1/3rd of $15.&lt;/p&gt;
&lt;h3 id=&#34;what-do-we-do&#34;&gt;What Do We Do?&lt;/h3&gt;
&lt;p&gt;Model family prices change rapidy. Old models get deprecated. Best to be prepared.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Add multi-tier routing to your architecture:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Lite / Nano / Haiku for extraction, classification, &amp;hellip; &amp;ndash; tasks with clear right answers&lt;/li&gt;
&lt;li&gt;Sonnet / GPT-5.4 / Gemini Flash for most production reasoning&lt;/li&gt;
&lt;li&gt;Opus / GPT-5.5 for escalation or expert advice: complex planning, hard edge cases, high-value decisions&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compare &lt;em&gt;completed-task costs&lt;/em&gt;&lt;/strong&gt;, not token price. A 2* more expensive model can halve the retry rate, making it cheaper per successful output.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Migrate by model capability&lt;/strong&gt;, not model family. Switch to models with similar latency, context window, output format compliance and reasoning depth.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evaluate open-source models.&lt;/strong&gt; DeepSeek models at self-hosted inference costs can be 90% cheaper for &lt;em&gt;commodity&lt;/em&gt; (not frontier) tasks.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;For enterprise procurement:&lt;/strong&gt; keep a close eye on pricing changes, API token discounts, and what was quietly removed during renewal. (AI helps with this!)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;The first 18 months of most AI model families are &lt;strong&gt;discounted customer acquisition&lt;/strong&gt;. Then value extraction follows. Google started it with Flash. OpenAI is doing it with GPT-5.5. Anthropic is doing it with enterprise billing restructuring.&lt;/p&gt;
&lt;p&gt;Fair enough. Providers need to recover infra investments.&lt;/p&gt;
&lt;p&gt;And build good routing strategies helps enterprises get the most out of this.&lt;/p&gt;
&lt;p&gt;Just keep asking yourself: &amp;ldquo;what&amp;rsquo;s our plan for when this model changes or deprecates?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-05-21-llm-deprecations-and-price-changes.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;PS: AI-generated image - has a few errors.&lt;/p&gt;
&lt;!--

Research: https://chatgpt.com/c/6a0e995a-0c84-83ec-953d-60db0fe1db66
Writing: https://claude.ai/chat/580de13d-9667-4697-8425-53d56bd36ff3

--&gt;
</description>
    </item>
    <item>
      <title>Extracting AI advice</title>
      <link>https://www.s-anand.net/blog/extracting-ai-advice/</link>
      <pubDate>Mon, 09 Feb 2026 09:52:19 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/extracting-ai-advice/</guid>
      <description>&lt;p&gt;This weekend, two people asked me, roughly &amp;ldquo;How do I use AI better?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;This is a frequently asked questions. I document my FAQs, e.g. &lt;a href=&#34;https://www.s-anand.net/blog/time/&#34;&gt;time management&lt;/a&gt;, &lt;a href=&#34;https://www.s-anand.net/blog/career-advice/&#34;&gt;career advice&lt;/a&gt;, etc. and it was time to add &lt;a href=&#34;https://www.s-anand.net/blog/ai-advice/&#34;&gt;AI advice&lt;/a&gt; to this list.&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://files.s-anand.net/images/2026-02-09-extracting-ai-advice.avif&#34;&gt;&lt;/p&gt;
&lt;p&gt;I often record online calls and &lt;a href=&#34;https://www.s-anand.net/blog/prompts/transcribe-call-recording/&#34;&gt;transcribe them&lt;/a&gt;. I asked &lt;a href=&#34;https://gemini.google.com/share/8541ff4e4135&#34;&gt;Gemini&lt;/a&gt;, &lt;a href=&#34;https://claude.ai/share/62d9d460-3bcb-43dc-a591-a283b35c3a69&#34;&gt;Claude&lt;/a&gt; and &lt;a href=&#34;https://chatgpt.com/share/6989414e-441c-8003-9b95-ac835e15a79c&#34;&gt;ChatGPT&lt;/a&gt; for the best way to summarize 400 transcripts of ~40K each.&lt;/p&gt;
&lt;p&gt;Claude&amp;rsquo;s suggestion was the best:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use Gemini Flash (1M context, dirt cheap) to process calls in batches of 20-25&lt;/li&gt;
&lt;li&gt;Each batch → extract advice themes&lt;/li&gt;
&lt;li&gt;Aggregate batch results with Claude Sonnet for final synthesis&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;But I ignored it because it was too much work. (See my &lt;a href=&#34;https://www.s-anand.net/blog/ai-advice/&#34;&gt;AI advice&lt;/a&gt;: &lt;em&gt;&amp;ldquo;Ask for easier output&amp;rdquo;&lt;/em&gt;)&lt;/p&gt;
&lt;p&gt;Instead, I listed all my transcripts and used &lt;a href=&#34;https://llm.datasette.io/&#34;&gt;Simon Willison&amp;rsquo;s &lt;code&gt;llm&lt;/code&gt; CLI tool&lt;/a&gt; to run:&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-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llm -m gemini-3-flash-preview --system &lt;span class=&#34;s2&#34;&gt;&amp;#34;Summarize ALL AI-related advice from Anand this call transcript into 1-sentence bullets&amp;#34;&lt;/span&gt; -f file-1.md &amp;gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;extract/ai/file-1.md&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llm -m gemini-3-flash-preview --system &lt;span class=&#34;s2&#34;&gt;&amp;#34;Summarize ALL AI-related advice from Anand this call transcript into 1-sentence bullets&amp;#34;&lt;/span&gt; -f file-2.md &amp;gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;extract/ai/file-2.md&amp;#34;&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(A for-loop is smarter. Copy-paste is easier. I optimize for ease.)&lt;/p&gt;
&lt;p&gt;This took a little over an hour and a dollar. Then, I combined all the &lt;code&gt;extract/ai/*.md&lt;/code&gt; files into one big file:&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-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;uvx files-to-prompt *.md &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xclip -selection clipboard
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;hellip; and pasted it into Gemini 3 Pro, which could comfortably handle the 750KB of context and prompted it:&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;Here is the summary of AI related advice I provided in discussions to various people.
&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;What is the most common advice I provide to people that is relevant to people looking to use AI for personal use and productivity?
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The result was a good list along the lines of:&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;&lt;span class=&#34;gu&#34;&gt;### 1. The &amp;#34;50 Conversations a Day&amp;#34; Rule (The Core Habit)
&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;You frequently tell individuals that they cannot learn AI through theory. To build intuition, they must force themselves to use it for everything.
&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 class=&#34;k&#34;&gt;-&lt;/span&gt; **The Advice:** Aim for a volume target of &lt;span class=&#34;gs&#34;&gt;**50 interactions per day**&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 class=&#34;k&#34;&gt;-&lt;/span&gt; **Why:** High-frequency usage forces you to find &amp;#34;micro-use cases&amp;#34; you would otherwise ignore. It moves you past the &amp;#34;novelty&amp;#34; phase into the &amp;#34;utility&amp;#34; phase where you instinctively know which tasks the AI can handle.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; **Application:** Don&amp;#39;t save AI for big projects. Use it to fix grammar in a text, explain a joke, plan a menu, or debug a single line of code.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;hellip; which I condensed into:&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;&lt;span class=&#34;k&#34;&gt;-&lt;/span&gt; **Have 50 conversations a day with AI**. High-usage forces you to find tiny use-cases you&amp;#39;d otherwise ignore.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Here&amp;rsquo;s my current &lt;a href=&#34;https://www.s-anand.net/blog/ai-advice/&#34;&gt;AI Advice&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Another advantage of creating an &lt;code&gt;extract/ai/&lt;/code&gt; folder is that I can pull out technical AI advice, governance-related AI advice, etc. later.&lt;/p&gt;
&lt;p&gt;In fact, this &amp;ldquo;map-reduce&amp;rdquo; style pattern is clearly powerful. For $2 and a little time, I get very useful synthesis. I plan to use it more.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Gemini 3 Flash OCRs Dilbert accurately</title>
      <link>https://www.s-anand.net/blog/gemini-3-flash-ocrs-dilbert-accurately/</link>
      <pubDate>Mon, 02 Feb 2026 18:53:15 +0800</pubDate>
      <guid>https://www.s-anand.net/blog/gemini-3-flash-ocrs-dilbert-accurately/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Scott_Adams&#34;&gt;Scott Adams&lt;/a&gt;, the author of &lt;a href=&#34;https://en.wikipedia.org/wiki/Dilbert&#34;&gt;Dilbert&lt;/a&gt;, passed away last month. While his work will live on, I was curious about the best way to build a Dilbert search engine.&lt;/p&gt;
&lt;p&gt;The first step is to extract the text. &lt;a href=&#34;https://github.com/pavankumart18&#34;&gt;Pavan&lt;/a&gt; tested over half a dozen LLMs on ~30 Dilbert strips to see which one transcribed them best.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://pavankumart18.github.io/comic-transcriptions/&#34;&gt;Here are the results&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: &lt;a href=&#34;https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-flash&#34;&gt;Gemini 3 Flash&lt;/a&gt; does the best, and would cost ~$20 to process the entire Dilbert archive. But if you want a local solution, &lt;a href=&#34;https://ollama.com/library/qwen3-vl:32b&#34;&gt;Qwen 3 VL 32b&lt;/a&gt; is the best.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
    &lt;tr&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Model&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Score (%)&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Text (40)&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Spkr (25)&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Caps (15)&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Panel (10)&lt;/th&gt;
      &lt;th scope=&#34;col&#34; style=&#34;text-align: right;&#34;&gt;Halluc (10)&lt;/th&gt;
    &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;gemini-3-flash-preview&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;99.3%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;39.9&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;24.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;15.0&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;10.0&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;10.0&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;qwen3-vl-32b-instruct&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(42, 156, 82); color: rgb(255, 255, 255);&#34;&gt;96.0%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(7, 117, 62); color: rgb(255, 255, 255);&#34;&gt;39.8&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(132, 202, 103); color: rgb(255, 255, 255);&#34;&gt;21.6&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(0, 104, 55); color: rgb(255, 255, 255);&#34;&gt;15.0&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(18, 134, 70); color: rgb(255, 255, 255);&#34;&gt;9.9&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(29, 145, 76); color: rgb(255, 255, 255);&#34;&gt;9.7&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;llama-4-maverick&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(247, 248, 173); color: rgb(0, 0, 0);&#34;&gt;85.1%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(205, 234, 133); color: rgb(0, 0, 0);&#34;&gt;38.5&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(251, 162, 93); color: rgb(255, 255, 255);&#34;&gt;16.3&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(48, 160, 84); color: rgb(255, 255, 255);&#34;&gt;13.2&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(254, 234, 158); color: rgb(0, 0, 0);&#34;&gt;9.1&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(254, 236, 160); color: rgb(0, 0, 0);&#34;&gt;8.1&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;llama-4-scout&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(252, 244, 170); color: rgb(0, 0, 0);&#34;&gt;84.1%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(129, 201, 102); color: rgb(255, 255, 255);&#34;&gt;39.0&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(251, 167, 96); color: rgb(255, 255, 255);&#34;&gt;16.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(80, 178, 93); color: rgb(255, 255, 255);&#34;&gt;12.5&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(238, 102, 64); color: rgb(255, 255, 255);&#34;&gt;8.7&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(249, 150, 87); color: rgb(255, 255, 255);&#34;&gt;7.5&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;gemma-3-27b-it&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(254, 211, 130); color: rgb(0, 0, 0);&#34;&gt;81.3%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(254, 233, 156); color: rgb(0, 0, 0);&#34;&gt;37.8&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;13.1&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(11, 124, 65); color: rgb(255, 255, 255);&#34;&gt;14.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;8.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(251, 168, 97); color: rgb(255, 255, 255);&#34;&gt;7.6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;nemotron-nano-12b-v2-vl-free&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(254, 211, 130); color: rgb(0, 0, 0);&#34;&gt;81.3%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(192, 228, 124); color: rgb(0, 0, 0);&#34;&gt;38.6&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;13.1&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(11, 124, 65); color: rgb(255, 255, 255);&#34;&gt;14.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(195, 31, 40); color: rgb(255, 255, 255);&#34;&gt;8.5&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;6.6&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td style=&#34;text-align: left;&#34;&gt;molmo-2-8b-free&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;70.4%&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;36.2&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(251, 167, 96); color: rgb(255, 255, 255);&#34;&gt;16.4&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(165, 0, 38); color: rgb(255, 255, 255);&#34;&gt;0.5&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(248, 141, 82); color: rgb(255, 255, 255);&#34;&gt;8.8&lt;/td&gt;
      &lt;td style=&#34;text-align: right; background-color: rgb(241, 248, 170); color: rgb(0, 0, 0);&#34;&gt;8.4&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;That accuracy of 99.3% is impressive. Here&amp;rsquo;s the biggest error it made:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://web.archive.org/web/20230301061931im_/https://assets.amuniversal.com/d999ece0979e012f2fe400163e41dd5b&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Dogbert: CHAPTER IV. &amp;ldquo;TIME MANAGEMENT&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Dogbert: &amp;ldquo;ALWAYS POSTPONE MEETINGS WITH TIME-WASTING MORONS.&amp;rdquo;&lt;br&gt;
Dilbert: &amp;ldquo;HOW DO YOU DO THAT?&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Dogbert: CAN I GET BACK TO YOU ON THAT?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Can you spot the error? The model attributed the text to Dogbert instead of the computer. (But you &lt;em&gt;could&lt;/em&gt; argue that Dogbert is the one typing it&amp;hellip;)&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Here&amp;rsquo;s another error:&lt;/p&gt;
&lt;p&gt;&lt;img loading=&#34;lazy&#34; src=&#34;https://web.archive.org/web/20230228074232im_/https://assets.amuniversal.com/7cf00b10979d012f2fe400163e41dd5b&#34;&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Dilbert: I&amp;rsquo;VE DECIDED WE SHOULD OPERATE ALONG MORE CLASSIC LINES, LIKE DR. FRANKENSTEIN&amp;rsquo;S LAB.&lt;/li&gt;
&lt;li&gt;Dogbert: YOU KNOW WHAT THAT MAKES YOU?&lt;/li&gt;
&lt;li&gt;Dogbert: I&amp;rsquo;VE GOT A HUNCH&amp;hellip;&lt;/li&gt;
&lt;li&gt;Dilbert: LET&amp;rsquo;S PRACTICE&amp;hellip;&lt;/li&gt;
&lt;li&gt;Dilbert: DOGBERT, FETCH ME A BRAIN!&lt;br&gt;
Dogbert: LIKE YOUR PRESENT MODEL, OR ONE THAT WORKS?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Can you spot the error? In Panel 2, it&amp;rsquo;s Dilbert speaking, not Dogbert.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;In fact, the only transcription errors Gemini 3 Flash made was writing &amp;ldquo;McDONALD&amp;rsquo;S&amp;rdquo; instead of &amp;ldquo;MCDONALD&amp;rsquo;S&amp;rdquo; (&lt;a href=&#34;https://web.archive.org/web/20230228083128im_/https://assets.amuniversal.com/3eb64cb0979e012f2fe400163e41dd5b&#34;&gt;see panel 2&lt;/a&gt;), and not hyphenating a line-break in &amp;ldquo;PRESEN-TATION&amp;rdquo; (&lt;a href=&#34;https://web.archive.org/web/20230228231330im_/https://assets.amuniversal.com/03d47960979f012f2fe400163e41dd5b&#34;&gt;see panel 4&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Qwen 3 VL 32b made almost as few errors. The bigger gap is in speaker detection, where the models fall off steeply.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;This incredibly low cost + high accuracy enables a &lt;em&gt;number&lt;/em&gt; of new things. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure Serial Tracking:&lt;/strong&gt; Extract serial numbers and maintenance dates from photos of utility meters, fire hydrants, streetlights, etc. to build a live digital twin of city assets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Small-Business Permit Audits:&lt;/strong&gt; Process photos of street-facing shop permits to flag expired licenses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evidence Label Transcription:&lt;/strong&gt; Annotate small-text labels on physical exhibits in legal archives, e.g. &amp;ldquo;Exhibit A&amp;rdquo; becomes &amp;ldquo;Exhibit A: Photo of the crime scene taken on 03/15/2020 at 14:32 by Officer J. Smith.&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;I spent &lt;a href=&#34;https://www.s-anand.net/blog/the-calvin-and-hobbes-search-takedown/&#34;&gt;7 years typing out every one of the ~3,000 Calvin &amp;amp; Hobbes strips by hand&lt;/a&gt;. For these ~12,000 Dilbert strips, it might take a few hours and a few dollars for the same.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 23 Mar 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-23-mar-2025/</link>
      <pubDate>Sun, 23 Mar 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-23-mar-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If we can DESCRIBE what good looks like, training data is no gap. We can auto optimise models towards that. That&amp;rsquo;s RLF. DeepSeek R1 side stepped the need for training data by creating reward functions and prompts. This tells the fine tuning process how to go correct as it goes along. &lt;a href=&#34;https://www.linkedin.com/posts/devvret-rishi-b0857684_starting-today-you-can-build-your-own-custom-activity-7308141160357670912-Rwfy&#34;&gt;This video&lt;/a&gt; is the first one that really help me understand what&amp;rsquo;s going on.&lt;/li&gt;
&lt;li&gt;I was born in the Ananda year in the Tamil &lt;em&gt;and&lt;/em&gt; Telugu calendars. &lt;a href=&#34;https://chatgpt.com/share/67dbcb41-209c-800c-9403-1eb4cd365ece&#34;&gt;ChatGPT&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Andrej Karpathy&amp;rsquo;s note taking mechanism is similar to mine, except I use Microsoft TODO. &lt;a href=&#34;https://x.com/karpathy/status/1902503836067229803&#34;&gt;Ref&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;I have 3 categories. Things I learnt, which I just note. Things to explore, which I can delegate, defer, drop, or do at any time. Things to do, which are the hardest and pile up.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Alexander Doria shares an interesting perspective on the app space. &lt;a href=&#34;https://vintagedata.org/blog/posts/model-is-the-product&#34;&gt;Model is the product&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Models are natively absorbing app capability and will become killer systems internalising workflows like Chat, Deep Research, Claude Code, Operator, etc. to wipe out the apps and workflow space. Models will &amp;ldquo;internalize&amp;rdquo; tool capabilities&lt;/li&gt;
&lt;li&gt;Opinionated or focused training will be a lever and model providers will acqui-hire the successful trainers&lt;/li&gt;
&lt;li&gt;API access from model providers will shrink. Selling tokens is not a viable business model given lowering costs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;huggingface_hub&lt;/code&gt; cache-system uses symlinks by default to efficiently store duplicated files. To support symlinks on Windows, you either need to &lt;a href=&#34;https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development&#34;&gt;activate Developer Mode&lt;/a&gt; or to run Python as an administrator.&lt;/li&gt;
&lt;li&gt;In Windows, you can enable offline files for any SMB share via: Control Panel → Sync Center → Manage offline files and turn on the feature. Then, in File Explorer, right‑click the mapped network folder or drive and select &amp;ldquo;Always available offline.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;OpenAI now supports &lt;a href=&#34;https://platform.openai.com/docs/guides/pdf-files?api-mode=chat&#34;&gt;PDFs natively in the API&lt;/a&gt;. (Gemini has done so for a while)&lt;/li&gt;
&lt;li&gt;Anger is a trigger for change. &amp;ldquo;Either change yourself or the environment, else you&amp;rsquo;ll be uncomfortable.&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://tiptap.dev/docs/hocuspocus/introduction&#34;&gt;HocusPocus&lt;/a&gt; allows live collaboration e.g. editing together&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.blocknotejs.org/&#34;&gt;Block notes&lt;/a&gt; is a notion like library for editor components. Converts to Markdown&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://jnsgr.uk/2025/03/carefully-but-purposefully-oxidising-ubuntu&#34;&gt;Oxidizr&lt;/a&gt; enables replacing Linux tools with Rust equivalents.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://emojikitchen.dev/&#34;&gt;Emoji Kitchen&lt;/a&gt; lets you create stickers from emoji combinations.&lt;/li&gt;
&lt;li&gt;Another way of scaling LLMs is generating multiple options and self evaluating. &lt;a href=&#34;https://x.com/ericzhao28/status/1901704339229732874&#34;&gt;Eric Zhao&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;duckdb -ui&lt;/code&gt; launches a DuckDB notebook. This is built into newer DuckDB releases&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/Y2Z/monolith&#34;&gt;Monolith&lt;/a&gt; downloads web pages as a single HTML file by embedding content.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/katanemo/archgw?tab=readme-ov-file&#34;&gt;Archgw&lt;/a&gt; is an LLM proxy/router from the makers of Envoy proxy.&lt;/li&gt;
&lt;li&gt;There&amp;rsquo;s an &lt;a href=&#34;https://www.lspace.org/books/apf/the-colour-of-magic.html&#34;&gt;annotated Terry Pratchett&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;Gemini API allows YouTube videos as a part. &lt;a href=&#34;https://ai.google.dev/gemini-api/docs/vision?lang=python#youtube&#34;&gt;Google&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;agents.json is a proposal for discovery of agents on a site that enhances the Open API spec: &lt;a href=&#34;https://github.com/wild-card-ai/agents-json&#34;&gt;wild-card-ai/agents-json&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Since Gemini Flash 2.0 is now an image GENERATION model, interactive VISUAL fiction is now a cool possibility. People are using it in interesting ways:
&lt;a href=&#34;https://x.com/OriolVinyalsML/status/1901328862656503826&#34;&gt;Interleaved storytelling&lt;/a&gt;,
&lt;a href=&#34;https://x.com/emollick/status/1901431681279475808&#34;&gt;Memes&lt;/a&gt;,
&lt;a href=&#34;https://x.com/emollick/status/1901370982557794658&#34;&gt;Surrealism&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
