Consecutive groups in SQL using window functions
I have a database table with all of my Swarm checkins since 2011, created using my [swarm-to-sqlite](https://datasette.io/tools/swarm-to-sqlite) tool.
706 words
|
4 minutes
Programatically accessing Heroku PostgreSQL from GitHub Actions
My [db-to-sqlite](https://github.com/simonw/db-to-sqlite) tool can connect to a PostgreSQL database, export all of the content and write it to a SQ...
230 words
|
1 minute
A simple two column CSS grid
For my blog entry today [Now add a walrus: Prompt engineering in DALL-E 3](https://simonwillison.net/2023/Oct/26/add-a-walrus/) I wanted to display...
791 words
|
4 minutes
Rendering Markdown with the GitHub Markdown API
I wanted to convert the Markdown used in my TILs to HTML, using the exact same configuration as GitHub does. GitHub has a whole load of custom exte...
290 words
|
1 minute
Python packages with pyproject.toml and nothing else
I've been using `setuptools` and `setup.py` for my Python packages for a long time: I like that it works without me having to think about installin...
1392 words
|
7 minutes
Very basic tsc usage
I guess I [have to learn TypeScript](https://twitter.com/simonw/status/1302517496767938561) now.
339 words
|
2 minutes
List all columns in a SQLite database
Here's a devious trick for listing ALL columns in a SQLite database, using a SQL query that generates another SQL query.
424 words
|
2 minutes
Attaching a generated file to a GitHub release using Actions
For [Datasette Desktop](https://github.com/simonw/datasette-app) I wanted to run an action which, when I created a release, would build an asset fo...
202 words
|
1 minute