Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release datasette-render-html 1.0 — Plugin for selectively rendering the HTML is specific columns
Release datasette 0.64.2 — An open source multi-tool for exploring and publishing data
None
TIL A simple Python wrapper for the ChatGPT API — OpenAI [released an API for ChatGPT](https://openai.com/blog/introducing-chatgpt-and-whisper-apis) yesterday. It's 1/10th of the price of the `text-davinci-003` model!
Release datasette-simple-html 0.1 — Datasette SQL functions for very simple HTML operations
Release datasette-app 0.2.3 — The Datasette macOS application
Release datasette-codespaces 0.1.1 — Conveniences for running Datasette on GitHub Codespaces
Release datasette-codespaces 0.1 — Conveniences for running Datasette on GitHub Codespaces
None
TIL sips: Scriptable image processing system — I wanted to convert some `.webp` images to `.png` on my Mac. I asked ChatGPT:
Release datasette-app-support 0.11.8 — Part of https://github.com/simonw/datasette-app
Release datasette-app-support 0.11.7 — Part of https://github.com/simonw/datasette-app
Sighting 1:42 PM — Steller's Jay, in California Central Coast, CA, US
Steller's Jay
Steller's Jay
Sighting 3:35 PM — Southern Sea Otter, in Monterey Bay Area, CA, US
Southern Sea Otter
Southern Sea Otter
None
TIL Training nanoGPT entirely on content from my blog — This is a follow-up to [Running nanoGPT on a MacBook M2 to generate terrible Shakespeare](https://til.simonwillison.net/llms/nanogpt-shakespeare-m2).
None
TIL Subqueries in select expressions in SQLite - also window functions — I figured out a single SQL query for the following today. Given a table of GitHub repositories, for each repository return:
Release datasette-explain 0.1a0 — Explain and validate SQL queries as you type them into Datasette
None
TIL Avoiding "length" errors in Apache Bench with the -l option — I was using the Apache Bench `ab` command to exercise some new code I'm writing in Datasette and I noticed I was getting a lot of errors:
Release db-to-sqlite 1.5 — CLI tool for exporting tables or queries from any SQL database to a SQLite file
None
TIL The SQLite now argument is stable within the same query — I stumbled across an interesting little detail of SQLite today, running the following query:
Sighting 10:12 AM — Northern Elephant Seal, in Año Nuevo State Reserve, CA, US
Northern Elephant Seal
Northern Elephant Seal
Northern Elephant Seal
Northern Elephant Seal
None
TIL Building Mastodon bots with GitHub Actions and toot — Twitter [announced today](https://twitter.com/TwitterDev/status/1621026986784337922) that they'll be ending free API access for bots.
None
TIL Run Python code in a WebAssembly sandbox — I've been trying to figure this out for ages. Tim Bart responded to [my call for help on Hacker News](https://news.ycombinator.com/item?id=34598024) with [this extremely useful code example](https://gist.github.com/pims/711549577759ad1341f1a90860f1f3a5) showing how to run Python code in WebAssembly inside Python, using [wasmtime-py](https://github.com/bytecodealliance/wasmtime-py) and the new Python WASM build [released by VMware Wasm Labs](https://wasmlabs.dev/articles/python-wasm32-wasi/).
Sighting 4:44 PM — California Brown Pelican, in Monterey Bay National Marine Sanctuary, CA, US, CA
California Brown Pelican
California Brown Pelican
None
TIL Running nanoGPT on a MacBook M2 to generate terrible Shakespeare — [nanoGPT](https://github.com/karpathy/nanoGPT) is Andrej Karpathy's "simplest, fastest repository for training/finetuning medium-sized GPTs".
None
TIL Calculating embeddings with gtr-t5-large in Python — I've long wanted to run some kind of large language model on my own computer. Now that I have a M2 MacBook Pro I'm even more keen to find interesting ways to keep all of those CPU cores busy.
None
TIL Using recursive CTEs to explore hierarchical Twitter threads — This TIL adapted from [a Gist](https://gist.github.com/simonw/656a8c6e4688f720773c474080abe1b0) I put together in 2019, before I started tracking TILs here.
Release shot-scraper 1.1.1 — A command-line utility for taking automated screenshots of websites
None
TIL Combining CTEs and VALUES in SQLite — Here's how to use SQLite's `VALUES` syntax with a CTE to create a temporary table that you can then perform joins against in a query:
Release shot-scraper 1.1 — A command-line utility for taking automated screenshots of websites
None
TIL Installing lxml for Python on an M1/M2 Mac — I ran into this error while trying to run `pip install lxml` on an M2 Mac, inside a virtual environment I had intitially created using `pipenv shell`:
None
TIL SQLite pragma_function_list() — The SQLite `pragma_function_list()` table-valued function returns a list of functions that have been registered with SQLite, including functions that were added by extensions.