Blog posts
2022
- RSS Whitespace and Hugo
- Sunrise and Sunset Database
- Typinator is on sale
- Populating the books list with AWK
- Ejecting all disks
2021
2020
- Give Python’s static typing a go
- Scheduling posts in Hugo
- Keyboard Maestro macro to insert images into blog posts
- The Atom: A Love Affair
- Calculating annual leave entitlement
- Listing shortlog files chronologically with LaunchBar
- macOS transpose shortcut in Firefox
- Shortlogging
- Permanent
2019
2018
- Hard(ware) choices
- Jupyter notebook macro bug
- HTML image dimensions with a CSS border
- Open Jupyter notebooks with a Keyboard Maestro macro
- Horizontally scroll a table in HTML
- Table manipulation with R
- Working with R Markdown
- 3.75 years on the Tube
- British newspaper barcodes explained — and automated
- Colin Currie Group at Kings Place
2017
- Skype’s emoji cache
- We must end the century of the car
- Bye bye O’Reilly
- Hop aboard the R train
- JSON Feed
- Centrism
- InDesign PDF metastasis
- Redundant publishing
- Page speed
- Backups: the change
- O, Claudio
- Reaching the Olympic Park from CS2
- Backups: before
- Tube crowding
- SS-GB, part 3
- Assuming traffic
- Setting OS X’s environment
- TextExpander to LaunchBar snippets
- SS-GB
- All Brexit, all the time
2016
- Plot problems in the RSS feed
- Trains home and away
- Everything is wrong
- Roads: a layperson’s guide
- Escape to the country
- Language is hard, strings are great
- Trump
- Blind data
- Padding regex groups in Name Mangler
- Support across the board
- Leicester’s start to the season
- Two years on the Tube
- Owen’s two million Tories
- Who is Michel Temer?
- Where could Labour’s votes come from?
- Playing a dirty game
2015
- Status update
- Re: Unresponsive
- Cameron & Ashcroft
- Python’s Counter class, again
- Python Counter gotcha with max
- Yeah!
- Corbyn
- Historical dollars
- A scripting mess
- The automation paradox at work
- You should be using docopt
- AppleScript list gotchas
- My email nightmare
- Audio Hijack 3 and scripts
- Interruptions
- Updated date suffix script
2014
- Locale in OS X — what’s the current situation?
- Locale in OS X and Launch Agents
- Start and end of line shortcuts in BBEdit
- Solving boredom with four languages
- Mano-al-teclado
- Broken Mercurial dummy cacerts
- Manhandled
- Misbehaving single-column NSTableView
- Scraping Entourage
- My one iOS 7 problem
- Next and last weekdays
- Hijacking the BBC
2013
- Die, bookmarks bar, die
- Date suffixes in Python
- Quit to Linux
- Get your US-ASCII out of my face
- Solo diff
- Promptless Mercurial
- Terminal countdown
- Commit summary length hooks
- Hazel gating with Mercurial
- Easy branch comparison with Mercurial
- Sunny with a chance of Python
- Five different kinds of grey
- First brush with modulo speed
- More precise git status gating
- Gating Hazel with git status
- A new look and name
- Restart in Windows: The script strikes back
- Setting a date with TextExpander
- Blackjack!