<?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>reasoning-models on S Anand</title>
    <link>https://www.s-anand.net/blog/tag/reasoning-models/</link>
    <description>Recent content in reasoning-models on S Anand</description>
    <generator>Hugo -- 0.164.0</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 27 Apr 2025 09:52:57 +0000</lastBuildDate>
    <atom:link href="https://www.s-anand.net/blog/tag/reasoning-models/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Are LLMs any good at mental math?</title>
      <link>https://www.s-anand.net/blog/are-llms-any-good-at-mental-math/</link>
      <pubDate>Sun, 27 Apr 2025 09:52:10 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/are-llms-any-good-at-mental-math/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Are LLMs any good at mental math?&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/image-1-1.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;I asked 50 LLMs to multiply 2 numbers:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;12 x 12&lt;/li&gt;
&lt;li&gt;123 x 456&lt;/li&gt;
&lt;li&gt;1,234 x 5,678&lt;/li&gt;
&lt;li&gt;12,345 x 6,789&lt;/li&gt;
&lt;li&gt;123,456 x 789,012&lt;/li&gt;
&lt;li&gt;1,234,567 x 8,901,234&lt;/li&gt;
&lt;li&gt;987,654,321 x 123,456,789&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;LLMs aren&amp;rsquo;t good tools for math and this is just an informal check. But the results are interesting:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Model&lt;/th&gt;
					&lt;th&gt;%Win&lt;/th&gt;
					&lt;th&gt;Q1&lt;/th&gt;
					&lt;th&gt;Q2&lt;/th&gt;
					&lt;th&gt;Q3&lt;/th&gt;
					&lt;th&gt;Q4&lt;/th&gt;
					&lt;th&gt;Q4&lt;/th&gt;
					&lt;th&gt;Q6&lt;/th&gt;
					&lt;th&gt;Q7&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;openai:o3&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openrouter:openai/o1-mini&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openrouter:openai/o3-mini-high&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openrouter:openai/o4-mini&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openrouter:openai/o4-mini-high&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;deepseek/deepseek-chat-v3-0324&lt;/td&gt;
					&lt;td&gt;71%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4.1-mini&lt;/td&gt;
					&lt;td&gt;71%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4.5-preview&lt;/td&gt;
					&lt;td&gt;71%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4o&lt;/td&gt;
					&lt;td&gt;71%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openrouter:openai/o3-mini&lt;/td&gt;
					&lt;td&gt;71%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3-opus&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3.5-haiku&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3.7-sonnet:thinking&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-2.0-flash-001&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-2.0-flash-lite-001&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-2.5-flash-preview&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-2.5-flash-preview:thinking&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-2.5-pro-preview-03-25&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-flash-1.5&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-pro-1.5&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemma-3-12b-it&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemma-3-27b-it&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-4-maverick&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-4-scout&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4-turbo&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4.1&lt;/td&gt;
					&lt;td&gt;57%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;amazon/nova-lite-v1&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;amazon/nova-pro-v1&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3-haiku&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3.5-sonnet&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.1-405b-instruct&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.1-70b-instruct&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.2-3b-instruct&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.3-70b-instruct&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4.1-nano&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-4o-mini&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;qwen/qwen-2-72b-instruct&lt;/td&gt;
					&lt;td&gt;43%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;anthropic/claude-3-sonnet&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;deepseek/deepseek-r1&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemini-flash-1.5-8b&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemma-3-4b-it&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3-8b-instruct&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.1-8b-instruct&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;openai/gpt-3.5-turbo&lt;/td&gt;
					&lt;td&gt;29%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;amazon/nova-micro-v1&lt;/td&gt;
					&lt;td&gt;14%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-2-13b-chat&lt;/td&gt;
					&lt;td&gt;14%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3-70b-instruct&lt;/td&gt;
					&lt;td&gt;14%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-3.2-1b-instruct&lt;/td&gt;
					&lt;td&gt;14%&lt;/td&gt;
					&lt;td&gt;✅&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;google/gemma-3-1b-it:free&lt;/td&gt;
					&lt;td&gt;0%&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;meta-llama/llama-2-70b-chat&lt;/td&gt;
					&lt;td&gt;0%&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
					&lt;td&gt;-&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
					&lt;td&gt;❌&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Average&lt;/td&gt;
					&lt;td&gt;&lt;/td&gt;
					&lt;td&gt;96%&lt;/td&gt;
					&lt;td&gt;86%&lt;/td&gt;
					&lt;td&gt;66%&lt;/td&gt;
					&lt;td&gt;58%&lt;/td&gt;
					&lt;td&gt;24%&lt;/td&gt;
					&lt;td&gt;10%&lt;/td&gt;
					&lt;td&gt;0%&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;OpenAI&amp;rsquo;s reasoning models cracked it, scoring 6/7, stumbling only on the 9-digit multiplication.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o1-mini&#34;&gt;openai/o1-mini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o3&#34;&gt;openai/o3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o3-mini-high&#34;&gt;openai/o3-mini-high&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o4-mini&#34;&gt;openai/o4-mini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o4-mini-high&#34;&gt;openai/o4-mini-high&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Models use human-like mental math tricks. For example, O3-Mini-High calculated 1234567 × 8901234 using a recursive strategy.&lt;/p&gt;
