AWS Lambda and Function Development
2024-03-12
Day 72 of 90 Days of DevOps - AWS Lambda and Function Development. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
385 words
|
2 minutes
Converting ORF raw files to JPEG on macOS
2024-03-12
One of our cameras takes raw photos in ORF format, which I believe stands for "Olympus Raw Format". Here's a recipe I found for converting them to ...
80 words
|
1 minute
migrations.RunSQL.noop for reversible SQL migrations
2024-03-12
`migrations.RunSQL.noop` provides an easy way to create "reversible" Django SQL migrations, where the reverse operation does nothing (but keeps it ...
77 words
|
1 minute
Mouse support in vim
2024-03-11
Today I learned that if you hit `Esc` in vim and then type `:set mouse=a` and hit enter... vim grows mouse support! In your terminal!
103 words
|
1 minute
Serverless Computing Introduction
2024-03-11
Day 71 of 90 Days of DevOps - Serverless Computing Introduction. Part of the Serverless & Advanced Topics series covering essential DevOps concepts and hands-on practices.
320 words
|
2 minutes
Finding the largest SQLite files on a Mac
2024-03-10
This runs using Spotlight so it's really fast:
159 words
|
1 minute
Security Incident Response
2024-03-10
Day 70 of 90 Days of DevOps - Security Incident Response. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
185 words
|
1 minute
Loading SQLite extensions in Python on macOS
2024-03-10
I finally found a workaround for this error when attempting to load a SQLite extension in Python on macOS:
170 words
|
1 minute
SQLite can use more than one index for a query
2024-03-09
I was trying to figure out if SQLite has the ability to use more than one index as part of executing a single query, or if it only ever picks a sin...
382 words
|
2 minutes
Zero Trust Architecture
2024-03-09
Day 69 of 90 Days of DevOps - Zero Trust Architecture. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
413 words
|
2 minutes
Fixing "compinit: insecure directories" error
2024-03-09
Every time I opened a terminal on my new Mac running Catalina with zsh I got the following annoying error:
97 words
|
1 minute
Convert git log output to JSON using jq
2024-03-09
I just spent way too long messing around with ChatGPT ([transcript here](https://gist.github.com/simonw/c3b486fa90d7c32a0e8dfb47e151090a)) trying t...
394 words
|
2 minutes
How to call pip programatically from Python
2024-03-09
I needed this for the `datasette install` and `datasette uninstall` commands, see [issue #925](https://github.com/simonw/datasette/issues/925).
324 words
|
2 minutes
Using S3 triggers to maintain a list of files in DynamoDB
2024-03-09
This is a three-quarters-baked experiment that I ran this morning. I'm interested in efficiently tracking which new files have been added to an S3 ...
2216 words
|
11 minutes
Threat Modeling for DevOps
2024-03-08
Day 68 of 90 Days of DevOps - Threat Modeling for DevOps. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
695 words
|
3 minutes
Processing a stream of chunks of JSON with ijson
2024-03-07
A follow-up to [Using OpenAI functions and their Python library for data extraction](https://til.simonwillison.net/gpt3/openai-python-functions-dat...
712 words
|
4 minutes
Switching between gcloud accounts
2024-03-07
I have two different Google Cloud accounts active at the moment. Here's how to list them with `gcloud auth list`:
71 words
|
1 minute
Security Policies and Governance
2024-03-07
Day 67 of 90 Days of DevOps - Security Policies and Governance. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
452 words
|
2 minutes
Querying for GitHub issues open for less than 60 seconds
2024-03-06
While [writing this thread](https://twitter.com/simonw/status/1370390336514658310) about my habit of opening issues and closing them a few seconds ...
200 words
|
1 minute
Compliance as Code
2024-03-06
Day 66 of 90 Days of DevOps - Compliance as Code. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
470 words
|
2 minutes
Show files opened by pytest tests
2024-03-06
My test suite for [Datasette](https://github.com/simonw/datasette) has grown so large that running the whole thing sometimes causes me to run out o...
225 words
|
1 minute
Deploying the CLIP embedding model on Fly
2024-03-05
Inspired by [Drew Breunig's Faucet Finder](https://www.dbreunig.com/2023/09/26/faucet-finder.html) I decided I wanted to deploy an API somewhere th...
605 words
|
3 minutes
Open a debugging shell in GitHub Actions with tmate
2024-03-05
> :warning: **17 Feb 2022: There have been reports of running tmate causing account suspensions**. See [this issue](https://github.com/mxschmitt/ac...
273 words
|
1 minute
SAST and DAST Implementation
2024-03-05
Day 65 of 90 Days of DevOps - SAST and DAST Implementation. Part of the Security & Compliance series covering essential DevOps concepts and hands-on practices.
560 words
|
3 minutes