Movable Type

Closing Movable Type Comments

I'm winning the war on comment spam on Wordzilla, my homebrew weblog software, thanks to PHP code that rejects link-heavy comments and submissions from banned IP addresses. I'm losing on Movable Type and Manila. Both programs are being flooded with spam that has to be hand-deleted, a chore that's miserably time consuming in each. Six Apart enhanced Movable Type's comment-management features in version 3.1, but it can take up to five minutes to delete a group of spam comments on the Drudge ... (read more)

Handling 18.5 Janets of Web Traffic

The Drudge Retort was hammered yesterday, serving 10 gigabytes of traffic as thousands of people looked for exit polls and early election returns. The unit of measurement for traffic here is Janet Jackson's right breast, the exposure of which maxed out the shared SDSL connection on my old server. For seventeen straight hours, it served 144 kilobytes per second of traffic (1 Janet) to people on a fruitless search for celebrity mammary. Since that time, I have moved to dedicated server hosting ... (read more)

Turning Off the Radio

Because I wrote the book on Radio UserLand, my decision to stop using the software on Workbench has raised a few eyebrows.By tradition, the first thing a weblogger must do with new software is publish a vicious excoriation of the old software, warning others to keep away, like a courageous relief worker marking a land mine.Textbook example: When Mark Pilgrim concluded that a Movable Type licensing change would have cost him $535, he declared the software a dead end, switched to WordPress, and ... (read more)

Encoding XML in Movable Type Templates

Last week, I helped Jessamyn West fix a problem with the XML encoding of the RSS 2.0 feed on the Movable Type weblog she ran during the Democratic National Convention. West's feed couldn't be read successfully by the Convention Bloggers aggregator because of the following line: [more] This line produced output of this form: some entry text]]> [more] The block that begins with and ends with ]]> is character data in XML. The encode_xml attribute causes this encoding to take place, which ensures ... (read more)

Squashing Link Spammers in Movable Type

I'm finishing a new book, Movable Type Bible Desktop Edition, by covering the subject I've been most eager to cover: plug-in programming. As you can do with UserTalk scripts in Radio UserLand, you can write scripts that enhance the functionality of Movable Type. The software can be extended with Perl scripts that are executed by placing HTML-style tags and attributes in templates, the same technique employed by the software itself. The script output appears in the rendered file. Plug-ins also ... (read more)

Obscure Problem on TypePad

I'm helping James Romenesko move one of my favorite weblogs, Obscure Store and Reading Room, to Movable Type hosting on TypePad. He's been hand-editing with HTML for years and decided to make things easier with a content-management system. The weblog offers two kinds of daily content, full entries with descriptions and a "plus" section of headline-only items, and presents six days on the home page. I haven't found a way using Movable Type's standard template tags to accomplish this layout. The ... (read more)

I Am Not Eligible to Win

Movable Type 3.0 enhances the software's support for plugins, components written in Perl that add functionality such as weather information, author credits, and even direct MySQL access. With version 3.0, Movable Type can manage plugins, adding links to documentation and configuration pages on the Main Menu page. There's also a new callback system that enables plugins to be called when data is loaded or stored, a feature that sounds a lot like the hooks I've been using to extend the ... (read more)

Feeding the Feed Validator

I submitted a change to the Feed Validator documentation that was picked up by Sam Ruby this evening: a new answer to the question "How do I make Movable Type output valid RSS 2.0?" that includes a revised RSS 2.0 template. Some old RSS 0.91/2.0 templates in Movable Type produce invalid RSS because date values aren't correctly formatted. The new RSS 2.0 template in Movable Type 3.0 doesn't have this problem, but it includes a new date tag attribute, format_name="rfc822", that isn't supported in ... (read more)

I Am Globally Unique

As I pore over the Atom syndication format for a writing project, I'm bumping into things that are new to me and probably old hat to the developers working on it. Atom includes an optional id element that provides a globally unique, never-changing identifier for a feed. One purpose of this element is to make clients smarter about syndication feeds that change URLs: If a client finds a feed at a new URL with an id it recognizes, it can stop looking for the feed at the old URL. An Atom identifier ... (read more)

Feeding New RSS to Movable Type

Last week's discussion of Movable Type's RSS 2.0 template on Workbench prompted e-mail from Anil Dash of the Six Apart Dashes. He wanted feedback on the possibility of adopting Brad Choate's "non-funky" RSS 2.0 template in the upcoming release of Movable Type 3.0. I supported this idea because it's close to what I had in mind. Choate's template differs from my proposal only in two significant ways: the item-level link element is dropped in favor of guid and weblog entry descriptions are ... (read more)