Protocols in Python
[Datasette](https://datasette.io/) currently has a few API internals that return `sqlite3.Row` objects. I was thinking about how this might work in...
415 words
|
2 minutes
Bulk fetching repository details with the GitHub GraphQL API
I wanted to be able to fetch details of a list of different repositories from the GitHub GraphQL API by name in a single operation.
127 words
|
1 minute
Creating a minimal SpatiaLite database with Python
When writing a test for [datasette-leaflet-freedraw](https://github.com/simonw/datasette-leaflet-freedraw) I realized I didn't have a simple tiny r...
106 words
|
1 minute
Using cog to update --help in a Markdown README file
My [csvs-to-sqlite README](https://github.com/simonw/csvs-to-sqlite/blob/main/README.md) includes a section that shows the output of the `csvs-to-s...
471 words
|
2 minutes
Exporting and editing a Twitter Spaces recording
I hosted [a Twitter Spaces conversation](https://twitter.com/simonw/status/1504604448202518529) the other day. The recording is only available for ...
631 words
|
3 minutes
Deploying Backstage on Kubernetes - A Comprehensive Guide
A detailed, step-by-step guide to deploying Spotify's Backstage developer portal on Kubernetes using Docker, Terraform, and best practices for production environments.
2298 words
|
11 minutes
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 SQ...
1856 words
|
9 minutes
Using the Chrome DevTools console as a REPL for an Electron app
I figured out how to use the Chrome DevTools to execute JavaScript interactively inside the Electron main process. I always like having a REPL for ...
150 words
|
1 minute