&lt;p&gt;```markdown To calculate 1234567 × 8901234, one useful method is to break the second number into two parts:   8901234 = 8900000 + 1234 Then the product becomes:   1234567 × 8901234 = 1234567 × 8900000 + 1234567 × 1234 Step 1. Compute 1234567 × 8900000:   Notice that 8900000 = 89 × 100000. So first compute 1234567 × 89.   Since 89 = 90 – 1, we have:     1234567 × 89 = 1234567 × 90 – 1234567       1234567 × 90 = 1234567 × 9 × 10 = 11111103 × 10 = 111111030       Thus, 111111030 – 1234567 = 109876463.   Now multiply by 100000:     109876463 × 100000 = 10987646300000 Step 2. Compute 1234567 × 1234:   Break 1234 into parts:     1234 = 1000 + 200 + 30 + 4   Now multiply each and add:     1234567 × 1000 = 1234567000     1234567 × 200 = 246913400     1234567 × 30 = 37037010     1234567 × 4 = 4938268   Add these together:     1234567000 + 246913400 = 1481480400     1481480400 + 37037010 = 1518517410     1518517410 + 4938268 = 1523455678 Step 3. Add both products:   10987646300000 + 1523455678 = 10989169755678 Thus, the product of 1234567 and 8901234 is 10989169755678 ```&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OpenAI&amp;rsquo;s other models and DeepSeek V3 were next, getting the first 5/7 right.&lt;/strong&gt; Notably: GPT 4.1 Mini beat GPT 4.1. DeepSeek V3 beat DeepSeek R1.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/deepseek/deepseek-chat-v3-0324&#34;&gt;deepseek/deepseek-chat-v3-0324&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/gpt-4.1-mini&#34;&gt;openai/gpt-4.1-mini&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/gpt-4.5-preview&#34;&gt;openai/gpt-4.5-preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/gpt-4o&#34;&gt;openai/gpt-4o&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/o3-mini&#34;&gt;openai/o3-mini&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;DeepSeek V3 double-checks results and hallucinates a &amp;ldquo;reliable computational tool&amp;rdquo;.&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;To calculate (1234567 × 8901234), let&amp;#39;s break it down using the &lt;span class=&#34;gs&#34;&gt;**distributive property of multiplication over addition**&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;&lt;span class=&#34;k&#34;&gt;1.&lt;/span&gt; &lt;span class=&#34;gs&#34;&gt;**Express 8901234 as (9000000 - 98766)**&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [8901234 = 9000000 - 98766]
&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;2.&lt;/span&gt; &lt;span class=&#34;gs&#34;&gt;**Multiply 1234567 by each part**&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [1234567 × 9000000 = 1234567 × 9 × 10^6 = 11111103000000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [1234567 × 98766 = 1234567 × (100000 - 12234) = 123456700000 - 15095721278 = 108360978722]
&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;ge&#34;&gt;_Note_&lt;/span&gt;: Further breakdown of (1234567 × 12234) was calculated separately and subtracted here.
&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;3.&lt;/span&gt; &lt;span class=&#34;gs&#34;&gt;**Combine the results**&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [11111103000000 - 108360978722 = 1020274222278]
&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;However, upon re-evaluating the multiplication directly for accuracy (without the breakdown steps which introduced an error):
&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;[1234567 × 8901234 = 10989343694778]
&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;But correcting the previous breakdown:
&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;1.&lt;/span&gt; &lt;span class=&#34;gs&#34;&gt;**Express 8901234 as (9000000 - 98766)**&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [1234567 × 9000000 = 11111103000000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [1234567 × 98766 = 1234567 × 90000 + 1234567 × 8000 + 1234567 × 700 + 1234567 × 60 + 1234567 × 6]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [= 111111030000 + 9877653600 + 864196900 + 74074020 + 7407402 = 121616470922]
&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;2.&lt;/span&gt; &lt;span class=&#34;gs&#34;&gt;**Combine the results**&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;   [11111103000000 - 121616470922 = 1098934369078]
&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;It appears there was an inconsistency in the intermediate steps. For precision, let&amp;#39;s verify with another method:
&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;gs&#34;&gt;**Using the standard multiplication method**&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;[1234567 × 8901234]
&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;Calculating each part:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 8000000 = 9877653600000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 900000 = 1111110300000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 100 = 123456700]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 200 = 246913400]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 30 = 37037010]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 4 = 4938268]
&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;Adding them together:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[9877653600000 + 1111110300000 = 10988763900000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10988763900000 + 123456700 = 10988887356700]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10988887356700 + 246913400 = 10989134270100]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10989134270100 + 37037010 = 10989171307110]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10989171307110 + 4938268 = 10989176245378]
&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;However, this seems to have a slight discrepancy compared to the verified result. Upon cross-checking with a reliable computational tool:
&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;gs&#34;&gt;**Final Accurate Calculation**&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;[1234567 × 8901234 = 10989343694778]
&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;But to ensure correctness, let&amp;#39;s verify step-by-step with another approach:
&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;gs&#34;&gt;**Breakdown of 8901234**&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;[8901234 = 8000000 + 900000 + 100 + 200 + 30 + 4]
&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;Now, multiply each by 1234567:
&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;[1234567 × 8000000 = 9877653600000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 900000 = 1111110300000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 100 = 123456700]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 200 = 246913400]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 30 = 37037010]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[1234567 × 4 = 4938268]
&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;Adding these up:
&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;[9877653600000 + 1111110300000 = 10988763900000]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10988763900000 + 123456700 = 10988887356700]
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;[10988887356700 + 246913400 = 109891342]
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;O3 Mini reframes 8901234 as (9000000 − 98766) to simplify the calculation.&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;To calculate 1234567 times 8901234, follow these steps:
&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;1.&lt;/span&gt; Express 8901234 as 9000000 − 98766.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     So, 1234567 × 8901234 = 1234567 × 9000000 − 1234567 × 98766.
&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;2.&lt;/span&gt; Calculate the first part:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     1234567 × 9000000 = 1234567 × 9 × 1000000.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     Since 1234567 × 9 = 11111103,
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     it becomes 11111103 × 1000000 = 11111103000000.
&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;3.&lt;/span&gt; Calculate the second part:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     Write 98766 as 100000 − 234.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     Then, 1234567 × 98766 = 1234567 × 100000 − 1234567 × 234.
&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; 1234567 × 100000 = 123456700000.
&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; To compute 1234567 × 234, break it into:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      – 1234567 × 200 = 246913400
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      – 1234567 × 34 = (1234567 × 30) + (1234567 × 4)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       ○ 1234567 × 30 = 37037010
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       ○ 1234567 × 4 = 4938268
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;       – Sum: 37037010 + 4938268 = 41975278
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      Then, 1234567 × 234 = 246913400 + 41975278 = 288888678.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     Thus, 1234567 × 98766 = 123456700000 − 288888678 = 123167811322.
&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;4.&lt;/span&gt; Now, subtract the second part from the first part:
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;     11111103000000 − 123167811322 = 10987935188678.
&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, 1234567 times 8901234 equals 10987935188678.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;16 models, including the latest Gemini, Anthropic, Grok, and Llama models get 4/7 right.&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/anthropic/claude-3-opus&#34;&gt;anthropic/claude-3-opus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/anthropic/claude-3.5-haiku&#34;&gt;anthropic/claude-3.5-haiku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/anthropic/claude-3.7-sonnet:thinking&#34;&gt;anthropic/claude-3.7-sonnet:thinking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-2.0-flash-001&#34;&gt;google/gemini-2.0-flash-001&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-2.0-flash-lite-001&#34;&gt;google/gemini-2.0-flash-lite-001&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-2.5-flash-preview&#34;&gt;google/gemini-2.5-flash-preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-2.5-flash-preview:thinking&#34;&gt;google/gemini-2.5-flash-preview:thinking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-2.5-pro-preview-03-25&#34;&gt;google/gemini-2.5-pro-preview-03-25&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-flash-1.5&#34;&gt;google/gemini-flash-1.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemini-pro-1.5&#34;&gt;google/gemini-pro-1.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemma-3-12b-it&#34;&gt;google/gemma-3-12b-it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/google/gemma-3-27b-it&#34;&gt;google/gemma-3-27b-it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/meta-llama/llama-4-maverick&#34;&gt;meta-llama/llama-4-maverick&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/meta-llama/llama-4-scout&#34;&gt;meta-llama/llama-4-scout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/gpt-4-turbo&#34;&gt;openai/gpt-4-turbo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/openai/gpt-4.1&#34;&gt;openai/gpt-4.1&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/x-ai/grok-3-beta&#34;&gt;x-ai/grok-3-beta&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://openrouter.ai/x-ai/grok-3-mini-beta&#34;&gt;x-ai/grok-3-mini-beta&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The Amazon models, older Llama, Anthropic, Google, OpenAI models get 3 or less right.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;View the results at &lt;a href=&#34;https://sanand0.github.io/llmmath/&#34;&gt;https://sanand0.github.io/llmmath/&lt;/a&gt;. Hover over the cells to see the reasoning traces (where available).&lt;a href=&#34;https://github.com/sanand0/llmmath#can-llms-do-mental-math&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn%3Ali%3Ashare%3A7321858062711955457&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>How to Create a Data Visualization Without Coding</title>
      <link>https://www.s-anand.net/blog/how-to-create-a-data-visualization-without-coding/</link>
      <pubDate>Sun, 27 Apr 2025 09:45:21 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/how-to-create-a-data-visualization-without-coding/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;How to Create a Data Visualization Without Coding&#34; loading=&#34;lazy&#34; src=&#34;https://www.s-anand.net/blog/assets/image-2.webp&#34;&gt;&lt;/p&gt;
&lt;p&gt;After seeing &lt;a href=&#34;https://www.linkedin.com/in/david-mccandless-4641b54/&#34;&gt;David McCandless&lt;/a&gt;&amp;rsquo; post &amp;ldquo;&lt;a href=&#34;https://lnkd.in/g9KzppEQ&#34;&gt;Which country is across the ocean?&lt;/a&gt;&amp;rdquo; I was curious which country you would reach if you tunneled below in a straight line (the antipode).&lt;/p&gt;
&lt;p&gt;This is a popular visualization, but I wanted to see if I could get the newer OpenAI models to create the visual without me 𝗿𝘂𝗻𝗻𝗶𝗻𝗴 any code (i.e. I just want the answer.) After a couple of iterations, O3 did a great job with this prompt:&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;ge&#34;&gt;_𝚜𝚒𝚗𝚐𝚕𝚎_&lt;/span&gt; 𝙶𝚎𝚘𝙹𝚂𝙾𝙽 (𝙴𝙿𝚂𝙶:𝟺𝟹𝟸𝟼) 𝚝𝚑𝚊𝚝 𝚜𝚑𝚘𝚠𝚜, 𝚏𝚘𝚛 𝚎𝚊𝚌𝚑 𝚌𝚘𝚞𝚗𝚝𝚛𝚢, 𝚘𝚗𝚕𝚢 𝚝𝚑𝚎 𝚙𝚊𝚛𝚝𝚜 𝚘𝚏 𝚒𝚝𝚜 𝚊𝚗𝚝𝚒𝚙𝚘𝚍𝚎 𝚝𝚑𝚊𝚝 𝚕𝚒𝚎 𝚘𝚟𝚎𝚛 𝚘𝚌𝚎𝚊𝚗. 𝙲𝚊𝚛𝚎𝚏𝚞𝚕𝚕𝚢 𝚑𝚊𝚗𝚍𝚕𝚎 𝚌𝚘𝚞𝚗𝚝𝚛𝚒𝚎𝚜 𝚝𝚑𝚊𝚝 𝚜𝚝𝚛𝚊𝚍𝚍𝚕𝚎 𝚝𝚑𝚎 𝚙𝚛𝚒𝚖𝚎 𝚖𝚎𝚛𝚒𝚍𝚒𝚊𝚗 - 𝚄𝙺, 𝙵𝚛𝚊𝚗𝚌𝚎, 𝙰𝚕𝚐𝚎𝚛𝚒𝚊, 𝚎𝚝𝚌.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&#34;https://geojson.io/#data=data:text/x-url,https%3A%2F%2Fraw.githubusercontent.com%2Fsanand0%2Fantipodes%2Frefs%2Fheads%2Fmain%2Fantipodal_ocean.geojson&#34;&gt;Here is the output&lt;/a&gt; and here is the &lt;a href=&#34;https://chatgpt.com/share/68034776-8cec-800c-a85b-7d6bc94411c0&#34;&gt;ChatGPT conversation&lt;/a&gt; that generated it.&lt;/p&gt;
&lt;p&gt;I learnt a few things:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Ask for the output, not the code&lt;/strong&gt;. Models like O3 and O4 Mini can &lt;strong&gt;run code&lt;/strong&gt; while thinking. Let&amp;rsquo;s stop asking for code to run. Just ask for the output directly. Let it figure out how.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Edge cases are everywhere&lt;/strong&gt;. I had a problem with UK, France, Algeria, etc. straddling the prime meridian. If all goes well, you get AI-speed results. But it never does, and fixing it takes an expert and human-speed results. Programmers under-estimate edge cases, so compensate for this.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you want to run this yourself, the code is at &lt;a href=&#34;https://lnkd.in/g23p3K-F&#34;&gt;https://github.com/sanand0/antipodes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.linkedin.com/feed/update/urn%3Ali%3AugcPost%3A7319277426029539329&#34;&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things I Learned - 09 Feb 2025</title>
      <link>https://www.s-anand.net/blog/things-i-learned-09-feb-2025/</link>
      <pubDate>Sun, 09 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://www.s-anand.net/blog/things-i-learned-09-feb-2025/</guid>
      <description>&lt;p&gt;This week, I learned:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lessons from discussions at IIT Madras:
