Archive for the 'blogging' Category

Moving from Movable Type 3.2 to WordPress 2.3

Julie has decided that she wants to blog a little more frequently. One obstacle to this is that her blog is a spam magnet - or it was until I deleted the Movable Type comment CGIs as a last ditch defense. I’ve had very good results with Akismet on WordPress, so inevitably this meant an upgrade from Movable Type to Wordpress. It was only a matter of time before this happened, especially now that I am on WordPress myself. Importing is pretty straight forward. It’s making sure that the permalinks don’t break is the problem. In order to do that you need to make sure that Wordpress uses the same numerical id’s that Movable Type used. Which means that you have to hack Movable Type to add an ID field to the exported data, and hack WordPress to use that ID when it creates the new blog entries. Then you do a little mod_rewrite action, and the permalinks should keep on ticking. I’ll now proceed with describing the hacks.

I started with the basic WordPress docs to migrate from Movable Type to WordPress.

Go into the Movable Type 3.2 install and edit lib/MT/ImportExport.pm to add an ID field:

--- ImportExport.pm     2008-02-17 17:55:19.000000000 -0800
+++ ImportExport.pm~    2006-01-04 00:21:09.000000000 -0800
@@ -439,7 +439,6 @@
     my $tmpl = MT::Template->new;
     $tmpl->name('Export Template');
     $tmpl->text(<<'TEXT');
-ID: <$MTEntryID$>
 AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$>
 TITLE: <$MTEntryTitle strip_linefeeds="1"$>
 STATUS: <$MTEntryStatus strip_linefeeds="1"$>

I used Joshua Zader’s modified mt.php and modified it some more so that it would work off of a local file since the MT 3.2 export was over 7MB.

--- /tmp/mt.php 2006-03-27 17:15:00.000000000 -0800
+++ mt.php      2008-02-17 20:51:53.000000000 -0800
@@ -1,7 +1,9 @@
-f<?
+<?

 // HERE I'M DEFINING A CUSTOM FUNCTION BASED ON THE ORIGINAL WP_INSERT_POST FUNCTION LOCATED IN IN FUNCTIONS-POST.PHP

