Comments Are Unbroken

A lovely change in Movable Type caused comments to be sorta really broken for the past week or so. I just now got around to fixing things… so if you tried to post a comment in the past 8, 9 or 10 days and it didn’t work – and you still remember what it was – go ahead and try posting it again! Let’s see if it works…

The Big Blog Re-Install

I think my comment problems are related to my crusty install of Movable Type. I’m going to re-install Movable Type, and slowly re-add plugins. Things may be funky around here for a little while.
Update – I think it’s OK now. I deleted a bunch of old plugins I wasn’t actually using, and gave up on using FastCGI. I’ve posted some test comments and things seem at least a little faster, and no errors so far. If you notice anything completely borked, let me know.

The Big 2k

This is the 2000th post on this blog. I wish I could write this to coincide with some big redesign, a switch to a cool new blogging platform or have some cool techno-geeky thing to show off. But, I don’t. I just have this measly little entry. This entry is mostly here so I get over the fact that there are two thousand entries, most of them by me, but a bunch by Jen now too.
The first entry was way back in July of 2000 and it says nothing at all important, just like the vast majority of other posts here where I rambled about nothing and posted anyway.
Two thousand posts in, what have I learned and what has it done for me? Here you go:
# Blogging changes everything. If you get into the habit of doing it, it opens up a new world of people, experiences and possibilities. Maybe it’s because I started blogging before there were millions of people doing it, but I’ve made connections with so many different people through my blog and reading others. Blogging is a great way to get a glimpse into other peoples’ worlds, to walk a little bit in their shoes and get a perspective you wouldn’t have otherwise had into someone else’s experience.
# Blogging has changed how I communicate with everyone. My family reads my blog. A lot of people at work read my blog. A lot of my friends read my blog. When there’s a topic I’m not comfortable talking about in person (like religion, politics, etc). Writing about it here makes it easier to talk about it in person, and has led to some very interesting conversations I wouldn’t have otherwise had. Giving myself an “opening” here creates an opportunity for discussion in the “real” world.
# Blogging has made work better. I used to religiously not talk about work here, because I didn’t want to get dooced (I read her blog before she became a verb and loved it – still love it). I still have a hard time talking about work (habits die hard), but it’s made my work easier. I used this space to experiment with web standards, and that bled into work. Being one of the first bloggers at AOL (at least one of the first who would admit it), I got to help with the initial thinking behind AOL Journals and go on a couple trips to talk about it.
# Blogging is more fun with a partner. Jen jumping in and blogging here has been a lot of fun, especially the unspoken game of keeping up with her. Sharing the front page has removed some of the pressure of posting all the time, and I can’t tell you how many times people have caught me at work and told me how much they enjoy her posts.
It took five and a half years to get to two thousand. Hopefully, it won’t take another five and a half to get to ten.

How I Write Presentations

I do a lot of presentations now, and because I’m the “web standards guy” I can’t go around doing them in Powerpoint or Keynote (I’ve tried using both and yuck, they’re not made for writing). Over the past year or so, I’ve tried a couple different things, but here’s the system I’ve got down, and the technology pieces that make it happen:
# Movable Type – I love MT’s template system. I don’t have to write code, and I can make them do pretty much whatever I want. And, if I run into something they can’t, there’s either a plugin to do it, or I can write a teeny bit of PHP glue to fill the gaps.
# Textile – I love it. It’s the easiest of the pseudo-markup languages out there (Markdown is the other well-known one).
# S5 – Eric Meyer is a genius. It’s got everything I need from Powerpoint or Keynote in an HTML page.
# MarsEdit – Best blog editor ever, does what I need without getting in the way with things that I don’t. The preview is nice too.
I created a Movable Type archive template out of S5 (which you’re free to use if you want), a lot like I did for Instiki a while ago, and now all my presentations go up on my little presentations site. Now, I can get to them from anywhere, they’re publicly available and stored somewhere other than my laptop (the problem with doing them all in my locally hosted copy of Instiki).
I start with all the slide titles as an outline, move them around, tweak, etc, and then go back and add the bullet points, most of which end up being removed. Then I publish and run through it quickly to make sure it all makes sense. Then I’m done! With Textile, there’s no real markup to write except to go back and wrap things up in the slide divs. If I know exactly what I want to say, I can go from idea to completed presentation in about 10 minutes.
Here’s what a typical slide looks like:

