Playing with 404 pages

Until yesterday, mistyped or broken URLs would just show the generic GitHub Pages 404 page. It conveys the error, but it’s not very useful.

Brett Terpstra does something rather clever with his 404 pages: he reads the URL, and tries to guess where you were trying to go. Single-character typos or transpositions get redirected automatically, and if it’s not obvious where you were trying to go, he gives a list of suggestions.

He wrote about some of this in Fun with intelligent 404 pages, and I decided to try to build a version of my own. My system isn’t as sophisticated as Brett’s, but it was still a fun problem to tackle.

Continue reading →

My new standing desk

Inspired by Colin Nederkoorn’s $22 standing desk, I decided to have a go at building my own standing desk from IKEA parts when I moved into my new flat. I’ve been using a standing desk for several years, but moving my old desk would have been more hassle than building this new one.

I’ve made a few changes to his design, based partly on personal preference, and partly on the fact that I couldn’t get all of the parts that he used from the British branches of IKEA.

Here’s a picture of the new desk, from the front on:

A front-on view of my new desk

Continue reading →

Updates to my site for finding untagged Tumblr posts

About two weeks ago, I took a family holiday to Oslo. When I came back, I found that my site for finding untagged Tumblr posts had received a lot of traffic while I was gone. I’m flattered that so many people have found it useful.

This heavy usage also exposed several bugs in the original design. The site would become unresponsive if there were lots of untagged posts (sometimes in the tens of thousands). I’ve pushed out an update to fix this: you can click “Do you have lots of posts?” to limit the number of posts that get shown. This should fix any bugs with browsers freezing up.

If you have any other problems or suggestions, then please get in touch.

The rest of this post explains the major changes.

Continue reading →

A TextExpander snippet for Amazon affiliate links

Earlier this evening, Casey Liss tweeted a link to a post by Stoyan Stefanov with a bookmarklet for creating Amazon affiliate links. It’s short, clean and functional. I like it, but it still needs you to copy and paste the link into your document. I wanted to cut out that step, by writing a TextExpander snippet that takes the URL of the frontmost browser window, and outputs an Amazon affiliate link.

Continue reading →

A quick Alfred workflow for opening recent screenshots

I’m a big fan of the productivity app Alfred. It’s one of the first apps I install on any new Mac, and I use it dozens of times a day. Here’s a quick workflow I whipped up this morning.

When I take a screenshot, I usually want to use it immediately. I could navigate to my screenshots directory in Alfred, or find it in Finder,1 but it’s such an easy task to automate. I wrote a short workflow to open my most recent screenshot in the Alfred file browser.

Continue reading →

Thoughts on Overcast

On Wednesday, Marco Arment released his long-awaited podcast app, Overcast. I’ve only been using it for a few days, but it’s already displaced Pocket Casts as my podcast app of choice.

I was surprised by how much I liked Smart Speed. Like Marco (and many other people), I don’t enjoy listening to podcasts played at faster speeds, because the quality takes a nosedive. Smart Speed not only makes podcasts go faster, it makes them sound better for doing so. Conversations are tighter and more coherent, and I already miss the feature when I go back to another app.

Smart Speed alone would keep me using Overcast, but the little details are just as important. Overcast is packed with nice touches and polish. These are a few of my favourites.

Continue reading →

Getting plaintext LaTeX from Wolfram Alpha

Although I don’t write numerical equations very often, I couldn’t help but smile at this post by Dr. Drang. Building on a post by Eddie Smith which shows how to use WolframAlpha to evaluate a LaTeX expression for a numerical answer, he shows off a way to automate getting the equation from BBEdit, to save a tedious copy/paste step. Read their posts before you carry on.

Dr. Drang’s script gets the LaTeX equation out of BBEdit and loads Wolfram Alpha, but you still need to click the “Copyable plaintext” link. He ended the post as follows:

What I’d really like is to automate the copying and pasting of the answer. Wolfram’s page structure doesn’t make that easy, but it’s something I want to explore.

I tried to parse the Wolfram Alpha page structure in the past, and it was a bit of a mess. It’s much easier to use the Wolfram Alpha Developer API, which provides this very easily. I think I can use this to get the final piece.

Continue reading →


My favourite podcast is The Incomparable, which just posted its 200th episode. It’s always a fun and insightful discussion into the topic, and it’s clear that the panel always really enjoy what they’re talking about.1 I started listening around episode 60, and I’ve enjoyed it ever since.

But if you haven’t listened to the 200th episode yet, look away now. Spoilers!


Continue reading →

Catching instapaper:// URLs from ReadKit

I use ReadKit to manage my Instapaper queue on my Mac. Although Instapaper’s web interface is much nicer than it used to be, I still prefer ReadKit for processing lots of items at once. But sometimes I try to open an item in Safari, and I get an error:

There is no application set to open the URL instapaper://private-content/480777221. Search the App Store for an application that can open this document, or choose an existing application on your computer.

These are items that I’ve added to Instapaper by email, which don’t have a URL associated with them in Instapaper’s database. (Email newsletters are one example.) Instead, the URL refers to an Instapaper database entry, which Safari can’t open. If I was on iOS, an instapaper:// URL would be redirected to the Instapaper iOS app.

But the item does exist in the Instapaper web interface, which can be opened in Safari. It has a URL that looks like this:

(Of course, that link doesn’t work unless Safari is logged into my account, but I always am.)

I wanted a way to catch these instapaper:// links, and redirect to the appropriate item in the web interface without hitting an alert.

Continue reading →

Finding untagged posts on Tumblr, redux

One of the most popular posts on this site is Finding untagged posts on Tumblr, but it’s not exactly… friendly. Asking people to download a script and register an API key can look sufficiently daunting that a lot of people probably don’t try.

I wanted a simple turnkey solution. My idea was that people could go to a website, type in their Tumblr URL and click a single button to get a list of all your untagged posts. And now, that exists:

If you go to that URL, then you should get a nice list of all your untagged posts. I hope it’s useful.

If you find any bugs, or a page it doesn’t seem to work for, then please get in touch.

Continue reading →

Copyright © 2012–14 Alex Chan. Built using Pelican. Privacy policy.