Build the official Python documentation locally
First, checkout the cpython repo:
148 words
|
1 minute
Explicit file encodings using click.File
I wanted to add a `--encoding` option to `sqlite-utils insert` which could be used to change the file encoding used to read the incoming CSV or TSV...
182 words
|
1 minute
Efficient bulk deletions in Django
I needed to bulk-delete a large number of objects today. Django deletions are relatively inefficient by default, because Django implements its own ...
177 words
|
1 minute
Application Performance Monitoring
Day 55 of 90 Days of DevOps - Application Performance Monitoring. Part of the Monitoring & Observability series covering essential DevOps concepts and hands-on practices.
608 words
|
3 minutes
ELK Stack for Log Management
Day 54 of 90 Days of DevOps - ELK Stack for Log Management. Part of the Monitoring & Observability series covering essential DevOps concepts and hands-on practices.
426 words
|
2 minutes
Skipping CSV rows with odd numbers of quotes using ripgrep
I'm working with several huge CSV files - over 5 million rows total - and I ran into a problem: it turned out there were a few lines in those files...
420 words
|
2 minutes
Grafana Dashboards and Visualization
Day 53 of 90 Days of DevOps - Grafana Dashboards and Visualization. Part of the Monitoring & Observability series covering essential DevOps concepts and hands-on practices.
435 words
|
2 minutes
Custom Jinja template tags with attributes
I decided to implement a custom Jinja template block tag for my [datasette-render-markdown](https://datasette.io/plugins/datasette-render-markdown)...
930 words
|
5 minutes
Querying for items stored in UTC that were created on a Thursday in PST
This came up as [a question](https://news.ycombinator.com/item?id=26443148) on Hacker News. How can you query a SQLite database for items that were...
139 words
|
1 minute
Prometheus Setup and Configuration
Day 52 of 90 Days of DevOps - Prometheus Setup and Configuration. Part of the Monitoring & Observability series covering essential DevOps concepts and hands-on practices.
506 words
|
3 minutes
Configuring GitHub Codespaces using devcontainers
[GitHub Codespaces](https://github.com/features/codespaces) provides full development environments in your browser, and is free to use with anyone ...
647 words
|
3 minutes
Quickly testing code in a different Python version using pyenv
I had [a bug](https://github.com/simonw/llm/issues/82#issuecomment-1629735729) that was only showing up in CI against Python 3.8.
204 words
|
1 minute
Monitoring Strategy and Metrics
Day 51 of 90 Days of DevOps - Monitoring Strategy and Metrics. Part of the Monitoring & Observability series covering essential DevOps concepts and hands-on practices.
528 words
|
3 minutes
Search across all loaded resources in Firefox
You can search for a string in any resource loaded by a page (including across HTML, JavaScript and CSS) in the Debugger pane by hitting Command+Sh...
116 words
|
1 minute
Cloud Cost Optimization
Day 50 of 90 Days of DevOps - Cloud Cost Optimization. Part of the Cloud Platforms series covering essential DevOps concepts and hands-on practices.
510 words
|
3 minutes
Multi-Cloud Strategy and Management
Day 49 of 90 Days of DevOps - Multi-Cloud Strategy and Management. Part of the Cloud Platforms series covering essential DevOps concepts and hands-on practices.
374 words
|
2 minutes
Running Datasette on Hugging Face Spaces
[Julien Chaumond](https://twitter.com/julien_c/status/1700142113713758438), this morning (replying to my tweet about [my Hugging Face TheBloke mode...
773 words
|
4 minutes
Assistance with release notes using GitHub Issues
I like to write the release notes for my projects by hand, but sometimes it can be useful to have some help along the way.
1025 words
|
5 minutes
Google Cloud Platform Essentials
Day 48 of 90 Days of DevOps - Google Cloud Platform Essentials. Part of the Cloud Platforms series covering essential DevOps concepts and hands-on practices.
368 words
|
2 minutes
Escaping a SQL query to use with curl and Datasette
I used this pattern to pass a SQL query to Datasette's CSV export via curl and output the results, stripping off the first row (the header row) usi...
193 words
|
1 minute
Enabling a user to execute a specific command as root without a password
2024-02-16
I wanted a script running as a non-root user to be able to restart a systemd service on my Ubuntu machine without needing a password.
131 words
|
1 minute
Azure DevOps and Pipelines
Day 47 of 90 Days of DevOps - Azure DevOps and Pipelines. Part of the Cloud Platforms series covering essential DevOps concepts and hands-on practices.
500 words
|
3 minutes
Writing JavaScript that responds to media queries
I wanted to change the layout of [my blog](https://simonwillison.net/) on mobile screens such that the content from the "Elsewhere" right hand colu...
255 words
|
1 minute