-
Pratt Institute Libraries Ex Libris Collection
The Pratt Institute maintains an excellent collection of bookplates. • Jun 23, 2025
-
Observe
In the middle ages, you could hardly move for Saint's days and feast days. • Apr 17, 2025
-
Best foot forward
For a while, I was quietly obsessed with using up my box of crap promotional ballpoints, half-forgotten biros, and miscellaneous scraps of paper. • Apr 14, 2025
-
The bird is on the wing
I got really into the story of The Rubáiyát of Omar Khayyám as translated by Edward Fitzgerald when I read about it in Emma Park's article in issue 80 of Idler. • Apr 9, 2025
-
Everything is a laptop activity
Trying to do pretty much anything on a mobile browser is starting to feel like pulling teeth. • Mar 28, 2025
-
Choosing a to-do app
I've been through a couple different approaches to keeping track of all the things I want to get done. • Nov 14, 2024
-
The cart before the horse
I've been getting occasional push notifications from Airalo, Trainline, and Uber, retailers of e-SIMs, train tickets, and taxi rides, suggesting that I go on holiday. • Jul 19, 2024
-
Hey, did you know you paid rent?
While I'm complaining about notifications, I'd like to talk about the system my letting agent uses to handle rent payments. • Jul 19, 2024
-
25 reasons for why plaintext is great
Bekah over at TheFrugalGamer.net recently posted 25 Reasons for why plaintext is great. • Jul 18, 2024
-
In praise of the limited series
I do love a good story, and television is a great medium for storytelling. I especially love a limited series. • Jul 2, 2024
-
Choose boring technologies
Your technology choices charge interest. Pay less by choosing boring. • Jun 20, 2024
-
Diffing two large YAML files
A fun new tool for the toolbelt. • May 3, 2024
-
There should be more web-safe fonts
What a utopia we could live in if we had more beautiful fonts to choose from without making our pages slower. • Apr 7, 2024
-
Dithering
I'm going back and forth on dithering. Will I regret it in ten years? • Apr 5, 2024
-
Trying out Vale to tighten up my writing
I do a lot of writing at work. I'm okay, but not exceptional at it. I hedge too much, I'm too verbose, and I favour an enjoyable turn of phrase over absolute clarity. • Mar 4, 2024
-
A lot to love about hotel labels
There's an extensive collection of scanned hotel luggage tags available at http://hotel-label.com. I love them. • Feb 26, 2024
-
On digital relationships: I miss my gaming buddies
The year was 2004 or 2005 and I had been reading about Ultima Online. • Feb 2, 2024
-
CLACK.
While looking up what a clavier was, I somehow ended up reading Matt Gemmell's 2018 blog post in which he describes the positive effects of buying a mechanical keyboard on his mental wellbeing. • Jan 24, 2024
-
The iOS Journal app is missing a critical feature
It doesn't matter how nice the rest of the app is if you can't export your journal entries. • Jan 16, 2024
-
The books I read in 2023
2023 was a good year for my reading habits. • Jan 15, 2024
-
A display cabinet for jerks
Let's stop deliberately surfacing the worst that the internet has to offer. • Jan 9, 2024
-
My first phone's tiny inbox
My first two phones were the Nokia 1110, and they could store almost nothing. • Jan 2, 2024
-
O glabrous day!
Maybe a dictionary lookup shouldn't always come with a visual. • Dec 27, 2023
-
Sublime Text and beautiful software
Walking down memory lane with one of my favourite pieces of software. • Dec 23, 2023
-
Take me to Dagstuhl
There's a computer science research centre in the German countryside. Life should provide more opportunities to retreat to the ruins of an old castle to study. • Dec 20, 2023
-
Things Become Other Things looks lovely
I recently had the good fortune to be introduced to Craig Mod's blog and newsletters. His new book, Things Become Other Things, is extremely well put together. • Nov 27, 2023
-
Effective stand-up notes
Effective stand-up notes, or, "how to not make your team's eyes glaze over." • Nov 24, 2023
-
"The golden age of gadget catalogs"
I've been having a lot of fun mooning over old technology from the DAK Catalog & Products That Think. • Nov 20, 2023
-
Tumblr is taking a hit, again
Tumblr is downscaling its ambitions after failing to reach goals for a new audience, aiming to move some staff members to other divisions of parent company Automattic. • Nov 10, 2023
-
Harsh on organisations, soft on people
Ted Gioia, in his post My 12 Favorite Problems • Nov 9, 2023
-
Initial thoughts on AI calendar assistants
I was at a book club yesterday and the topic of AI calendar assistants came up. I feel vaguely cold towards them and couldn't articulate why, but here are some loose thoughts. • Nov 7, 2023
-
Squashing a branch into one commit
When you want to tidy your commit history, but can't be bothered reminding yourself how rebase works. • Oct 4, 2023
-
Local HTTPS proxy with Caddy
Here's how I set up an HTTPS proxy in front of a local service using a self-signed certificate and three lines of Caddy configuration. • Oct 4, 2023
-
Dealing with JSON log output
Some handy tools for handling JSON output on the command line. • Sep 27, 2023
-
The magic shower
A tale as old as time • Sep 13, 2023
-
Onwards and upwards
I've got a new job. How bittersweet! • Aug 31, 2023
-
Trouble installing the openssl 2.2.0 gem
I was trying to install the openssl@2.2.0 gem today with Ruby 3.0.5 and received a very long build error. • Aug 24, 2023
-
Choose boring architecture
A comment on Addy Osmani's post about choosing boring architecture. • Jul 19, 2023
-
Don't ask me later
Put the NO in notifications. • Jun 16, 2023
-
Sonnet 2
O, Ruby! • Apr 6, 2023
-
Frog Porridge
Good food on cool nights. • Mar 27, 2023
-
Diagnosing "early termination of worker" errors
What to try when you're not getting the error message you need. • Mar 7, 2023
-
Trying the PICO-8
I don't know anything about game development, but the PICO-8 sure is neat. • Jan 27, 2023
-
It's not about winning
Software vs. software • Nov 7, 2022
-
Explicit help timeouts
It's difficult to know when to ask for help, so set a timer. • Oct 31, 2022
-
Curation over creation
It's always tempting to write a guide of your own, but sometimes the best thing to do is point people towards existing resources. • Oct 20, 2022
-
Cheating at design
Making things look okay when you don't know how to make things look okay. • Aug 5, 2022
-
Watering a Flower - Haruomi Hosono
"This is the warmest shade of grey I've ever felt." • Jul 16, 2022
-
Make your own website
I've been maintaining websites in some form for a long time now, and here's why maybe you should at least think about it. • Jul 16, 2022
-
How I became a sticker sticker
On our drawers of stickers that we're afraid to use. • Jul 6, 2022
-
Questionable Ruby
Just because you can, doesn't mean you should. Misadventures in Ruby programming. • Jul 5, 2022
-
Brighton Ruby 2022
Sun, sea and simply havin' a good time • Jul 4, 2022
-
Software plots
On the narrative forms of software • Jun 28, 2022
-
Configuring a global .gitignore
Because I literally never want to commit .DS_Store • May 20, 2022
-
One line Ruby webserver for testing timeout handling
What it says on the tin • May 3, 2022
-
Overriding the unary bang
When (not) to take advantage of some of Ruby's flexibility • Apr 29, 2022
-
Sending interview questions in advance: pros and cons
Weighing up the pros and cons of sending interview questions in advance. • Apr 28, 2022
-
Testing custom omniauth strategies
Tripping up when writing unit tests for a custom omniauth strategy • Jan 19, 2022
-
How I use iTerm2
I use a pretty standard terminal configuration, but there are a couple things I like about it. • Nov 4, 2021
-
Saving time with custom Rails console commands
Save time and mental strain by defining custom Rails console methods for common tasks • Oct 25, 2021
-
Removing Old Docker Containers
Removing my archive of unused docker containers. • Jul 13, 2021
-
A good job with blunt tools
A local newsletter that doesn't worry about the future. • May 6, 2021
-
February 2021
Notes from the month of February, 2021. • Feb 28, 2021
-
January 2021
Notes from the month of January, 2021. • Jan 31, 2021
-
To All The Bumps I've Loved Before
I used to get hit in the head a lot. A lot a lot. • Jan 18, 2021
-
Assertions of Truth in Ruby Tests
Comparing two styles of boolean assertion in Ruby tests. • Jan 12, 2021
-
The Surprising Case of `gets` in Ruby
gets is often used in introductory Ruby tutorials, but they rarely tell the whole story. • Jan 7, 2021
-
Storing Proxy Settings in Your SSH Config
Using your SSH configuration to automatically route connections through a jump host. • Jan 4, 2021
-
On Writing "Well,"
Well, well, well. • Jan 3, 2021
-
When Is a Class Not Pulling Its Weight?
While the Single Responsibility Principle is touted as a universal good, how small is too small? • Jan 2, 2021
-
December 2020: Don't Let the Door Hit You
Notes from the last month of a questionable year. • Dec 31, 2020
-
November 2020: The Longest November in Recorded History
Notes from the month of November, 2020. • Nov 30, 2020
-
October 2020: SpoooOOOoOOOoooOOky!
October's unsorted notes. • Oct 31, 2020
-
The Watch Command
Monitoring command output with the linux 'watch' command. • Oct 13, 2020
-
September 2020: Darker, Colder, Miserabler
Notes from September 2020. • Sep 30, 2020
-
June 2020: Too Bleedin' Hot
Notes from the month of June, 2020. • Jun 30, 2020
-
May 2020: Reading List and Notes
Notes from the month of May, 2020. • May 31, 2020
-
Becoming AWS Cloud Practitioner Certified
On the 6th March 2020, I became a certified AWS Cloud Practitioner. Here are the steps I took. • May 12, 2020
-
Warning on long branch names with git hooks
Long branch names were causing problems in our CI. Here's how to head them off at the pass. • Apr 1, 2020
-
Finding A Method Declaration With Source Location
I recently had one of those moments where some code failed, but not in the way I expected it to. • Nov 30, 2019
-
Time Flies When You're Having Fun
It's been a few months since I've started my new job, and I am having a whale of a time. • Nov 8, 2019
-
Don't Accept Pull Requests From Hitler
Something I didn't think needed to be said. • Aug 28, 2019
-
July Catchup
It's been a wild couple months. Here's a few of the things I've been up to. • Jul 29, 2019
-
Modules, Macros, Metaprogramming and Magic
Implementing simplified ActiveRecord relations using macros. • Jun 5, 2019
-
Book Review: It Doesn't Have To Be Crazy At Work
A call for calm. • Mar 10, 2019
-
What's Tripping Up Uglifier?
Finding the source of syntax errors in Rails 4's JS Uglifier • Mar 6, 2019
-
It's time for link pages
The web is yours. • Feb 27, 2019
-
Book Review: Refactoring UI
A wonderfully presented tome of hot tips to take your design chops to the next level. • Feb 25, 2019
-
The Month Of Deleting
I spent the bulk of January getting rid of stuff and it made me happier. • Feb 5, 2019
-
Tidying Code For Beginners
In 2017 I took Ben Orenstein's Code Quality Challenge. Here are my notes. • Jan 22, 2019
-
Notes From A Modestly Successful Open Source Project
A small project I made got way more attention than I expected and I had to learn some things about being the maintainer of an open source project. • Nov 1, 2018
-
Asking Better Questions
A good programmer is going to end up asking a lot of questions. Here's how to make that a painless process for both you and your team mates. • Oct 20, 2018
-
September Roundup
Quitting coffee and visiting the Thought Bubble comic festival in this month's roundup. • Sep 30, 2018
-
Setting Up Dominoes
If you want to progress without friction, you need to be kind to your future self. • Feb 13, 2018
-
Working Out Of A Slump
Everyone has slow days. Or weeks. Or months. It's important to know how to give yourself a reset and get back into gear. • Jan 24, 2018
-
Web Development Is Great
Seriously such a good career. For me, anyway. Here's a few reasons why. • May 17, 2017
-
So You Want To Add A Feature?
Questions to ask before development begins. • May 6, 2017
-
How Long Is Enough?
• Apr 17, 2017
-
40 Hours Is Enough
• Apr 10, 2017
-
Getting Our Awkward Dependency To Run At Scale
• Jan 13, 2017
-
Staying Out Of The Spam Folder
• Nov 25, 2016
-
Square Enix's Triple Triad iOS app is quite good
• Sep 2, 2015
-
Speak at your Local User Group
• Aug 24, 2015
-
Ruby Hash Default is the Same Object
• Jul 1, 2015
-
Fight crime with rubocop's partner, anne
• Jun 13, 2015
-
Sending Multi-part Emails in Rails with Attachments
• Jun 4, 2015
-
Starting Rails Apps with Foreman
• May 29, 2015
-
A quick look at Lotus
• Apr 14, 2015
-
Collagist: Extracting rails app functionality into a gem
• Mar 14, 2015
-
Solving scaling issues with more metal
• Mar 11, 2015
-
Provisioning Dionaea Honeypot with Vagrant and Salt: A First Attempt
• Feb 25, 2015
-
Oh hey, it's 2015
When did that happen? • Feb 13, 2015
-
My Green Field is Covered in Landmines
• Nov 6, 2014
-
Project Brains: New Skill System
• Aug 17, 2014
-
Collage - My first completed rails app
• Aug 5, 2014
-
Reflections: What I learned from my first large web application
• Jul 24, 2014
-
Good Colour Schemes with SASS
• Jan 15, 2014
-
My First CSS Animation
• Jan 3, 2014
-
A New Year of Coding
• Jan 1, 2014
-
nginx stripping forward slash from DOCUMENT_ROOT
• Nov 25, 2013
-
Concealing Brainfuck in ASCII Art
• Nov 4, 2013
-
Automatic Screenshot Cropping for Ultima Online
• Aug 16, 2013
-
Fuzzy Searching: Part 3
• Aug 13, 2013
-
Fuzzy Searching: Part 2
• Aug 12, 2013
-
Installing the British English Dictionary in TeXworks
• Aug 11, 2013
-
Fuzzy Searching
• Aug 9, 2013
-
git-yolo
• Jul 25, 2013
-
The Defiled
• Jul 4, 2013
-
Collage.py
• Jun 12, 2013
-
Irritating problem calling executables from PHP
• May 31, 2013
-
EasyPreload
• Dec 20, 2012