RSS.Social

alexwlchan

follow: @[email protected]

Posts

Meeting my younger self

Hard problems in social media archiving

The Internet forgets, but I don’t want to

When square pixels aren’t square

Can you take an ox to Oxford?

Cleaning up messy dates in JSON

Detecting AV1-encoded videos with Python

Why can’t my iPhone play that video?

Doing my own syntax highlighting (finally)

Creating a personal wrapper around yt-dlp

Opening all the files that have been modified in a Git branch

Linking to text fragments with a bookmarklet

Resizing images in Rust, now with EXIF orientation support

Using vcrpy to test HTTP interactions in Python

Create space-saving clones on macOS with Python

Slipstitch, Queer Craft, and community spaces

Today was my last day at the Flickr Foundation

Minifying HTML on my Jekyll website

Moving my Glitch apps to my own web server

Recreating the bird animation from Swift.org

My favourite websites from my bookmark collection

What I learnt about making websites by reading two thousand web pages

Building a personal archive of the web, the slow way

Creating a static website for all my bookmarks

Handling JSON objects with duplicate names in Python

A faster way to copy SQLite databases between computers

A flash of light in the darkness

Beyond None: actionable error messages for keyring.get_password()

Localising the <time> with JavaScript

Always running

What I’ve Learned by Building to Last

Whose code am I running in GitHub Actions?

Fast and random sampling in SQLite

We all lose when art is anonymised

An unexpected lesson in CSS stacking contexts