MovableBlog: Archives: Movable Type

A weblog about the Movable Type Publishing Platform and other geekery

November 20th, 2004

My Name in Print »

Rogers Cadenhead is someone I've had respect for as a writer on RSS, Java, and especially—though I used the software all of twice—Radio Userland. In March of this year, he asked my permission to publish a screenshot of the Trackback listing of my review of the TypePad hosted blogging service in his then-forthcoming book on Movable Type. I agreed, being honoured just for having been asked. This month, his book Movable Type 3 Bible, Desktop Edition hit the stores. While in Portland, Oregon, visiting friends, I stopped by the Powell's Technical Bookstore and asked if they had a copy (but not before looking for it myself). When presented with the copy, looking at the section for Trackback, and seeing myself and my website referred to in print—for the first time, my knowledge—over two pages no less, the purchase decision was an easy one.

The following are the relevant paragraphs:

Figure 11-1 shows how trackback links are presented in MovableBlog, a weblog by Richard Eriksson ( His site is devoted to poking around Movable Type, and when he wrote an entry reviewing Six Apart's TypePad hosting service, his review was discussed on six other weblogs. These weblogs sent trackback messages to Eriksson's server that were received by Movable Type and saved to his weblog's database.

As a means of receiving feedback on your work, trackback is comparable to receiving comments in response to an entry— but in this case the comments are hosted on someone else's weblog. On MovableBlog, Eriksson presents trackback links on the same page as comments, enabling his visitors to see the kind of feedback each of his entries has received. Mena and Ben Trott, inventors of the protocol, call it a form of remote commenting.

Posted by Richard at 01:38 PM

October 19th, 2004

Infrequency »

In August, I pseudo-complained that Six Apart wasn't promoting actual uses of their software on their site. Anil Dash seems to have stopped link-blogging at his personal site—which is a shame, since I liked the stuff he had about politics and race and Prince (not that it matters: he has been blogging some of that stuff in the features section)—and moved it to the rather excellent Six Apart Professional Network weblog. 6A employees Mark Paschal, Brenna Koch, Paul Lindner and Ezra Cooper have also blogged at the site, but it is mostly Anil Dash's show. That weblog, along with unofficial weblogs Movalog and Learning Movable Type, are what MovableBlog set out to be and could never attain. Lack of time due to a full-time job and and a partial divestment of the emotional investment I had in the software is leading me to focus on matters other than MovableBlog as well as the Asides, so if updates seem less frequent than their usual infrequency, those are my reasons.

Posted by Richard at 02:21 PM

August 19th, 2004

Six Apart and Dog Food »

With the hiring of Brad Choate as a software engineer at Six Apart, I discover the existence of a list of 6A bloggers. (That's what I get for nor reading the HTML versions of weblogs.) I'm not as heavily involved with Movable Type in the creation of my personal weblogs—of the too many weblogs I write, this one is the only one powered by MT—nor with my independent consulting—there's a reason for that, although the details haven't been finalized—so my only real source for MT-related news is Anil Dash's links weblog. He pimps MT pretty hard in that section, but then again, can you blame him?

I'm probably not going to follow MT as much as I did in the past (see vague reference above), but I did whip up an OPML file of the Six Apart bloggers. This is not a comprehensive list, so I'd appreciate a heads up on errors and omissions, and I had to actually search for some of them. Why are the board members and executives and board members with weblogs not linked in the Six Apart about page? If it were up to me—and there are doubtless good reasons why it's not—I would link to all employees to show what can be done with the software they produce with a standard disclaimer about the opinions expressed on their weblogs being their own. Of even better, embrace their diversity of opinion without a disclaimer. Okay, that should be reason enough why it's not up to me.

Most of their weblogs discuss very little about the company itself. One just recently posted photos of her cat. (I hang my head in shame that, as a blogger, not only have I never posted photos of my cat, but I don't even have one.) I recently overheard a woman who said that she does not want her developers writing weblogs. She wants them developing software while on company time, and that's fair. If you're hired to do something, but instead you do something else, then by definition you're not doing your job. I subscribed to one 6A blogger who stopped talking about their code and what the company was doing and focussed on their personal life. (Don't worry, I won't say who it is, but that's only because I've forgotten who it was.) I unsubscribed from the feed thinking "This is not what I subscribed for."

I stand by my unsubscription (I stand by everything I've done and said as an accurate reflection of the way I felt at the time), but only by looking at the weblogs of 6A employees do I understand that they are more than "just" employees of a hip Bay Area software company: they're people who define themselves by more than what they do to pay their bills, even if what they do to pay their bills happens to give them great satisfaction. That's what blogging is supposed to be: it's about telling the world how human you are and how human you can be. It's about saying as much or as little as you want to say about yourself, which is why the company needs to, to use an ugly geek expression I only heard used repeatedly and unproblematically just recently, not only eat their dog food but show how their employees are eating their dog food. Because as the OPML file shows, they do just that.

Posted by Richard at 05:56 PM

May 14th, 2004

The Reports of Movable Type's Death are Greatly Exaggerated »

Comic Book Guy: Last night's Itchy & Scratchy was, without a doubt, the worst episode ever. Rest assured I was on the Internet within minutes registering my disgust throughout the world.
Bart: Hey, I know it wasn't great, but what right do you have to complain?
Comic Book Guy: As a loyal viewer, I feel they owe me.
Bart: What? They're giving you thousands of hours of entertainment for free. What could they possibly owe you? I mean, if anything, you owe them.
Comic Book Guy: Worst episode ever.

Six Apart did absolutely the right thing in charging for the developer's edition of their software and offering a free version. MT 3.0 breaks some plugins and third-party software, so 6A released an edition that developers can use to upgrade said plugins and software. Not "crippleware": that's where you install fully-featured software which disables itself after a set amount of time. The free version of Movable Type—you know they offer a free version, right?—is full-featured and stays that way, and licensing has none of the limits are hard-coded. Also, if 2.661 works well for you, you are not a developer, and you do not want to pay for the licences, there is no reason to upgrade as it is.

Yesterday, over and over, I read people Comic Book Guy after Comic Book Guy, saying that they felt somehow betrayed that, months after of becoming a for-profit enterprise, that same enterprise would go ahead and do exactly what those types of enterprises are supposed to do. They gave you a great, easy-to-use, very well-supported (albeit by a volunteer community), great-looking, free piece of software that enabled you to speak your mind to potentially millions of people. Even if only you and your cat knew about it, Movable Type, along with the other great blogging software (some of it free software), lowered the entry barriers. Yes, the power law applies, but Movable Type, its predecessors, successors and competitiors made the tail end longer.

Also, when you downloaded MT 3.0D, did you read the license? (The following applies to the licence for Movable Type Free; I haven't seen the other licenses.) Gone is text that said you couldn't charge for services relateing to Movable Type. They not so much created a market opportunity for developers—loosely defined to include those who want to install and customize Movable Type for clients—as legitimized it, as they recognized that as it was, the licence was unenforceable. Not only that, but the new licence ends up helping everybody: the more people that can develop around Movable Type, the more commercial licenses Six Apart sells. Clients willing to pay for a high-quality weblog win. Developers win. Six Apart wins.

Six Apart did make some mistakes. You have to sign up for TypeKey—which I have my own, unrelated, problems with—to download even the free personal version. Many experienced non-developer users of MT will be inclined to think that the pretty overhaul, comments and Trackback moderation don't deserve a full integer upgrade. Yes, it's not a 'feature' release as Mena says, but some users might say "you're not kidding". They also sprung the pricing structure on the alpha/beta community, the very community that is most passionate about the software. That is their prerogative, but something like "in the next few days we will be announcing a significantly changed pricing structure" might have avoided some of the appalled reactions among the group. From informal chats I've had throughout yesterday, it also appeared they upset a higher proportion of highly skilled users, who generally have some sway over what lower-skilled established (and wannabe) writers who want to start a weblog than they intended. (I confirmed early this morning that at least one high profile blogger is switching away from MT.) There are also some minor bugs in the download that need ironing out, but that is happening.

In the end, Six Apart will finally make some money from selling what is an excellent product, a publishing system that higher-end users can use on their host of choice to take advantage of their coding skills and create a truly customized experience. Those who cannot afford the pricing structure have alternatives which can be purchased or downloaded (and even distributed) for free. The people who pay for Movable Type licenses, though, are getting a world-class piece of blogging software with professional support from 6A. Did I mention that this is a developer's edition with a free personal version? The reports of Movable Type's death are greatly exaggerated.

Posted by Richard at 11:56 AM

April 14th, 2004

The Real Problem With TypeKey »

There has been much ado about TypeKey, Six Apart's comment authentication service, and the thread had died down until Sarah brought it up again and Jay commented that opinion was split between those who used it and those who haven't. Phil Ringnalda hosted a lively discussion about distributed moderation and authentication, and some of the usual suspects said some of the usual things about the matter. Rogers Cadenhead wondered why 6A offered a centralized tool when its bread and butter are decentralized tools (although TypePad is a centralized alternative to Movable Type). I can't—so therefore won't—claim that I've read every last weblog post about TypeKey, because I'm a busy man (increasingly true) and nobody is saying what the real problem with TypeKey is.

It's not that it's centralized and it's not that Six Apart and its employees have bills to pay along with the possibility of retiring to a beach house to think about. It's not because it increases the ability of Six Apart or weblog owners to censor others. Actually, that gets close to it: weblog owners have the ultimate say as to whose comments get edited or left on the site. I have yet to see a compelling reason to let others dictate what goes and what stays on a website that I not only pay for in terms of hosting fees and domain names, but also in terms of time spent and thinking, designing and writing. Weblog comments and message boards and wikis—along with other similar types of websites—are free speech on someone else's dime. Now don't get me wrong: there's nothing wrong with giving someone else the ability to write on your site. If you pay for it (through either time, money, effort or all three), you get the priviledge of saying pretty much what you want and allowing others to say pretty much what they want. Of course there are limits: in North American societies, at least, you are not allowed to slander or libel anyone, nor are you allowed to threaten someone with bodily harm or death.

The problem as I see it is not that TypeKey is too centralized, but weblog comments themselves are too centralized. By commenting on someone else's site rather than commenting on your own weblog, you are increasing the chances that the owner of the weblog you commented will edit or delete your comment. We saw that last year with the introduction and enforcement of weblog comment policies. Most weblogs do not have comments feeds, so keeping track of comments is difficult to begin with. (Phil Ringnalda, if you'll permit me this parenthetical comment, not only implements comment feeds, but also <wfw:commentrss>.) How many times have you commented on a weblog entry only to forget that it was there or stop caring about the conversation once the number of weblog comments reached a certain level? And how many times was the person's remarks so insignificant to you that you did not feel the need to reply?

I've taken comments off on my weblogs primarily because your one-button confessionalism is best done on your weblog. I do wish to point out a hypocrisy or two, which will have the very much intended effect of promoting two of my other projects: improvident lackwit and Vancouver Webloggers are two sites that I pay for that have comments open. The former because of laziness and the latter because it's a group weblog, and I need the criticisms resulting from blanket elimination of the ability to comment like I need another hole in my head. In an ideal world, though, no weblog would have comments enabled, but everybody would have their own weblog. You remember that old cliché, the freedom of the press goes only to those who own one. Well, there is remarkably little stopping you from owning one these days. Is the fear of having to install complicated software getting in your way? TypePad, Blogware and other paid hosted blogging solutions have a pretty interface and are setup ready to go. You can't afford to pay for a monthly subscription to a blogging service? LiveJournal and BlogSpot are free. Don't have access to the Internet from home? Your public library—which you pay for already through your taxes, and if you don't pay taxes, some rich guy is helping you out—probably has free machines for its patrons. You don't have access to the Internet at all? Then how are you reading this? (In the event that someone has printed this out for you to read, and you really don't have access to the Internet, then you can't own a printing press like so many other bloggers do. One day someone will find a way to make a tidy fortune off sending weblog entries by snail mail, but that day is not today.)

I have another point of hypocrisy, one that points out the benefits of having comments enabled. A new project of mine, Urban Vancouver will have comments enabled on as many pages as possible, including the events calendars and other non-weblog sections. Because we can't be everywhere at once, and people who experience the events around the Greater Vancouver Area will want a place voice an opinion. Also, authenticated users will be allowed to have their own weblogs, which will most likely have comments enabled. (That will be the blogger's choice, of course.) All this benefits the editors of Urban Vancouver in terms of finding out great things about the people and places in Vancouver, but in terms of free content that a) search engines index, increasing the number of and ranking for valuable keywords and b) ad serving programs (or even third party companies who recognize the importance of certain keywords and want to advertize) will analyze Urban Vancouver pages and pay us. Users will benefit by getting a voice, organizations or people benefit by being linked to a highly-ranked web page, and we benefit with fame and/or money. (Fame and money are evidently convertible commodities.)

Six Apart is wise to address the comment spam problem, and have figured that there is business value in providing a solution like TypeKey. What I am trying to suggest is that TypeKey encourages people to use commenting systems of other people's weblogs when these same people could easily and cheaply get a much more substantial voice by commenting having their own weblog. That way, the only people that can censor you are your hosting provider (they have asses to cover too) or, sometimes, the state. Or if you've decided to quit blogging, you only have yourself to blame.

Posted by Richard at 07:01 PM

February 24th, 2004

Weblog Consulting »

Free time doesn't pay quite like it used to, so I am making myself available to help people overcome the technical barriers to blogging. My personal projects give a good indication what I'm capable of in terms of design and content, and this weblog is a good indication of my technical expertise. My resume doesn't promise anything other than what resumes are supposed to do.

I can:

You can contact me using this form.

Posted by Richard at 03:25 PM

December 19th, 2003

Another Way To Integrate in Movable Type »

There are already two methods of including links in your Movable Type weblog: this one using the GetXML plugin and this one using Perl and cron. There's no law saying there can't be another one, so after installing the MT-RSS plugin, place this code, with your modifications, somewhere in your index template:

<h4><a href=""></a> links</h4> <MTRSSFeed file=""> <ul><MTRSSFeedItems lastn="5"> <li><a href="<$MTRSSFeedItemLink$>"><$MTRSSFeedItemTitle$></a> <MTRSSFeedItemDescriptionExists> - <$MTRSSFeedItemDescription$></MTRSSFeedItemDescriptionExists></li> </MTRSSFeedItems></ul> </MTRSSFeed>

Replace username with either your username. Alternatively, you can replace username with /tag/custom-tag (changing custom-tag to a tag like css), making the RSS URL If you want, you can set a cron job to call to make any links you add to appear on your site, say, within the hour. That way, you wouldn't have to rebuild manually every time you post a few links to

Posted by Richard at 02:14 AM | TrackBacks (9) | Comments (2)

August 10th, 2003

Plugins Work in Archive File Templates »

If anybody's wondering how Mark Pilgrim has shorter permalinks to his posts (like the URL for this entry), the answer lies in using Movable Type's Entry Keywords field and the MTIfEntry plugin. He may do it differently: the following worked for me in an experimental installation of MT. He did tip me off to his using the Entry Keywords, however.) Plugins, as I found out recently, can be used in the Archive File Templates.