+set_time_limit(0);
+
 function wp_insert_post_with_id($postarr = array()) {
        global $wpdb, $wp_rewrite, $allowedtags, $user_ID;

@@ -287,7 +289,7 @@

        function get_entries() {
                set_magic_quotes_runtime(0);
-               $importdata = file($this->file); // Read the file into an array
+               $importdata = file('/usr/share/wordpress/wp-content/mt-export.txt'); // Read the file into an array
                $importdata = implode('', $importdata); // squish it
                $importdata = preg_replace("/(\r\n|\n|\r)/", "\n", $importdata);
                $importdata = preg_replace("/\n--------\n/", "--MT-ENTRY--\n", $importdata);
@@ -371,7 +373,8 @@
        }

        function select_authors() {
-               $file = wp_import_handle_upload();
+/*             $file = wp_import_handle_upload(); */
+                $file['file'] = ‘/usr/share/wordpress/wp-content/mt-export.txt’;
                if ( isset($file['error']) ) {
                        echo $file['error'];
                        return;

I hope this will save some poor person the time I wasted piecing all this together. Most of the documentation that I googled up was for earlier versions of either Movable Type or WordPress or both. Really, some right thinking, PHP handy person ought to just go in and fix the Movable Type importer and document how to use the Movable Type template in order to make this all work.

Oh, and if you’re going to run multiple WordPress blogs with different url prefixes on a Debian supplied WordPress, then you are going to need this.

Five years of blogging today

For several years now, I’ve missed my blogaversary, so I’m happy that I actually remembered this year. I’ve just finished my fifth year of blogging, although I slowed down a bit during 2007 for various reasons. The Wordpress version of the blog only has 2007 on it, but the PyBlosxom version of my blog is still around (look in the sidebar for the link), and permalinks still work. As proof, here’s the very first post. I plan to be a little more active this year…

Maybe the blogosphere really is a cesspool … Death threats against Kathy Sierra?!

For several years, I’ve been a fan of Kathy Sierra’s writing and presentations. We’ve met a few times in person, and I consider her a friend. So I was stunned to see in Twitter that she’s receiving death threats. My surprised turned into disgust when I read her account of what is going on.

There is a lot of unkind and hateful speech out there on blogs, and in comment streams. It’s the dark underside of the blogosphere, and nobody wants to address it because bloggers are very protective of their right to say whatever they want. I hope that everyone who leaves a nasty comment on a blog or whose blog “theme” is verbally abusing other people will stop and do a gut check after reading Kathy’s post. You might think that you are just venting. But you might also be throwing fuel on the fire for the kind of people that are now abusing Kathy and her family.

Good books is now a “page”

I’ve migrated my list of good books to a “page” in WordPress…

It’s white for now…

Since I switched the blog to WordPress, I’ve been getting a slow but steady stream of complaints about the white on black theme. I’m going to be experimenting with the colors of the theme, but for now, I’ve switched it to black on white. I like that less, but I understand the readability argument that some commenters have made. The black was particularly nice for photo posts, and I’m sorry to be losing that. If there are any Hemingway theme experts out there I’d be happy for some advice.

Comments and suggestions of all kinds welcome.

On gender and blogging frequency

One other point that Anne Zelenka made while reflecting on the Adobe Engage event had to do with gender and blogging frequency:

The world of technology blogging is an architecture of non-participation for women–and it’s partly because we may, in general, blog differently than men. I was really impressed with Ryan Stewart’s blogging output at the event. I sat next to him and watched him pump out post after post. Many of the other bloggers–men, natch–did likewise. Then it all appeared on techmeme. I didn’t post at all yesterday. I didn’t feel inspired, didn’t have much to add to the conversation, don’t much care about what traffic I get to either Anne 2.0 or tech decentral. In this way I seem quite different from the other bloggers at the event.

Is it a gender thing? Who knows. There are plenty of women blogging frequently with attention to popularity (I do so–on Web Worker Daily, but I don’t do it out of a personal urge). But it does seem to me that women publish less frequently than men and may be less likely to post on something just because it’s news and might get them noticed. This behavior means they’re less likely to get linked to, less likely to become more visible, and consequently less likely to be invited to events targeted at influencers like this one.

So this isn’t an exhaustive study or anything like that, but I’d bet that more than anything else, this has to do with the way that blogging is turning into a business or career booster for people. It think (sadly) that posting quickly and frequently does have an impact on the attention that you get in the blogosphere. I personally think that is sad, and there are a number of very very high quality blogs which I read, whose authors post infrequently. But when it’s about the flow, the ad impressions or other related things, early and often is a big deal.

There’s another factor, which I experienced. When I first started going to conferences, I blogged everything, sometime live-blogged it. After about a year or so, I realized that I was losing part of the value of being in at the conference in person. Sure, it was great for the readers — and things like the live notes of Greg Stein’s Python at Google talk are still racking up major hits for me because people are interested in that information. But in order to get all that stuff up and early, I was giving up talking with people and/or sleep. I decided that I didn’t want the first and most frequent niche. I wasn’t getting enough value for the exchange. I’m philosophically opposed to ads on my blog, so the hits are just for my ego, but ego is cheap. Losing out on the chance to make personal contacts with people that I might later want to collaborate with was much more important. Another drawback of being the hare and not the tortoise was that there just wasn’t enough time to really think things through. So you could dump the notes, and some light analysis, but anything deeper takes time. And it’s the deepest stuff that is most interesting to me.

One of the reasons that I asked Gabe Rivera for a personalizable Techmeme is that my personal “A-list” is very different from the A-list that Techmeme tracks. The majority of these folks don’t build systems, and they are all doing variations of the same analysis. For my reading hours, the best values are the blogs of those people who are actually building systems, getting cut by the sharp edges, exulting in the delights of a new discovery, or just the downright cool hack. The tech blogosphere is getting “enterprisey”, for lack of a better description, and as it does, it gets less interesting.

One other data point on gender and posting frequency. When Julie was cranking (which was like a year ago), her output was prodigious. There’s at least one woman that can crank it out.

A second reason it’s important to include more women is to break the vicious cycle of women not being invited because they’re not visible and then not being visible because they’re not in attendance. James figured out how the A list works: you go to events like Adobe’s yesterday, you post or otherwise get noticed for your attendance, and you become more well known. Then more people seek you out. That’s a virtuous cycle. I consider that working with the architecture of the social space–not fighting against it.

Sadly, this is not how it ought to work. Ideas/blog posts should have merit whether you got invited (or could afford) to go to an event or not. Anne didn’t make her way into my “A-list” folder in NetNewsWire because she was being invited to Adobe private meetings. I trusted Cote, James and Steven because I had read their stuff. Their hiring her was a recommendation (she was unknown to me before that). For that reason, her blog went in the 30 day holding bin. Having survived the 30 day holding bin, I put her on the “A-list”. The move happened based on the strength of her ideas. The world is going distributed, and trying to sort people onto the A-list based on event invitation/attendance seems to me like a great way to make sure that the echo chamber gets louder and louder. Or maybe it really is true that the blogsphere is just high school all over again.

The locker room that is the tech business

Anne Zelenka is a (relatively) new analyst at the Analyst 2.0 company, RedMonk. She’s covering the Rich Internet App and Rich Client platform spaces, which are near and dear to my heart because of Cosmo and Chandler. I’ve followed the RedMonk blogs for some time now, and I got a chance to spend some decent time with Cote late last year at ApacheCon, and we had several good conversations. Since the RedMonk folks are (widely) geographically distributed, they’ve taken to Twitter with a passion, which is the same reason that I’ve taken to Twitter, albeit without quite as much passion. Of course, all the Redmonk folks made my friends list.

So it was that I saw their (along with others) live Twittering of Adobe’s invite only meeting on Flex and Apollo. I’m going to save my commentary on the tech stuff for a separate post. But I was stunned to read Anne’s account of a long Victoria’s Secret demo and a few other maddening comments (which I can’t quote, because Twitter’s history is currently broken). I can relate to being stuck in an environment where people are being offensive and don’t even know it (I am sure that no one at Adobe intended to be offensive). My brother and I were the only 2 Chinese kids in our school for a number of years, so I have some idea of what it’s like to be in Anne’s situation. It’s as if you don’t exist, and people do things that offend and then genuinely have no idea why a particular action might have given offense. I’m fairly sure that’s what happened at the Adobe shindig. Still, not good.

Even worse is the general locker room atmosphere in the technology business. I didn’t care for locker rooms when I was in school, and I don’t like them any better now. I have 3 daughters. My older two can already write simple Squeak programs (sorry, they’ve forgotten their Python). If they wanted to go into technology there are lots of statements that I’ve heard that I would never want said about one of my girls, or about any other woman. Forget the arguments about leaving out half the workforce and all of that. When you make that argument, you just objectify someone in a different way, either because they have money or because of “valuable” skills. Some of what I’ve seen and heard — it’s just not right. These are people we are talking about here, and it’s just not right to treat another human being that way.

A Strobist Wiredfool baby!

Congratulations to Eric and Rose Soroos on the birth of their new baby boy.

Eric has been doing a wonderful series of Strobist inspired pregnancy photos (not safe for work). So if you are into Strobist stuff, you’ll probably want to check them out. I’m sad that the series has come to an end, but I am sure we’ll be seeing a new series soon.

Vote for me?

Thanks to Anita for pointing out that I am on the ballot for Seattle metroblogs. How I got there is anyone’s guess, though.

Since they dubbed me a photographer, here’s a picture:

Announcing Guinea Pig TV

Julie has put up a post announcing Guinea Pig TV, which is the “ultra-niche videoblog” that she is doing with the girls.

Here’s the first of the 7 (so far) episodes

WARNING: Cuteness ensues