safari-webarchiver. Save web pages as Safari webarchive files from the command line
156dominant_colours. A CLI tool to find the dominant colours in an image 🎨
113contributions-graph. A Python clone of GitHub’s Contributions graph
101ao3. A scripted Python interface to some of the data on AO3
91notes-export. Export HTML copies of Apple Notes
84docstore. Organising my scanned documents and reference files with keyword tagging
79alexwlchan.net. Source code and plugins for my website, a static site built with Python
64backup-slack. A script for backing up your message history from Slack
60asexual. 🖤💜 Asexual Pride in GitHub repository languages
59backup-pinboard. Create a local backup of your Pinboard backups
57scripts. My collection of helpful scripts, personal tools, and shell config
36highlight-twitter-alt-text. Tools to highlight the (in)accessibility of my Twitter timeline
27overcast-downloader. Download the audio files for every podcast you've listened to in Overcast 🎧
25finduntaggedtumblrposts.com. A site for finding untagged Tumblr posts
25concurrently. A snippet for running multiple, concurrent invocations of a Python function
24safari.rs. Command-line utilities for interacting with Safari on macOS
23imessage-archive. Scripts for parsing the iOS message database and getting a useful archive
22blink-photo-reviewer. Reviewing my photos from Photos.app with blink diffs and keyboard shortcuts
21backup_tumblr. Scripts for backing up your posts, likes and media files from Tumblr
20books.alexwlchan.net. A site to track what I've been reading :books:
20get_live_text. Get text from an image using Apple's built-in "Live Text" feature
17handling-http-429-with-tenacity. An example of how to use tenacity to retry HTTP 429 errors in Python
16specktre. Make wallpapers from regular tilings of the plane with the Python Imaging Library
13junkdrawer. A repo for things that don't have a better place to go
13hurley. Find links between podcasters, a la Kevin Bacon
12github-code-search. A proof-of-concept code search for GitHub that de-duplicates results
12create_thumbnail. A simple command-line tool for creating image thumbnails
10iam-policy-document-tester. Create short-lived, temporary roles for experimenting with AWS IAM policy documents
9s3_summary_spreadsheet_script. A script to get a summary spreadsheet of your S3 buckets: how many objects/bytes are in each bucket?
9happybackgrounds. Create simple wallpapers and backgrounds based on Font Awesome icons. For @katef
7alfred_shortcuts_github. An Alfred workflow that links to GitHub repos I use regularly
6scheduled-screenshots. Regular screenshots of the homepage of my website
6tex-dockerfile. The Dockerfile I use to run LaTeX
6emptydir. Look for empty (or nearly empty) directories and delete them
5til. Today I Learned
5maths-courses. Printed notes for a selection of my university maths courses
4library-lookup. Finding books that are available in nearby branches of my public lending library
4download_youtube_likes. Get a list of all the videos you’ve liked on YouTube
3q.go. Print debugging to a dedicated file for Go
3javascript-data-files. Work with JSON which is stored as a value in a JavaScript file
2clipatron. A script to automate video clipping using ffmpeg ✂️ 📼 ✂️
2add-cover-to-ao3-files. Add auto-generated cover images to EPUB files downloaded from AO3 (the Archive of Our Own)
2tstatic. Serve static websites as nodes in your tailnet
2snippets. My text expansion snippets for faster typing
1alfred-web-links. A script for creating shortcuts for web links/searches in Alfred
1imageviewer. Turning a folder of images into a grid I can scroll in my browser
1alexwlchan. My GitHub profile README, plus issues that affect all my repos
1detect-use-of-vendored-requests. Detect use of deprecated `from botocore.vendored import requests` in your AWS Lambda functions
1rainbow-valknuts. A web app for generating pride-themed Norse valknuts 🌈
1terraform-python-lambda. Create a single, standalone Python Lambda for one-off data processing, when I just want to run some Python inside AWS
1