Update Aug. 14, 11:25 PM: Mark has written up an article on how he did it.

This is how I have the Archive File Templates, for the Individual Archive, setup in my experimental installation:

<MTIfEmpty var="EntryKeywords"><$MTEntryTitle dirify="1"$>.php</MTIfEmpty><MTIfNotEmpty var="EntryKeywords"><$MTEntryKeywords dirify="1"$>.php</MTIfNotEmpty>

You can get rid of cruft even further, even if you rely on PHP inside the Individual Entry archives. One could take permalinks come tantalizingly close to permalinks for the Ultimate Blogging System. The Individual Archive File Template would look something like this:

<$MTEntryDate format="%Y/%m/%d/"$><MTIfEmpty var="EntryKeywords"><$MTEntryTitle dirify="1"$></MTIfEmpty><MTIfNotEmpty var="EntryKeywords"><$MTEntryKeywords dirify="1"$></MTIfNotEmpty>

To parse as PHP (my host automatically parses .php files, but it's not automatic for other files), one could put the following line in .htaccess, and your archives folder would be a good candidate for the file's location:

ForceType application/x-httpd-php

So the link to this entry, instead of being fairly crufty (and lacking the year in it), would, if I had typed the word "Permalinks" in the Keywords field (without quotes), look something like But if there's no words in the Entry Keywords field, the Entry Title is used to create the filename. Of course, that depends on actually putting in something for the Title, but that's never a problem for me.

But the moral of this story is that plugins work inside the Archive File Templates, which means a lot of fun can be had with constructing MT blog's URLs.

Posted by Richard at 07:39 PM | Comments (5)

July 27th, 2003 Now Powered by MT »

Taking my cue from Brad Choate, Matt Haughey and Adaptive Path, my personal site is now using MT as the CMS.

Posted by Richard at 01:32 PM | Comments (0)

June 24th, 2003

MT License Debate »

There is a long (and sometimes heated) discussion about using MT as a hosted service at On The Third Hand. Some of it is misinformed, and as is their wont, Mena and Anil have stepped in to try to clarify some of the issues. This quote from Mena in the above discussion is relevant to my experience (and is also a reiteration and elaboration of what she said in the message boards):

It is *not* true that you can not offer for pay Movable Type support services. The payment of the $150 commercial license (by either the client or the contractor) entitles you to charge for support (installation, customization, design work). When we came up with that number, we figured that most contracts would far exceed the $150 amount and for most contractors, the fee would be nominal. We *never* imagined that a market of providing services for personal users would have flourished. We assumed that businesses (that could easily pay the $150 fee) would be contracting support services. We underestimated the personal user as client demand.

In a later comment she admits that the license needs clarification to include paid installations and other specific services with the payment of a commercial license. Update 11:46 PM: see Mena's comment to this post.

Other reactions here (not in chronological order):

Update June 26, 11:00 AM: Tweezer's edge points out that there is a thread about this that pre-dates the current debate by two months. Anil has a lengthy reply.

Posted by Richard at 11:55 AM | TrackBacks (8) | Comments (4)

June 21st, 2003

Extract URL from HTML Link in MT »

Read this post to get regex which will extract URL from HTML in the format of <a href="">Foo</a>. You will need the MTRegex plugin to do this in MT. Thanks go to Adam (and Chunshek who also took time out to help).

Posted by Richard at 12:35 AM | Comments (0)

June 14th, 2003

Trackback Without Installing Trackback »

Adam Kalsey has unveiled Simpletracks, a web interface for those without Trackback but still want to ping a Trackback URL. Kind of like how my form was (when it was up), but on a grander scale. (For details on how I set my form up, see this post.)

Posted by Richard at 04:03 PM | Comments (0)

June 11th, 2003

Return From America, MT Discussions »

Sorry for the unannounced hiatus. A trip to Portland, OR, precluded blogging, but did not preclude reading others' blogs.

For the very few who haven't read them yet, A List Apart interviews Anil Dash with respect to TypePad, Dave Winer complains that MT users are flaming him (just now I went to Technorati and found that he is probably referring to, among other things, this, this, and this, although that last post's author does not use MT) and another interview with Anil Dash.

Update 3:10 PM: the interview with Adam Kalsey is worth a read too, as it touches on MT as failed full-fledged CMS (Adam recognizes it is not designed as such), and how Zempt came to be.

Update 3:35 PM: as per the A List Apart interview, Anil says "there are still hundreds of millions of machines and devices that we want to ensure are able to access the TypePad application and, more importantly, the sites that our users create with it". I have no reason to doubt that this means MT and TypePad will soon be a lot more accessible under Lynx.

Posted by Richard at 12:42 PM | Comments (3)

May 28th, 2003

MT Maintenance Release »

Most true MT nerds have seen this already, but Movable Type has issued a maintenance release.

Update May 30, 10:30 AM: I forgot that upgrading overwrites the search templates, which can be seen at the search page of this site. D'oh!

Update May 30, 3:40 PM: okay, that's fixed, and I modified my mt.cfg to have it load a different default template than the one in future upgrade packages, which should prevent future overwrites.

Posted by Richard at 04:43 PM | Comments (0)

May 18th, 2003

Edit This Entry in MT »

Excellent! There is a PHP solution to 'Edit This Entry' in MT. Now there can be 'Edit" links can be dynamically created based on a user's (you, the blog owner) IP address. A friend and I investigated using the cookie generated by MT to verify that a user is logged in, but evidently the script needs to be in the MT directory.

Posted by Richard at 07:37 PM | TrackBacks (1) | Comments (2)

May 17th, 2003

Edit This Page in Movable Type »

Dave Winer writes that MT doesn't have an 'Edit This Page' button. He is quite right, but there is a workaround, suggested here, which admittedly doesn't cover "every bit of text" as mentioned in his earlier piece on the subject. Just the weblog post text, and not any sidebar text etc.

It's not a new solution either. David Gagne has had it for a while now (scroll down to '"Hidden" Entry-Editing Link'). And it doesn't show up just for authenticated users, but for every user (the username and password is required if MT hasn't already set the cookie on the machine being used).

Here is the HTML I'd use (if I used it, which I don't):

<a title="this link is for admin use only" href="<$MTCGIPath$>mt.cgi?__mode=view&#038;_type=entry&#038;id=
<$MTEntryID$>&#038;blog_id=<$MTBlogID$>"> </a>

The above is placed somewhere between the MTEntries tag, preferably in the line that says "posted at" or whatever you have as tagline. It makes a space character into a link that edits the blog entry in question. (My modifications from David's code are to change &amp; to &#038;, target remove the Javascript elements and to replace &middot; with a space. Use whatever character you like.) As mentioned in a previous post, MT's public search function automatically generates an "Edit This Entry"-type link dynamically through the template.

So although Dave is correct that MT doesn't come with an "Edit This Page" button out of the proverbial box, something like it can be added with a little template tweaking.

Update 5:15 PM: I'm pretty sure I'm telling him what he already knows as to why it's happening, but Erik at nslog() reports his implementation of a 404 page which calls mt-search.cgi through PHP does not create an edit link for him dynamically.

Update 7:01 PM: just wanted to bring this more detailed tip, with extra 'security' measures using Javascript and CSS, to the front page. [via Trackback to this post]

Posted by Richard at 04:01 PM | TrackBacks (4) | Comments (1)

May 16th, 2003

Plural Comments »

Jesper has developed MTPlural [more info] [MT support thread] which will not only add an 's' to the end of your, but allows for alternate comments link text depending on whether there are a) no comments; b) one comment; or c) multiple comments.

