Recent Entries in Movable Type

  Damn this CSS!

Having the worst time with stylesheets today. I don't know what I did, but I did some adjustments while fine-tuning the new blog layout, and I made a mess of the whole thing. Well, only on Opera and Firefox; IE seems to think everything's fine.


I'm using the Movable Type wtt (wide, thin, thin) column layout, and the two right columns, the primary and secondary sidebars, are dropping to the bottom of the page, below the end of the wide column. Normally, this means that the width of the page isn't wide enough for the columns, but that's not the problem today. I've been over every line of stylesheet, and can't seem to sort it out properly. I've got two examples of the exact same page -- it's fine before I rebuild it, and it's broken after I rebuild. Should be easy to sort out, no? Well, it's going to take some time, but I want to be sure it's working before I try to rebuild the entire site.



And why is IE working, anyway? It's probably because it violates so many CSS standards, that it doesn't even notice the problem. Oh, and what's worse ... it's only with the MissingLinks page. The BlogZucker pages appear to be fine. That may help narrow down the problem, since it's the same stylesheet on both blogs. Maybe it's not a stylesheet problem, per se.

(sigh) Just be sure to use IE when viewing this site for the next little while. It should look ok.

Going to run some tests with Chrome and Safari, and see if they're also broken.

Update: Turns out there was an extra <div> tag in my comments template. One of the things about MT4.x is that you don't create a page template anymore ... you create a wrapper template, which then includes perhaps dozens of smaller module templates. I had to load the page in a browser, count the number of <div> tags, and make sure they all had matching closing tags. Then I had to go into each module and figure out where the extra tag was.

Glad that's fixed now.

Just checking to see if this pops up in twitter. Lost all of my proprietary link-building code from the old machine. (sigh).

Testing MT upgrade with flickr - Uploaded by Zuckervati.

Huh. Nope. Pretty sure this is actually working.


After playing around with the Movable Type Motion Beta (I've got a copy of it running somewhere), I spent the better part of an afternoon trying to figure out if the problems with updating external app streams (such as Twitter updates) were related to some kind of configuration problem or related to the beta-state of Motion. After realizing that the run-periodic-tasks script for my permanent blog does nothing for installed betas, or other instances of Movable Type (me stupid), I realized that MT still hasn't corrected some easy errors in their modules. Nor have I. The problem is fixed now, and I'm writing down two simple fixes to two hard-to-research problems.

Problem 1: Can't locate MT/ in @INC

So, say you're getting a constant error in your daily cron logs when trying to do background publishing in Movable Type. You know, you're trying to run the run-periodic-tasks script to take care of background tasks by setting up a cron job, either daily, or six times an hour. Assuming your crontab syntax doesn't suck ass, now you're getting messages that look like this:

Can't locate MT/ in @INC (@INC contains: ...

This website has some good examples on how to fix this (hint: you don't have to modify @INC, you can simply modify your run-periodic-tasks file).

Getting background publishing to work in MT 4.1 --

The problem is that '..lib';. It's simply pointing to the wrong place in the MT file structure, which is weird, given that it's their app and all, but whatev. So what you need to do is point the script to using the absolute filepath, and all will be well.

Problem 2: Subroutine MT::Template::Context::post_process_handler and Subroutine MT::Template::Context::add_global_filter

After upgrading your v2.x of Movable Type to v3.x or even v4, you may see these messages in your daily cron logs, if you're running the run-periodic-tasks script to enable background publishing and housekeeping:

Subroutine MT::Template::Context::post_process_handler redefined at /usr/local/www/cgi-bin/mt/extlib/bradchoate/ line 41.

Subroutine MT::Template::Context::add_global_filter redefined at /usr/local/www/cgi-bin/mt/extlib/bradchoate/ line 22.

Took me a while to sort this out, but only because I enabed run-periodic-tasks for two fresh installations of v4, and there were no errors in the logs. As discussed here, the problem is that the isn't used in v3 or v4 of Movable Type. To fix these very noisy messages in your crontab logs, go into /usr/local/www/cgi-bin/mt/plugins and edit the file, replacing:

use bradchoate::postproc;

with something like this:

if (MT->VERSION =~ m/^2.2/) { require bradchoate::postproc; }

or even just comment out the line altogether. You'll notice all your post processing still works, and you'll get no more error messages.

I'm tinkering with my MT-Twitter plugin. If this works, it should create a Twitter update with a tinyurl instead of a longer url. In MT 4.x, the MT-Twitter plugin should automatically do this if the URL is longer than 30 characters, but:

a) I'm not using MT 4.x (although I've downloaded and am testing the open source MT 4.x)

