Installing and upgrading Datasette plugins with pipx
2024-03-20
If you installed `datasette` using `pipx install datasette` you can install additional plugins with `pipx inject` like so:
171 words
|
1 minute
Useful Markdown extensions in Python
2024-03-20
I wanted to render some markdown in Python but with the following extra features:
201 words
|
1 minute
Commit a file if it changed
2024-03-19
This recipe runs a Python script to update a README, then commits it back to the parent repo but only if it has changed:
302 words
|
2 minutes
Edge Computing and CDN
2024-03-19
Day 79 of 90 Days of DevOps - Edge Computing and CDN. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
382 words
|
2 minutes
Running a Django and PostgreSQL development environment in GitHub Codespaces
2024-03-19
Helping people setup development environments (and fix them when they break) can be incredibly frustrating. I'm really excited about cloud-based de...
862 words
|
4 minutes
GraphQL and Modern APIs
2024-03-18
Day 78 of 90 Days of DevOps - GraphQL and Modern APIs. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
629 words
|
3 minutes
Running tests against PostgreSQL in a service container
2024-03-18
I wanted to run some Django tests - using `pytest-django` and with Django configured to pick up the `DATABASE_URL` environment variable via [dj-dat...
233 words
|
1 minute
Rate limiting by IP using Cloudflare's rate limiting rules
2024-03-17
My [blog](https://simonwillison.net/) was showing poor performance, with some pages taking several seconds to load or even failing entirely.
498 words
|
2 minutes
Querying newline-delimited JSON logs using AWS Athena
2024-03-17
I've been writing my Fly logs to S3 in newline-delimited JSON format using the recipe described in [Writing Fly logs to S3](https://til.simonwillis...
675 words
|
3 minutes
A script to capture frames from a QuickTime video
2024-03-17
I was putting together some notes for a talk I gave, and I wanted an efficient way to create screenshots of specific moments in a video of that talk.
964 words
|
5 minutes
Service Mesh with Istio
2024-03-17
Day 77 of 90 Days of DevOps - Service Mesh with Istio. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
370 words
|
2 minutes
Compile and run a new SQLite version with the existing sqlite3 Python library on macOS
2024-03-17
I've been trying to figure this out for years. Previous notes include [Using LD_PRELOAD to run any version of SQLite with Python](https://til.simon...
641 words
|
3 minutes
Atuin for zsh shell history in SQLite
2024-03-16
[Atuin](https://github.com/ellie/atuin) (via [Rhet Turnbull](https://twitter.com/RhetTurnbull/status/1518942324004319232)) "replaces your existing ...
238 words
|
1 minute
Using Jest without a package.json
2024-03-16
I wanted to try out [Jest](https://jestjs.io/) for writing JavaScript unit tests, in a project that wasn't set up with `package.json` and other NPM...
326 words
|
2 minutes
Basic strace to see what a process is doing
2024-03-16
I had a long-running process and I wanted to check that it was at least doing _something_.
289 words
|
1 minute
API Gateway and Microservices
2024-03-16
Day 76 of 90 Days of DevOps - API Gateway and Microservices. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
420 words
|
2 minutes
Event-Driven Architecture
2024-03-15
Day 75 of 90 Days of DevOps - Event-Driven Architecture. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
718 words
|
4 minutes
Automatically maintaining Homebrew formulas using GitHub Actions
2024-03-15
I previously wrote about [Packaging a Python CLI tool for Homebrew](https://til.simonwillison.net/homebrew/packaging-python-cli-for-homebrew). I've...
886 words
|
4 minutes
Serverless Frameworks and Tools
2024-03-14
Day 74 of 90 Days of DevOps - Serverless Frameworks and Tools. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
423 words
|
2 minutes
Running PyPy on macOS using Homebrew
2024-03-14
[Towards Inserting One Billion Rows in SQLite Under A Minute](https://avi.im/blag/2021/fast-sqlite-inserts/) includes this snippet:
298 words
|
1 minute
Azure Functions and Logic Apps
2024-03-13
Day 73 of 90 Days of DevOps - Azure Functions and Logic Apps. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
535 words
|
3 minutes
Serving a custom vector web map using PMTiles and maplibre-gl
2024-03-13
[Protomaps](https://protomaps.com/) is "an open source map of the world, deployable as a single static file on cloud storage". It involves some _ve...
1640 words
|
8 minutes
SQLite timestamps with floating point seconds
2024-03-13
Today I learned about this:
177 words
|
1 minute
Docker Compose for Django development
2024-03-12
I had to get Docker Compose working for a Django project, primarily to make it easier for other developers to get a working development environment.
361 words
|
2 minutes