Simon Willison’s Weblog

Subscribe
Atom feed

Elsewhere

Filters: Sorted by date

TIL Serving a custom vector web map using PMTiles and maplibre-gl — [Protomaps](https://protomaps.com/) is "an open source map of the world, deployable as a single static file on cloud storage". It involves some _very_ clever technology, rooted in the [PMTiles](https://github.com/protomaps/PMTiles) file format which lets you create a single static file containing vector tile data which is designed to be hosted on static hosting but can then serve vector tiles to clients using HTTP range requests.
None
TIL Serving a JavaScript project built using Vite from GitHub Pages — I figured out how to serve a JavaScript project built using [Vite](https://vitejs.dev/) using GitHub Pages and a custom build script that runs using GitHub Actions.
None
TIL Deploying the CLIP embedding model on Fly — Inspired by [Drew Breunig's Faucet Finder](https://www.dbreunig.com/2023/09/26/faucet-finder.html) I decided I wanted to deploy an API somewhere that could calculate [CLIP embeddings](https://simonwillison.net/2023/Sep/12/llm-clip-and-chat/) for me.
None
Release datasette-llm-embed 0.2 — Datasette plugin adding a llm_embed(model_id, text) SQL function
Release datasette 0.64.5 — An open source multi-tool for exploring and publishing data
Release datasette-llm-embed 0.1 — Datasette plugin adding a llm_embed(model_id, text) SQL function
Release datasette-llm-embed 0.1a1 — Datasette plugin adding a llm_embed(model_id, text) SQL function
TIL Understanding the CSS auto-resizing textarea trick — Chris Coyier [wrote about](https://chriscoyier.net/2023/09/29/css-solves-auto-expanding-textareas-probably-eventually/) the new `form-sizing: normal` property, which can get a `<textarea>` to automatically expand to fit its content - but currently only in Google Chrome Canary. Chris also linked to [his own favourite trick](https://codepen.io/chriscoyier/pen/XWKEVLy) for doing that, using some CSS grid trickery (original idea by Stephen Shaw).
None
Release datasette-remote-actors 0.1a2 — Datasette plugin for fetching details of actors from a remote endpoint
Release llm-llama-cpp 0.2b1 — LLM plugin for running models using llama.cpp
TIL Snapshot testing with Syrupy — I'm a big fan of snapshot testing - writing tests where you compare the output of some function to a previously saved version, and can re-generate that version from scratch any time something changes.
None
Release datasette-auth-tokens 0.4a4 — Datasette plugin for authenticating access using API tokens
TIL Geospatial SQL queries in SQLite using TG, sqlite-tg and datasette-sqlite-tg — [TG](https://github.com/tidwall/tg) is an exciting new project in the world of open source geospatial libraries. It's a single C file (an amalgamation, similar to that provided by SQLite) which implements the subset of geospatial operations that I most frequently find myself needing:
None
TIL Trying out the facebook/musicgen-small sound generation model — Facebook's [musicgen](https://huggingface.co/facebook/musicgen-small) is a model that generates snippets of audio from a text description - it's effectively a Stable Diffusion for music.
None
Release llm-llama-cpp 0.2b0 — LLM plugin for running models using llama.cpp
Release datasette 1.0a7 — An open source multi-tool for exploring and publishing data
Release datasette 0.64.4 — An open source multi-tool for exploring and publishing data
Release datasette-upload-dbs 0.3.1 — Upload SQLite database files to Datasette
Release datasette-sqlite-debug-authorizer 0.1 — Debug SQLite authorizer calls
Release datasette-mask-columns 0.2.2 — Datasette plugin that masks specified database columns
Release llm 0.11 — Access large language models from the command-line
TIL Limited JSON API for Google searches using Programmable Search Engine — I figured out how to use a JSON API to run a very limited Google search today in a legit, non-screen-scraper way.
None
TIL Running tests against multiple versions of a Python dependency in GitHub Actions — My [datasette-export-notebook](https://github.com/simonw/datasette-export-notebook) plugin worked fine in the stable release of Datasette, currently version [0.64.3](https://docs.datasette.io/en/stable/changelog.html#v0-64-3), but failed in the Datasette 1.0 alphas. Here's the [issue describing the problem](https://github.com/simonw/datasette-export-notebook/issues/17).
None
Release datasette-export-notebook 1.0.1 — Datasette plugin providing instructions for exporting data to Jupyter or Observable
Release llm-sentence-transformers 0.1.2 — LLM plugin for embeddings using sentence-transformers
TIL Using llama-cpp-python grammars to generate JSON — [llama.cpp](https://github.com/ggerganov/llama.cpp) recently added the ability to control the output of any model using a grammar.
None
TIL Trying out cr-sqlite on macOS — [cr-sqlite](https://github.com/vlcn-io/cr-sqlite) is fascinating. It's a loadable SQLite extension by Matt Wonlaw that "allows merging different SQLite databases together that have taken independent writes".
None
Release llm-clip 0.1 — Generate embeddings for images and text using CLIP with LLM
Release llm 0.10 — Access large language models from the command-line
Release llm-clip 0.1a0 — Generate embeddings for images and text using CLIP with LLM