<?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-05-12T23:41:06+00:00</updated><author><name>Simon Willison</name></author><entry><title>datasette 1.0a29</title><link href="https://github.com/simonw/datasette/releases/tag/1.0a29" rel="alternate"/><published>2026-05-12T23:41:06+00:00</published><updated>2026-05-12T23:41:06+00:00</updated><id>https://github.com/simonw/datasette/releases/tag/1.0a29</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/datasette/releases/tag/1.0a29"&gt;datasette 1.0a29&lt;/a&gt;&lt;/p&gt;&lt;p&gt;An open source multi-tool for exploring and publishing data&lt;/p&gt;</summary><category term="projects"/><category term="datasette"/></entry><entry><title>llm 0.32a2</title><link href="https://github.com/simonw/llm/releases/tag/0.32a2" rel="alternate"/><published>2026-05-12T17:45:07+00:00</published><updated>2026-05-12T17:45:07+00:00</updated><id>https://github.com/simonw/llm/releases/tag/0.32a2</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm/releases/tag/0.32a2"&gt;llm 0.32a2&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Access large language models from the command-line&lt;/p&gt;</summary><category term="llm"/><category term="projects"/><category term="openai"/><category term="generative-ai"/><category term="annotated-release-notes"/><category term="ai"/><category term="llms"/></entry><entry><title>Using LLM in the shebang line of a script</title><link href="https://til.simonwillison.net/llms/llm-shebang" rel="alternate"/><published>2026-05-11T18:48:57+00:00</published><updated>2026-05-11T18:48:57+00:00</updated><id>https://til.simonwillison.net/llms/llm-shebang</id><summary type="html">&lt;p&gt;&lt;a href="https://til.simonwillison.net/llms/llm-shebang"&gt;Using LLM in the shebang line of a script&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This comment on Hacker News inspired me to investigate patterns for using my LLM CLI tool in a shebang line:&lt;/p&gt;</summary><category term="llm"/><category term="llm-tool-use"/><category term="llms"/><category term="ai"/><category term="generative-ai"/></entry><entry><title>llm-gemini 0.31</title><link href="https://github.com/simonw/llm-gemini/releases/tag/0.31" rel="alternate"/><published>2026-05-07T19:57:06+00:00</published><updated>2026-05-07T19:57:06+00:00</updated><id>https://github.com/simonw/llm-gemini/releases/tag/0.31</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm-gemini/releases/tag/0.31"&gt;llm-gemini 0.31&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LLM plugin to access Google's Gemini family of models&lt;/p&gt;</summary><category term="llm-release"/><category term="gemini"/><category term="llm"/><category term="google"/><category term="generative-ai"/><category term="ai"/><category term="llms"/></entry><entry><title>Big Words</title><link href="https://tools.simonwillison.net/big-words" rel="alternate"/><published>2026-05-07T18:47:09+00:00</published><updated>2026-05-07T18:47:09+00:00</updated><id>https://tools.simonwillison.net/big-words</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/big-words"&gt;Big Words&lt;/a&gt;&lt;/p&gt;</summary><category term="vibe-coding"/><category term="tools"/></entry><entry><title>GitHub Repo Stats</title><link href="https://tools.simonwillison.net/github-repo-stats" rel="alternate"/><published>2026-05-07T07:25:14+00:00</published><updated>2026-05-07T07:25:14+00:00</updated><id>https://tools.simonwillison.net/github-repo-stats</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/github-repo-stats"&gt;GitHub Repo Stats&lt;/a&gt;&lt;/p&gt;&lt;p&gt;View GitHub repository statistics including commit counts, contributor information, language breakdowns, and release details by entering a repository name or URL. This tool fetches data directly from the GitHub REST API in your browser, displaying comprehensive metrics such as stars, forks, branches, tags, and activity timestamps. Optionally authenticate with GitHub to increase your API rate limit from 60 to 5,000 requests per hour.&lt;/p&gt;</summary><category term="github"/></entry><entry><title>datasette-referrer-policy 0.1</title><link href="https://github.com/datasette/datasette-referrer-policy/releases/tag/0.1" rel="alternate"/><published>2026-05-05T23:44:27+00:00</published><updated>2026-05-05T23:44:27+00:00</updated><id>https://github.com/datasette/datasette-referrer-policy/releases/tag/0.1</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-referrer-policy/releases/tag/0.1"&gt;datasette-referrer-policy 0.1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Set the Referrer-Policy header for a Datasette site&lt;/p&gt;</summary><category term="openstreetmap"/><category term="http"/><category term="datasette"/></entry><entry><title>datasette-llm 0.1a7</title><link href="https://github.com/datasette/datasette-llm/releases/tag/0.1a7" rel="alternate"/><published>2026-05-05T01:56:55+00:00</published><updated>2026-05-05T01:56:55+00:00</updated><id>https://github.com/datasette/datasette-llm/releases/tag/0.1a7</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/datasette/datasette-llm/releases/tag/0.1a7"&gt;datasette-llm 0.1a7&lt;/a&gt;&lt;/p&gt;&lt;p&gt;LLM integration plugin for other plugins to depend on&lt;/p&gt;</summary><category term="llm"/><category term="datasette"/></entry><entry><title>llm-echo 0.5a0</title><link href="https://github.com/simonw/llm-echo/releases/tag/0.5a0" rel="alternate"/><published>2026-05-05T01:31:54+00:00</published><updated>2026-05-05T01:31:54+00:00</updated><id>https://github.com/simonw/llm-echo/releases/tag/0.5a0</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/llm-echo/releases/tag/0.5a0"&gt;llm-echo 0.5a0&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Debug plugin for LLM providing an echo model&lt;/p&gt;</summary><category term="llm"/></entry><entry><title>TRE Python binding — ReDoS robustness demo</title><link href="https://github.com/simonw/research/tree/main/tre-python-binding#readme" rel="alternate"/><published>2026-05-04T17:52:00+00:00</published><updated>2026-05-04T17:52:00+00:00</updated><id>https://github.com/simonw/research/tree/main/tre-python-binding#readme</id><summary type="html">&lt;p&gt;&lt;a href="https://github.com/simonw/research/tree/main/tre-python-binding#readme"&gt;TRE Python binding — ReDoS robustness demo&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Demonstrating robust regex performance, this project offers a minimal Python ctypes binding to the TRE regex library, highlighting TRE’s immunity to regular expression denial-of-service (ReDoS) attacks that cripple Python's built-in `re` module. Key benchmarks show that TRE processes even notorious "evil" patterns on gigantic inputs (10 million characters) much faster than `re` on tiny ones, and scales linearly with input size instead of exponentially.&lt;/p&gt;</summary><category term="security"/><category term="python"/><category term="regular-expressions"/><category term="c"/><category term="ctypes"/></entry><entry><title>Redis Array Playground</title><link href="https://tools.simonwillison.net/redis-array" rel="alternate"/><published>2026-05-04T15:53:57+00:00</published><updated>2026-05-04T15:53:57+00:00</updated><id>https://tools.simonwillison.net/redis-array</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/redis-array"&gt;Redis Array Playground&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# Redis Array Playground&lt;/p&gt;</summary><category term="salvatore-sanfilippo"/><category term="webassembly"/><category term="generative-ai"/><category term="agentic-engineering"/><category term="ai"/><category term="redis"/><category term="llms"/><category term="regular-expressions"/><category term="c"/></entry><entry><title>Tree Swallow</title><link href="https://simonwillison.net/2026/May/3/sighting-213/#atom-beats" rel="alternate"/><published>2026-05-03T16:13:00+00:00</published><updated>2026-05-03T16:13:00+00:00</updated><id>https://simonwillison.net/2026/May/3/sighting-213/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/652930542/large.jpg" alt="Tree Swallow"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/652930689/large.jpg" alt="Tree Swallow"&gt;&lt;/p&gt;&lt;p&gt;Tree Swallow&lt;/p&gt;</summary></entry><entry><title>Gray Fox, Osprey, Brewer's Blackbird</title><link href="https://simonwillison.net/2026/May/2/sighting-212/#atom-beats" rel="alternate"/><published>2026-05-02T20:42:00+00:00</published><updated>2026-05-02T20:42:00+00:00</updated><id>https://simonwillison.net/2026/May/2/sighting-212/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/652423277/large.jpg" alt="Gray Fox"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/652489094/large.jpg" alt="Osprey"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/652521152/large.jpg" alt="Brewer&amp;#x27;s Blackbird"&gt;&lt;/p&gt;&lt;p&gt;Gray Fox, Osprey, Brewer&amp;#x27;s Blackbird&lt;/p&gt;</summary></entry><entry><title>Acorn Woodpecker</title><link href="https://simonwillison.net/2026/May/2/sighting-211/#atom-beats" rel="alternate"/><published>2026-05-02T02:51:00+00:00</published><updated>2026-05-02T02:51:00+00:00</updated><id>https://simonwillison.net/2026/May/2/sighting-211/#atom-beats</id><summary type="html">&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/651853337/large.jpg" alt="Acorn Woodpecker"&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="https://static.inaturalist.org/photos/651853732/large.jpg" alt="Acorn Woodpecker"&gt;&lt;/p&gt;&lt;p&gt;Acorn Woodpecker&lt;/p&gt;</summary></entry><entry><title>iNaturalist Sightings</title><link href="https://tools.simonwillison.net/inat-sightings" rel="alternate"/><published>2026-05-01T19:35:41+00:00</published><updated>2026-05-01T19:35:41+00:00</updated><id>https://tools.simonwillison.net/inat-sightings</id><summary type="html">&lt;p&gt;&lt;a href="https://tools.simonwillison.net/inat-sightings"&gt;iNaturalist Sightings&lt;/a&gt;&lt;/p&gt;&lt;p&gt;# Documentation&lt;/p&gt;</summary><category term="tools"/><category term="claude-code"/><category term="inaturalist"/><category term="generative-ai"/><category term="ai"/><category term="llms"/></entry></feed>