Pointing a custom subdomain at Read the Docs
2024-05-10
I host the documentation for Datasette on [Read the Docs](https://readthedocs.org/). Until today it lived at https://datasette.readthedocs.io/ but ...
266 words
|
1 minute
Running OpenSearch in Rootless Podman Containers - A Complete Guide
2024-05-10
A comprehensive guide to setting up and running OpenSearch in rootless Podman containers with proper security configuration and systemd integration.
489 words
|
2 minutes
HTML datalist
2024-05-10
A [Datasette feature suggestion](https://github.com/simonw/datasette/issues/1890) concerning autocomplete against a list of known values inspired m...
336 words
|
2 minutes
Registering temporary pluggy plugins inside tests
2024-05-10
While implementing more finely-grained permissions for `datasette-insert-api` ([issue 8](https://github.com/simonw/datasette-insert-api/issues/8)) ...
164 words
|
1 minute
Opt-in integration tests with pytest --integration
2024-05-08
For both [s3-credentials](https://github.com/simonw/s3-credentials) and [datasette-publish-fly](https://github.com/simonw/datasette-publish-fly) I ...
230 words
|
1 minute
Building a Secure Service Mesh Without Kubernetes Using SPIFFE, SPIRE, and Cilium
2024-05-08
A comprehensive guide to implementing a zero-trust service mesh on Linux VMs without Kubernetes, using SPIFFE/SPIRE for identity management, Cilium for networking, and private DNS for service discovery.
1801 words
|
9 minutes
GitHub Actions job summaries
2024-05-08
New feature [announced here](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/). Here's the [full documentation](http...
284 words
|
1 minute
A one-liner to output details of the current Python's SQLite
2024-05-08
In investigating [llm/issues/164](https://github.com/simonw/llm/issues/164) I found myself needing to know more precise details of the Python SQLit...
220 words
|
1 minute
Using git-filter-repo to set commit dates to author dates
2024-05-07
After rebasing a branch with 60+ commits onto `main` I was disappointed to see that the commit dates on the commits (which are a different thing fr...
368 words
|
2 minutes
Running cog automatically against GitHub pull requests
2024-05-07
I really like [Cog](https://nedbatchelder.com/code/cog/) ([previously](https://til.simonwillison.net/python/cog-to-update-help-in-readme)) as a too...
341 words
|
2 minutes
Calculating the size of all LFS files in a repo
2024-05-06
I wanted to know how large the [deepseek-ai/DeepSeek-V3-Base](https://huggingface.co/deepseek-ai/DeepSeek-V3-Base) repo on Hugging Face was without...
231 words
|
1 minute
Distrobox - Running Any Linux Distribution as a Container
2024-05-06
A comprehensive guide to Distrobox - the powerful tool that enables seamless use of any Linux distribution inside your terminal through containers, with full integration with your host system.
1403 words
|
7 minutes
Using VCR and pytest with pytest-recording
2024-05-06
[pytest-recording](https://github.com/kiwicom/pytest-recording) is a neat pytest plugin that makes it easy to use the [VCR library](https://vcrpy.r...
287 words
|
1 minute
Secure RSyslog Configuration - A Comprehensive Guide
2024-05-05
A comprehensive guide to implementing a secure, production-grade RSyslog configuration with TLS encryption, certificate authentication, queue management, and security best practices.
1196 words
|
6 minutes
Production-Grade Kubernetes on CoreOS - Multi-Node Deployment Guide
2024-05-05
A comprehensive guide for deploying a secure, production-grade Kubernetes cluster on CoreOS with CRI-O runtime, SELinux integration, and robust networking using kube-router.
428 words
|
2 minutes
Copy tables between SQLite databases
2024-05-05
I figured out a pattern for doing this today using the `sqlite3` CLI tool - given two SQLite databases in the current folder, called `tils.db` and ...
105 words
|
1 minute
Seeing files opened by a process using opensnoop
2024-05-05
I decided to try out [atuin](https://github.com/ellie/atuin?utm_source=tldrnewsletter), a shell extension that writes your history to a SQLite data...
276 words
|
1 minute
Intercepting fetch in a service worker
2024-05-05
I'm learning service workers. I wanted to start with one that intercepts calls to a `/path` and returns "Hello World".
263 words
|
1 minute
Combining CTEs and VALUES in SQLite
2024-05-05
Here's how to use SQLite's `VALUES` syntax with a CTE to create a temporary table that you can then perform joins against in a query:
162 words
|
1 minute
Extracting web page content using Readability.js and shot-scraper
2024-05-05
[Readability.js](https://github.com/mozilla/readability) is "A standalone version of the readability library used for Firefox Reader View".
492 words
|
2 minutes
Generating a calendar week grid with the Python Calendar module
2024-05-04
I needed to generate a grid calendar that looks like this (design [by Natalie Downe](https://github.com/natbat/pillarpointstewards/issues/23)):
177 words
|
1 minute
Combined release notes from GitHub with jq and paginate-json
2024-05-04
Matt Holt [asked](https://twitter.com/mholt6/status/1690177417393135616):
837 words
|
4 minutes
Splitting on commas in SQLite
2024-05-04
I had an input string in `x,y,z` format and I needed to split it into three separate values in SQLite. I managed to do it using a confusing combina...
139 words
|
1 minute
Geospatial SQL queries in SQLite using TG, sqlite-tg and datasette-sqlite-tg
2024-05-04
[TG](https://github.com/tidwall/tg) is an exciting new project in the world of open source geospatial libraries. It's a single C file (an amalgamat...
919 words
|
5 minutes