Search and replace with regular expressions in VS Code
2024-02-06
I wanted to replace all instances of this:
106 words
|
1 minute
Running multiple servers in a single Bash script
2024-02-06
I spotted [this script](https://github.com/varunshenoy/opendream/blob/main/run_opendream.sh) that starts the [opendream](https://github.com/varunsh...
447 words
|
2 minutes
Kubernetes ConfigMaps and Secrets
2024-02-06
Day 37 of 90 Days of DevOps - Kubernetes ConfigMaps and Secrets. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
0 words
|
1 minute
Promoting the stable version of the documentation using rel=canonical
2024-02-05
I was thinking about documentation SEO today. Like many projects, Datasette offers multiple versions of the documentation:
233 words
|
1 minute
Streaming output of an indented JSON array
2024-02-05
For [paginate-json]() I wanted to implement streaming output of an indented JSON array to my terminal.
459 words
|
2 minutes
Kubernetes Deployments and Services
2024-02-05
Day 36 of 90 Days of DevOps - Kubernetes Deployments and Services. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
343 words
|
2 minutes
Avoiding "length" errors in Apache Bench with the -l option
2024-02-05
I was using the Apache Bench `ab` command to exercise some new code I'm writing in Datasette and I noticed I was getting a lot of errors:
262 words
|
1 minute
Using io.BufferedReader to peek against a non-peekable stream
2024-02-04
When building the [--sniff option](https://github.com/simonw/sqlite-utils/issues/230) for `sqlite-utils insert` (which attempts to detect the corre...
265 words
|
1 minute
Kubernetes Architecture and Components
2024-02-04
Day 35 of 90 Days of DevOps - Kubernetes Architecture and Components. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
454 words
|
2 minutes
Writing a Datasette CLI plugin that mostly duplicates an existing command
2024-02-03
My new [datasette-gunicorn](https://datasette.io/plugins/datasette-gunicorn) plugin adds a new command to Datasette - `datasette gunicorn` - which ...
831 words
|
4 minutes
GraphQL fragments
2024-02-03
One of [the scripts](https://github.com/simonw/datasette.io/blob/main/build_directory.py) that builds and deploys [datasette.io](https://datasette....
287 words
|
1 minute
Simple load testing with Locust
2024-02-03
I've been using [Locust](https://locust.io/) recently to run some load tests - most significantly [these tests](https://github.com/simonw/django_sq...
507 words
|
3 minutes
Docker Networking and Storage
2024-02-03
Day 34 of 90 Days of DevOps - Docker Networking and Storage. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
521 words
|
3 minutes
Transcribing MP3s with whisper-cpp on macOS
2024-02-02
I asked [on Twitter](https://twitter.com/simonw/status/1783520794754318600) for tips about running Whisper transcriptions in the CLI on my Mac. Wer...
762 words
|
4 minutes
Docker Compose for Multi-Container Apps
2024-02-02
Day 33 of 90 Days of DevOps - Docker Compose for Multi-Container Apps. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
604 words
|
3 minutes
Publish releases to PyPI from GitHub Actions without a password or token
2024-02-02
I published a package to [PyPI](https://pypi.org) today using their [Trusted Publishers](https://docs.pypi.org/trusted-publishers/) mechanism for t...
1165 words
|
6 minutes
Syntax highlighting Python console examples with GFM
2024-02-02
It turns out [GitHub Flavored Markdown](https://github.github.com/gfm/) can apply syntax highlighting to Python console examples, like this one:
201 words
|
1 minute
Compile a new sqlite3 binary on Ubuntu
2024-02-02
I wanted to try the `vacuum into` backup command that was released in SQLite3 3.27.0 [on 2019-02-07](https://www.sqlite.org/changes.html#version_3_...
100 words
|
1 minute
Freezing requirements with pip-tools
2024-02-01
I tried [pip-tools](https://github.com/jazzband/pip-tools) for the first time today to pin the requirements for the [natbat/pillarpointstewards](ht...
272 words
|
1 minute
Seeing which functions are unique to a specific SQLite / Datasette instance
2024-02-01
In reading [Scraping JSON, HTML, and ZIP Files with Pure SQLite](https://observablehq.com/@asg017/scrape-json-html-zip-with-sqlite) by Alex Garcia ...
729 words
|
4 minutes
Read the Docs Search API
2024-02-01
I stumbled across this API today: https://docs.datasette.io/_/api/v2/docsearch/?q=startup&project=datasette&version=stable&language=en
79 words
|
1 minute
Docker Images and Dockerfile Best Practices
2024-02-01
Day 32 of 90 Days of DevOps - Docker Images and Dockerfile Best Practices. Part of the Containerization & Orchestration series covering essential DevOps concepts and hands-on practices.
164 words
|
1 minute
Using pysqlite3 on macOS
2024-02-01
While trying to use [pysqlite3](https://github.com/coleifer/pysqlite3) on macOS I got the following error:
164 words
|
1 minute
PostgreSQL full-text search in the Django Admin
2024-01-31
Django 3.1 introduces PostgreSQL `search_type="websearch"` - which gives you search with advanced operators like `"phrase search" -excluding`. Jame...
133 words
|
1 minute