Testing HTML tables with Playwright Python
2024-04-08
I figured out this pattern today for testing an HTML table dynamically added to a page by JavaScript, using [Playwright Python](https://playwright....
171 words
|
1 minute
Searching for repositories by topic using the GitHub GraphQL API
2024-04-08
I wanted to use the GitHub GraphQL API to return all of the repositories on the https://github.com/topics/git-scraping page.
123 words
|
1 minute
Registering the same Pluggy hook multiple times in a single file
2024-04-06
I found myself wanting to register more than one instance of a [Pluggy](https://pluggy.readthedocs.io/) plugin hook inside a single module.
170 words
|
1 minute
Running pytest against a specific Python version with uv run
2024-04-06
While [working on this issue](https://github.com/simonw/datasette/issues/2461) I figured out a neat pattern for running the tests for my project lo...
185 words
|
1 minute
Syncing slide images and audio in iMovie
2024-04-06
I found an MP3 recording of an old talk I gave and decided to use the slides from that talk to create a video using iMovie.
362 words
|
2 minutes
Understanding the CSS auto-resizing textarea trick
2024-04-06
Chris Coyier [wrote about](https://chriscoyier.net/2023/09/29/css-solves-auto-expanding-textareas-probably-eventually/) the new `form-sizing: norma...
1400 words
|
7 minutes
Filter by comma-separated values in the Django admin
2024-04-05
I have a text column which contains comma-separated values - inherited from an older database schema.
369 words
|
2 minutes
Recursively fetching metadata for all files in a Google Drive folder
2024-04-05
For [google-drive-to-sqlite](https://github.com/simonw/google-drive-to-sqlite) I wanted a mechanism to recursively return metadata on every file in...
542 words
|
3 minutes
90 Days Recap and Next Steps
2024-04-05
Day 96 of 90 Days of DevOps - 90 Days Recap and Next Steps. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
3427 words
|
17 minutes
DevOps Success Stories
2024-04-04
Day 95 of 90 Days of DevOps - DevOps Success Stories. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
2641 words
|
13 minutes
Building a specific version of SQLite with pysqlite on macOS/Linux
2024-04-04
I wanted the ability to test my Python software against specific version of SQLite on macOS. I found a way to do that using [pysqlite3](https://git...
240 words
|
1 minute
Running Steampipe extensions in sqlite-utils and Datasette
2024-04-03
[Steampipe](https://steampipe.io/) build software that lets you query different APIs directly from SQL databases.
826 words
|
4 minutes
DevOps Future Trends
2024-04-03
Day 94 of 90 Days of DevOps - DevOps Future Trends. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
2349 words
|
12 minutes
DevOps Resources and References
2024-04-02
Day 93 of 90 Days of DevOps - DevOps Resources and References. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
2086 words
|
10 minutes
Using pytest and Playwright to test a JavaScript web application
2024-04-02
I [decided to add](https://github.com/simonw/datasette-lite/issues/35) automated tests to my [Datasette Lite](https://simonwillison.net/2022/May/4/...
866 words
|
4 minutes
DevOps Certifications and Training
2024-04-01
Day 92 of 90 Days of DevOps - DevOps Certifications and Training. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
1381 words
|
7 minutes
Rewriting a repo to contain the history of just specific files
2024-04-01
I wanted to start [a new git repository](https://github.com/simonw/graphql-scraper/tree/828a1efc4307cca6cd378c394c2d33eac2eceb52) containing just t...
510 words
|
3 minutes
Community Contributions and Open Source
2024-03-31
Day 91 of 90 Days of DevOps - Community Contributions and Open Source. Part of the Community & Learning series covering essential DevOps concepts and hands-on practices.
550 words
|
3 minutes
Finding CSV files that start with a BOM using ripgrep
2024-03-31
For [sqlite-utils issue 250](https://github.com/simonw/sqlite-utils/issues/250) I needed to locate some test CSV files that start with a UTF-8 BOM.
184 words
|
1 minute
Using sphinx.ext.extlinks for issue links
2024-03-31
Datasette's [release notes](https://github.com/simonw/datasette/blob/main/docs/changelog.rst) are formatted using Sphinx. Almost every bullet point...
175 words
|
1 minute
Using unnest() to use a comma-separated string as the input to an IN query
2024-03-31
[django-sql-dashboard](https://github.com/simonw/django-sql-dashboard) lets you define a SQL query plus one or more text inputs that the user can p...
128 words
|
1 minute
DevOps Career Path and Growth
2024-03-30
Day 90 of 90 Days of DevOps - DevOps Career Path and Growth. Part of the Best Practices & Culture series covering essential DevOps concepts and hands-on practices.
555 words
|
3 minutes
DevOps Tools Ecosystem
2024-03-29
Day 89 of 90 Days of DevOps - DevOps Tools Ecosystem. Part of the Best Practices & Culture series covering essential DevOps concepts and hands-on practices.
478 words
|
2 minutes
Livestreaming a community election event on YouTube
2024-03-29
I live in El Granada, California. Wikipedia calls us [a census designated place](https://en.wikipedia.org/wiki/El_Granada,_California) - we don't h...
1052 words
|
5 minutes