Running a Django and PostgreSQL development environment in GitHub Codespaces
Helping people setup development environments (and fix them when they break) can be incredibly frustrating. I'm really excited about cloud-based de...
794 words
|
4 minutes
GraphQL and Modern APIs
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.
596 words
|
3 minutes
Running tests against PostgreSQL in a service container
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...
220 words
|
1 minute
Rate limiting by IP using Cloudflare's rate limiting rules
My [blog](https://simonwillison.net/) was showing poor performance, with some pages taking several seconds to load or even failing entirely.
478 words
|
2 minutes
Querying newline-delimited JSON logs using AWS Athena
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...
613 words
|
3 minutes
A script to capture frames from a QuickTime video
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.
931 words
|
5 minutes
Service Mesh with Istio
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.
333 words
|
2 minutes
Compile and run a new SQLite version with the existing sqlite3 Python library on macOS
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...
575 words
|
3 minutes