Dooce 5.0

We’ve been spending the last few weeks polishing up a redesign of the estimable It’s been a learning experience and Heather thought it would be nice for me to write about it from a developer standpoint.

The first thing we did was migrate the MovableType database to MySQL. This has some benefits, some of which won’t be seen in this release of the site, but will allow cool stuff down the road. It does make for faster rebuilds. Given the huge amount of data that is, this is nice.

The second thing we did was upgrade to Movable Type 3.0D. This is a developer release for a number of reasons, mostly talked about on any geek blog and as this is an 8% -58% geek blog, I’m not going to go into it too deeply. I think Six Apart was right to call it a developer release. Even still, there are some bites. You’ll have to watch how it handles your archive pages. It does seem to try and retain whatever default formatting you’ve used, even if you don’t specifically assign something in the Weblog Configuration/Archive Files area. This is good in that you won’t lose anything, but bad if you don’t pay attention or want to use the new defaults.

For example, we started a new blog and began working on the architecture (new categories, new CSS, new sidebar). The default archive structure for categories was awesome. However, when we started to migrate our code from the new blog to the old one (I’ll get to why we did this in a minute…) there were some problems as the old blog had the 2.x default category structure whereas the new blog had the 3.0D category structure. Not evil or upsetting per se, but something to be aware of.

Another 3.x migration issue to watch out for is how comments are handled. There is a _HUGE_ MTElse loop on the individual archive pages and it took me about a week of screaming at the screen before I realized I was editing the stuff in the wrong part of the loop. Scroll down and read, people. It’s nice that the loop is there and really awesome and stuff, but bit my ass pretty hard. I’m alive, so I can’t complain too loudly, other than whine a bit as a warning to others.

Perhaps the biggest issue in the redesign is that Heather is stubborn and likes to do things her way. There is nothing wrong with this. However, MovableType is designed to do a lot of the lifting for you. Heather didn’t want MovableType to do this lifting in the past, as she had a system going, and it worked pretty well for her. The problems we faced were threefold. 1) The time she has to work on the site has diminished with the birth of Leta; 2) She used index templates to show category archives, but with this launch, she’s upped the category count substantially and it was not practical to build 30 index templates; 3) She wanted to add more photos to the site, but in the past, had to change about three pages in MovableType to do so. I’ve had to work with her and explain that with a couple of changes in her workflow, the system will handle all the stuff she used to do by hand.

With such a drastic change in both understructure and workflow, the seemingly minor issues to this redesign have been challenging. MovableType has long had less than stellar category support. For example, if I want to make different categories have different templates, I’ve got to do some imaginative work using template modules and Brad Choate’s excellent Supplemental Category Tags plug-in. Textpattern handles categories much better, allowing more flexibility, but it also ads a level of complexity that needs about 6 months of dedication and neither I nor Heather have that time. There are also issues in the back end of MovableType and how it handles categories which lead to these workarounds and heavy plug-in usage. That so many plug-ins have been written around categories should say something about where MovableType 3.2 needs to be improved. I believe the methodology that I used to solve the category template issues will mean a bigger server hit, and a decrease in speed for users and for Heather whenever she rebuilds.

Why not use the dynamic page generation in MovableType 3.1?? Have you seen the instructions for that?? You have to do a lot of monkeying around and what happens to all those Google archived links in search results and links from others? Sure, we could try to generate a redirect .htaccess file, but again, pain pain pain. I think one of the biggest strengths of MovableType is that it generates a living breathing HTML page for the archives. It’s also one of the reasons that so many blogs show up so high in search results.

Now that Brad Choate is on staff at Six Apart (no disrespect to the other developers) I would hope that the category stuff gets fixed.

Finally, I think on a site as big as dooce, it is time to move to a staging server/production server environment. Trying to rebuild a site that is live is killing the server _and_ making it impossible to get more than a few hundred pages rebuilt. It is an exercise in futility and inciting a near-mouse throwing rage. Yes, I know PHP sites are faster. But we like MovableType. Wouldn’t it be cool if MovableType allowed for this feature natively? I could develop a brand new site, with any changes and once I was ready to un-stage it, click a couple of buttons and boom, live site. I think this would work nicely for entries as well, allowing me to stack up entries and then when they were ready, push them live. This would also fix a long-standing issue with the MT-Search feature that, as others have mentioned, isn’t exactly the dopest. Yes, I know we could add the Google search to the site, but it’s noisy, and a little ghetto. For a site like dooce, it’s not going to look so hot to have a sidebar crammed full of Google stuff. The ads are already painful enough.