For those that think doing this dynamically is a better idea (and it's not), here's the PHP code I use at China Weblog:

<p><a href="<$MTEntryPermalink$>#comments"><?php

if (<$MTEntryCommentCount$>) {
print("<$MTEntryCommentCount$> comment");
if (<$MTEntryCommentCount$> > 1) print ("s");
else {


The plugin idea is a better one, since it cuts down on the processing the back-end needs to do each time a person visits your site.

Thanks to Paulo for the fodder heads-up.

Posted by Richard at 02:52 PM | TrackBacks (0) | Comments (0)

May 9th, 2003

Rich Text Editing in Movable Type and Mozilla »

Pinder at Blogzilla has found a hack to the MT template which allows rich-text editing—which means you get buttons for bold, italic, underline and a link just like in IE—while browsing MT in Mozilla. Be sure to check his post, because evidently the hack as originally written didn't work for him.

(I don't intend to use this hack, because upgrading MT always requires re-hacking it, despite there being some really great hacks out there, I don't really want to keep track of them all and then figure out how to utilize them in any upgraded version.)

Update June 27th, 2003, 2:03 PM: Okay, I caved and installed the hack in two of my MT installations and will do so in the other two. That's the cost of using Mozilla full-time I guess.

Posted by Richard at 11:09 PM | TrackBacks (1) | Comments (0)

May 8th, 2003

Pre-Game 7 Links »

With nothing better to do before a big Game 7 for the local sports team, here are some links that need to be cleared from my bookmarks and aggregator.

Okay, almost time for the game.

Posted by Richard at 06:38 PM | Comments (2)

May 4th, 2003

Defer Entries in Movable Type »

MovableTypeTrickle allows you to delay the publishing of a post. In other words, you save an entry to draft, and set the category to Deferred, change the date to some time in the future, then periodically run trickle, and it will publish those entries in that category after your specified 'publish' date. [via Anil]

This is probably a better alternative to my Tape Delay tip.

Posted by Richard at 04:13 PM | TrackBacks (0) | Comments (0)

May 3rd, 2003

Movable Type Wiki »

Another Movable Type resource to check out: MT Wiki. I'm not really into wikis (besides, I have enough trouble keeping up with the MT support board, which is still the first place I go to get a question answered), but maybe this wiki will change my mind. [via scriptygoddess]

Posted by Richard at 08:38 PM | TrackBacks (0) | Comments (0)

April 27th, 2003

In Progress: OPML Template for MT »

I'm calling on people who are smarter than me to fix an OPML template for Movable Type that I've made. It outputs well-formed XML (see my output), but it (from what I gather) crashes Userland's Radio, which is a Bad Thing. I'm under the impression that my output is valid against the OPML spec, but corrections to that impression are welcome.

So, before proceeding, note that this template is a work in progress, and is not sanctioned by anybody. But maybe you can fix it. An XML expert I consulted believes the problem is not the encoded HTML in the resulting file, but the paragraph tags and title attribute in anchor (link) tags, and the individual paragraphs need to converted into individual outline elements, all the while stripping out tags that will not render in Radio, whatever those may be. In other words, a MT Text Formatting filter is needed.

Or perhaps there's a better way to write the template?

Posted by Richard at 11:27 PM | TrackBacks (1) | Comments (3)

April 26th, 2003

Dave Winer tests Trackback »

It's always interesting to see designs and development in progress, especially when the designers and developers make their notes about them available to the public. Zeldman and dive into mark are the prime examples, and now Dave Winer is implementing Trackback in his products, and linking to those accepting Trackback pings from his demonstration site. He has also written an in progress document, Trackback in the UserLand environment.

Posted by Richard at 11:15 AM | TrackBacks (0) | Comments (0)

April 23rd, 2003

Six Apart Announces TypePad »

Sidebar ping Anders Jacobsen TypePad

Via Anders, linked above: Battle of the blog builders by Ben Hammersley; I work for Six Apart by Anil Dash; Six Apart milestone (check the Trackbacks for that last link: sure to be commentary from around the web linked there).

Posted by Richard at 09:32 AM | TrackBacks (0) | Comments (0)

April 19th, 2003

Trackbacks on Individual Entries »

Trackbacks are enabled only for the sidebar and individual entries that have to do with Movable Type. This site now uses the PHP code for including Trackback pings on individual entries, modified for formatting. That should eliminate all pop-up windows on this site. The method provided by Mark Pilgrim, using .htaccess and SSI didn't work for this site. That's not to say it won't work for you, because on my end, it was probably because of the .php extensions. Using the virtual() function in PHP didn't work either, but that is evidently because of Content-type problems.

Posted by Richard at 03:39 PM | TrackBacks (0) | Comments (0)

Some MT Hacks, Tips and Tricks »

The MT support board remains the best resource for tips and tricks for Movable Type. Some examples (threads were updated in the last few days):

Update Sunday April 20, 11:57 PM: looks like Ben and Mena are changing forum software. No word on whether links to old posts will work. Methinks not.

Update Monday April 21, 11:15 AM: okay, so the links to old posts do work. Same goes for linking directly to a particular forum.

Posted by Richard at 02:02 PM | TrackBacks (0) | Comments (0)

April 14th, 2003

xhtml:body in MT »

How (and why) to include an xhtml:body in a Radio Userland RSS feed. This, LazyWeb, is your mission, should you choose to accept it: "I hope users of Movable Type and other platforms will offer similar tutorials."

Posted by Richard at 02:09 PM | TrackBacks (1) | Comments (0)

April 9th, 2003

Movable Type Syndication Templates »

Mark Pilgrim has provided various syndication format templates for MT, as well as the templates to (under a Creative Commons license). Note that many of his templates require MT plugins, which he seems to have not yet listed.

Update 11:50 AM: he has listed the plugins.

Posted by Richard at 10:06 AM | TrackBacks (0) | Comments (0)

April 4th, 2003

Amazon Links with MT »

Easy Amazon Links in MT: this could come in handy, since I always edit URL's by hand (cutting & pasting the ASIN, then going to the Amazon Associates home page, loging in, and pasting in the ASIN is too much work), and especially for days like tomorrow, when there will be a post with lots of links.

Posted by Richard at 11:34 PM | TrackBacks (0) | Comments (0)

April 3rd, 2003

Replacing By Mistake? »

Are you worried that you'll press "Replace" by accident in MT? Well, Mena has posted a usability fix.

Posted by Richard at 11:14 PM | TrackBacks (0) | Comments (0)

March 31st, 2003

Redirecting to New Archive Pages With .htaccess »

Jim Ray: Movable Type file rewrite. This seems like a better solution than my own (not yet implemented): replacing each individual template file with a PHP header() redirect, and the (temporary) Individual Entry Template was going to look something like this (depending on the format of URL I wanted of course):


header ("Location: <$MTBlogArchiveURL$><$MTEntryCategory dirify="1"$>/<$MTEntryTitle dirify="1"$>.php");


But using one file (i.e. .htaccess) seems a lot more efficient.

Posted by Richard at 01:21 PM | TrackBacks (0) | Comments (0)

March 30th, 2003

Late Night Links »

Posted by Richard at 02:30 AM | Comments (0)

March 26th, 2003

'Ben & Mena' »

Our favourite CMS developers, Ben and Mena Trott, now have a song about them. No audio here at my alma mater's computer lab, but thankfully the lyrics are available. To quote Principle Skinner, oh mercy. [via MJK]

Posted by Richard at 05:01 PM | TrackBacks (0) | Comments (0)

March 24th, 2003

Explaining Trackback »

You may have seen it elsewhere by now, but there is a Trackback for Beginners page available at Trackback, that I get. Trackback's siblings, well, that's another story. But with Trackback, understanding it and explaining it were two different things, and the Trackback for Beginners will be a useful resource.

A short rant follows.

Posted by Richard at 04:48 PM | TrackBacks (0) | Comments (3)

March 20th, 2003

Developing MT Plugins »

Developing Movable Type Plugins by Timothy Appnel: the article "cover[s] the MT plugin framework, its complete API, and the basics of hooking into the core systems operation and its data persistence service."

Posted by Richard at 01:55 AM | TrackBacks (0) | Comments (0)

March 19th, 2003

Introducing Zempt »

It's been announced on the MT-Dev mailing list, so I guess it's okay to announce here: Adam Kalsey and a friend of mine, Bill Zeller, are developing Zempt, a LiveJournal-like Windows client for posting to your MT-powered weblog. Bugs and feature requests can be reported using the support page. It's very much in the initial stages, and it's very promising. Evidently Mac and Linux versions are also planned.

Posted by Richard at 01:54 AM | TrackBacks (0) | Comments (0)

March 15th, 2003

Starting a Blog With MT »

The introduction to starting a weblog with Movable Type is making the rounds, and for good reason. Near the end, the advice against "endlessly fiddling with your entries - editing, etc." is sound, but difficult for people like me who make a million typos in their posts and then spend 20 minutes editing, saving, editing, saving, etc. It's a bad habit I picked up from college.

Posted by Richard at 07:19 PM | TrackBacks (0) | Comments (0)

Mobile Edition with MT and MT-Macros »

dive into mark: create a 'mobile edition of your website with MT-Macros (and supplied templates). Quoth Mark: "XHTML Basic has no basis in reality. Ignore it."

Posted by Richard at 04:07 PM | TrackBacks (0) | Comments (0)

MT Archives Indicator »

As for the code that I use for the archives indicator (click on a monthly archive in the sidebar and it not only disables the link for the archive, but changes the background colour of the text), here it is.

<p><b>Archives</b><br />

<MTArchiveList archive_type="Monthly">

if (!eregi("<$MTArchiveDate format="%Y_%m"$>", $_SERVER['PHP_SELF']))
print "<a href=\"<$MTArchiveLink$>\"><$MTArchiveTitle$></a>";
else print "<span class=\"greyback\"><$MTArchiveTitle$></span>";

?><br />

It exists on every page with a sidebar (with a few exceptions) because the above code is in a Template Module called "Archives Listing". I then put <$MTInclude module="Archives Listing"$> in where the sidebar appears in my regular (i.e. Index, Individual and Monthly) templates.

In your CSS, you will need something like this:

background-color: #CCCCCC;

Of course, you can chose any colour you want, with an appropriate CSS class name.

Posted by Richard at 01:36 PM | TrackBacks (0) | Comments (0)

March 14th, 2003

My Time Adjustment PHP Code »

Here's the code I promised:

For your where you want the blog data, put this code in (modified as


<div class="<$MTEntryAuthor dirify="1"$>">
<!-- in your CSS, include a class named after each other's name, all in lower case, so that you can differentiate colours and whatnot for each other -->


<p>[<a href="<$MTEntryLink$>#more">read the rest of this
<p class="postedline"gt;Posted by <$MTEntryAuthor$> on <a

/* begin time adjustment code */

if ("<$MTEntryAuthor$>" == "Richard") /* replace Richard with your name */
$minusHours = (mktime(<$MTEntryDate format="%M, %S, %m, %e, %Y"$>))-3,
/* replace the number 3 with the number of hours behind you are */

print date("M. j \a\\t g:i A", $minusHours);
print " Pacific";
/* replace Pacific with your time zone */

print "<$MTEntryDate format="%b. %e at %l:%M %p"$> Eastern"; /* replace Eastern with the time zone of your co-author's time zone */
?></a> <!-- insert your MT comments tags here -->


When I used this code, the time zone for the blog was set to my friend's time zone, even though the blog used my installation of MT. See? Pretty convoluted, huh? Like I said, the scriptygoddesses do it simpler, and besides, this is something I wish MT did internally by itself.

Posted by Richard at 11:09 AM | TrackBacks (0) | Comments (0)

March 12th, 2003

Adjusting the Time with PHP »

Adjust the time with PHP: this is a neat hack, and it was similar to what I coded for a now-defunct blog of mine with a friend, who was three hours ahead of me on the East Coast. Necessarily, it was much more convoluted (I had a function which turned a date produced my MT into a Unix timestamp, and then...well it was pretty complicated and took me forever). I'm thinking maybe there should be a setting in MT's Author profiles for what time zone the author is from, and then have a tag like <$MTEntryAuthorDate format="etc."$>.

I'll share the code for the way I implemented it soon, but rest assured, the implementation over at is much simpler.

Posted by Richard at 10:24 PM | TrackBacks (0) | Comments (0)

March 9th, 2003

MT Wins a Bloggie »

MT wins a 2003 bloggie. As if there were any doubt. [via kadyellebee].

Posted by Richard at 06:03 PM | TrackBacks (0) | Comments (0)

MT-Email Plugin »

David Raynes is introducing his MT-Email plugin, which is very early in development. Looks interesting though. Posting by email has long been discussed as a possible feature for MT. [via his introduction in this MT Support Boards thread]

It's getting to be a little scary how prolific David is getting in terms of MT plugins. He also has Post-It/Comeback (now in beta), MT-Form, MT-Vote and a bugs tracking system for MT plugins (okay, that may have been kristine's doing, but he announced it on the MT-Dev list), and is among the top in amount of plugins already developed.

Posted by Richard at 12:14 AM | TrackBacks (0) | Comments (1)

March 6th, 2003

MT Mention in Slate »

MT gets a mention in this article on Google's acquisition of Blogger in the political affairs magazine Slate. [via The Shifted Librarian]

Posted by Richard at 09:59 PM | Comments (0)

March 3rd, 2003

Exclude Categories Plugin »

scottandrew comes through with a "miserable hack" of a plugin, which excludes specified categories inside an <MTEntriesExCat>; container created by the plugin.

Actually, it's surprising he didn't make it an attribute of the <MTEntries> tag itself, like <MTEntries exclude_categories="foo AND bar">. His plugin instead replaces <MTEntries> with another container, <MTEntriesExCat>. Is it possible to add attributes to the <MTEntries> container via plugins?

Posted by Richard at 03:06 PM | TrackBacks (0) | Comments (1)

March 2nd, 2003

WYSIWYG Editor for Movable Type »

Install htmlArea for your Movable Type CMS: get a WYSIWYG editor for your entries in MT! I tried the installation instructions, and thought it was nice and pretty, except for it inserted uppercase HTML tags. Not very XHTML-friendly. It probably would have been better to check to see if there was a setting in htmlArea to have lowercase tags (is there one?) but I got frustrated early and uninstalled it. [via etc.]

Posted by Richard at 09:28 PM | TrackBacks (0) | Comments (0)

February 26th, 2003

Ethics of TrackBack »

PB wonders about the ethics of using a form to post a TrackBack to a site. I'm not worried. The resulting links on my site don't contain author information, just a link to a post and an excerpt in the title attribute. (The author information, correct or not, gets sent to me by email.) Now, is there potential for abuse in the excerpt? Sure. Does it matter at this point, seeing as how I get only 200 visits a day? No. (Aside: there hasn't been any pings in the last few days: did I break it?) Plus I can—and do—delete the TrackBack's that are not related in some way to Movable Type. As for pinging my sidebar with a post written by someone else, again, I have no problem with that: there's no author information that goes public, and I envisioned the sidebar as content (not very much content, that is) that my only my readers have control over. It's just like putting a link to a post on your own weblog, except, well, it goes on mine.

Be sure to read Mena's response in the comments, too. [link via Anil]

Posted by Richard at 03:26 PM | Comments (1)

February 24th, 2003

MT 2.63 »

MT releases 2.63 update, also offers nightly builds. From the changelog: "Fixed bug where Next and Previous links on edit entry screen skipped drafts." This evidently was consistent with draft posts and not just new entries set to draft, as I thought.

The nightly builds are an interesting and unexpected addition. I like the idea of nightly builds, and until recently was pretty obsessed with getting the latest Mozilla and Phoenix builds.

[via Brad Choate]

Posted by Richard at 09:59 AM | Comments (0)

February 23rd, 2003

Close Comments Script »

Ever wanted to close comments on your past weblog entries but didn't have the time to go through all 273 of them? (That's how many, at this writing, are on Vancouver Webloggers.) Now you can with Tubedogg's closecomments PHP script. Note that it requires MT 2.6 and must be running the MySQL version. Necessarily, you also need PHP on your system. [via scriptygoddess]

Posted by Richard at 11:58 PM | Comments (0)

February 20th, 2003

Clarification on Pay Installations »

Mena Trott clarifies a point for me on paid installations for commercial clients:

You can charge for support services (installation) as long as a commercial license is purchased, by you or the owner of the site.[...]

What isn't allowed: Someone buys one license and charges multiple clients or installs multiple instances of the software. I.E a host buys one copy of MT and then offers customers pre-installed MT.

Thanks Mena!

Posted by Richard at 05:22 PM | Comments (0)


KABLOG facilitates blogging from your cell phone using Movable Type (or "other blog servers that support blogger.getUsersBlogs as well as metaWeblog.newPost". (Well, it would facilitate it for me if my cell phone didn't suck!) It would be cool to have though, because a) I don't have a laptop, and b) I always have these great blog post ideas while on SkyTrain and not while sitting at home sitting at my computer.

Path: RSS > Anil > Now Bloggers Can Hit the Road > KABLOG

Posted by Richard at 05:14 PM | Comments (0)

February 19th, 2003

PHP, RSS and MT »

Some links found while traveling while browsing the site and through web searches:

Posted by Richard at 12:36 PM | Comments (0)

Ping Error Not MT's Fault »

If, after posting in Movable Type, you're getting error messages like the following...

One or more errors occurred when sending update or TrackBack pings. Check the Activity Log for the error.

...and it directs you to your error log, giving you something like this...

Ping '' failed: HTTP error: 500 read timeout

...then you need not worry too much. This from Ben in the support forum:

This isn't a problem with MT. The pings were always failing--MT just started telling you about them, because for many people, they didn't know why they weren't appearing on the updated lists, etc. So it's helpful to know what is going wrong.

The fact that the error (the first quote above) appears in red led me to suspect that it was indeed a problem with MT, but evidently, like Ben says, MT is just letting you know about what has always been occuring on (or, as the case may be) anyway.

Posted by Richard at 09:59 AM | Comments (0)

February 17th, 2003

Security Vulnerability in 2.6 and 2.61 »

If you've upgraded to MT 2.6 and/or 2.61 already, you need to upgrade to 2.62 immediately. [via Brad Choate]

Posted by Richard at 12:52 PM | Comments (0)

February 16th, 2003

Bug Fix for MT »

Six Apart have released MT 2.61, a bug-fix release.

Posted by Richard at 11:39 PM | Comments (2)

Secret Script in MT 2.6 »

Hidden secrets in Movable Type 2.6: I noticed it too during upload of the upgrade. Now, if only I could figure out how to exploit it fully.

[via sidebar Trackback > Phil]

Posted by Richard at 08:17 PM | Comments (0)

February 15th, 2003

No "Add new category..." in Bookmarklets »

So I've upgraded one installation (the one that powers MT blogs on the domain) and so far so good, except that the bookmarklets do not have the "Add new category..." option in the "Primary Category" drop down menu. For me, it's going to be one of the most abused features of MT 2.6. That and the Text Formatting plugins especially TextileFormatting. That there's a MovableJive plugin is just...awesome.

Posted by Richard at 10:24 PM | Comments (0)

February 13th, 2003

MT 2.6 Released »

MT 2.6 Released! I may wait a day or two before upgrading my (gulp) three installations of MT, though.

dive into mark has a good mini-intro to the new version. Also: Six Apart announces Movable Type Pro [via Anil]

Posted by Richard at 10:03 PM | Comments (0)

February 12th, 2003

MT Archive Redirects »

A a script to generate mod_rewrite rules to support a change in naming Movable Type archive files. Ahh, the LazyWeb.

There are also alternative approaches. [via A Frog in the Valley]

Posted by Richard at 04:51 PM | Comments (0)

February 11th, 2003

Lynx and MT, Nice Titles »

As a followup to the MT & Lynx Followup, you can now get Lynx-friendly templates for the MT CMS.

The blogging world is in a tizzy over Nice Titles. It's been implemented at MetaFilter too.

Posted by Richard at 10:08 PM | Comments (1)

NetNewsWire and MT »

Mena reports that NetNewsWire 1.0 works with MT, but categories are problematic.

Posted by Richard at 06:02 PM | Comments (0)

February 10th, 2003

Mozilla and MeFi »

Keyboard and iconic shortuts in MetaFilter for latest builds of Mozilla: awesome! Now if only MT Bookmarklets could work properly in Phoenix/Mozilla, all would be as one.

[first link via Movable Type Support Board]

Posted by Richard at 10:11 PM | Comments (0)

mtplugins dot org »

MT Plugin Directory: looks pretty comprehensive to me. [via...well, my referer log]

Posted by Richard at 09:39 PM | Comments (1)

February 9th, 2003

Convert LiveJournal to MT »

Importing LiveJournal Entries to Movable Type: it looks more than a little cumbersome, and LiveJournal does have certain advantages over MT (e.g. friends-only posts, a neat little desktop client), so if you're willing to join the MT revolution as a LiveJournal user, it's not without its costs. [via scriptygoddess]

Posted by Richard at 10:57 AM | Comments (3)

February 7th, 2003

MT &amp; Lynx Follow-up »

Ask (for screenshots of MT as appears in Lynx) and ye shall receive.

Since the sidebar gets pushed to the bottom in some resolutions, I'll get you to read the full post in the individual entry.

Posted by Richard at 04:50 PM | Comments (1)

February 5th, 2003

MT and Lynx »

I'm using my copy of MT from Lynx because at work, a telnet connection is the only one that seems to have any permanence. MT doesn't look too bad in Lynx: overall the navigation is fairly easy, but there is work to be done. [spacer.gif] blocks take up quite quite a bit of 'screen' space, which could be eliminated with a reliance on CSS positioning, or with a combination of alt and title attributes in the img and a tags respectively. Also, skip-to tags could eliminated some navigation weirdness.

Then again, how many use Lynx to blog? No, that's an honest question. Is it a big enough deal to make the MT CMS itself that accessible?

Posted by Richard at 01:12 PM | TrackBacks (0) | Comments (3)

February 4th, 2003

RFC for Plugin Manager »

David has a request for proposals concerning the Pluging Manager. You can comment on his proposal in his comments section or his forums section. Via MT-Dev.

Posted by Richard at 09:54 AM | TrackBacks (0) | Comments (0)

January 30th, 2003

PluginData »

If you are a plugin developer, or otherwise code in Perl, you will understand the following post. (And you might be able to explain it to me, someone who barely has a handle on PHP.)

Ben Trott, from the MT-Dev mailing list: "We will be adding MT::PluginData to the main distribution in MT 2.6." If it means anything to you, here's, which is available for download at

There is also a MySQL schema, which Ben included in his message:

create table mt_plugindata (

plugindata_id integer not null auto_increment primary key,
plugindata_plugin varchar(50) not null,
plugindata_key varchar(255) not null,
plugindata_data mediumtext,
index (plugindata_plugin),
index (plugindata_key)


Here, maybe it'll make more sense for you if you read Ben's whole message.

Posted by Richard at 09:06 PM | TrackBacks (1) | Comments (0)

Saying Goodbye to Blogger »

How has Blogger changed your life?: "Today I say goodbye to Blogger and Blogger Pro. I've finally come to a decision. I've finally made the leap to Moveable Type. It's a strange sensation - knowing that I won't be seeing that comforting black, blue and red site each and every day."

Post your comments about how Blogger changed your life. Basically the same as Tom: through Blogger (in my initial stage of Blogging before switching to MT), I met a lot more friends (and enemies) than I thought I would.

[via Anil]

Posted by Richard at 05:30 PM | TrackBacks (0) | Comments (1)

Trackback NG »

The Next Generation of TrackBack: A Proposal: "In taking all of the recent discussion and experimentation with TrackBack and related interfaces, I thought it would be helpful to draft some suggestions for consideration for the next generation (NG) of the interface. This document and forum (more on that later) is meant to be a starting point to begin a productive discussion and further the constructive and valuable work being done thus far."

[via mt-dev]

Posted by Richard at 10:53 AM | TrackBacks (0) | Comments (0)

January 29th, 2003

Two Interesting Plugins »

MTValidate and MTSpeling (get the pun?), although it does seem like there's more installation steps required than usual plugins.

[via webgraphics]

Posted by Richard at 08:41 PM | TrackBacks (0) | Comments (0)

January 28th, 2003

MT 2.6 Coming Soon »

It's right around the corner. Text Formatting and enhanced comments options look most interesting to me.

Posted by Richard at 03:54 PM | TrackBacks (0) | Comments (0)

January 26th, 2003

MT Bookmarklets in Safari »

I'm a PC boy, but secretly I yearn for a Mac.

Huh? Did I say that out loud? Oh, yeah, what I meant to say is, for those who use Safari, MT, and want to get bookmarklets to work, a response to a help request from Antipixel has solved your problem (at a cost: see the comment for details). [via webgraphics]

Posted by Richard at 06:43 PM | TrackBacks (0) | Comments (0)

January 22nd, 2003

Thoughts on a Plugin Manager »

A friend and I were discussing the level of computer knowledge one needed to install and customize MT, much less do some of the more advanced stuff (like using PHP and MT, hacking the MT code, etc.). We agreed that the level of skill required to add plugins to MT was slightly above that of the average MT user. (Of course, I recognize the risk of misunderestimating the average MT user base.) Basically we felt that beyond templates, the average user was flying blind when it came to hacks and plugins.

Well, perhaps no more. If plugins were a way for Ben and Mena to allow users (read: programmers) extend MT and (as I suspect) let them concentrate more on the backend and design of things rather than worry about tags, then the proposed plugin manager (see here and here for updates, and watch, as I will, the development at this site) will give users (read: ordinary bloggers) a user-friendly tool to manage plugins. The only thing I'm not so sure about is the centralized aspect of the 'official site' for plugins: maybe the official site would point to links to plugins not on the official site's server? Anyway, a minor quibble. As a recent convert to plugins, and since I still find installation difficult—it's always a pain, not being a Unix nerd (although I want to be, really!), to have to untar, unzip, and place plugins in the appropriate directories—I'm excited about a manager which will facilitate installation and use of plugins.

I wouldn't have known about the plugin manager if it hadn't been for my being on the mt-dev mailing list. Just so you know, I barely know what they're talking about half the time.

Posted by Richard at 08:50 PM | TrackBacks (0) | Comments (0)

January 20th, 2003

Mozillazine Converts to MT »

In the Movable Type Support forums, mxn reports that the weblogs hosted on Mozillazine have been converted to MT from Blogger. Here's the proof that the MT revolution continues.

Posted by Richard at 12:52 AM | TrackBacks (0) | Comments (0)

January 19th, 2003

MTEntry Plugin »

MTEntry Plugin: Now, if I understand this plugin correctly, this would allow one to have an entry be "sticky" at the top of a weblog, even though it was written before the posts below it. The ability to include a specific post somewhere in the templates has been something I've been looking for for a while.

Does this work for, say, Trackback pings as well? I'd like to be able to isolate the pings to Trackback ID 1, and have only those Trackbacks appear on the sidebar, rather than have all Trackbacks appear there.

Also at David Raynes' site is development of a LazyWeb-like add-on for MT. Looks promissing. I'd investigate further if it weren't so late (yes, the timestamp to this post is correct).

Posted by Richard at 04:34 AM | TrackBacks (0) | Comments (1)

January 15th, 2003

Graphical Dates »

Graphical Date Tutorial: It requires that you make little graphics for each month, and for each number from 1 to 31 inclusive (and graphics for the years: I've long suspected that Expiration Date does something similar to this).

[via What Do I Know]

Posted by Richard at 11:44 PM | TrackBacks (0) | Comments (0)

January 13th, 2003

Validation, Plugins »

Mark Pilgrim bemoans the diminishing returns of validating websites as well as the creeping obsolescence of tags and attributes he uses regularly. I've fought battles with the W3C validator, and quite a few times threw my hands in the air. I've come to rely on the MTRegex plugin to replace <u> tags with <span style="text-decoration: underline;"> (actually I use a CSS class, but you get the idea) to validate a site of mine into XHTML 1.1, and place <p> tags within <blockquote> tags when writing a post in MT and then I use the FormatBreaks plugin to make sure the proper breaks are inserted around <div> and <blockquote< tags. It's a little frustrating that I have to use so much glue to fix something of MT's just to get validation, when it looks fine, really, in any browser. In July, I joked that "we all know that trying to make your weblog validate to XHTML Transitional is a waste of time", but that seems to be what Mark is saying: there's too much glue that goes into validating a weblog, and that sometimes validation fixes one problem while creating others.

Just wanted to point out something else: I'm a recent convert to using plugins over using PHP code to achieve something on a weblog. In a way, Ben and Mena opened up MT so that users could be responsible for creating new MT tags while they concentrate on the database/interface aspect of things.

The sidebar has some links to some interesting plugins that I'd like to check out. I'm going to use—which is to say I have been using—this site as sort of a playground for MT, PHP and now plugins.

Posted by Richard at 03:43 PM | TrackBacks (0) | Comments (0)

January 8th, 2003

Requested Features List »

girlie on the MT Support boards has posted a Requested Features List, An Overall View.

Very cool.

Posted by Richard at 02:42 AM | TrackBacks (0) | Comments (0)

January 5th, 2003

Redesign snag »

The redesign has hit a snag: it's fallen victim to the infamous IE6 F11 CSS bug. This code doesn't seem to want to work, so I've emailed Zeldman, who posted that there was a solution (without saying what it was) and that the bug exists (and that they'd update soon with the solution, this being back in September). The September 2002 archive is a page I know that triggers the bug (and gives a JS error when I use the 'workaround'; this page on the workaround itself also give as JS error).

Thanks Phil!

Update Feb. 1, 2003: Zeldman has now revealed the code he's been using for a while. With Phil's help, I've been using the Javascript hack for about three weeks now. Now it's official I guess.

Posted by Richard at 11:37 PM | TrackBacks (0) | Comments (1)

January 4th, 2003

Text Formatting »

Six Apart Log: Text Formatting coming to MT [via dive into mark]

Posted by Richard at 08:43 AM | TrackBacks (0) | Comments (0)

'This' Month's Entries »

Some actual MT-related content, to make up for the last post: 'this' month's content only on the front page (girlie's last post).

Posted by Richard at 12:34 AM | TrackBacks (0) | Comments (0)

Redesign »

Being in a mood to redesign almost all my sites at once—it's not clear why, but I'm in the mood nonetheless—I put together a simple XHTML/CSS no-tables redesign of this site (link not permanent). If it looks wonky in your browser, and have a smidge of free time, can you grab a screen shot and send it to a Hotmail address of mine? I'd also appreciate, in the comments section, a note that the design works in your browser(s), if someone hasn't already commented on that browser. Thanks.

In Mozilla/Phoenix/Opera 6+, there's a top border as well as a side border, but no top border in IE 6. I'm aware of that, and not too inclined to fix it (unless you know how).

Posted by Richard at 12:25 AM | TrackBacks (0) | Comments (0)

December 28th, 2002

PHP Plugins »

Very much a work in progress, an online friend of mine, Bill Zeller, has created a plugin which creates PHP plugins. I'm interested in this plugin, since I can't code a line of Perl myself, but can at least pretend to code PHP.

Heed the warning that it "is developer code, it remains untested at this point [...] Use at your own risk."

Posted by Richard at 08:40 PM | TrackBacks (0) | Comments (0)

December 21st, 2002

Ordinal Numbers: Update »

staggernation has posted a Regex solution to the ordinal numbers problem (8th post) which makes use of the Regex plugin for MT. So no more PHP loading on each page reload when it comes to calculating ordinal numbers.

Posted by Richard at 02:15 PM | TrackBacks (0) | Comments (0)

December 11th, 2002

TrackBack Form in PHP »

The form which pings the sidebar (which actually a post with, in my example, the TrackBack ID of 1) was created with —you guessed it—PHP.

Here's the form. Nothing new here if you're experienced with HTML.

<form action="post.php" method="GET">

<div align="center">
<input type="hidden" name="tb_id" value="1">
<input type="hidden" name="form" value="1">
<td align="right">
<p>Blog Name</p>
<input type="text" name="blog_name" size="35"
<td align="right">
<p>Post Title</p>
<input type="text" name="title" size="35" value="">
<td align="right">
<input type="text" name="excerpt" size="60"
maxlength="150" value="">
<td align="right">
<input type="text" name="url" size="60" value="">
<input type="submit" value="submit" name="submit">

Here's the PHP file, post.php, which the form calls:


$fp=fsockopen("", 80);
fputs($fp, "POST /mt/mt-tb.cgi HTTP/1.1\r\n");
fputs($fp, "Host:\r\n");
fputs($fp, "Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-Length: " . strlen($data) . "\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, "$data");
$http_response.=fgets($fp, 128);
list($http_headers, $http_content)=explode("\r\n\r\n", $http_response);


Replace and www.yourblogURL as necessary, and make sure the line after the first appearance of points to the right location of mt-tb.cgi.

Don't ask me to translate it. I grabbed it from a PHP newsgroup. It works for me, except I still can't figure out how to get just the pings from TrackBack ID 1 on the sidebar, rather than all pings, which is currently the case. What I really should have done in the first place is have it ping a TrackBack category.

Posted by Richard at 11:46 PM | TrackBacks (2) | Comments (0)

December 7th, 2002

Ordinal Numbers with MT and PHP »

A subtle change to the date headers here at MovableBLOG. There are now "st" after any date with the day of the month being 1 or 21, "nd" after the days of the month 2 and 22, "rd" after days of the month 3 and 23, as well as "th" for any other day of the month. I didn't find a solution in the MT manual, but it apppears there is a plugin which can convert dates in to ordinal numbers.

It probably would have done me some good to look in the MT forums, since a solution was already posted by billzeller. But since I took the time to code it myself, I might as well publish it:


$dateToday = <$MTEntryDate format="%e"$>;
switch ($dateToday)
case 1:
case 21:
case 31:
$dayEnding = "st";
case 2:
case 22:
$dayEnding = "nd";

case 3:
case 23:
$dayEnding = "rd";

$dayEnding = "th";

print "<$MTEntryDate format="%B %e"$>".$dayEnding.", <$MTEntryDate format="%Y"$>";


Play around with that last print statement to get the desired date format.

Posted by Richard at 01:08 AM | TrackBacks (0) | Comments (0)

December 4th, 2002

Links Divided Over 2 Columns »

On the Vancouver Webloggers links page, the links are alphabetized and divided into a two columns. But how?!

With PHP of course.

Place in your index template somewhere this code. I have a whole blog in MT dedicated to links, and in the case of Vancouver Webloggers, use the category "Other" for bloggers other than the authors of the site.


$links = array();

<MTEntries category="Other" sort_order="ascend" sort_by="title">
$links[] = "<$MTEntryBody encode_php="qq"$>";

$numlinks= count($links);


Then, where you want the links to appear in two columns, insert this code:


$half = $numlinks/2;
$half = (int) $half;

for ($i = 0;$i < $half; $i++)
print $links[$i]."<br />\n";

for ($y = $half; $y < $numlinks;$y++)
print $links[$y]."<br />\n";


Note that for the title of each link's entry, I take the blog name and capitalize the first letter. Also, I follow the practice of not using "A" or "The" as the first word in the title. So "The Blog That Never Was" is inserted in the the title as "Blog That Never Was, The" and "a blog through time" becomes "Blog through time, A".

Posted by Richard at 12:07 AM | TrackBacks (0) | Comments (1)

November 29th, 2002

Mood Hack »

Tutorial: Mood Hack

This, I have to admit, is a pretty neat idea. I already added smileys using the MTMacros Plugin (and there are ways to add it to the MT-It menu in Windows as well as adding clickable smileys

Posted by Richard at 02:05 PM | TrackBacks (0) | Comments (0)

November 26th, 2002

Fuzzy Time »

Fuzzy timestamps in MT using PHP

Here's an example of how it turns out.

Posted by Richard at 01:43 PM | TrackBacks (0) | Comments (0)

Monthly Category Archives »

Or is that Category Monthly Archives? Anyway, someone asked whether you could have a monthly archive for individual categories, and it seems you can. Then again, it's 3:30 AM, so my mind might have turned out the lights. See my response and help me confirm it a) makes sense and b) actually works.

Update 11:00 AM: so my mind did turn out the lights. Forgot that both templates built the same filenames, one basically overwriting the other. Luckily the person who asked the question is clever and figured out how to have different filenames for the archives on their own.

Posted by Richard at 03:31 AM | TrackBacks (0) | Comments (0)

November 23rd, 2002

Custom Tag Buttons in Edit Entry screen »

Adding custom buttons to your Edit Entry screen is a lot easier than I thought would be. First, go to the mt/tmpl/cms directory, and make a backup of edit_entry.tmpl. I did this using the following Unix command:

cp edit_entry.tmpl edit_entry.tmpl.bak

Now, edit edit_entry.tmpl and search for the first occurance of the word "bold". Copy everything from document.write to the semicolon on the same line, paste what you have, and change the "bold" in the new code to whatever tag you want. I did it for blockquote:

document.write('<td width="24"><a href="javascript:formatStr(\'blockquote\')"><img src="/mt/images/blockquote-button.gif" alt="bold" width="24" height="18" border="0"></a></td>');

The hard part is creating individual buttons for each new tag. I created one for blockquote, and you can use the blank image I created .

This'll save you some time if you're too lazy to type in your favourite simple tags (like <small> and <em>) that aren't available by default on the MT Edit Entry screen. Remember when you upgrade that you may need to change your edit_entry.tmpl file again. Also, if your tag needs are a bit more complicated, you may want to investigate the MTMacro plugin. I hear it's pretty good.

Posted by Richard at 07:04 PM | TrackBacks (3) | Comments (3)

November 7th, 2002

Selecting Text Problems in IE 6? »

This is off-topic as far as Movable Type is concerned, but if you're having problems selecting text from your site in Internet Explorer 6, add this code to the first line of your code:

<?xml version="1.0" encoding="iso-8859-1"?>

If it gives you a PHP error, add this line instead:

<?php print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>"; ?>

I found this here after searching Google Groups forever, giving up, and trying websites instead.

It works for me (over at China Weblog). Added bonus: it still validates XHTML Transitional 1.0.

Posted by Richard at 01:08 AM | TrackBacks (1) | Comments (8)

October 30th, 2002

2.51 released »

Wow, only 15 minutes after making a sarcastic remark do Ben and Mena release MT 2.51.

Now the people bugging me about not being able to login can bug me about other things.

Update: if you upgraded any time during Oct. 30th, you will need to re-upgrade. See Phil's post for more details.

Posted by Richard at 11:56 PM | TrackBacks (0) | Comments (1)

MT 2.51 Spotting »

Just noticed this at Ben's weblog:

MT 2.51

Unfair! How come the developer of MT gets 2.51 before the rest of us?

Oh wait, nevermind.

Posted by Richard at 12:55 PM | TrackBacks (0) | Comments (0)

MT on OS X »

OS X with Movable Type

A friend of mine wanted to muck around in it, to see if it was worth installing for her weblog. It says it's for Jaguar, but it may apply to earlier versions of OS X.

Posted by Richard at 12:17 PM | TrackBacks (0) | Comments (0)

Minor Update »

Nothin' much to report (except the goings-on in the support forum, which apparently has been upgraded). I'm mostly keeping a watch for MT 2.51 or whatever it's called. At another site of mine, some of the authors can't login because the 'remember password' function is not working. As reported earlier, this will be fixed.

Also, the RSS for this site is valid. I had to upgrade the MT templates, as per the validator's request, which was no biggie. At some point I'll put links to both the RSS 1.0 file and the RSS 2.0 file on the sidebar. At this writing (at an ungodly hour), only the RSS 1.0 is there.

And don't be shy in pinging the site if you have hacks/news/plugins/what have you related to MT. MovableBLOG is my second-most active site in terms of visitors, Vancouver Webloggers being easily #1. I'd be interested to know: for those pinging, is the sidebar is getting many click throughs?

Posted by Richard at 02:46 AM | TrackBacks (0) | Comments (0)

October 25th, 2002

OT: Blogger Hacked »

Blogger Hacked

Ev suggests that if you're a current Blogger user (or a former one, like myself), that you consider changing the passwords on your server.

First heard about it here.

Posted by Richard at 06:14 PM | TrackBacks (0) | Comments (0)

October 19th, 2002

XML Syndication for MovableBLOG »

I should probably mention that the old URL for XML syndication will get you an old, stale copy of the site's XML file. The new URL below will get you a nice, fresh and up to date XML file:

Posted by Richard at 02:12 AM | TrackBacks (0) | Comments (0)

October 17th, 2002

MTMacro Tutorial » : Differentiating your links with MTMacro

Brad Choate writes this (undated?) tutorial on using the MTMacro plugin for MT 2.2, and it should apply to 2.5 as well.

[via MT-Users mailing-list]

Posted by Richard at 12:20 AM | TrackBacks (0) | Comments (1)

October 15th, 2002

Comment Bug »

Editing Comment With No Title Bug

Will be fixed in 2.51.

Posted by Richard at 10:31 PM | TrackBacks (0) | Comments (0)

Archipelago 2.0 Released »

If you are a Mac user (sadly, I am not), you might want to take a look at Archipelago 2.0, a local weblog client that is Movable Type-compatible. Here are some screenshots, the release message, and a raison d'etre for the name Archipelago and a getting started page. [via View From the Heart]

Posted by Richard at 08:17 PM | TrackBacks (0) | Comments (0)

October 13th, 2002

Blog Comparison Tool »

BlogComp: Blog Tool Features Comparison Table

MT does well when stacked up against LiveJournal and Blogger, two tools I used regularly previously to MT.

Originally saw it on Blogpopuli, which forwarded me to this weblog post about it.

Posted by Richard at 05:56 PM | TrackBacks (0) | Comments (0)

Title in Bookmarklet »

I just noticed that the MT 2.5 bookmarklet adds title="title of website" in the link.

So a link in the MT 2.2 bookmarklet, like this one:

<a href="">MONSTERS, INC.</a> the MT 2.5 bookmarklet becomes:

<a title="MONSTERS, INC." href=""<MONSTERS, INC.</a>


Posted by Richard at 02:29 AM | TrackBacks (0) | Comments (0)

October 12th, 2002

2 Rows of 14 »

Someone wanted to know how to have two rows of 14 days (it ends up being 3 rows) on their MT blog's calendar, and I came up with a PHP solution.

Posted by Richard at 01:37 AM | TrackBacks (0) | Comments (0)

October 11th, 2002

Photodude on MT 2.5 »

PhotoDude's Web Log: Digital Housekeeping

Photodude makes the point that Google would miss much of his site (because Google crawled every so often), and that having a search function for the weblog makes it easy for people to find specific posts. I noticed that when I had it for a weblog of mine, that I was the only one using it, because I wanted to find a past post of mine quickly for reference's sake. This suited me fine, since I didn't have many visitors back then, but since I've gotten more, it will probably be put to some use. Some time next week after upgrading to 2.5, I'll put a search function for this blog.

In the post, he also gives some good examples on the uses of the new Keywords option in MT 2.5. As he says, "it's just more in my continuing efforts to make you go away, by offering up pages full of pipe hogging photos, forms to comment, e-mail, and search, plus a confounding mix of liberalism, warmongering, and highly sarcastic humor, stirred with hundreds of links to other sites to be used as an escape hatch when the host's unlikely stew threatens mortal confusion." Problem with that is those are the reasons I stay at his site.

Posted by Richard at 12:41 AM | TrackBacks (0) | Comments (0)

October 9th, 2002

MT 2.5 Released »

Movable Type 2.5 released with a big thank you from Ben and Mena for making it one year of Movable Type Madness (my phrase, not theirs).

It looks like I may need to slightly modify the form for pinging to this site, since they've changed pinging from a POST from a GET. Good thing I didn't post the code for then (also, I need to have error-handling routines and something else that I can't remember).

A time-saver (and annoyance-buster) for me is the pinging of and related sites only when new posts are created. And the inclusion of MT-Search is welcome.

One thing that frustrates me with 2.21 (and, since I haven't installed it yet, I don't know if it's been looked after in 2.5) is when searching within MT, and there's only one result, that I still have to click on the result to get the post. Why not have the post automatically come up, since it's the only one? One of the things that gets me about MT is that some things seem to take one or two more clicks than needed (like having to save a template, then click rebuild, then click rebuild again when the pop-up window shows up: is it possible to have a Save & Rebuild button?).

Same goes for Yahoo! Mail: that I have to click three times to sign it is two clicks too many. Not that Ben and Mena can do anything about that...or can they?

I have two installations of MT going, and I still need to figure out the best way to go about having Vancouver Webloggers use a different installation than the one it's currently using while still keeping the authors' information intact. Oh well, a project for this weekend, thankfully a three-day one for us Canadians.

Arrow Anil Dash: Movable Type's First Anniversary
Arrow dive into mark: Movable Type 2.5 is out
above links via blogpopuli

Posted by Richard at 01:07 AM | TrackBacks (0) | Comments (0)

October 8th, 2002

Posting Photos by Email »

Bill Zeller has come up with a way, using PHP, to email photos to MT and have them resized to 5 different sizes.

Posted by Richard at 11:05 AM | TrackBacks (0) | Comments (0)

October 4th, 2002

Trackback Enabled »

You are now, as far as I know, able to TrackBack to this site. The URL is, and there is a form for those without MT who want to discuss MT in anyway.

Note that I reserve the right to remove any post for any reason. Only posts where the bulk of it is related to Movable Type will be kept on this site. (There is no error-correcting routine for when one or more fields in the form aren't filled in. That will come soon.)

I'll be working on a new logo this weekend. The current one is a little...unoriginal.

Posted by Richard at 12:01 AM | TrackBacks (0) | Comments (0)

October 2nd, 2002

TrackBack on MovableBlog »

The sidebar, in the area either between the official MT links and unofficial links or replacing the unofficial links altogether, will contain the space for other bloggers to post links to their MT-related posts. I'm settled into my new place, so I will be enabling that feature tomorrow.

Posted by Richard at 01:37 PM | TrackBacks (0) | Comments (0)

September 16th, 2002

Change of Format »

Once I get settled into my new place, I'm going to change the format of this site. It's going to be similar to Blogpopuli, in that anybody with TrackBack can post links of their MovableType-related postings to this site. I'll have content of my own to share as well, since I will probably come up with a PHP trick every so often).

Posted by Richard at 07:57 PM | Comments (0)

September 10th, 2002

Trackback for Radio »

From a comment in the previous post: Hacking Trackback into Radio.

Posted by Richard at 12:09 PM | Comments (0)

September 7th, 2002

Upgrade Soon »

Movable Type 2.5 coming soon. I'm most interested in the pings feature (pings more sites, and pings them more intelligently) as well as the integration of MT-Search (which allows users to search a person's weblog, as well as special functions like an edit link for if you're logged in under MT). A better formated e-mail notification is something I look forward to, as well as the other features not mentioned (it the above-linked post refers to "some of the features", meaning not all of the new features?).

I haven't been following MT-related developments as closely as I'd like. Just my living situation is making blogging in general difficult. Not that it's stopped me from blogging at my other sites, but it's limited it, and this weblog has suffered the most, what with my posts being solely comments about the front-page blog on the MT site.

Posted by Richard at 01:09 AM | Comments (2)

September 3rd, 2002

Standalone Trackback »

Ben and Mena release a standalone TrackBack for bloggers who don't use the MovableType Publishing System (why they aren't is anybody's guess, but then again, maybe I'm biased). From the technical docs:

"[The standalone TrackBack implementation] accepts pings sent through HTTP requests, stores the pings locally in the filesystem, and can return a list of pings sent on a particular TrackBack item in RSS format. It also generates RSS files statically, if you want it to."

Posted by Richard at 03:28 PM | Comments (1)

August 22nd, 2002

Threadable Trackback »

Threaded Trackback Released

Good gravy. Just surfed into the MT site to look at the default templates, and I see that a standalone version of Trackback will be released soon.

While I'm on the subject, the excellent Blogroots site has a subsection called Blogpopuli, where people can ping the site with their posts about weblogs and weblogging.

Posted by Richard at 03:00 AM | Comments (3)

August 18th, 2002

Macros and Stop Spam Pinging for 2.2 »

Macros for MT

Neat little plugin. [link from Blogroots] Stop Spam Pinging for MT 2.2

Might implement this one myself. Pinging after changing typos is getting real annoying.

Posted by Richard at 05:15 PM | Comments (0)

August 10th, 2002

MT and Emacs »

Stumbled on this one quite by accident. Just doing the blog hop thing, and found a (Vancouver?) weblogger who has a way to use emacs to post to MT. I'm not worthy of that level of nerdliness (with a sigh, I must admit to using pico as my Unix text editor), but maybe you are?

Any which way, he's looking for beta testers.

Posted by Richard at 06:02 PM | Comments (8)

July 30th, 2002

TrackForward »

Now that's neat: TrackForward, a plugin to show the posts of the pings you've sent, rather than the pings that you have received from other posts (which is already included in MT).

Confused? Yeah, I'm a little confused myself. But it's reversing an already confusing (for some) concept (it took me 30 minutes to explain it to a person I met at a blog meetup, and I ended up confusing myself).

Posted by Richard at 03:18 PM | Comments (3)

July 26th, 2002

Hash Mark Hack »

Ask and ye shall receive. And persistence pays off. Two cliches which actually proved true in this circumstance.

Paulo asked on the message boards about using TrackBack with a hash-mark-using archive URL, and got a response about it here in the TrackBack group. Looks like he was actually persistent about it too, asking a second time (which puts the threat at the top of the list in a support group).

Posted by Richard at 10:09 AM | Comments (1)

July 22nd, 2002

MT Manual in Your Palm »

Have a PDA with Palm OS and PalmReader? Jason has converted the MovableType Manual so you can memorize MT template tags on the bus!

If there's a pun in that last sentence, I assure you it's unintentional.

Posted by Richard at 10:03 PM | Comments (0)

July 20th, 2002

TrackBack at MetaFilter »

Paulo made some good observations about TrackBack, and now MetaFilter is implementing TrackBack on its collaborative blog. I'm still under the impression that MeFi uses propriety blogging software, so this looks like a non-MT implementation of TrackBack to me.

Later tonight: how to "tape delay" your weblog using MT and PHP.

Posted by Richard at 05:59 PM | Comments (1)

July 12th, 2002

GirlieMatters »

Wow, since she posted all of 3 times in June, I had almost given up on the girliematters girl's tips site. But now that she has posted 15 times in July (!) well, let's just say I've attached the Stone of Shame.

But this weekend, I'm going to fiddle around with some of the newly created plugins. The neatest one looks like the MySQLEntries plugin. This site, alas, will be the guinea pig, which should at least make things interesting.

If successful in adding multitudinous plugins, maybe then will I remove the Stone of Shame and attach the Stone of Triumph!

Posted by Richard at 01:21 AM | Comments (1)

July 9th, 2002

MT Pay »

I'm responding to some comments in this post. They are well-thought-out comments and you should read them before reading this post..

The plugins are, if I'm not mistaken, just for creating new MT tags. For me to pay for a version of MT, I would not be too worried about any new tags it might deliver so much as the back-end stuff, like Mariann suggested, threadable comments (and TrackBack). Also, there are UI features I would pay for: a "WYSIWYG" preview (i.e. what the front page would look like to the reader, because some of us redefine tags such as <blockquote> etc.) and a spell-check similar to Yahoo! Mail's (where it takes you to just one screen, with all possible spelling errors flagged in textboxes to be easily changed or kept as is). I also think the Author editing screen needs an overhaul, with more finely tuned permissions (and a editor option, where an 'editor' can accept or reject posts before publication).

Of course, if Ben and Mena accept these and other good suggestions made by others, they risk getting into full-blown CMS territory rather than the current blogging-tool-slash-CMS-lite market they are doing well in. If the one-time cost for MT is close to the Blogger Pro *yearly* rate, they will at least have a paying customer in me (especially so if a major upgrade is included in the cost).

Full disclosure: I just donated, so, necessarily, I've already paid part of the cost of a future upgrade to the pay version, and have no ethical dilemma with that fact. In fact, I feel pretty good about myself for having done so.

Posted by Richard at 01:40 AM | Comments (4)

July 7th, 2002

Plugins »

It looks like I'll be spending a lot of time in the Plugin Development forum.

Oh. Baby.

Posted by Richard at 02:37 AM | Comments (1)

July 3rd, 2002

TrackBack Development Weblog »

TrackBack Development

Just started following the Trackback weblog on There will be threading and XHTML validity (I'm of the mind that XHTML validity, however desirable, is an elusive goal at best).

I will also enable TrackBack for this post, for those wanting to test it out (I'm testing it as well: hopefully I have all the templates right).

Posted by Richard at 01:52 AM | TrackBacks (0) | Comments (1)

July 1st, 2002

MT External Resources » : External Resources

Excellent idea by Mena to put up external (or as I like to call it independent-as-heck) resources. Yours truly is honoured to be linked.

But it's not a blog powered by MT? Scandal!

(If it were up to me, I would use MT to manage the links, like I do for my main site and China Weblog.)

Posted by Richard at 06:11 PM | Comments (2)

MT Pro 2.3? »

MT 2.3 to be pay version?

According to Mena Trott, it may be "for a cost of between $45-$60". Looks like she's just speculating more than anything (MySQL and, to a lesser extent, TrackBack were conceived as 'pay' features).

Posted by Richard at 10:43 AM | Comments (9)

June 30th, 2002

MeFi Sidebar »

Didn't notice it before, but the sidebar for MetaFilter is powered by MT. I probably didn't notice it because I assumed that it was powered by the same proprietary blogging system programmed by MeFi's numero uno Matt Haughey.

Posted by Richard at 06:42 PM | Comments (0)

MT 2.21 »

MT 2.21 released

Important update for those who use MySQL as their backend (I use it for one installation of MT, and would like to for this one, but there's a snag related to a comment having a NULL value). Also, bug fixes.

Posted by Richard at 04:02 PM | Comments (0)

June 28th, 2002

Word Count in MT »

Word count plugin for Movable Type

First Perl plug-in I've seen for MT and it's a neat one. Creates a <MTWordCount> tag to give you the number of words in your entry.

I look forward to seeing more plugins for MT.

Posted by Richard at 01:44 AM | Comments (0)

June 26th, 2002

Collapsable Comments and Extended Entry »

Spurred by my idea (and subsequent failure to code a demo of it), the goddesses over at scriptygoddess have come up with a DHTML way of expanding and collapsing inline comments and extended entries.
Be sure to read the comments too.

I have contributed a crude example of the way I was going to do it (comments only). Revel in its unformatted glory.

Posted by Richard at 11:38 PM | Comments (1)

MT 2.2 Released »

Movable Type 2.2 Released!

New features: MySQL database support (don't worry if you don't have it or don't want to use it, you can still use the old file-based database system) and Trackback.

The most useful feature is MySQL support, since PHP has a MySQL interface, this means you can easily create dynamic content from the blog data without even relying on MT tags or any of the MT CGI scripts. The most interesting (and possibly revolutionary) feature, however, is Trackback, which enables a sort of conversation between MT-powered weblogs. While I believe there will be snags related to the conversion of MySQL will be difficult, the concept of Trackback will be the most difficult to explain (the logic of using it with bookmarklets is a little confusing for myself).

Also, the MT website has changed look to celebrate the new release.

Posted by Richard at 10:34 PM | Comments (0)

June 23rd, 2002

Add tags to MTGoogleSearch »

Sifry's Alerts: More Google API hacks for Movable Type

Adds a 'title=' and 'excerpt=' attributes to the <MTGoogleSearch> tags.

[via Google Weblog]

Posted by Richard at 11:13 PM | Comments (0)

June 19th, 2002

no_generate attribute »

Ben reveals another undocumented feature: no_generate attribute for <MTEntryExcerpt$>.

This is useful for when you want to have an excerpt of your choosing but, when you don't write one in yourself, nothing shows up. Or, you could test to see if there is an excerpt using PHP, and print a message like "No Excerpt." if there's no excerpt.

<MTEntries lastn="1">

$excerpt = "<$MTEntryExcerpt no_generate="1"$>";
if ($excerpt)
print $excerpt;
print "No Excerpt.";


Posted by Richard at 01:39 AM | Comments (0)

June 15th, 2002

MySQL Support Coming Soon »

Oh great: only at the end of the one day I where I actually spent the vast majority of it away from my computer do I find out that I could have been a beta tester for MT 2.2. Oh well, I had non-computer-related stuff planned for this weekend anyway.

Anyway, according to Ben's non-subtle hint, version 2.2 will support MySQL databases.

Posted by Richard at 12:16 AM | Comments (0)

June 7th, 2002

A Better Way To Display Extended Entries » A Better Way To Display Extended Entries

Nice little Javascript workaround to 'toggle' Extended Entries. I would have used less clever variable names, but still, a fun way to display the rest of your longer posts.

Posted by Richard at 12:06 AM | Comments (3)

June 4th, 2002

Neat decoder »

Not specific to MT, but courtesy of scriptygoddess, you can add a Javascript bookmarklet to easily convert < and > to their HTML equivalents, &lt; and &gt;. Neat!

Posted by Richard at 02:58 PM | Comments (0)

June 2nd, 2002

Kottke Moves to MT »

BTBer (big-time-blogger) Jason Kottke switches from hand-coding to MT. Useful for many (although possibly too nerdy for most) is Kottke's use of the RedirectMatch directive in Apache after changing the URL format of his weblog. Makes for much less 404 errors client-side. It seems to work fairly well: this URL [old] redirects to this URL [new]. It goes to the appropriate monthly archive, although not to the actual post in question (re: "Attack of the Clowns").

I could be wrong, but this might be solved by inserting the following code in between his <MTDateHeader> MT tags for his monthly archive template:

<a name="<$MTEntryDate format="%y%m%d"$>" id="name="<$MTEntryDate format="%y%m%d">"$></a>

Anyway, another convert. The revolution continues.

Posted by Richard at 01:30 PM | Comments (1)

May 30th, 2002

Most Recent Categories »

See my post on the Tips and Tricks forum for displaying the most recent categories with entries, but without duplicates.

That might sound a little confusing, but read through the posts, and it should make sense.

Posted by Richard at 08:54 PM | Comments (2)

Support Board Tips »

How to ask for help on the MT Support Forum. Some great tips, and useful for other Ikonboard-powered message boards as well.

Posted by Richard at 07:55 PM | Comments (0)

Sliding Menu powered by MT »

This requires PHP (or the ability to do SSI includes) on your server as well as Javascript enabled on the client's browser.

I have it set up as two blogs in MT, one for the links, and one for the blog content.

In the blog content's main index, between the <head> tags, insert this Javascript code:

<script type="text/javascript">
function toggleMenu(currMenu) {
if (document.getElementById) {
thisMenu = document.getElementById(currMenu).style
if (thisMenu.display == "block") { thisMenu.display = "none"
else { thisMenu.display = "block" }
return false
else { return true }

And the CSS, also between the <head> tags, for the menu looks like this:

.menu { border-left: 1px #FFFF00 solid;
padding-left: 2px;
display: none; margin-left: 15px; }

Modify the color in the menu as required.

Just to repeat, all that code was in the main index file of the main blog.

Then create another blog in MT, which will contain the links in your sidebar or wherever you want the menu. Delete all the templates and turn off archiving. Then create a new index template. For mine, I used the filename resources.html. You can choose what you want. (Note that I have the same blog directories as in the main blog.)

The resources.html template in the second blog looks like this:

<a href="" onMouseOver="(window.status='toggle
return true;" onMouseout="window.status=' '"
onClick="return toggleMenu('<$MTCategoryLabel dirify="1"$>')"><u><b><$MTCategoryLabel$></b></u></a>
<br />
<span class="menu" id="<$MTCategoryLabel dirify="1"$>">
<MTEntries sort_by="title" sort_order="descend">
<$MTEntryBody$><br />

Every time you want to add a link, the "Main Entry Text" is a simple HTML URL, e.g.:

<a href="">CNN</a>

Each heading in the menu is an MT category, so make sure you categorize the entry before publishing it.

Now go back to the main blog and insert the following code where you want the menu to appear:

<?php include("resources.html"); ?>

If you don't have PHP but can do SSI includes, then use the following code:

<!--#include virtual="resources.html"-->

(Javascript code taken from JavaScript for the World Wide Web by Tom Negrino and Dori Smith, pp. 290-1)

Posted by Richard at 02:34 PM | Comments (2)

May 27th, 2002

Important Security Alert »

Ben has alerted users to delete mt-load.cgi from their systems. His words: "There is a hacker (or a group of hackers) hacking MT sites by running mt-load.cgi to gain access to the system. You are not vulnerable to this if you deleted mt-load.cgi."

Delete mt-load.cgi (and mt-upgrade.cgi) if you haven't already done so.

Posted by Richard at 02:38 AM | Comments (0)

May 22nd, 2002

Alternative Message Board »

This site just got linked at the Z-List, and poking my way through, I found the Ask A Geek forum, which has the following description:

"Problems with Blogger, Greymatter, Movable Type, Life, Death, abstinence from chocolate? Fire away. We could all learn a thing or two."

Looks like a good alternative to the 'official' MT boards (even though they are still a staggeringly good resource, am I wrong here folks?).

Kind of too bad there's no answer to the question "is anyone running MT on an IRIX box running netscape's enterprise server software?" though. It's something I would have never have thought to ask!

Posted by Richard at 11:27 PM | Comments (0)

Import Comments »

Import YACCS comments in MT; Import dotcomments comments in MT; Import dotcomments with a Greymatter install into MT.

Posted by Richard at 01:22 AM | Comments (1)

May 15th, 2002

"Words" and photolog tutorial »

An unintentionally undocumented attribute exists in <$MTEntryBody$>. The words attribute allows you to show just the first n words in your entry body.

Also, using the Main Entry Text, Additional Entry Text, and the Excerpt fields, Jeremy created a great-looking photolog using MT. There's also a tutorial in "five" steps.

Posted by Richard at 01:53 PM | Comments (1)

May 13th, 2002

Exclude a Single Category »

I worked on this for about a half-hour and it actually worked.

Might noticeably slow down your site, because there's PHP for each entry.

Note: there are still some bugs to work out. Like how the date header doesn't show up if the excluded category is the latest post.


$category_array = array();
$category_array[] = "<$MTCategoryLabel$>";

$flagged = FALSE;
for ($i = 0; $i < $count; $i++)
if ($category_array[$i] == "CATEGORY_NAME")
{ $flagged = TRUE;

if (!$flagged)

[insert MT code and HTML here; this will only get shown on your site if CATEGORY_NAME is not one of the categories for the individual entry]





Posted by Richard at 01:25 PM | Comments (3)

May 11th, 2002

Stop Spam-pinging » Stop spam-pinging - a great idea. Like today, when I found out there was a typo in an old post. Making the change pinged, but people coming in from there would not have seen any 'new' content on my front page. (Aside: the way I found out about the typo was kinda funny. A searcher misspelled "lottery" and actually found "lotery" in my post, which prompted the change.)

Note that this requires hacking the actual executable code of MT, which means you should back up your copy before doing so.

[via David Gagne]

Posted by Richard at 08:41 PM | Comments (1)

May 6th, 2002

Blogdata »

David Gagne wrote an excellent tutorial for his "Blogdata" module. I particularly like the "'Hidden' Entry-Editing Link", which is very similar to MT-Search's link to editing a post. (The difference is that Gagne's idea is embedded in the HTML for all to see but is "hidden", whereas MT-Search uses the CGI to determine if the cookies on your computer you're using has been set to MovableType being logged in, and then adds the edit tag.)

Posted by Richard at 02:19 AM | Comments (0)

May 5th, 2002

Non-Consecutive Dates »

Non-Consecutive Dates - How To - this is useful if you want show the last n days that you posted, rather than just the last n days (which, if you don't blog daily, could end up leaving you with one posting on your site; or even none if you rebuild long enough after your last post!).

Posted by Richard at 01:43 PM | Comments (0)

May 4th, 2002

MT 2.11 »

MT 2.11 (Bug Fix Release): if you already have 2.1, it's an easy upgrade to 2.11, so I recommend going for it.

Posted by Richard at 10:16 PM | Comments (0)

May 2nd, 2002

MT 2.1 »

MovableType 2.1 released!.

Yes, that's 2.1, not 2.01 as initially thought.

I immediately used the rebuilding-just-one-template feature so that the template for showing a random entry didn't get rebuilt after every post.

(For the random entry template, see this thread for the code I used.)

Posted by Richard at 09:06 PM | Comments (0)

April 30th, 2002

MT 2.01 »

Apparently I'm way behind on the news that MT 2.01 is coming out soon. That's what I get for paying too much attention to the Tips & Tricks forum and not enough attention to the MT main site.

I'm most looking forward to the "Ability to limit which index templates are automatically rebuilt" (so that I can rebuild the random entry template, which is huge, separately). Partial support for meta Weblog API also looks promising. This would presumably allow posting via AIM or any other app instead of using MT's interface (something like how LiveJournal has a small, constantly-running Windows app to post easily and quickly).

Since Ben said he'd release 2.01 in a week or two after he announced it (which was on the 19th), it should be available any day now.

Posted by Richard at 03:31 AM | Comments (1)

April 25th, 2002

Lack of posts »

Sorry for the lack of posts lately. Soon I'll come up with a detailed post on how I implement multiple categories on my site. The "Next Couple of Days" post on my main site is a good example of that. It uses a combination of an extra individual template, MT tags, PHP and Javascript to achieve the effect. It's done almost entirely on 'borrowed' code (from the Tips and Tricks forum, from Javascript help sites, etc.), but the way it's combined is, I believe, original.

The detailed post should come on Sunday, with a link to it posted to the Tips and Tricks forum.

Posted by Richard at 06:39 PM | Comments (0)

April 22nd, 2002

Restricted Post »

How to make restricted access posts on your site: requires PHP, and a dash of patience. I have both, so this is something I might implement on my main site and/or on a photoblog site a friend wants me to create.


Posted by Richard at 03:22 PM | Comments (0)

April 20th, 2002

Learned Something New »

Well, there you go! I learned something new today! Of course, it was in the manual, but sometimes it takes someone to point it out (i.e. including multiple categories in a blog post but excluding one). Also a good idea for including 'multiple blogs' is using one blog and use categories instead (hezair's message in this thread). I'm sticking with multiple blogs with PHP includes (i.e. RichFilter).

But combine the two (excluding a category from a listing, and using a category listing somewhere else) is a good way to have 'multiple blogs' on one page!

Posted by Richard at 07:14 PM | Comments (0)

April 16th, 2002

"On This Day" »

Well, isn't that clever! It's probably not specific to MT (does GreyMatter allow daily templates?) but Brad Choate offers some PHP code for linking to posts "on this day" in past years on your blog.

If I had daily templates set up on my site, I'd definitely use this!

Posted by Richard at 01:31 PM | Comments (0)

April 13th, 2002

Less than N Days »

As an addendum to the monthly tags post, there's another component of the Recently quasi-blog that was a little tricky at first. I wanted a way to show that another blog had been updated within n days. The way I did this was with some MT and PHP magic.

I created an index template that looks something like this (the filename in my case is dateoflastentry.php):

(the code for the timestamp was derived from this example)

<?php function makeTimeStamp($year,$month,$day) { return mktime(0,0,0,$month,$day,$year); } <MTEntries lastn="1"> $startDate = makeTimeStamp (<$MTEntryDate format="%Y"$>, <$MTEntryDate format="%m"$>, <$MTEntryDate format="%d"$></MTEntries>); ?>

The code that I have looks like this:


function lessThanNDays($timestamp)
$now = time();
$betweenTodayAndLastN = $now - $timestamp;
$nDays = 3;

$nDaysAgo = 60 * 60 * 24 * $nDays;

if ($betweenTodayAndLastN < $nDaysAgo)
return TRUE;
return FALSE;


The include statement is in bold. Note that it appears in a different directory than the main blog, but just because that's where the Recently blog appears.

The $nDays variable in the lessThanNDays function is set to 3, so that any blog entry with a timestamp of less than 3 days ago results in "Recently" appearing in bold. Not the most elegant way to do it. But it does work!

See also this post in Tips & Tricks.

Posted by Richard at 06:05 PM | Comments (0)

April 12th, 2002

Smilies »

Adding Automatic Smilies hack.


Posted by Richard at 10:55 PM | Comments (0)

Google API Hack »

Use the recently introduced Google API in Movable Type.

See also Tips & Tricks post introducing it; info on Google API.

Posted by Richard at 07:08 PM | Comments (0)

Movable Type Blog »

Since there's a blog dedicated entirely to Google, and one dedicated entirely to Mozilla, why not dedicate an entire blog to MovableType?

It's more a way for me to aggregate resources dealing with MT, since it seems to be a growing phenomenon, what with the release of the excellent version 2.0. I welcome any suggestions for this site and am looking for authors to lessen the load of posting.

Update exactly a year later: Yeah, scratch that. The email links don't even work anyway.

Anyway, we'll see how long this great idea of mine lasts. In the meantime, enjoy!

Posted by Richard at 07:00 PM | Comments (1)