Using the sqlite3 Python module in Pyodide - Python WebAssembly
2024-06-10
[Pyodide](https://github.com/pyodide/pyodide) provides "Python with the scientific stack, compiled to WebAssembly" - it's an incredible project whi...
274 words
|
1 minute
Signing and notarizing an Electron app for distribution using GitHub Actions
2024-06-10
I had to figure this out for [Datasette Desktop](https://github.com/simonw/datasette-app).
1370 words
|
7 minutes
Updating a Markdown table of contents with a GitHub Action
2024-06-10
[markdown-toc](https://github.com/jonschlinkert/markdown-toc) is a Node script that parses a Markdown file and generates a table of contents for it...
232 words
|
1 minute
Publishing a Docker container for Microsoft Edit to the GitHub Container Registry
2024-06-09
Microsoft recently [released Edit](https://devblogs.microsoft.com/commandline/edit-is-now-open-source/), a new terminal text editor written in Rust...
872 words
|
4 minutes
Google OAuth for a CLI application
2024-06-09
> :warning: The OOB flow described in this document has been [scheduled for deprecation](https://developers.googleblog.com/2022/02/making-oauth-flo...
497 words
|
2 minutes
Crawling Datasette with Datasette
2024-06-09
I wanted to add the new tutorials on https://datasette.io/tutorials to the search index that is used by the https://datasette.io/-/beta search engine.
437 words
|
2 minutes
Using pytest-httpx to run intercepted requests through an in-memory Datasette instance
2024-06-09
I've been working on a tool called [dclient](https://github.com/simonw/dclient) which is a CLI client tool for talking to Datasette instances.
410 words
|
2 minutes
sips: Scriptable image processing system
2024-06-08
I wanted to convert some `.webp` images to `.png` on my Mac. I asked ChatGPT:
481 words
|
2 minutes
Close terminal window on Ctrl+D for macOS
2024-06-08
I always forget how to set this up. It's hidden in Preferences -> Profiles -> Basic -> Shell:
33 words
|
1 minute
Interpreting photo orientation and locations in EXIF data
2024-06-07
I upgraded my [Niche Museums](https://www.niche-museums.com/) site to use [PhotoSwipe](https://photoswipe.com/) for its photo galleries today. Here...
929 words
|
5 minutes
Helper function for pagination using AWS boto3
2024-06-07
I noticed that a lot of my boto3 code in [s3-credentials](https://github.com/simonw/s3-credentials) looked like this:
100 words
|
1 minute
Testing things in Fedora using Docker
2024-06-07
I got [a report](https://twitter.com/peterjanes/status/1552407491819884544) of a bug with my [s3-ocr tool](https://simonwillison.net/2022/Jun/30/s3...
160 words
|
1 minute
Downloading partial YouTube videos with ffmpeg
2024-06-06
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 s...
666 words
|
3 minutes
Deploying a live Datasette demo when the tests pass
2024-06-05
I've implemented this pattern a bunch of times now - here's the version I've settled on for my [datasette-auth0 plugin](https://github.com/simonw/d...
470 words
|
2 minutes
Integrating Podman with Kubernetes - A Comprehensive Guide
2024-06-05
A practical guide to seamlessly integrating Podman with Kubernetes workflows, including generating Kubernetes manifests, development practices, and migration strategies.
1425 words
|
7 minutes
Use DuckDB to convert parquet to JSON and then open it in Datasette Lite
2024-06-05
[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 im...
677 words
|
3 minutes
Treating warnings as errors in pytest
2024-06-05
I was seeing this warning in a Django project when I thought I was correctly using timezone-aware dates everywhere:
186 words
|
1 minute
Trying out SQLite extensions on macOS
2024-06-05
Alex Garcia has been building some really cool new custom extensions for SQLite, working in C and Go. So far he's released two:
817 words
|
4 minutes
Converting HTML and rich-text to Markdown
2024-06-04
If you copy and paste from a web page - including a full table - into a GitHub issue comment GitHub converts it to the corresponding Markdown for y...
120 words
|
1 minute
Monitoring and Managing System Services with invinservicedemon
2024-06-03
An in-depth look at invinservicedemon, a Rust application designed for monitoring and managing system services, developed by Anubhav Gain.
656 words
|
3 minutes
Interactive row selection prototype with Datasette
2024-06-03
I added a new [llms](https://simonwillison.net/tags/llms/) tag to my blog, for my content about Large Language Models.
801 words
|
4 minutes
Redirects for Datasette
2024-06-03
I made some changes to my https://til.simonwillison.net/ site that resulted in cleaner URL designs, so I needed to setup some redirects. I configur...
91 words
|
1 minute
Running Docker on an M1 Mac
2024-06-03
*TLDR: Use `platform: linux/amd64` in `docker-compose.yml` and your containers will probably work!*
907 words
|
5 minutes
Returning related rows in a single SQL query using JSON
2024-06-02
When building database-backed applications you'll often find yourself wanting to return a row from the database along with its related rows.
641 words
|
3 minutes