b) I want this to shrink all the URLs to tiny format

Hopefully this will work, otherwise I'll either have no Twitter update or something very crazy-looking.

I've discovered two new side-effects of the MovableType 3.34 upgrade:

1. The new realtime layer/script which allows you to make the entry fields bigger or smaller by clicking on a button interferes with my ability to post from Blackberry. The text simply disappears from my screen after about six words. This is the larger of the two issues. I can still enter as much text as I want into the field, I just won't be able to see it.

2. The MTEntryAuthorDisplayName now (rightly or wrongly) uses the user's display name from their MT profile. Unfortunately, if you leave this blank in your profile, it disappears from all newly-posted or newly-rebuilt entries. It's not a big problem, since all I had to do was make sure all authors also had their Display Name filled in, and then rebuild the blog.

Now that I've isolated these, they're pretty easy to work around.

One of the problems with upgrading is that you find all sorts of problems both before and after the upgrade. The "before" problems were maybe those things you were going to get to, when you had a moment, but never did. The "after" problems were combinations of issues incurred during the upgrade, and a few of the "before" problems you didn't notice, or didn't address properly before doing the upgrade. In my case, there weren't too many problems, but there were some. Considering this was only a maintenance upgrade, and that I was upgrading for the better part of a year, these problems could have been avoided.

"Before" problems:

  • I wasn't backing up my database (shame on me)
  • I was heavily customizing my scripts for added functionality without considering forward-compatibility
  • I didn't check for a newer version before upgrading
  • I didn't upgrade to 4.x, like I could have, out of fear that things would get broken
  • I didn't read the upgrade docs (double shame on me)
  • turns out I had a very cool spam keyword filter plugin I wasn't even using
  • I had two other awesome spam plugins I was using, but didn't know about

"After" problems:

  • reCAPTCHA code required some script customization
  • some of the plugins I wanted, which required upgrading in the first place, weren't free, or weren't available anymore
  • slight learning curve on new interface, which I wasn't expecting, this being a maintenance upgrade
  • slight problems with new interface on my browsers, requiring some script and template modification
  • new location for static images was required
  • new location for customized templates was introduced to allow for forward-compatibility
  • upgrade disabled spam filtering and reCAPTCHA, so I was flooded with spam the instant I upgraded

Sure, most of these are trivial, but there may be some that I haven't found yet. But finding one or two problems really got me looking at and improving my system as a whole (i.e. the database gets backed-up nightly), and I've gotten absolutely no spam since re-enabling the filters. I was also able to get at one or two really nit-picky things I've been thinking about fixing for a while, such as setting a default image upload location for guest bloggers, and for my lazy self.

Now to start planning my 4.x upgrade, so I can get at some of those cool new features.

  Testing MT Upgrade

Just testing a maintenance upgrade. Hopefully everything isn't foobarred.

This is pretty weird. I'm trying out the Windows Live Writer interface for blog posting. I'll admit I was a little wary about this, but they've got compatibility with many different blogging interfaces, including Movable Type. The neat thing is that it picks up your template settings for a live preview of your post. So, for the first time ever, I'm able to see what my post actually looks like while I'm typing it. Props for that alone. Granted, I'm more of a code person than a WYSIWYGer, so I'm not sure this is entirely my thing.

It's also got a built-in spell-checker, so I don't actually need to write the post down in a different interface, and spellcheck it before cutting and pasting into the submission field. Also cool.

