<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: Beats</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/atom/beats/" rel="self"/><id>http://simonwillison.net/</id><updated>2026-11-10T03:53:04+00:00</updated><author><name>Simon Willison</name></author><entry><title>Yonkers Rises</title><link href="https://tools.simonwillison.net/yonkers-rises" rel="alternate"/><published>2026-11-10T03:53:04+00:00</published><updated>2026-11-10T03:53:04+00:00</updated><id>https://tools.simonwillison.net/yonkers-rises</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/yonkers-rises"&gt;Yonkers Rises&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Yonkers Rises is an animated 3D diorama of New York City in which a giant mech, cut from the Yonkers boundary, rises from the ground and walks through Manhattan, Brooklyn, Queens, and the Bronx while a stomp counter and mech height readout track its progress. The scene plays a stand-up sequence followed by a looping stomping tour, with buildings flattened under each footfall, and the status line changes as it moves across land or wades through water.&lt;/p&gt;</summary><category term="ai"/><category term="generative-ai"/><category term="llms"/><category term="claude-mythos-fable"/><category term="three-js"/></entry><entry><title>llm-anthropic 0.31</title><link href="https://github.com/simonw/llm-anthropic/releases/tag/0.31" rel="alternate"/><published>2026-11-09T23:58:46+00:00</published><updated>2026-11-09T23:58:46+00:00</updated><id>https://github.com/simonw/llm-anthropic/releases/tag/0.31</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm-anthropic/releases/tag/0.31"&gt;llm-anthropic 0.31&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LLM access to models by Anthropic, including the Claude series&lt;/p&gt;</summary><category term="ai"/><category term="generative-ai"/><category term="llms"/><category term="llm"/><category term="anthropic"/><category term="claude"/><category term="pelican-riding-a-bicycle"/><category term="claude-mythos-fable"/></entry><entry><title>The Web Is More Than Enough, by Paul Ford</title><link href="https://news.ycombinator.com/item?id=50416456#50421091" rel="alternate"/><published>2026-11-09T04:32:33+00:00</published><updated>2026-11-09T04:32:33+00:00</updated><id>https://news.ycombinator.com/item?id=50416456#50421091</id><summary type="html">&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=50416456#50421091"&gt;My comment&lt;/a&gt; on &lt;a href="https://news.ycombinator.com/item?id=50416456"&gt;The Web Is More Than Enough, by Paul Ford&lt;/a&gt; &amp;mdash; Hacker News.&lt;/p&gt;&lt;p&gt;OK, this comment convinced me to give that a shot.&lt;/p&gt;
&lt;p&gt;Here's a thing I made in Three.js this morning - a Nudibranch themed Faberge Egg: &lt;a href="https://static.simonwillison.net/static/2026/Hidden-Reef-Egg-threejs.html"&gt;https://static.simonwillison.net/static/2026/Hidden-Reef-Egg...&lt;/a&gt; (77KB)&lt;/p&gt;
&lt;p&gt;I just asked Claude (Opus 5.5 Medium running in regular Claude Chat) to port that to Vanilla JS, in the same thread where it had built it, and got this: &lt;a href="https://static.simonwillison.net/static/2026/Hidden-Reef-Egg-Vanilla-WebGL.html"&gt;https://static.simonwillison.net/static/2026/Hidden-Reef-Egg...&lt;/a&gt; (98KB)&lt;/p&gt;
&lt;p&gt;They aren't identical - you can see what Claude said about that in the transcript (I don't fully understand why it differed): &lt;a href="https://claude.ai/share/e56d163e-2793-4677-aa11-191d5058b414"&gt;https://claude.ai/share/e56d163e-2793-4677-aa11-191d5058b414&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But yeah, it turns out Claude Opus 5.5 is perfectly capable of 3D modeling in Vanilla JS + WebGL without Three.js.&lt;/p&gt;
&lt;p&gt;In eyeballing the code I find the Three.js slightly easier to understand myself, but I rarely look at the code for these 3D projects so that isn't a particularly big deal.&lt;/p&gt;</summary><category term="hacker-news"/><category term="javascript"/><category term="ai"/><category term="generative-ai"/><category term="llms"/><category term="claude"/><category term="three-js"/></entry><entry><title>parse_number() as a SQLite extension: C vs Rust</title><link href="https://github.com/simonw/research/tree/main/sqlite-parse-number-c-vs-rust#readme" rel="alternate"/><published>2026-11-08T22:26:00+00:00</published><updated>2026-11-08T22:26:00+00:00</updated><id>https://github.com/simonw/research/tree/main/sqlite-parse-number-c-vs-rust#readme</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/research/tree/main/sqlite-parse-number-c-vs-rust#readme"&gt;parse_number() as a SQLite extension: C vs Rust&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Four SQLite extensions implement the same `parse_number()` behavior in C and Rust, with tests covering type preservation, parsing rules, and floating-point accuracy. The optimized C implementation was fastest at 16–19 ns per row, about twice as fast as the Rust versions and far faster than SQL `replace()`. Plain C was slower on decimals because it relied on `strtod()`, while a compact fast path closed that gap; all versions matched across 8 million fuzz checks.&lt;/p&gt;</summary><category term="c"/><category term="research"/><category term="sqlite"/><category term="rust"/><category term="claude"/></entry><entry><title>Great Blue Heron, Western Grebe, Botta's Pocket Gopher, California Brown Pelican, California Sea Lion, Pacific Harbor Seal</title><link href="https://simonwillison.net/2026/Nov/8/sighting-413706009/" rel="alternate"/><published>2026-11-08T19:05:16+00:00</published><updated>2026-11-08T19:05:16+00:00</updated><id>https://simonwillison.net/2026/Nov/8/sighting-413706009/</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761475467/large.jpg" alt="Great Blue Heron"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761475495/large.jpg" alt="Great Blue Heron"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761476559/large.jpg" alt="Western Grebe"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761476014/large.jpg" alt="Botta&amp;#x27;s Pocket Gopher"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761476204/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761475600/large.jpg" alt="California Sea Lion"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/761477075/large.jpg" alt="Pacific Harbor Seal"&gt;&lt;/p&gt;&lt;p&gt;Great Blue Heron, Western Grebe, Botta&amp;#x27;s Pocket Gopher, California Brown Pelican, California Sea Lion, Pacific Harbor Seal, in Monterey Bay National Marine Sanctuary, CA, US, CA&lt;/p&gt;</summary></entry><entry><title>Terry Pratchett's Study</title><link href="https://news.ycombinator.com/item?id=50405674#50407316" rel="alternate"/><published>2026-11-07T19:34:24+00:00</published><updated>2026-11-07T19:34:24+00:00</updated><id>https://news.ycombinator.com/item?id=50405674#50407316</id><summary type="html">&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=50405674#50407316"&gt;My comment&lt;/a&gt; on &lt;a href="https://news.ycombinator.com/item?id=50405674"&gt;Terry Pratchett&amp;#x27;s Study&lt;/a&gt; &amp;mdash; Hacker News.&lt;/p&gt;&lt;p&gt;Terry Pratchett once wrote about the concept of "horizontal wealth". Vertical wealth is where you spend money on rich people stuff - yachts and suchlike. Horizontal wealth is where you spend more money on the things you liked before you got rich: &lt;a href="https://chibuikeani.blogspot.com/2017/02/the-price-of-happiness-horizontal-vs.html"&gt;https://chibuikeani.blogspot.com/2017/02/the-price-of-happin...&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;But horizontal wealth means not letting your increased income dictate your tastes. You like books and now you have money? Buy more books! Change those catenary bookshelves for good hardwood ones! In my case, build a library extension to your office. And, of course, you buy what will be useful for that most wonderful of pursuits, blind research, which is research without direction for the sheer joy of it.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;(Original source is his book A Slip of the Keyboard - this linked blog post quotes that bit.)&lt;/p&gt;</summary><category term="hacker-news"/><category term="terry-pratchett"/></entry><entry><title>Brandt's Cormorant</title><link href="https://simonwillison.net/2026/Nov/5/sighting-412934494/" rel="alternate"/><published>2026-11-05T01:49:57+00:00</published><updated>2026-11-05T01:49:57+00:00</updated><id>https://simonwillison.net/2026/Nov/5/sighting-412934494/</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/759915696/large.jpg" alt="Brandt&amp;#x27;s Cormorant"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/759915713/large.jpg" alt="Brandt&amp;#x27;s Cormorant"&gt;&lt;/p&gt;&lt;p&gt;Brandt&amp;#x27;s Cormorant, in Pillar Point Harbor, CA, US&lt;/p&gt;</summary></entry><entry><title>datasette-llm 0.1a10</title><link href="https://github.com/datasette/datasette-llm/releases/tag/0.1a10" rel="alternate"/><published>2026-11-04T15:26:02+00:00</published><updated>2026-11-04T15:26:02+00:00</updated><id>https://github.com/datasette/datasette-llm/releases/tag/0.1a10</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-llm/releases/tag/0.1a10"&gt;datasette-llm 0.1a10&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LLM integration plugin for other plugins to depend on&lt;/p&gt;</summary><category term="datasette"/><category term="llm"/></entry><entry><title>datasette-apps 0.3a0</title><link href="https://github.com/datasette/datasette-apps/releases/tag/0.3a0" rel="alternate"/><published>2026-11-04T00:29:36+00:00</published><updated>2026-11-04T00:29:36+00:00</updated><id>https://github.com/datasette/datasette-apps/releases/tag/0.3a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-apps/releases/tag/0.3a0"&gt;datasette-apps 0.3a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Apps that live inside Datasette&lt;/p&gt;</summary><category term="datasette"/><category term="datasette-agent"/><category term="datasette-apps"/></entry><entry><title>datasette-agent 0.5a0</title><link href="https://github.com/datasette/datasette-agent/releases/tag/0.5a0" rel="alternate"/><published>2026-11-03T23:13:45+00:00</published><updated>2026-11-03T23:13:45+00:00</updated><id>https://github.com/datasette/datasette-agent/releases/tag/0.5a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-agent/releases/tag/0.5a0"&gt;datasette-agent 0.5a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;An LLM-powered agent for Datasette&lt;/p&gt;</summary><category term="projects"/><category term="datasette"/><category term="datasette-agent"/></entry><entry><title>llm 0.37.1</title><link href="https://github.com/simonw/llm/releases/tag/0.37.1" rel="alternate"/><published>2026-11-03T21:41:42+00:00</published><updated>2026-11-03T21:41:42+00:00</updated><id>https://github.com/simonw/llm/releases/tag/0.37.1</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm/releases/tag/0.37.1"&gt;llm 0.37.1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access large language models from the command-line&lt;/p&gt;</summary><category term="llm"/></entry><entry><title>AI is destroying my CS degree</title><link href="https://news.ycombinator.com/item?id=50353300#50354278" rel="alternate"/><published>2026-11-03T16:42:02+00:00</published><updated>2026-11-03T16:42:02+00:00</updated><id>https://news.ycombinator.com/item?id=50353300#50354278</id><summary type="html">&lt;p&gt;&lt;a href="https://news.ycombinator.com/item?id=50353300#50354278"&gt;My comment&lt;/a&gt; on &lt;a href="https://news.ycombinator.com/item?id=50353300"&gt;AI is destroying my CS degree&lt;/a&gt; &amp;mdash; Hacker News.&lt;/p&gt;&lt;p&gt;I don't envy educators right now.&lt;/p&gt;
&lt;p&gt;AI clearly means you need to change how you teach and evaluate students. We are only a few years in though, and it's still extremely unclear what effective teaching with these tools looks like.&lt;/p&gt;
&lt;p&gt;The worst part is that the evaluation loop is measured in multiple years! If you start trying some new education mechanism today you won't get a robust idea of how well it works until your current cohort graduate in 3-6 years time.&lt;/p&gt;
&lt;p&gt;Students effectively all become guinea pigs for untested new ways of learning and teaching.&lt;/p&gt;</summary><category term="education"/><category term="hacker-news"/><category term="ai"/><category term="ai-ethics"/></entry><entry><title>llm 0.37</title><link href="https://github.com/simonw/llm/releases/tag/0.37" rel="alternate"/><published>2026-11-02T23:49:30+00:00</published><updated>2026-11-02T23:49:30+00:00</updated><id>https://github.com/simonw/llm/releases/tag/0.37</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm/releases/tag/0.37"&gt;llm 0.37&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access large language models from the command-line&lt;/p&gt;</summary><category term="open-source"/><category term="projects"/><category term="ai"/><category term="annotated-release-notes"/><category term="generative-ai"/><category term="llms"/><category term="embeddings"/><category term="llm"/></entry><entry><title>California Sea Lion, California Brown Pelican</title><link href="https://simonwillison.net/2026/Nov/1/sighting-412352656/" rel="alternate"/><published>2026-11-01T23:18:26+00:00</published><updated>2026-11-01T23:18:26+00:00</updated><id>https://simonwillison.net/2026/Nov/1/sighting-412352656/</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/758738479/large.jpg" alt="California Sea Lion"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/758738571/large.jpg" alt="California Brown Pelican"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/758738408/large.jpg" alt="California Sea Lion"&gt;&lt;/p&gt;&lt;p&gt;California Sea Lion, California Brown Pelican, in Pillar Point Harbor, CA, US&lt;/p&gt;</summary></entry><entry><title>Black Phoebe</title><link href="https://simonwillison.net/2026/Nov/1/sighting-412352157/" rel="alternate"/><published>2026-11-01T20:33:27+00:00</published><updated>2026-11-01T20:33:27+00:00</updated><id>https://simonwillison.net/2026/Nov/1/sighting-412352157/</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/758737324/large.jpg" alt="Black Phoebe"&gt;&lt;/p&gt;&lt;p&gt;Black Phoebe, in San Mateo County, CA, US&lt;/p&gt;</summary></entry></feed>