In the days of Windows and only Windows, the usual routine was find a bug, hit report a problem, kick back and maybe someone would get around to eventually, if you asked really really nice and forked over a hundred, maybe possibly fixing it. If they weren’t busy sucking back a beer or something. There was no real two-way exchange of information, per say–they either fixed it and you didn’t know about it until later, or they ignored it and you didn’t know about it until later if at all. Flash forward to the last week or so.
As I make no secret of, I power this site on WordPress plus about 20 wickedly handy plugins to take care of everything from statistics to adjusting things so folks who come across a 4-year-old link that no longer works can still find the entry they’re looking for at its new location. It was that latter redirect plugin that decided at one point to give me issues. For the record and those curious, if you want something similar for your own site the plugin is Smart 404, and it only works–to my knowledge, anyway–on WordPress. Now, before my year or two of experimenting with that other blogging platform, I had this site running under a different piece of software. That piece of software, still in development, took care of my needs back then with the exception of the whole comment spam thing–but the way it handled links in general was just different enough that when I set this up, and included the old entries from my first attempt at a blog, those links promptly broke. Not horribly, just a slight enough change that Apache threw a page not found error.
WordPress in general is very good about redirecting things within its own isolated environment to where you want to go. So, for example, if you were to go to http://www.the-jdh.com/index.php?post=123, it would redirect you to the appropriate post automatically–and to the appropriate, much more readable URL of that post–with no coaxing from me whatsoever. Kind of wicked nifty cool in an “I’m a lazy tech geek” kind of way. The problem is, there’s no native functionality for redirecting other links, not created by WordPress, to their appropriate wordpress equivalent. Enter the redirection plugin, Smart 404.
When I set it up to do what it was intended to do, though, I ran into another, slightly frustrating, problem. If you were to go to http://www.the-jdh.com/year/month/date/some_post.html, which was the old link structure on the blog, even with the plugin in place you’d get a 404 instead of being redirected to http://www.the-jdh.com/year/month/some-post/, which is one of WordPress’s default structures. Now, if we were talking closed source projects here, I’d of just switched to something else that did a similar thing–I’d have a better chance of seeing the problem fixed, and sooner, by doing that. But instead, it started out entirely in public comments on the blog of the developer of the offending plugin.
The actual conversation was, were it to happen over IM instead of blog comments, very short yet still very effective.
I posted a couple comments over there, pretty much explaining what happens when someone references one of the old, non-working links, and what according to the plugin documentation is supposed to happen. After running a real quick test to get access to exactly what it was the plugin was trying to do, the conversation effectively turned very quickly to something like this.
Dev: Okay, try this line of code and let me know if it breaks.
Me: *copy, paste* Okay, looks like it doesn’t explode. And hey, it does what it’s supposed to now. Who knew?
Him: Awesome. *throws it into CVS*
Me: Hey look, new version. And there’s the fix I tested. Awesome squared.
Yeah, it was literally that easy. And a very awesome reason for why sometimes, being able to actually see the program’s inner workings is a very good thing–you get to escentially debug and test a patch for your own problems, rather than waiting on the software’s tech support department–if they have one–to get around to communicating with the developers, who may or may not then get around to actually diagnosing and fixing the problem. The open source community as a whole gets major props for that. And major props to the Smart 404 developer for being nearly as quick to implement solutions to problems as his users are at finding problems to fix. And huge props to WordPress, because–really, do I need a reason? Now excuse me while I go consider for the thousandth time learning PHP or something.