Blog Migration


I imported these posts, and all my old blog archives, at, where I plan to start blogging again from time to time.


Steve McCoy shares some really great animations of Billy Collins poetry. These are well worth checking out.

This is an amazing Washington Post story about the top violinist in the world busking in D.C. Go read the story — it’s excellent.

Download it now, or take a quick tour. Note: you don’t have to uninstall the existing extension before installing — after restarting Firefox, it will prompt you to disable the old extension. Then if you decide you like the new extension, you can uninstall it like I did. 🙂

Just a quick shout out that it’s a girl! Her name is Catriona Jean. Children are a blessing from the Lord!

The Burns Family is awesome. It’s great that they had the first live-twittered birth!

Today I read Matt Cutts‘ post about URL Canonicalization, and decided to finalize my URL structure. I implemented my canonicalization with mod_rewrite in Apache. I found a helpful introduction to mod_rewrite.

So which is better: or For some time, I preferred the former, simply because I didn’t like the way the latter looked in the address bar. But now, I have settled on the latter, simply because I feel it’s more semantic and RESTful. The subdomain www implies the web component of joshuamclark, but I want my URI to identify all of joshuamclark, not just one component. That is, I want my URI to be more semantic. This will make it easier for any user agents to access me in a representation they can understand. That is, I want your stay at to be utterly RESTful.

I then decided to disallow /index.php as well. It 301’s to /.

So I was able to implement these rules with a few simple lines in .htaccess:

Options +FollowSymLinks 
RewriteEngine on 

# Redirect /index.php to /
RewriteRule ^index\.php$ [L,R=301]

# Redirect to
RewriteCond %{HTTP_HOST} ^www\.joshuamclark\.com$
RewriteRule ^(.*)$1 [L,R=301]

I’m already experiencing the migratory potential of my OpenID. Over the last few days, when logging in with my OpenID at Highrise, WordPress would not redirect me back to Highrise. I broke down and created a backup username and password temporarily. But then I realized this was a good opportunity to test OpenID migration to a new IdP — I setup an account with MyOpenID, updated my OpenID headers at, and everything worked perfectly!

I’m also preferring MyOpenID because of their support for various personas. Nice feature.