We’re still working through some issues, and over the next few days, you should be able to see all your favorite dooce content. Much of the archives aren’t working so good, due to the issue about rebuilding on a live site. But that should be fixed tonight when I can get in and do a full rebuild during lower site usage hours.

Anyway, I hope you enjoy the new dooce. It’s very cool.

Visit Dooce 5.0.

  • Kim

    You both are awesome!! 😀

  • DeAnn

    I love it. I even enjoyed the big photo of Leta last night that told me to wait up and quit being so damn obsessed with Dooce (OK, not exact words, but no one ever claimed I was a good historian).

  • Chris

    Dooce 5.0 looks great! Good job, you two! Can’t wait for all the content to return! Two thumbs up!

  • Sarah

    I have a confession to make.

    I have both of you on my syndication list on LiveJournal, so, I was able to see the design while you were working on it. I’m bad like that.

    I kept things hush-hush, though. In that regard, I am good.

  • DeAnn


    Me too.


  • Ian

    Nice work, Jon. I like the clean look of it. I do miss having Thinking, Feeling Guity, etc on the side bar, but other than that the design is very nice. You’ve got a couple small errors that are keeping it from being valid XHTML and CSS, though. You can link directly to the CSS validator results for your page by using

  • dj blurb


    Thanks! I think the valid XHTML just got shitcanned because there are a million images without a proper tag closure (from back in the pre-XHTML days) and without a speedy way to fix all of them, this is going to be a low priority. I’ll put that CSS link in, though. Thanks for that.

    Also, if anybody else notices stuff missing or tweaked, there’s a good chance we’re aware of it and trying as fast as we can to fix it. There’s a nasty comment problem in the archives that I’m having a hell of a time with… what is up with MTIfCommentsAllowed and MTIfAllowComments??

    That is some wack shit. I’m sure there’s a good reason for them, but again: Ass. Kicked.

  • Jason

    Beautiful work, seriously; I too was admiring it as it happened through the syndication links, and am suitably impressed.

    Oh, and now that you’re in MySQL, fixing all those image tags *can* be a quick process — you can write a short (probably under-15 line) script in your MySQL-enabled language of choice that looks for and fixes the broken tags. To my estimation, this is one of the best reasons to use the database support of your_weblogging_tool_of_choice — being able to use other tools to fix things!

  • Jessica

    I think it is very artistic – but I do have a bit of a problem reading it, the dark type on the dark background is hard. I end up having to highlight it to see it.

  • Jason

    Oh, and as for the MTIfCommentsAllowed and MTEntryIfAllowComments difference, which horked me to all hell until I bugged someone at 6A to inform me:

    – MTIfCommentsAllowed is a tag introduced by the 3.X version, and checks to see if you’ve set any of the prefs which allow comments (either Accept Comments from Unregistered Visitors or Accept Comments from Registered Visitors, or both).
    – MTEntryIfAllowComments is a longtime tag that tells you if you’ve set the pref to allow comments on the specific entry.

    So, the yin-yang is that the former returns a weblog-general pref, and the latter returns an entry-specific pref.

    I agree that it’s shitty that MT 3.1 was released before the docs for the new template tags; that being said, if you’re registered for the Movable Type knowledge base, you can read about the new tags here.

  • Jason

    Sorry — “here” was supposed to link to as the explanatory page.

  • ken

    I hate to complain, especially since you say that you probably know about the problems. But the new dooce site looks pretty broken in Safari on a Mac. Here’s a screenshot:

  • Jessica

    Ahhh – that was my problem. Thanks Ken – it looks the same way on my PC when I open it with Netscape.

  • mihow

    hmmmmm I am on a Mac using safari and it looks perfect for me. Might you have an older version of Safari, ken?

  • the mighty jimbo

    blurb, if i ever find a way to get paid to be a professional blog whore, i will totally hire you to be my tech guru. complete with medical, dental, and four weeks of paid vacation.

    and ipods for the whole family. we’re good that way around TMJ Inc.

  • Andy

    to ken and Jessica:
    It’s a CSS-caching issue. Try holding down the shift-key and hitting the reload-button. If that doesn’t help, empty your cache (Apple+Opt+E for Safari; somewhere in Options for netscape)

  • http://n/a J

    Wunnerful! Seriously, it looks great. *sigh* I married a GeekMan too, and like you, he is so very, very hot, especially when he Talks Geek. Thanks for the explanation that went entirely over my head, but was interesting to read nonetheless. Dooce is a lucky gal (and I know I am, too!) 😀

  • Donnie Jeter

    The site looks so wonderful – a very nice upgrade.

  • diane

    nice new design!
    andy- thanks for the tip on viewing

  • dj blurb


    Thanks for the comment link.


    Refresh often. Shift-refresh often. Also refresh your pants often.

  • Ev

    Excellent design on both your old and new site. Clean and elegant. Thanks for being such a class act in all ways.

  • Aaron

    Why do images sometimes not appear on Like right now I can’t see any images on the site. Using Mozilla 1.7.2, but the same thing happens under IE 6.

  • Jessica

    Thanks a lot Andy – that fixed it! :-)

  • Sarah

    Aaron: I’d try taking a look at Heather’s FAQ.

    What’s quite odd is that I can see images on my university connection (with Norton enabled), but not on my home computer — only on my home computer when Norton is disabled.

  • Robert D.

    You can always upgrade to Movable Type 3.1, which supports dynamic page generation.

  • Debbie

    I stumbled onto your site, looking for somewhere to rant and rave about being marrried, I dont know your circumstances, but you touched my heart. I wish yours the very best thoughts, I will say a good word every night. God Bless You.

  • Kathy

    I agree with Jessica – the dark type on the dark background is difficult to read. I end up having to highlight it to see it. Other than that — looking good!!!

  • Kathy

    Ignore above comment – I posted, THEN refreshed. Should have reversed that process! Sorry ’bout that!

  • Kevynn Malone

    I feel like a tourist who doesn’t know the native language.

  • FrumDad

    First of all, Zowie! Nice work. Double-plus Zowie.

    And now for something entirely related:
    A tweak request. I’d like to be able to “Next” and “Prev” through a category. So, for instance, I could go to the Dooced category, click the earliest one of those posts (the one about not letting Dooce work from home) and then “Next” my way through the story without having to “Back” to the Archive list, scroll down, and click the next chapter.

    The “Prev” link would only matter if I read something so exquisite I had to go back to it again. But it makes a nice bookend for the “Next.”

    I know, I’m a lazy git. But it’s worth mentioning.


  • laura

    two words: Expression. Engine.



  • Katie

    Hey there! I’m no tech guru (for god’s sake, I use blogger) but I’m particularly liking the new category database. It allows me to stalk your family much more specifically :)
    No, seriously! With such a popular site, I’m sure a lot of folks are going to want to see the archives – and dividing them by category makes a bunch of sense. More power to ya (and happy recovery, Heather…)

  • Gopi

    I was using blog software that I had written on my own, before I switched to MT. It used dynamic pages, but the URLs had no question-marks in them (Apache handles /path/to/script/arguments/go/here and executes “script”; You can parse out the arguments from the URL).

    I haven’t checked out how MT3.1 handles dynamic pages yet, but I just wanted to mention that it is possible to do Google-friendly dynamic pages.

    What the heck, while I’m thinking out loud, regardless of how MT handles dynamic pages, you can still do it. Instead of relying on MT to generate permalinks, you can code the format of the URL into the template directly. Tweak your .htaccess to get it to execute the right script with no extension (if you want pretty URLs), and you’re home safe.

  • kim from overseas (just so you don’t get confused)

    already told heather how i love the new look. and i, too, didn’t understand a word of what you wrote. but – i like FrumDad’s idea with the prev. & next. that way i can go back to the days i didn’t know you guys and catch up easily. also – i do refresh my pants every day.

  • kim from overseas again

    i just saw that at least one of the google-ads on dooce is in german. you’re bilingual now. how cool is that? JAY!

    and i was just thinking that i, personally, like for links to other sites to open in a new window. like when i’m on the “about” site and heather e.g. refers to blurbomat, it’d be nice to have a new window open so when i’m done looking around on blurbomat, i can just close the window and keep strolling around on dooce from where i was.. but that’s just me – and i don’t know if it makes any sense at all..

  • Anil

    Great feedback, Jon, and really nice work! (To both of you) I’ll be passing along your comments on MT to our team. I will tell Choate you like him best and rub all the other engineers’ faces in it. Ha ha ha ha.

  • Jason

    Someone may have mentioned this, and you may already know this…but your left column is dropping in IE. I hate IE myself and use Opera and Firefox mostly, but try to allow for consistency across all browsers. Alot of people out there still use IE.

    I found this very inetersting. I’m new to CSS myself, and self-taught since a few months ago, so you may know all these, but it has alot of helpful stuff.

  • Jason

    Crap, I meant right column, dropping below left.

  • Dale

    I have to admit I was surprised to see so much gray in the design. Gray page background, gray borders, gray image borders, gray text in the right column, gray page header image, etc.

    I admit that I don’t know Jon or Heather personally, but from reading both of your sites, my mental image of each of your is not gray – it’s actually lively and colorful.

    Of course I’m not suggesting the site be garishly colored. And you might just be using gray during this website gestation period. But either way, color me surprised.

    Best of luck to your entire family and I look forward to reading more.

  • JM

    I must be an idiot because I still get the dark red background with dark font (hard to read!) even after refreshing the screen a few times. I love the new design but the colors do make it hard for me to read – – what am I doing wrong?

  • l

    me too. i’ve been daydreaming about having babies of my own after reading it’s scary.

  • emily

    excuse me stewardess, i speak jive.

  • ken

    This morning it’s beautiful. Thanks to all who suggested a refresh.

  • debs


    I just emailed you the second time..I didn’t mean to say that you have no taste in guys…just in some guys. Your site rocks! Best blog ever…even better than [sorry Erin].

  • Sara

    Even though I have no idea what you were talking about up there, I couldn’t stop reading. This geeky stuff is great! The site looks new and pretty, even though I wasn’t able to look at the different categories (it could be my work brower, though). Keep up the good work!

  • julie

    I’m looking at the site through IE, cleared my cache, and shift-refreshed several times. I still can’t see any columns and have only the black text on dark red background. Any ideas?

    On a different note, welcome home Heather!

  • Beerzie Yoink

    Dood, it looks awesome.

    Have you tried 3.1/3.11 yet? I am tempted by its features, but just as I’m on the verge of upgrading, I read a new cautionary nightmare.

  • robert

    I didn’t understand 98% of the geekspeak, which gives me a goal…understanding 5% next time .. off to see what I see on Dooce.

  • Chloe

    I barely understood any of the geekspeak– which is such an awesome term, by the way– but I do have one slightly off the wall question. I was looking through the categories on Dooce 5.0, and looking through the Jon category, “Birthday/Puking” entry and I am curious if you, are left-handed, Jon. Because, you know, I’m left-handed, and that would make me cooler by association. (I know this is completely ridiculous, what does left-handedness have to do with puking? But you were holding the pepto-bismal in your left hand, she said, and in the picture at the top you are resting your head in your LEFT hand, and so, I am curious.) I have very little coolness naturally, so any cool received by association would be much appreciated. Thank you!

  • samantha

    Most of this post was completely over my head, but Dooce 5.0 is amazing! I love the categories, and is it just me, or are there some older entries brought back? Thanks for all your hard work, on behalf of all of us Blurbodoocery devotees. I’m sure Leta and Chuch are bursting with pride!

  • Ayse

    I’m surprised was not using MySQL before, considering how much stuff is there. I second the earlier comment about MySQL backends making systematic corrections easier. They also make it possible to COMPLETELY DESTROY YOUR DATA. I recommend making a nice, verified backup before attempting anything funky, if you get my drift.

    Also, the new design looks really nice. I miss the picture of Chuck, though.

  • kimberley

    You should make money by online tutorials. You are obviously in the know about a whole bunch of crap, so go to town!! I am going to school right now, and I am sure I can just refer back to this site for some help.
    Keep on truckin’, Armstrongs!

  • J

    Love both sites… One thing: More whores please.

  • Miel

    Just want to say it’s beautiful but holy God that explanation scared me.

    It was like I saw the site and thought “I want it! I want that!” And then I realized that all those drugs my mom did while I was in utero (which I assumed hadn’t done much damage) really must have burned out the brain because Genius H. Krike I don’t know what the fuck you were talking about there. I shall never have a site such as that. It is not for the likes of me.

    And I thought I was smart. But you are smarter, Jon Armstrong. Far, far smarter.

  • Karen From Across the World

    I really like the “Categories” thing. Makes my life easier. :-)

  • kim from overseas again

    thanks for the previous & next buttons. now i’m gonna go back in time and read what’s been going on since the beginning. and that means i might possibly be the second person to get fired because of but you know what – it’d be worth it and then i could come and nanny for you. i watched up to seven kids for a year before and nobody i know got pregnant at 16 or is in jail..

  • mihow from heaven

    God said he likes it.

  • Keith

    Regarding your need for a staging server–if i were in your shoes, i’d consider installing apache, mysql, perl, etc on your local machine (laptop, desktop, whatever–there are win32 setups for all of the needed parts) and using that as the “work” server, and when its done generating, use rsync to push the files to the web server. rsync will only move the files that have changed, and even then, it will only push the parts of those files that have changed. here’s the url:

    i’m sure you can get all that on your own if you want to go that route but if you need any setup tips feel free to email me.

  • mihow from above the center of the earth

    Seriously though, I was talking to Toby about this the other night, what might be kind of cool is to show a “Most Chosen Category”. Or a “Top Five.” I’d be curious to know what people are driven to choose. For example, ever since the Mormon boys started coming around, door-to-door, through the the gay neighborhood I lived in back in D.C. and being incessantly hit on by our neighbors, I have been concerned and/or intrigued about Mormons everywhere. I chose Mormonism.

    Plus, I have wondered for a few days now as there were two practicing Mormons at a party I attended the other night (they weren’t openly practicing while at the party, but still, it was there.) We were drinking beer and wine. They were drinking Coke. Does Coke not count as caffeine?

    Anyway, a “Most Chosen”. I wonder if that’s possible. A way to lurk the lurkers. Or something.

  • Carrie

    It looks amazing, and your explanation completely blows my mind. I had enough trouble trying to skin my gimpy site using Movable Type 2.46 and a few dinky PHP includes…

    So major props, Jon, I think it’s beautiful and very easily navigated. Geeks rock.

  • greta

    the new design is lovely… but i’m having a formatting issue. the first time i looked at it yesterday, everything was fine, but ever since then when i load the page the header and text doesn’t start until about halfway down. i’ve tried refreshing, but that didn’t help… is anyone else having this issue, or is it just me?

  • Joy

    I apologize but I want to talk babies. I guess I was lucky when my son was Leta’s age. My mother and father were always close at hand. When taking care of my son became too much they would demand that I take a few days out of town to myself. When I came back, my relationship with my baby and my state of mind was 20 billion times better! However you guys can do this, it is good.

    Take care…

  • FrumDad (Orthodox Jewish Father)

    ‘sme again. Are the next/prev buttons new (and possibly even in response to my request)? Or have they been there all along and I’m just a dork?

    Miel — I had a similar reaction. We could just get rich and then hire Jon to be the uber-geek at our respective webspaces, but at least for me that’s lookin’ unlikely. I’ll just have to quit my job, leave my family, and hole up with a bunch of CSS books for three years or so.

    Or I could just use Blogger and “lust in my heart” after Jon and his coding skills.

  • Very Mom

    I was reading over some of the debates about MT I found through that link to the google search. I’m currently using free and oft complained about Greymatter. I had always thought I would eventually move to MT, but recently found – do you or anyone else have experience with this publishing platform?

  • dj blurb

    WordPress is nice, but not as nice as Movable Type. None of the other solutions I’ve seen (this excludes Expression Engine) have the elegance or support of Movable Type. But that’s me.

  • Anil

    Plus all of us at the company that makes Movable Type are big fans of Jon and Heather. So there’s that. :)

  • monkeyinabox

    Finally RSS feeds from Dooce! Now I can read in utter unformatted ugliness! :)

  • Phil Ringnalda

    Not sure where everyone seems to have gotten the idea that MT’s dynamic publishing requires some new URLs that will confuse Googlebot, but: here’s a sample old Dooce


    and here’s a sample for dynamic publishing:


    Pretty sure that won’t pose a problem for Google, or even AltaVista if they still crawl. There’s *no* change in URL, just little gnomes running from .htaccess over to the mt_fileinfo database table to see what should go in the requested URL and off to PHP to fry it up.

  • dj blurb

    Phil’s right. I mostly decrufted my URLs awhile ago and now I’m dynamic on No difference in URLs. It was far less painful than I imagined. My comments numbers aren’t showing up, but that’s either a bug or my code.

    AS for dooce, there are bigger issues because of the archive structure inside Movable Type. It looks like a smart 404 page is going to be the way to go. Thanks to everybody for their suggestions.

  • dan

    Hey Jon, would you consider making the archive templates publicly available, like so ( I’d like to see how you did the Monthly Archives page ( Thanks. :)

%d bloggers like this: