Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

Release sqlite-history 0.1 — Track changes to SQLite tables using triggers
None
TIL Unix timestamp in milliseconds in SQLite — I wanted to retrieve the time in milliseconds since the Unix epoch in SQLite.
Release sqlite-history 0.1a0 — Track changes to SQLite tables using triggers
None
TIL Saving an in-memory SQLite database to a file in Python — I was messing around in Python with an in-memory SQLite database, when I decided I actually wanted to save my experimental database to a file so I could explore it using [Datasette](https://datasette.io/).
None
TIL GPT-4 for API design research — I came up with a really useful prompt for GPT-4 today. I was [considering options](https://github.com/simonw/datasette/issues/2054#issuecomment-1499491258) for refactoring how Datasette's core view functions work, and was contemplating alternative ways to dispatch to different functions based on a combination of the URL path and the HTTP verb.
Release datasette-explain 0.1a1 — Explain and validate SQL queries as you type them into Datasette
None
TIL Copy tables between SQLite databases — I figured out a pattern for doing this today using the `sqlite3` CLI tool - given two SQLite databases in the current folder, called `tils.db` and `simonwillisonblog.db`:
None
TIL Reading thermometer temperatures over time from a video — [Natalie](https://www.instagram.com/natbat.art/) has been experimenting with using a microwave as a kiln for pottery, specifically for [Raku](https://en.wikipedia.org/wiki/Raku_ware).
Release llm 0.2 — Access large language models from the command-line
Release llm 0.1 — Access large language models from the command-line
None
TIL Using the ChatGPT streaming API from Python — I wanted to stream the results from the ChatGPT API as they were generated, rather than waiting for the entire thing to complete before displaying anything.
None
TIL Interactive row selection prototype with Datasette — I added a new [llms](https://simonwillison.net/tags/llms/) tag to my blog, for my content about Large Language Models.
Sighting 12:48 PM — Pacific chorus frog, in San Mateo County, CA, US
Pacific chorus frog
Pacific chorus frog
None
TIL Using jq in an Observable notebook — I use the `jq` language quite a lot these days, mainly because I can get ChatGPT to write little JSON transformation programs for me very quickly.
None
TIL Convert git log output to JSON using jq — I just spent way too long messing around with ChatGPT ([transcript here](https://gist.github.com/simonw/c3b486fa90d7c32a0e8dfb47e151090a)) trying to figure this out. After much iteration, here's a recipe that works (mostly written by me at this point):
Release datasette-no-truncate 0.1 — Tiny Datasette plugin to disable text truncation in table displays
Release datasette-chatgpt-plugin 0.1 — A Datasette plugin that turns a Datasette instance into a ChatGPT plugin
Release datasette-graphql 2.2 — Datasette plugin providing an automatic GraphQL API for your SQLite databases
None
TIL Use DuckDB to convert parquet to JSON and then open it in Datasette Lite — [pickapic.io](https://pickapic.io/) is a new tool funded by [stability.ai](https://stability.ai/) which asks people to generate and then vote on images in order to provide data to be used for fine tuning an open source image generation model.
None
TIL A simple Python implementation of the ReAct pattern for LLMs — A popular nightmare scenario for AI is giving it access to tools, so it can make API calls and execute its own code and generally break free of the constraints of its initial environment.
None
TIL Scraping Reddit and writing data to the Datasette write API — Today I built a system for monitoring Reddit for new posts that link to various domains that I own.
Release datasette-atom 0.9 — Datasette plugin that adds a .atom output format
None
TIL How to read Hacker News threads with most recent comments first — [Hacker News](https://news.ycombinator.com/) displays comments in a tree. This can be frustrating if you want to keep track of a particular conversation, as you constantly have to seek through the tree to find the latest comment.
Release datasette-simple-html 0.2 — Datasette SQL functions for very simple HTML operations
None
TIL Copy rich text to the clipboard — I've been experimenting with a tool for generating the content for a weekly Substack newsletter by querying the Datasette API for my blog and assembling HTML for the last week of content.
None
TIL Running LLaMA 7B and 13B on a 64GB M2 MacBook Pro with llama.cpp — See also: **[Large language models are having their Stable Diffusion moment right now](https://simonwillison.net/2023/Mar/11/llama/)**.
None
TIL Using SQL with GDAL — Inspired [by Brad Neuberg](https://twitter.com/bradneuberg/status/1633875601789681666) I decided to take a look at the SQL features in the GDAL family of tools.
None
TIL Using ChatGPT to write AppleScript — I found a killer application for ChatGPT today: writing AppleScript!
None
TIL Mocking subprocess with pytest-subprocess — For [apple-notes-to-sqlite](https://github.com/dogsheep/apple-notes-to-sqlite) I needed to write some tests that simulated executing the `osascript` command using the Python `subprocess` module.
Release apple-notes-to-sqlite 0.1 — Export Apple Notes to SQLite