Changing categories, adding keywords, and altering blog entry settings is also possible, but requires you to bring up the properties pane, which is kind of tricky to find (hint: it's under the editing toolbar option View > Properties).

There's even a full blog post preview option, so it shows the entire blog page with the entry on it, even without saving. It appears to use an RSS feed to do so, and not the live page, because the date's wrong, and yesterday's published post isn't showing up in the preview:



But since it's a simulated picture, it's a minor thing to worry about.

I have to say, I'm kind of impressed, but I'm not so sure it's geared towards me or other seasoned bloggers who design their own interface and are able to customize their blogs to such a degree. I blog from my BlackBerry, from text editors, SSH windows, and from machines that are not my own. It's like having Outlook when  you're really used to using Mutt.

This app would probably really appeal to people who maintain multiple blogs, who constantly post from the same machine, and who easily forget their login credentials. Still, I kind of like using it, and for a free app, it's pretty feature-rich.

Well, let's see how this works when I actually post the entry. This could look really bad.

Update: Well, there are a couple of things I like and don't like, after seeing the post. I kind of like that it generates thumbnails for you before it uploads images (and puts cool drop shadows on them as well). But there doesn't appear to be an option to disable the thumbnails, not even if you select "original" size. Seems kinda stupid to use a thumbnail image the same size as the original.

While I like the way it formats in a way you can preview, I don't like the way it just sends everything through in a big stream. I've seen this before, and it makes it difficult to edit the post without having to use Live Writer all the time.


Also, it seems to think it can just create its own folder (see highlighted text) and drop images in it. I hope that's configurable.

  New CAPTCHA code

I've had much feedback in the past regarding my CAPTCHA code, MT-SCode. IT was either completely ineffectual for computerized spammers to break, or it was impossible for real people to read. Also, if your temp directory for the plugin was set to /var/tmp, the contents of the folder would get periodically cleaned up, removing all of the images for the SCode to function. Meh, the latter problem was mostly my fault.

So, out with the old, and in with the new. I've switched over to reCAPTCHA, an online free service provided by Carnegie Mellon University that not only provides good visual *and* audio CAPTCHA, it also helps in the digitizing of books (by providing OCR-unreadable words in the code, of all things).

About 60 million CAPTCHAs are solved by humans around the world every day. In each case, roughly ten seconds of human time are being spent. Individually, that's not a lot of time, but in aggregate these little puzzles consume more than 150,000 hours of work each day. What if we could make positive use of this human effort? reCAPTCHA does exactly that by channeling the effort spent solving CAPTCHAs online into "reading" books.

To archive human knowledge and to make information more accessible to the world, multiple projects are currently digitizing physical books that were written before the computer age. The book pages are being photographically scanned, and then, to make them searchable, transformed into text using "Optical Character Recognition" (OCR). The transformation into text is useful because scanning a book produces images, which are difficult to store on small devices, expensive to download, and cannot be searched. The problem is that OCR is not perfect.

reCAPTCHA improves the process of digitizing books by sending words that cannot be read by computers to the Web in the form of CAPTCHAs for humans to decipher. More specifically, each word that cannot be read correctly by OCR is placed on an image and used as a CAPTCHA. This is possible because most OCR programs alert you when a word cannot be read correctly.

It's pretty awesome if you ask me, and some smart person rigged it up to work with Movable Type, so I thought, "Hey, I use Movable Type, and I'm also looking for some proper kind of CAPTCHA code for my comments." Everyone's happy. Or are they?

Try leaving me a comment and see if the new system's working for you. I personally found the audio code difficult to understand -- like hitting one of those CIA beacons with your shortwave, and possibly six other radio stations at the same time.

  MT4 Templates Fixed!!

I finally figured out the MT4 issue. It took 2 straight weeks of pseudo-random configuration changes, and an open support ticket with Movable Type. They weren't particularly helpful, but did point me in the right direction. They said it was a permissions problem on the mt-static/ folder, which was the first thing I checked on my own.

After checking all the permissions in every folder, and in the Apache configuration files, I eventually checked the HTML source of the template editing page. The StaticURI option was reading a different virtual host than what I was expecting, so I checked the mtconfig.cgi file for its StaticWebPath setting. Sure enough, this was set to a vhost for an earlier beta version of MT.

I was unsure why this should make a difference, there being an mt-static/ folder in that path, and getting a "mt-static - OK" when accessing the path directly. However, it was still a problem. When I corrected the StaticWebPath to point to the new mt-static/ folder on the proper virtual host, everything started working.

Now I just need to figure out how to use the new template editor. Now, apparently, for every template stored on the server, there are separate template headers and footers, each needing to be edited separately. I'm still not clear on how the headers and footers interact, though it may be simply that there is one common header, and one common footer for each blog.

Also, there are dozens, if not hundreds of new variables, and a whole complicated scripting language I have to learn. I'm still trying to figure out how to make a simple change in the look and feel of the pages. For example, I do not want a category-based blog (such as Slashdot) to display a list of blog entries based on author name. Nor do I want a date-based list, nor a list of all the archives ever made. I've been blogging for about 7 years now, and that is one huge archive list page. So I'm going to be doing a lot more tweaking before I'm ready to transition my blog(s) to MT4.

  MT4 Templates Don't Work

I've been having problems getting Movable Type 4 working properly on my new server. Everything's working fine, except for perhaps the most important part -- the templates. MT relies on template pages, which help generate the HTML pages during rebuilds, or when you post a new entry, for example.

Unlike in MT3.x, where the templates were static files, and could be edited directly, MT4 has made use of the Codepress editor and stuffed the templates into the database. This makes it difficult to get to them, and I'd have to locate all the code, extract it, edit it, and replace it, hoping not to damage the database with my limited MySQL vocabulary.

Either that, or use the Codepress editor (which renders a JavaScript editing window in your browser). The trouble is that the editing window for templates is completely greyed-out, and the associated "Insert..." dropdown list doesn't insert anything. Without being able to modify the templates through this interface, MT4 is pretty much crippled. Sure, I can switch the default templates around, but then I get things I don't want, like a global archive index, listing every single entry on one page, and I can't insert any useful objects into the pages. What I end up with is a pretty stock blog, with none of the customizations I've worked so hard on in the past.


I've tried different browsers (IE7, Firefox, Netscape, Opera), and different browser permissions, thinking it might be something wrong with the Codepress editor. I've even installed Codepress on my server separately, but it works fine, as does the Codepress that comes in the MT package. This suggests there's nothing wrong with the apache server, or the browsers I'm using.

It's probably something with JavaScript, since the "Syntax Highlight" buttons that should show up in the editor aren't there. The really weird part is, except for some guy in Japan, I'm the only one with this problem on the MT forums. I'd really like to sort this out, because MT4 appears to have some really great features otherwise.

I've been busy getting a new hosted server online, and it's still a few weeks away from going live. I've got to tweak some settings and burn it in. I've switched to FreeBSD 6 just to keep myself limber, and it seems to be fairly responsive, and also easy to configure, especially since I use it at work.

The hardware itself isn't anything big -- a Dual PIII/1000 with 2GB RAM and 4x40GB hard drives arranged in a hardware RAID 0+1 array. Nothing too gutsy, but better than my current system, and more redundant, seeing as it's an off-site solution, and about 2 hours away.


I've also been testing out the latest beta (RC4, actually) of Movable Type. It's still got some bugs to work out, and it crashes Opera if I try to upload an image, but it's got some new features. If/when they get it stabilized, I'll probably look into upgrading. It's got a more advanced dashboard, and has some neat flash pages to show live statistics. There are other goodies, such as the ability to batch edit pages (so I can add keywords into all those old posts), and it now categorizes image assets, and even allows you to publish static pages, unrelated to blogs, but with the same dynamic stylesheets. It's going to make me a lazy HTML coder. Most importantly, it should fix some of the commenting nightmares I've had with the old blog.


I've been working on importing some old blog entries from HTML into Movable Type this past week. Good to have everything in one place. This way, I'll lose even more data if the hard drives crash.

Actually, going through some of the old blog entries was a little weird. I got to read over some of the childish things I've said in the past, and it occurred to me that I've kept this blog for over 5 years now (long before and long after it was cool). In my last post, I mentioned how I'm rethinking the whole blog project. I could just quit outright, or phase it out over time. But right now, I'm still thinking about it, and that's problematic enough. I've spent a lot of time on this journal, and it would be a shame if this all got thrown out because I've fallen into a lazy spell again.

But it's more than that. This whole recent trend of looking at a person's blog after they've been made famous (i.e. by killing someone, or by killing themselves, or by dying in a freak accident, or by getting arrested, etc.) and picking out the juicy details -- this must have really gotten to me. Perhaps I think I'm an easy target for this kind of thing (no, not killing a bunch of people, and not dying in a freak accident).

In the year of entries that were imported, I did plenty of silly things. I hid in a bunker for a number of days back in 2001, wore "questionable" t-shirts, made communist propaganda posters, downloaded music off the Internet, etc. I've even got pictures of people with guns on my site, and I've openly called myself a goth (I'm not really a goth. I'm more of a happy-go-lucky kind of guy).

For the most part, I've tried being something of a satirist or humorist -- an Internet meme of my own (successful or no, I have at least tried). But what would the press think if I died tomorrow? Would they label me a Satanist? A communist? A killer of cats? A maker of Kraft Dinner recipes?

Who is this "Zuckervati", really? Channel 7 news looked at his blog... and found some interesting things.

Truthfully, many of the entries were more authentic than others. I've written entries that were anti-social, temperamental, maudlin, and somewhat twee... sure, I'll admit that. But where to divide the fictional and semi-fictional from the real thoughts and emotions, and from the stuff I didn't post at all? In short, you can't really learn anything about me from this journal, though you'd think you'd know everything about me.

I know... I perhaps shouldn't worry too much about it. I've had fun so far. Maybe I can keep on having fun. I've just got to remember that while this is essentially a work of fiction (like any documentary film, or the American news channels) this is still a public record of myself. If I don't want people to know something about me (i.e. that I secretly like Hello Kitty) then I shouldn't post it.

Mailing List Signup

What? There's a mailing list? Sign up for the Mailing List

About Me

I suppose if you've been reading my site for any length of time, you're probably curious to know who I am, and why I think people will read my blog. Online, I'm known as Zuckervati, mostly because it's easy...
» More ...

Follow Me on Twitter

Recent Entries

  • Using Boilerplates in Movable Type

    For those of you using Movable Type as your blogging platform, there's an interesting, and rarely talked about feature called Boilerplates in version 5+. In...

  • How To Get Traffic To Your Blog

    I could have just tweeted this post from Writer's, but that wouldn't have brought anyone to my blog. Ah, I kid. But, there's some...

  • Turning Fifteen

    A test entry. It's been a while since I've posted anything. Can you blame me? This blog's been going on for fifteen years. Whoa, has...

  • Merging Blogs

    Taking all my Zuckervati blogs and merging them up in the dot-com domain. Hopefully, this will make it a bit easier for me and for...

  • Test Entry for New Blog

    Here is some text... Working on merging the various blogs together into one mega-blog with an easy URL. Here's a picture: Here's some text in...

Tag Cloud

politik / film / video / skeptic / cewl / techno / humour / haxors / nosh / can-con / gaming / religion / weird / sex / funny / eco / music / stupid / photos / cocktails / George Bush / blogosphere / flickr / travel / evolution / politics / creationism / creationist / mobile / awful / photography / Star Wars / awesome / geek / bartending / coffee / drinking / mixology / alcohol / liquor / bartender / cocktail recipe / cats / food / Savoy Cocktail Book / science / Lovecraft / parody / books / Cthulhu / articles / TV / pets / John McCain / Movable Type / promos / cartoons / sci-fi / Canada / Radio Zuckervati / cool / Roger Ebert / system / atheism / comics / reviews / technology / zombies / anime / anonymous / MMO / Star Trek / television / writing / Alinea / animation / Batman / Futurama / Halloween / horror

Twitter Stream

D H McKee's bookshelf: to-read

Sunset and Sawdust
tagged: to-read
The Thicket
tagged: to-read
tagged: to-read