&lt;ul&gt;
&lt;li&gt;Even in recorded video tutorials, asking students a question and pausing to give them time to think can be effective.&lt;/li&gt;
&lt;li&gt;When you put students in front of real clients, engagement increases dramatically.&lt;/li&gt;
&lt;li&gt;Most teaching assistants would like to help diligent students among the bottom half (more than the top decile of students).&lt;/li&gt;
&lt;li&gt;However, there is a fraction of poor performers who do not care, and are best ignored. Their engagement and effort is a good measure of their interest.&lt;/li&gt;
&lt;li&gt;Defining a minimal set of principles that we want to teach helps us measure if we&amp;rsquo;ve helped the bottom half at least meet those objectives.&lt;/li&gt;
&lt;li&gt;Teaching is hard. Even after explanations, students, even ENGAGED students, tend to make basic mistakes&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ChatGPT does a good job of spotting errors in architectural and structural diagrams. In fact, the whole theme of spotting errors in large diagram is a theme that can have potential use cases. Source: Dan Becker.&lt;/li&gt;
&lt;li&gt;R1 seems good at text-to-CAD. Even better than Sonnet. Source: Dan Becker&lt;/li&gt;
&lt;li&gt;OpenAI advices a few different prompting techniques for reasoning models. &lt;a href=&#34;https://platform.openai.com/docs/guides/reasoning#advice-on-prompting&#34;&gt;OpenAI&lt;/a&gt;:
&lt;ul&gt;
&lt;li&gt;Avoid examples unless zero-shot prompting fails.&lt;/li&gt;
&lt;li&gt;Avoid chain-of-thought. These models do that internally anyway.&lt;/li&gt;
&lt;li&gt;Short, direct prompts are better than detailed prompts.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/marketplace/models&#34;&gt;GitHub models&lt;/a&gt; is free for anyone to try. The model catalog us &lt;em&gt;extensive&lt;/em&gt; and even includes &lt;code&gt;o3-mini&lt;/code&gt; which was launched this week (though in limited preview).&lt;/li&gt;
&lt;li&gt;The data catalog space is led by proprietary solutions:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.alation.com/data-catalog/&#34;&gt;Alation Data Catalog&lt;/a&gt;: Market leader; growing steadily in enterprise use&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.collibra.com/data-catalog&#34;&gt;Collibra Data Catalog&lt;/a&gt;: Widely adopted with steady growth&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://aws.amazon.com/glue/features/data-catalog/&#34;&gt;AWS Glue Data Catalog&lt;/a&gt;: Growing rapidly as AWS expands its data services&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.informatica.com/products/data-catalog/&#34;&gt;Informatica Enterprise Data Catalog&lt;/a&gt;: Long established and stable, though facing newer alternatives&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.microsoft.com/en-us/microsoft-365/enterprise-data-catalog&#34;&gt;Microsoft Purview Unified Catalog&lt;/a&gt;: Experiencing fast growth driven by cloud momentum&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.atlan.com/data-catalog&#34;&gt;Atlan Data Catalog&lt;/a&gt;: Relatively new but gaining fast traction among tech-forward organizations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.opus.pro/&#34;&gt;OpusClip&lt;/a&gt; automatically creates short clips from long videos.
I ran it on &lt;a href=&#34;https://youtu.be/NgvtJZDcY&#34;&gt;Programming Minecraft with WebSockets in Python&lt;/a&gt; to get this
&lt;a href=&#34;https://www.youtube.com/shorts/v3W2cjTWY-Y&#34;&gt;short 30-second clip&lt;/a&gt;. 30 minutes. 100% automated.&lt;/li&gt;
&lt;li&gt;Alternatives to Postman:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://hoppscotch.io/&#34;&gt;Hoppscotch&lt;/a&gt; – A web‑based/desktop API client supporting REST, GraphQL, and WebSockets. It’s lightweight, open-source, and self‑hostable.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://httpie.io/app&#34;&gt;HTTPie&lt;/a&gt; – A web-based API along with a friendly command-line tool for API interaction.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://insomnia.rest/&#34;&gt;Insomnia&lt;/a&gt; (or its fork Insomnium) – A popular cross‑platform API client with a minimal interface and plugin ecosystem.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.usebruno.com/&#34;&gt;Bruno&lt;/a&gt; – A desktop open-source API client that stores collections as files (ideal for Git versioning).&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://milkman.dev/&#34;&gt;Milkman&lt;/a&gt; – A desktop open‑source workbench for managing API requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Here is the summary of &lt;a href=&#34;https://www.youtube.com/watch?v=Sb9DFclZRpg&#34;&gt;DuckCon #6&lt;/a&gt; on 31 Jan 2025 in Amsterdam. I copied the transcript from &lt;a href=&#34;https://youtubetranscript.com/&#34;&gt;YouTubeTranscript&lt;/a&gt; and passed it through Gemini 2.0 Flash Exp with the system prompt: &amp;ldquo;Summarize this transcript from the DuckDB conference without missing any points. Cover every point mentioned. A lot of spelling errors that sound like DuckDB are likely to be DuckDB&amp;rdquo;.
&lt;ul&gt;
&lt;li&gt;Introduction &amp;amp; Welcome:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DuckCon #6:&lt;/strong&gt; This is the 6th DuckDB conference, held in their hometown. The first DuckCon was online due to the pandemic.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live Streaming:&lt;/strong&gt; This is the first time DuckCon is being live-streamed, chosen to accommodate global time zones (especially China and the US).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Global Reach:&lt;/strong&gt; The live stream is intended to reach users in areas where in-person DuckCons are unlikely.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Q&amp;amp;A:&lt;/strong&gt; Slido (qa.duckdb.org) will be used for Q&amp;amp;A, with upvoting to prioritize questions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sponsors:&lt;/strong&gt; Thanks to gold sponsor monday.com and silver sponsors Real and Crunchy Data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckCon Purpose:&lt;/strong&gt; DuckCon is a place for users to connect, share experiences, and provide feedback to the DuckDB team.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inspiration:&lt;/strong&gt; The team is inspired by the community&amp;rsquo;s use of DuckDB and how far the project has come.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mission Statement:&lt;/strong&gt; DuckDB aims to make large datasets less intimidating and more accessible, moving away from fear of data to confidence in handling it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; The project was born from seeing people struggle with data that didn&amp;rsquo;t fit in Excel and the lack of user-friendly tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Industry Trends:&lt;/strong&gt; Single-node processing capabilities have grown faster than the size of useful datasets.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data Singularity:&lt;/strong&gt; A prediction that most data analysis queries can run on a single node is now a reality.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-World Data Sizes:&lt;/strong&gt; Analysis of Snowflake and Redshift data shows that 99.9% of datasets are under 300GB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Raspberry Pi Benchmark:&lt;/strong&gt; The industry-standard TPCH benchmark (scale factor 300, ~300GB) can run on a Raspberry Pi using DuckDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Single Node Growth:&lt;/strong&gt; Single-node processing power is rapidly increasing, allowing for larger datasets to be handled.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Adoption Numbers:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;32 Million Extension Installs:&lt;/strong&gt; 32 million DuckDB extension installs in the last month.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;1.8 Million Unique Website Visitors:&lt;/strong&gt; 1.8 million unique visitors per month to the DuckDB website.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blue Sky Community:&lt;/strong&gt; Growing community on Blue Sky, with the hashtag &lt;code&gt;#dataBS&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Technical Updates (Mark):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Extension Ecosystem:&lt;/strong&gt; Focus on enabling the community to build and share extensions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community Extensions:&lt;/strong&gt; Making it easier to create and use community-built extensions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB v1.2 (Harlequin Duck):&lt;/strong&gt; Releasing next week, named after the Harlequin duck.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CSV Reader Improvements:&lt;/strong&gt; Significant improvements to the CSV reader.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Friendlier SQL:&lt;/strong&gt; Improvements to the SQL experience.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CLI Autocomplete:&lt;/strong&gt; Reworked and improved CLI autocomplete.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance Optimizations:&lt;/strong&gt; Many queries are now faster due to performance work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C API for Extensions:&lt;/strong&gt; Introducing a C API to make building extensions easier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logging Features:&lt;/strong&gt; Improved logging for production use.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lakehouse Focus:&lt;/strong&gt; The main focus for the year is on lakehouse formats and related features.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A (Mark &amp;amp; Hanis):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Doubling Team:&lt;/strong&gt; If the team doubled, they would focus on client integrations and other projects, not a major architectural change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partitioning:&lt;/strong&gt; Near-term plans to add support for partitioning, related to lakehouse formats.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB WASM:&lt;/strong&gt; The WASM ecosystem is evolving, with exciting possibilities for in-browser use.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Financial/Pharmaceutical Industries:&lt;/strong&gt; DuckDB could replace some SAS workflows due to its cost-effectiveness and capabilities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lakehouse &amp;amp; MotherDuck:&lt;/strong&gt; Lakehouse work is separate from MotherDuck, though MotherDuck will likely support lakehouse features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contributing to Extensions:&lt;/strong&gt; Plans to make it easier to contribute to extensions, including support for Rust and Go.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Airport Extension (Rusty):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Analogy:&lt;/strong&gt; The airport extension allows DuckDB to &amp;ldquo;fly&amp;rdquo; to remote servers using Apache Arrow Flight.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functionality:&lt;/strong&gt; Supports select, insert, update, and delete operations on remote data sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; To reduce the burden of writing extensions and enable faster development using existing code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Arrow Flight:&lt;/strong&gt; Uses Arrow Flight for communication, enabling connections to various data sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demo 1: Delta Lake:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Attaches to a flight server for Delta Lake access.&lt;/li&gt;
&lt;li&gt;Allows creating schemas, tables, and performing standard SQL operations.&lt;/li&gt;
&lt;li&gt;Uses Python and deltars (Rust implementation of Delta Lake).&lt;/li&gt;
&lt;li&gt;Supports predicate pushdown and C integration with the DuckDB catalog.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demo 2: AutoGluon:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Integrates the AutoGluon AutoML package.&lt;/li&gt;
&lt;li&gt;Predicts Hacker News post votes using a trained model.&lt;/li&gt;
&lt;li&gt;Demonstrates table-returning functions for model fitting and prediction.&lt;/li&gt;
&lt;li&gt;No C++ code required, just Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demo 3: Geocoding:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Uses a geocoder service to convert addresses to coordinates and vice versa.&lt;/li&gt;
&lt;li&gt;Demonstrates scalar UDFs for vectorized requests.&lt;/li&gt;
&lt;li&gt;Uses a Python example for a simple uppercase function.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Features:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;List flights, take flights.&lt;/li&gt;
&lt;li&gt;Catalog integration.&lt;/li&gt;
&lt;li&gt;Select, update, delete.&lt;/li&gt;
&lt;li&gt;Scalar UDFs.&lt;/li&gt;
&lt;li&gt;Table in/out functions.&lt;/li&gt;
&lt;li&gt;Authentication for row/column filtering.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Availability:&lt;/strong&gt; Requires DuckDB 1.2, MIT licensed, available on GitHub.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A (Rusty):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Most Proud Extension:&lt;/strong&gt; Airport is the most fun, but the AWS API wrapper also brings joy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Extension Resources:&lt;/strong&gt; The GitHub DuckDB extension template and reading others&amp;rsquo; source code are helpful.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Airport &amp;amp; Other Extensions:&lt;/strong&gt; Airport is separate and can be used alongside other extensions like spatial or httpfs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Graph Support:&lt;/strong&gt; Graph database support is planned, with examples like Kuzu, Neptune, and Neo4j.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Licensing:&lt;/strong&gt; Airport is MIT licensed, compatible with Apache license.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scaling Out:&lt;/strong&gt; Airport can be used to query multiple DuckDB instances on different machines.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Ibis &amp;amp; Geospatial (Nati):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Nati Clementi:&lt;/strong&gt; Senior software engineer at Nvidia, working on open-source projects like Ibis.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis:&lt;/strong&gt; Open-source Python library for data wrangling, with a DataFrame API and interfaces to 15+ engines, including DuckDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB for Geospatial:&lt;/strong&gt; DuckDB is fast, has a geospatial extension, and supports various geospatial formats.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geop Parquet:&lt;/strong&gt; Becoming a standard for geospatial data, enabling cloud data warehouse interoperability and compression.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geo Arrow:&lt;/strong&gt; A way of representing geospatial vector data in memory for faster processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis Benefits:&lt;/strong&gt; Allows writing Python instead of SQL, with deferred execution determined by the engine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demo:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Uses OverTour Maps data in geop parquet format.&lt;/li&gt;
&lt;li&gt;Filters data using bounding boxes.&lt;/li&gt;
&lt;li&gt;Demonstrates geospatial operations like ST_Distance and ST_Transform.&lt;/li&gt;
&lt;li&gt;Plots data using Lumber.&lt;/li&gt;
&lt;li&gt;Shows how to find points of interest near a location (e.g., the Van Gogh Museum).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis &amp;amp; DuckDB:&lt;/strong&gt; Ibis uses DuckDB for the parquet reader and lets DuckDB do the heavy lifting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis Optimizations:&lt;/strong&gt; Ibis does type checking but doesn&amp;rsquo;t do query optimization, leaving that to the engine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis in Browser:&lt;/strong&gt; Ibis works in the browser through DuckDB WASM.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A (Nati):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Linear Interpolation:&lt;/strong&gt; Ibis ML module can help with regression-related tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Missing Features:&lt;/strong&gt; No major features are missing in the DuckDB/Ibis geospatial setup, with minimal overhead.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Parquet Reader:&lt;/strong&gt; Ibis uses DuckDB&amp;rsquo;s parquet reader.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Query Optimization:&lt;/strong&gt; Ibis does not optimize SQL queries, leaving that to DuckDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibis in Browser:&lt;/strong&gt; Ibis works in the browser through DuckDB WASM.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Rill &amp;amp; Metrics Layer (Mike):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rill:&lt;/strong&gt; A BI tool optimized for DuckDB, with instant slicing and dicing, BI as code, and a metrics-first philosophy.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Metrics-First:&lt;/strong&gt; Design metrics models, and Rill autogenerates dashboards and user experiences.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live Demo:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Downloaded Rill using a curl command.&lt;/li&gt;
&lt;li&gt;Created a new project called &amp;ldquo;DuckCon 6&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Imported a parquet file of GitHub commit data.&lt;/li&gt;
&lt;li&gt;Used AI to generate a metrics model and dashboard.&lt;/li&gt;
&lt;li&gt;Showed the dashboard with trends and filtering.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Metrics as Building Blocks:&lt;/strong&gt; Metrics are flexible, fast, and intuitive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL for Metrics:&lt;/strong&gt; Metrics should be defined in SQL, not other languages.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Visual Metrics Editor:&lt;/strong&gt; Rill has a visual editor for defining metrics using DuckDB SQL.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Metric Stack:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Legacy:&lt;/strong&gt; Data warehouses, traditional BI tools, inconsistent metrics, full table scans.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB Powered:&lt;/strong&gt; Consistent metrics, fast olap queries, SQL everywhere.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Challenges:&lt;/strong&gt; Data modeling is hard, metric changes can be expensive, single-node scale has limits.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI &amp;amp; Metrics:&lt;/strong&gt; AI can assist in metrics modeling, optimization, and conversational data exploration.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A (Mike):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Complex Metrics:&lt;/strong&gt; Rill works well with complex metrics involving multiple sources and transformations by joining tables in DuckDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;60 FPS Dashboards:&lt;/strong&gt; Users can feel the difference with faster dashboards.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Defining Metrics:&lt;/strong&gt; Metrics are defined in the Rill UI using SQL expressions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Replacing ChatGPT:&lt;/strong&gt; Considering locally run self-hosted models for privacy.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Stock Data Analysis (Ryan):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Two Takeaways:&lt;/strong&gt; Simple finance data flows with trade data and a tool called Q Studio.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ryan Hamilton:&lt;/strong&gt; 14 years building large data platforms in banks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bank Data:&lt;/strong&gt; Data from exchanges, market data providers, and internal systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use Cases:&lt;/strong&gt; Backtesting, data analysis, and report generation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Q Studio:&lt;/strong&gt; A Java desktop application that connects to 30 databases, including DuckDB.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Demo:&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Loaded a 6GB CSV file of trade data into DuckDB.&lt;/li&gt;
&lt;li&gt;Showed basic queries, pivoting, and Candlestick charts.&lt;/li&gt;
&lt;li&gt;Demonstrated time-based aggregation and moving averages.&lt;/li&gt;
&lt;li&gt;Showed a basic trading strategy using window functions.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckDB Benefits:&lt;/strong&gt; Fast, easy to use, great for time-based analysis.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A (Ryan):
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;KDB+ vs. DuckDB:&lt;/strong&gt; KDB+ is for large data, DuckDB is more approachable with strong Python integration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;XML Files:&lt;/strong&gt; Offloading processing to DuckDB, not planning XML integration.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Lightning Talks:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Zuk (Jared):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Search engine research using DuckDB.&lt;/li&gt;
&lt;li&gt;Python-based experiments with SQL.&lt;/li&gt;
&lt;li&gt;Removing document lengths for faster search engines.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DuckPGQ (Daniel):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Graph analytics in DuckDB using SQL property graph queries (pgq).&lt;/li&gt;
&lt;li&gt;Visual graph syntax for pattern matching and path finding.&lt;/li&gt;
&lt;li&gt;Outperforms Neo4j on analytical queries.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Yat (Kristoff):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Smallest DuckDB SQL orchestrator.&lt;/li&gt;
&lt;li&gt;Runs SQL queries in a folder in the correct order.&lt;/li&gt;
&lt;li&gt;Generates a mermaid diagram for lineage.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Grafana &amp;amp; DuckDB (Sam):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Lessons learned from using DuckDB in Grafana.&lt;/li&gt;
&lt;li&gt;Security incident due to shell commands and file access.&lt;/li&gt;
&lt;li&gt;Importance of reading the documentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Slur (Adam):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Syncing query engine for bank transaction data.&lt;/li&gt;
&lt;li&gt;Uses LLM to convert human language to SQL.&lt;/li&gt;
&lt;li&gt;Uses DuckDB in the browser, Node.js, and Python.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Healthcare Data (Tony):&lt;/strong&gt;
&lt;ul&gt;
&lt;li&gt;Data engineering use cases in healthcare.&lt;/li&gt;
&lt;li&gt;Dynamic data masking system using DuckDB and Snowflake.&lt;/li&gt;
&lt;li&gt;Data integration pipeline using DuckDB and Arrow streams.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Closing Remarks:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Michel Simmons:&lt;/strong&gt; Author of the DuckDB in Action book, will be signing books.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Poster Session:&lt;/strong&gt; A poster session will follow the talks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sponsors:&lt;/strong&gt; Thanks again to the sponsors.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Social Event:&lt;/strong&gt; The conference will now move to the social event.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://duckdb.org/docs/guides/python/ibis.html&#34;&gt;ibis&lt;/a&gt; is a Python library that works with &lt;em&gt;multiple&lt;/em&gt; dataframe backends like DuckDB, Polars, and Pandas.&lt;/li&gt;
&lt;li&gt;With just 3 annotators and 50-100 samples, you can figure out if an LLM can replace human annotators systematically.&lt;a href=&#34;https://arxiv.org/pdf/2501.10970&#34;&gt;Arxiv&lt;/a&gt; &lt;a href=&#34;https://chatgpt.com/share/679f21a4-d700-800c-b1f1-987b56b6fe0a&#34;&gt;ChatGPT explanation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Curiosity and agency may be the differentiator in a world of LLMs (not experience, knowledge, or ability), since LLMs will democratize expertise. &lt;a href=&#34;https://importai.substack.com/p/import-ai-397-deepseek-means-ai-proliferation&#34;&gt;Jack Clark&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;AI/human combined work can be copyrighted as long as a human is adding, changing or selecting elements. Prompts alone do not usually produce copyrighted work.&amp;rdquo; - &lt;a href=&#34;https://copyright.gov/ai/Copyright-and-Artificial-Intelligence-Part-2-Copyrightability-Report.pdf&#34;&gt;Copyright and Artificial Intelligence, Jan 2025, US Copyright Office&lt;/a&gt; via &lt;a href=&#34;https://bsky.app/profile/did:plc:flxq4uyjfotciovpw3x3fxnu/post/3lgxlnzgbss2j&#34;&gt;Ethan Mollick&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Human Authorship is Essential:&lt;/strong&gt; Works created solely by AI are not copyrightable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI can be used as a Tool:&lt;/strong&gt; Using AI as a tool does not negate copyright protection, as long as the final work reflects sufficient human creativity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompts Alone are Insufficient:&lt;/strong&gt; Simply providing prompts to an AI system, even detailed ones, is generally not enough to establish authorship. Prompts are considered instructions or ideas, which are not copyrightable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expressive Inputs:&lt;/strong&gt; When a human author provides their own expressive content (like a drawing, photo, or text) as input to an AI system, and that content is perceptible in the output, the human author can claim copyright in that portion of the output.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Modifying and Arranging AI-Generated Content:&lt;/strong&gt; Humans can claim copyright in the creative selection, coordination, and arrangement of AI-generated material, as well as in creative modifications to AI-generated outputs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Need for New Legislation:&lt;/strong&gt; The report concludes that existing copyright law is adequate to address the copyrightability of AI-generated works, and no new legislation is needed at this time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Case-by-Case Analysis:&lt;/strong&gt; Copyrightability will be determined on a case-by-case basis, considering the specific facts of each work and the extent of human contribution.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
  </channel>
</rss>
