Archive for the 'General' Category

Before I forget, I should list the snags I hit when moving my pyblosxom posts to WordPress. This post is mostly for posterity’s sake, and any Googlers looking for help on the subject.

I chose to import my posts via an RSS 2.0 feed. If you already have the RSS 2.0 flavour defined, you’re good. If not, or you just want something that’ll get around the import bugs, download my RSS flavour.

The largest problem I encountered while importing came from the timestamps being imported incorrectly using the pubDate tag I set up. My times all had a -0500 time zone designation which totally screwed up the imported timestamps. So, I then poked around in the wordpress database and found that WordPress was importing the dates as local dates, but offset the dates to make them GMT time. Then, it created a GMT timestamp from the local time, which was even further off!

The solution to this problem was to mark my dates (incorrectly, but intentionally) as GMT in the RSS feed. Then, WordPress imports the dates properly. While this might be a bug on WordPress’ behalf, it actually works around another bug in pyblosxom’s lack of proper time zone reporting in the RSS feed (which really only affects those of us in a time zone with daylight savings). So, no complaints from me here.

Now, once the data made it into WordPress, I noticed that there were extra <br/> tags showing up in my posts. It turns out that the importer decided that it should retain newlines in the RSS description tags, and then when WordPress rendered the pages it would convert the newlines to <br/> tags.

The solution to this mix-up was to manually make some changes in the wordpress database:

update wp_posts set post_content=REPLACE(post_content,"\n"," ");

Note that the above replacement changes newline characters to a space character. Changing it to the empty string (i.e. "") would concatenate words together in many instances.

The final snag was that the CDATA block termination would appear at the end of every post. The solution to that was yet another database tweak:

update wp_posts set post_content=REPLACE(post_content,"]]>","");

After doing all of the above, my blog was completely moved over with few issues. Some of the really old posts have some pretty bad issues (some with completely missing content), but over time I will fix those manually.

Hopefully this helps some of you make the switch.

I have now entered the modern age of blog management systems.

I switched away from Movable Type a long time ago in favour of pyblosxom, partly because I’m a python-head, and partly because I couldn’t easily figure out and extend the system.

Now I’m past all that tinkering, and the whole comments fiasco recently pushed me over the edge. After installing the comments plugin for pyblosxom (which was a world of pain on its own), I had a torrent of spam like I’ve never seen before. Without some kind of moderation or notification ability, and built-in spam filtering (sorry — nofollow doesn’t count), I couldn’t possibly hope to keep on top of the comments system.

So I silently disabled it. And then I missed it, fast.

I told myself that during my mini-hiatus, I would make the move to WordPress because I never had the time (or motivation) to do it before. The act of managing posts, new and old, has become much easier. I can easily go back to very old posts that never survived the import (or contained inaccurate data), update their contents, retain timestamps, etc., with ease. Boy am I glad I did this now that it’s all working.

Anyway, I hope this results in a better blogging experience for us all.

I haven’t dropped off the face of the earth! Seriously! While life has gotten more hectic (read: interesting) thanks to Andrew, my lack of time is exacerbated by my MacBook Pro’s half-completed repair.

I took my MacBook Pro in for repair a few weeks ago for the notorious logic board replacement, and during the repair my top case was damaged in a way that doesn’t allow me to use the keyboard, trackpad, or power button for the time being.

So, the machine has been powered on and running for the last 14 days straight, tethered to my desk and unable to be used around the house (which is where I tend to use it most now that Andrew’s around).

To make matters even worse, I switched to a new HDD during this logic board replacement, and I’m half way between a restored workspace from a backup and a fresh install. I can’t fully return to my regular workspace until I get my top case replaced, and I can safely power on/off the machine during installs/backups/restores.

So, right now, I’m treating this period of limbo-time as a bit of a break from the regular grind. It’s nice to refresh my head, and work on some other things I’ve been meaning to do for months.

That said, I’m still fixing bugs in, and adding small features to FuzzMeasure Pro. I’m also being fully responsive to emails and support. I’m just not spending every free minute that I’m away from my day job and family on the computer. That really only means I haven’t been able to post blog entries so often, and haven’t touched NetNewsWire for a while.

I could probably post tons and tons of stuff talking about what I’ve been doing these past few weeks, but it appears I’ll have to just bottle it up for a another time.

I’m not sure where his iPod went, but Andrew (my newborn son) showed up on Saturday September 10th at 6:53AM at the very healthy weight of 9 pounds, 15 1/2 ounces.

Needless to say, my response to emails might be a little spotty over the next few weeks.

I finally got off my butt and set up the commenting plugin for pyblosxom. Many folks have asked me to add this, and I’m happy to oblige. You kids just try to keep it civil, mmmkay? I can almost hear the tidal wave of comment-spam that’s heading this way…

Another important improvement to the site is the permalinking. Previously, I used the default pyblosxom method of providing permalinks using a post’s date/time. Now I use the far more readable method of providing the path/name of each individual post. It was so easy to fix, but I just haven’t really sat down and tried to figure it out before. Since I was poking around with the comment stuff, it seemed like a good idea.

If you encounter any trouble with the commenting system, linking, or other web issues, you know where to reach me (hint: scroll to the bottom of the page).