Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

TIL Downloading partial YouTube videos with ffmpeg — I spoke [at WordCamp US 2023](), and wanted to grab a copy of the video of my talk. I always try to keep my own copies of these because I've seen some conferences eventually take these offline in the past.
Release llm-anyscale-endpoints 0.2 — LLM plugin for models hosted by Anyscale Endpoints
Release datasette-jellyfish 2.0 — Datasette plugin adding SQL functions for fuzzy text matching powered by Jellyfish
Release datasette-jellyfish 1.0.2 — Datasette plugin adding SQL functions for fuzzy text matching powered by Jellyfish
Release datasette-debug-permissions 0.2 — A Datasette plugin that outputs debug information about permission checks
Release datasette-debug-permissions 0.1 — A Datasette plugin that outputs debug information about permission checks
Release llm-anyscale-endpoints 0.1 — LLM plugin for models hosted by Anyscale Endpoints
Release datasette-configure-fts 1.1.2 — Datasette plugin for enabling full-text search against selected table columns
TIL Compile and run a new SQLite version with the existing sqlite3 Python library on macOS — I've been trying to figure this out for years. Previous notes include [Using LD_PRELOAD to run any version of SQLite with Python](https://til.simonwillison.net/sqlite/ld-preload) (Linux only), and [Building a specific version of SQLite with pysqlite on macOS/Linux](https://til.simonwillison.net/sqlite/build-specific-sqlite-pysqlite-macos) and [Using pysqlite3 on macOS](https://til.simonwillison.net/sqlite/pysqlite3-on-macos) (both using the `pysqlite3` package).
Release datasette 1.0a4 — An open source multi-tool for exploring and publishing data
TIL Configuring Django SQL Dashboard for Fly PostgreSQL — I have a Fly application that uses their PostgreSQL service. I wanted to run [Django SQL Dashboard]() with a read-only user against that database.
Release datasette-auth-tokens 0.4a1 — Datasette plugin for authenticating access using API tokens
Release datasette-ripgrep 0.8.1 — Web interface for searching your code using ripgrep, built as a Datasette plugin
Release datasette-publish-fly 1.3.1 — Datasette plugin for publishing data using Fly
TIL Calculating the size of a SQLite database file using SQL — I learned this trick today while [browsing the code](https://github.com/tersesystems/blacklite/blob/main/blacklite-core/src/main/resources/com/tersesystems/blacklite/resources.properties) of [Blacklite](https://tersesystems.com/blog/2020/11/26/queryable-logging-with-blacklite/), a neat Java library for writing diagnostic logs to a SQLite database.
Release llm-openrouter 0.1 — LLM plugin for models hosted by OpenRouter
Release llm 0.8 — Access large language models from the command-line
TIL Updating stable docs in ReadTheDocs without pushing a release — I use [ReadTheDocs](https://readthedocs.org/) for several of my projects. It's fantastic: among other things, it makes it easy to publish the documentation for my latest `main` branch at `/latest/` and the documentation for my latest release at `/stable/` (as well as maintain archived tag URLs for every prior release).
TIL A shell script for running Go one-liners — [bitfield/script](https://github.com/bitfield/script) is a really neat Go project: it tries to emulate shell scripting using Go chaining primitives, so you can run code like this:
Release llm 0.7.1 — Access large language models from the command-line
TIL A one-liner to output details of the current Python's SQLite — In investigating [llm/issues/164](https://github.com/simonw/llm/issues/164) I found myself needing to know more precise details of the Python SQLite environment used by the reporter of the bug.
TIL A simple pattern for inlining binary content in a Python script — For [simonw/til issue #82](https://github.com/simonw/til/issues/82) I needed to embed some binary content directly in a Python script.
Release sqlite-utils-fast-fks 0.1 — Fast foreign key addition for sqlite-utils
Release datasette-edit-schema 0.5.3 — Datasette plugin for modifying table schemas
Release sqlite-utils 3.35 — Python CLI utility and library for manipulating SQLite databases
TIL Running multiple servers in a single Bash script — I spotted [this script](https://github.com/varunshenoy/opendream/blob/main/run_opendream.sh) that starts the [opendream](https://github.com/varunshenoy/opendream) appication running both a Python `uvicorn` server and a `npm run start` script and it intrigued me - was it this easy to have a single Bash script run two servers? They were both started in the background with `&`, like this:
TIL Processing a stream of chunks of JSON with ijson — A follow-up to [Using OpenAI functions and their Python library for data extraction](https://til.simonwillison.net/gpt3/openai-python-functions-data-extraction) and [Using the ChatGPT streaming API from Python](https://til.simonwillison.net/gpt3/python-chatgpt-streaming-api). If I have a stream of chunks of a larger JSON document, how can I output full individual JSON objects as soon as they are available?
TIL Building a blog in Django — We launched the [Datasette Cloud blog](https://www.datasette.cloud/blog/) today. The Datasette Cloud site itself is a Django app - it uses Django and PostgreSQL to manage accounts, teams and soon billing and payments, then launches dedicated containers running Datasette for each customer.
TIL Storing and serving related documents with openai-to-sqlite and embeddings — I decide to upgrade the related articles feature on my TILs site. Previously I calculated these [using full-text search](https://til.simonwillison.net/sqlite/related-content), but I wanted to try out a new trick using OpenAI embeddings for document similarity instead.
Release openai-to-sqlite 0.4 — Save OpenAI API results to a SQLite database

Beats

Years

Tags