Livestreaming a community election event on YouTube
I live in El Granada, California. Wikipedia calls us a census designated place - we don't have a mayor or city council.
Notes on software engineering
301–320 of 550 posts, newest first.
I live in El Granada, California. Wikipedia calls us a census designated place - we don't have a mayor or city council.
While implementing more finely-grained permissions for (issue 8) I decided I wanted to register a Datasette pluggy plugin for the duration of a single test.
I've been experimenting with the combination of Claude and my LLM CLI tool to give me quick summaries of long discussions on Hacker News.
I had an 11GB movie in Apple Photos (sync'd from my iPhone) and I wanted to upload it to YouTube (actually via AirDrop to another laptop first).
I added dropdown menus to Datasette 0.51 - see 1064. I implemented them using the HTML element. The HTML looked like this: See the top right corner of https://latest-with-plugins.datasette.io/ for a…
I wanted to render some markdown in Python but with the following extra features: - URLize any bare URLs in the content, like GFM - Handle python from mdx urlize import UrlizeExtension import markdown…
I was getting occasional messages from a Datasette instance that was running against a bunch of different SQLite files that were updated by cron scripts (my personal Dogsheep).
In all cases the HTML looked something like this: It turned out the solution may be to replace with : (Weirdly on some refreshes of the page I get the same error. I'm not sure why that is.)
I was exploring the original BERT model from 2018, which is mainly useful if you fine-tune a model on top of it for a specific task. dslim/distilbert-NER by David S.
My simonwillisonblog-backup workflow periodically creates a JSON backup of my blog's PostgreSQL database, using db-to-sqlite and sqlite-diffable.
I serve static assets for my blog (mainly images) from , which is an AWS S3 bucket served via Cloudflare.
Today Carlton told me about the interact command in the Python debugger. Here's how to use it with (but it works anywhere else where you find yourself in a session).
I found a killer application for ChatGPT today: writing AppleScript! I've been stubbornly refusing to learn AppleScript for nearly twenty years at this point.
I decided to implement a custom Jinja template block tag for my datasette-render-markdown plugin. I wanted the tag to work like this: A basic Jinja extension After some fiddling around with GitHub…
I'm running an AWS Lightsail instance and I want to only be able to SSH to it from devices connected to my Tailscale network.
GitHub Actions workflows fail if any of the steps executes something that returns a non-zero exit code. Today I learned that returns a non-zero exit code if it fails to find any matches.
Amazon S3 buckets that are configured to work as public websites can support CORS, allowing assets such as JavaScript modules to be loaded by JavaScript running on other domains.
This post on Reddit asked how to run a query that takes a list of items (in this case ingredients) as the input and returns all rows with at least one of those items in a JSON list, ordered by the…
macOS Catalina uses rather than as the default shell (apparently because Apple don't like GPL 3). I usually set up my Python projects for development like this: datasette % pipenv shell Launching…
I decided to try out atuin, a shell extension that writes your history to a SQLite database. It's really neat.