<div class="slide">
h1. My Slide Title
* This point is spectacular
* Can I get an "Ooooh" from the audience?
* Give yourselves a round of applause!
</div>

And the best part is, they all come out as standards-compliant, semantic little presentations without me having to write all the markup (which as fun as it is, takes time to get right, time that I’d rather spend thinking about what I’m going to say).
You’re free to use the archive template and make your own little presentations site. If you do, send me a link!

Most-Used Apps Of 2005

Molly did it, so will I. Plus, I need a break from writing about CSS. Why am I writing about CSS? You will know soon enough, my children, soon enough.
I’m a Mac person. I think everyone who knows me knows this by now. So, it’s not going to surprise anyone that this list is full of Mac applications (and a web app or two).
* Mail – It’s not sexy, but I get a ton of e-mail. Other than some quirks with the AOL IMAP servers, Apple’s mail app is awesome.
* Thunderbird – HA! Yes, another e-mail client! I use Thunderbird for all my personal mail (all umpty-billion accounts too). It’s a trooper and handles multiple accounts and the hundred or so filters I have with aplomb.
* iTunes – It’s on all day, every day I’m at work. I think I might use it even more than e-mail.
* Safari – I love how snappy it is (most of the time), and how intuitive and slick the tabs are. It’s my browser of choice for actually browsing the web.
* NetNewsWire – I read a lot of stuff that comes in through feeds, and there’s no better app on any platform for digesting a lot of feeds (442 at last count) quickly. It also does a fine job of grabbing podcasts.
* Adium – Yes, I work for AOL and I don’t use our own IM client. Adium just kicks too much ass, and our Mac AIM client is too damn old. Adium does everything, and like NetNewsWire, is the best IM client on any platform, hands down.
* Firefox – Yes, like my e-mail, I’m a two browser guy. For developing, there’s nothing better than Firefox. Between the javascript console and the web developer toolbar, it’s the best way to get my job done.
* A tie between Oxygen and BBEdit – I use BBedit for quick and dirty hacking, and editing non-markup code like CSS, PHP, Tcl, JSP or Ruby. I’ve switched to using Oxygen almost exclusively for writing markup. It has just amazing tools for writing markup, from in-place validation to code completion to attribute auto-complete, which is really nice. BBEdit was definitely the winner early in the year, but Oxygen has come on strong late.
* Transmit – Best FTP client ever, even better than WS_FTP Pro.
* Movable Type – Yeah, I use my blog a lot, even though you don’t see it all the time. I prototype a lot of stuff in MT that I would normally write from scratch. I just love the template tags.
* Instiki – I use it almost exclusively for presentations (with my s5 hack, but considering I’ve given over forty of those this year, I think it deserves a spot on the list.
There you go. That’s pretty much in usage order. I consume a lot of media…

Blogroll Changes

I know, you probably didn’t even know I had one, did you? But, I do, and it’s been updated. I used to use Bloglines to import it on the page, but I realized that that’s ALL I used Bloglines for, and it was a pain. So, I’m doin’ it myself now. I’m taking the OPML file exported from NetNewsWire and transforming it with XSL into the unordered list you see on the page. I’ve put more details and the files (so you can try it yourself if you want) on the blogroll.
Is it revolutionary or even all that interesting? Nope. But, my foot hurts, the pain pills make me stupid and sleepy and this is what I do in between the extremes of the two (stupid and sleepy).
Oh, and last night, I organized my del.icio.us tags and got the latest version of Cocoalicious so I can keep all my links organized (because they weren’t before, you know).
If I can’t sleep tonight, I might play with doing something fun with my Flickr photosets or maybe something else. I don’t know. Maybe I’ll just watch more bad movies.

Movable Type Categories As Tag Cloud

Like yesterday’s post about del.icio.us tag clouds, this was an experiment because I was bored. I figured it was so easy to make the link tag cloud, it should be almost as easy to create one from my categories. The challenge is that I have almost 1600 entries (actually, this is #1600!): so many that I don’t want the number of entries in a category to correspond directly to the text size (because 200em is really big).
All it took was a little PHP on top of the tags to do the category list.
Of course, this will only work if you can use PHP on your server (and why can’t you, huh huh huh), and if you publish the page as a PHP file. You may want to change the way it increments numbers to get the right scale between categories. Play, and if you end up using it, please post a comment so I can come check it out.
Here’s what I did (of course, this is the “meat” – you have to add the rest of the page around it):


<ul class="tags">
<MTCategories show_empty="0" sort_by="title" sort_order="ascend">
<?
$count = <MTCategoryCount>;
$fontSize = 1;
for ( $i=1;$i<10; $i++ ) {
if ( $count > $i ) {
$fontSize = $fontSize + .1;
}
}
for ( $i = 10; $i < 300; $i=$i+20 ) {
if ( $count > $i ) {
$fontSize++;
}
}
?>
<li>
<a href="<MTCategoryArchiveLink>" title="<MTCategoryCount> Entries" style="font-size:<?= $fontSize ?>em"><MTCategoryLabel></a>
</li>
</MTCategories>
</ul>

The CSS is pretty much the same as yesterday, although I’ve tweaked it just a little since then:

ul.tags {
list-style:none;
text-align:justify;
}
ul.tags li {
display:inline;
padding:0 .3em;
}

Importing Your Del.icio.us Tag Cloud In Movable Type

Someone on the Movable Type ProNet list asked how to import their del.icio.us tag cloud into thier blog a couple days ago, and since I’m stuck here on the couch, I’d see if I could figure out an easy way to do it… and you know what, there is!
All you need to install is the very cool MTGetXML plugin, and create yourself a new index template. The important bit to add is this:

<ul class="tags">
<MTGetXML keeproot="0"
location="http://USERNAME:PASSWORD@del.icio.us/api/tags/get?"
cache="60">
<MTGetXMLElement name="tag">
<li style="font-size:<MTGetXMLValue name="count">em">
<a href="http://del.icio.us/USERNAME/<MTGetXMLValue name="tag" encode_url="1">" title="<MTGetXMLValue name="count"> links">
<MTGetXMLValue name="tag">
</a>
</li>
</MTGetXMLElement>
</ul>
  • USERNAME = del.icio.us username
  • PASSWORD = del.icio.us password
    Here’s what my CSS looks like to get my tag cloud to look the way it does:
ul.tags {
list-style:none;
text-align:justify;
}
ul.tags li {
display:inline;
padding:0 .3em;
}

And in case you missed the link earlier, here’s what it looks like. Enjoy!
Update: And because I couldn’t sleep, I did the same thing with my categories. It was a little more involved (because I have some categories with more than 100 entries in them, I didn’t map them right to font sizes, so I had to do MATH!). I kinda like it. It takes some PHP (for the math bits), but it’s almost as easy. I’ll post my template for it later.

5 In The Morning and Can’t Sleep? Time To Mess Up Your Blog!

I got about two hours of sleep. It’s really hard to sleep with a foot that’s on fire.
You may notice a couple different things if you read the main page of the site. I’ve added a couple links, and moved some stuff around. What’s cool, is it took very little markup changes to do what I wanted. With the new three column layout, things were feeling a little cramped. So, on the main page, the stuff that used to be on the right is now at the bottom under the entries. It should clear out some room for the content and make it easier to read.
The best part is that the different formatting of the menu on the home page is almost entirely CSS. I had to move the markup down there on the homepage (it’s just an include), and I needed to fix a couple url-encoding bugs to get the page to validate again, but to get the pics, links and feeds to line up the way I wanted just meant some descendant selectors from #body. Mmmm, I love CSS.
I think it’s time for more pain pills…