How to steal an election with a Diebold machine

September 14, 2006
How to steal an election with a Diebold machine. "Anyone with physical access to the machine can put in malicious software to steal votes [...] All they have to do is open up the machine with a key (or pick the lock), remove the old memory card, stick in your own memory card, boot the machine, and it automatically installs any software that was on the memory card." Be sure to watch the demonstration video; it's unbelievable.

Mac Pro? Yes please!

September 13, 2006

I finally gave into fate and picked up a Mac Pro, which is pretty much the fastest desktop money can buy right now. What can I say? I mean really. It's so freakin' awesome I can't see straight -- it's a safe bet that I'm going to be on a "nerd high" (the girlfriend's term for my, uhh, excitement) for quite some time.

When four processors isn't enough

While this little brushed aluminum Ferrari has more horsepower than I'll likely ever be able to use (I don't yet do much with DV), if ever the time comes that I need to simulate the effects of global warming or predict where the next hurricane is headed, the upgrade possibilities of this machine should have me covered. As AnandTech recently announced, they've been able to get Intel's as-yet-unreleased, quad-core "Clovertown" chip to play nice with the Mac Pro right out of the box: "We grabbed a pair of 2.4GHz Clovertown samples [that's 8 cores] and tossed them in the system, and to our pleasure, they worked just fine." Umm, yah.  :)

The migration was seamless

The transference of data from my old PowerBook G4 to the new machine could not have been easier:

  1. Boot the new machine.
  2. Use Firewire to connect the new machine to the old machine.
  3. Boot the old machine into "target" disk mode.
  4. Transfer everything.
  5. Reboot the new machine and voilà, it's like I never left the old one (except for that whole speed thing).
  6. Change the name of the disk on the new machine to match that of the old machine.
  7. Start SuperDuper! and let it sync with the external drive I use to mirror my Mac each night.

Poll: Quicksilver, the greatest Mac app ever?

September 12, 2006

Update: This poll has been closed. Thanks for participating.

I can barely imagine how I ever got along without Blacktree's brilliant application at my fingertips and so it's probably pretty easy to guess which way my vote would go here. I'm pretty sure I know which answer is going to win out, but I figured I'd ask anyway.

Is Quicksilver the greatest Mac app of all time?

  • Yes! (37%)
  • No! (12%)
  • I'd probably say yes if I understood it better. (20%)
  • I thought Quicksilver was a clothing company? (31%)

Pondering a move back to Movable Type (3)

September 09, 2006

Please read part one and part two before reading the rest of this post.

Let me first point out that a lot of people have written to me about the two previous posts in this ‘series' and it seems many of them are in the same boat as me and are thinking about maybe coming back to MT. While the reasons for wanting to switch again vary wildly, I'm definitely not alone.

At the tail end of the previous post I said the following:

Basically, I just don't think that DreamHost, my current webhost, will give me the CPU time I need to rebuild the entire site (at least not without using MT's dynamic PHP publishing system on my archives, which goes against the idea of keeping everything static, something I may or may not want to do again), and this could be a very big problem should I ultimately decide to move back to MT.

I've yet to bring it up publicly, but this little series of posts has kind of put my back up against a wall and instead of explaining in-depth the issues I've had with DreamHost as of late, I encourage you to check out Mike Davidson's post on the matter (aptly titled "Thoughts on the DreamHost meltdown"). As he points out, he makes around $30,000(!) a year in referrer fees from DreamHost, and while I don't make nearly that much, I have pulled in a pretty respectable amount from them and so it is with much hesitation that I dare say anything less than flattering about their service.

I agree with just about everything Mike says, including the update on the DH situation, where he remarks, "After an unusual and unfortunate two-month span of questionable performance, Dreamhost appears to be back to its previous levels of reliability for me." That said, the fact that the default, static version of MT is essentially unusable on their machines doesn't sit too well with me. I understand that MT can be a resource hog when doing a full rebuild of a large website, but this is something that must be done from time to time and so the server should allow it unless your aggregate CPU time for the day starts to inch over the threshold set for your particular account.1

I've a hunch DH is monitoring any process that uses the mt.cgi file (MT's "engine") and is killing it after a certain amount of CPU time, a certain small amount, is spent on it. I say this because almost every time I try to rebuild, no matter the number of entries, it gives me generic "internal server" errors.

For those unfamiliar with how MT works, the long and short of it is that it uses templates (individual archives, indexes, etc.) to create static (X)HTML pages that are saved as such on the server. While MT now gives you the option of building pages dynamically (a combination of this and static files will probably be what I ultimately use if I end up switching back to MT), this doesn't really concern me at this juncture. I'm interested in the fact that I can't rebuild my website. I mentioned in the previous post that importing all of my entries at once (nearly 1000 of them) was a no go as MT told me the file was too large. To get around that I broke the file up into smaller pieces. I tried to do the same with the rebuild. I selected 125 posts. It broke. I selected 75 posts. It broke. 50. It broke. 25. It worked about every third time. Sometimes just rebuilding a single template or post would cause the server to return a 404 error (not found) on the mt.cgi file. Huh?

Obviously, then, there is just no way to run MT on DH without the dynamic publishing turned on (at least for the archives). If you're using MT to run a 1000+ post weblog on DH and are not using dynamic publishing, I'd love to hear from you; I've many questions to ask. I'd also like to hear from you if you've got a hosting recommendation. I realize nothing out there is going to compete with DH on disk space and bandwidth, and it will be hard to give up the nightly syncing of all my photos (discussed in the last section of this post), not to mention the referrer money mentioned above, but I would like to at least have a solid backup plan should I eventually decide to leave DH (it's unlikely, but...).

Should I really attempt the move?

Probably not. Will I? Yah, probably. I'm in too deep now to stop myself. Like I said before, I'm just kind of bored and want to peek under the hood of MT to see what's changed since I left. I can't help it.

What's left to do?

Hrm. Where to begin? As I said in the initial post:

I think part of me just wants to see if this can be done [relatively quickly]. My WP setup is a very customized one, far removed from the theme system most people use and rife with hacks, workarounds, and one-off plugins (most of which I've never released). It will be interesting to see if I can achieve the same with MT.

The following is what's currently floating around in my head regarding things that need to be done.

  • Clean up all of the HTML entity stuff that got a little mangled from the initial export/import and then install SmartyPants (though it would seem a bit superfluous given that I run SmaryPants + Markdown locally through TextMate as I type up my posts).
  • Fix my categories (see next section).
  • Create a completely separate weblog for the linked-list posts.
  • Come up with a way to interlace the index page with both regular posts and linked-list posts (the same as I currently do now with WP). It seems to me that the MultiBlog plugin is exactly what I need; the documentation is a bit wanting, but I'm sure I can figure it out by looking at the code.
  • Get all of my crazy .htaccess rules to play nice with the rules required by MT for its dynamic publishing (if I ultimately go that route, and I may be forced to).
  • Get all of my templates how I want them. This is going to take a while and will involve creating a ton of MT modules that will probably be structured very similarly to the PHP "modules" I currently use in my WP templates.
  • Come up with an archives system similar to that produced by my Smart Archives plugin for WP. Ironically, this plugin was actually modeled after something I initially did for Movable Type, though the MT thing was much simpler.
  • Implement some code I wrote for MT way back when to do relative dates (I also wrote a WP plugin to accomplish the same). I've noticed that MT now has relative dates built into the system, but it looks like they only go back a week. I'll have to change that.
  • I haven't looked into MT's public search routine at all, but I might have to change some things regarding that as well, especially if it's as limited as WP's, but I highly doubt that.
  • [Hopefully] find a plugin that uses full-text indexing to locate posts that are 'related' to other posts.
  • Get all of my permalink URIs to match up with those created by WP. Oh wait, MT no longer requires you to specify an extension and now lets you use hyphens instead of underscores to separate words.  :)  In years past this could only be accomplished with a few plugins and some ingenuity (see Future-proof your URIs). Also, since I'm keeping the hyphens, there's no need to create .htaccess rules for every single post, something I had to do when initially moving to WP (see Maintaining URIs between Movable Type and WordPress).

OK, so this list is getting out of control. I can think of 20 more things to add, but I'm going to stop myself as this post is already 10x longer than it should be.

Another note about importing

I went into detail in the last post about the trouble with importing, but failed to mention the issue of categories. The WP plugin I linked to in that post (and, subsequently, my modified version) doesn't handle categories too well. In fact, it barely handles them at all. The problem is two-fold.

First of all, the MT import format accepts both a "primary" category and multiple sub-categories. The export plugin only accounts for sub-categories and doesn't create a primary category element at all, but it seems that MT falls back to that anyway if no primary is specified; in other words, when no primary is given it uses the first sub-category it sees for that post as the primary category.

Second of all, I use categories fairly sparingly and don't currently use sub-categories at all. I use one category to separate the linked-list posts from the regular posts (so that I can style them differently on the index and individual archive pages), one for the posts linked to on the bottom of the projects page, and one to specify what should be displayed on the tour. As it stands now, the export plugin only creates a single sub-category entry in the export file and fills it with the first category it finds in the database for that particular post.

The problem then, is that posts in multiple categories (e.g., a single post that is on both the tour page and the project page) lose all but one of their categories in the move, which puts me in the position of having to add those categories back in the MT system.

Two solutions

One option would be to rewrite the category routine of the WP export plugin to account for multiple categories and to place them in the format MT likes. While certainly doable, it may be a bit more trouble for me than it's worth in light of my sparing use of categories.

It might actually be easier for me to simply re-categorize the posts. In WP my linked-list posts and regular posts are part of the same weblog (I just style them differently), but in MT I think I'll probably want them to be separate weblogs entirely (and I'll just splice them together on the main page). Given that the posts in my linked-list category are in that category alone (i.e., not General and linked-list), I can simply pull up those posts in the General category and delete them. Then, I can export from MT and save that file as my linked-list posts (already in an importable format).

After that's done, I'll re-import the original export file and then filter for the linked-list posts this time. After deleting those posts I'm left with my regular entries, which I can then further categorize/tag for the tour and project pages (this can be done simply by eyeballing those pages as they are now and checking off the respective posts).

Is there anything left to say?

There's always more to say.  :)  However, if there is a part four to this series it will likely be a comparison of the two systems (something I've been requested to write by more than a few people looking to break into this whole weblogging thing) and not so much a line-by-line transcription of what I've done or am planning to do regarding the possible migration.

  1. My experience with their processor restrictions is somewhat limited. The only time I've ever had trouble with CPU time was when I used to have a public referrers page, which was getting spammed to all hell. After locating the problem, removing the public referrers, and setting up some .htaccess rules to keep the spammers from causing every hit to be routed through WP's system, the problem was resolved and DH stopped sending me automated e-mails telling me that I was over my processor quota.    

Pondering a move back to Movable Type (2)

September 08, 2006

Please read part one before reading the rest of this post.

Well, my half-hearted attempt at fooling around with Movable Type again didn't go too smoothly. The install was of course not an issue, but moving my entries over from WordPress most definitely was. I did actually get them moved over, but not without a lot of hassle.

Before I go further, I have to make note of the fact that importing/exporting between these systems (or any CMS-like system) is not yet standardized. Hell, it's almost like both pretend the other doesn't exist. I'm not ignorant of the pressures upon one system to not create an importer for other systems (competition, etc.), but at some point these companies just have suck it up and make it easy to share data between them. It's ridiculous. Wasn't XML supposed to swoop in and fix all this mess? Yes, but the magic potion can't work without an element called cooperation.

Getting the data into the right format

Movable Type makes it fairly easy to import entries from other systems by specifying a format for your posts that MT can understand and ultimately import. However, neither MT nor WP has an application to create the importable file from a WP installation. I'm still on the fence about whom the onus is on to create the "exporter," the importee or the importer, but, like I said above, someone just needs to step up and be the bigger man about all of this. It's not like any of it is rocket science.

I eventually stumbled upon a WP plugin that could put my WP data into an importable format. However, it broke and I'm not quite sure why. After hacking up the MT.php file within this package, I eventually got it to create a usable file that took into account both the fact that I don't use comments at all on my site and that I do use the "excerpt" field for my linked-list posts. There was also some code that stripped <br /> tags from posts and comments; I removed this.

If you've run into similar trouble, e-mail me and I'll send you my hacked file.

Importing the data into MT

After getting all of my posts exported to a usable file, I thought I was money. Eh, not so much. The MT import/export panel offers you two ways to import your file, but both of them failed for me. The first lets you upload the file from your local machine and the second allows you to put the file on the webserver and have MT pick it up from there. Both of these methods reported back to me that the file was too large. To be sure, I have a lot of posts (600+ regular posts and 200+ linked-list posts), about 1.5MB total, but I don't use comments at all and I know plenty of people who've many more entries than I.

OK, so, whatever, the file is too large. No problem. I just broke it up into fourths and from there the import went off without a hitch. However, there was just one more problem. I noticed that my basenames (i.e., the text, based off the title of each post, used to create the tail end of each post's permalink) were being clipped at 40 characters. After finding this new "feature" and increasing the number to 250 so that the basenames wouldn't be clipped at all, I realized that the change isn't immediately made to all the posts, and only applies to those entries created after the variable is increased. You have to re-import all of your entries for that change to take effect. So, I had to drop all the MySQL tables (to keep the ids as close to the number of posts as possible) and then go through the import process again. Ugh.

Now what?

I'm kind of stuck to be honest. I'll delve into this a little more deeply in part three, to come soon. Basically, I just don't think that DreamHost, my current webhost, will give me the CPU time I need to rebuild the entire site (at least not without using MT's dynamic PHP publishing system on my archives, which goes against the idea of keeping everything static, something I may or may not want to do again), and this could be a very big problem should I ultimately decide to move back to MT.

Nike + iPod

September 08, 2006

I'm not going to spend a lot of time on this, but I will say, as matter-of-factly as I can, that the whole Nike + iPod system is awesome. I got my kit (along with a new pair of Nike+ shoes) about a week ago and have been very impressed.

There's really no setup — just put the transmitter in the left shoe (or hack it to your shoe if you didn't get a pair of Nike+ shoes) and plug the receiver into the iPod. Done.

One of my favorite things about the system is the voice feedback, which is activated whenever you press the iPod's center button; it dims your music and tells you how long you've been running, how far you've gone, and your average pace (click the "voice feedback" link on this page to hear what I'm talking about).

Another thing that kind of blew me away was the Nike+ website that aggregates all of your data and spits it back to you through beautiful, meaningful graphs and charts. You can see a demo of the whole system by going to the site, clicking on "My Runs," and then clicking on "Preview Nike+ runs now."

I can highly recommend this product if you've already got a nano and like to run.

Pondering a move back to Movable Type

September 07, 2006

I don't know if it's boredom or what, but for whatever reason I've been thinking a lot lately about moving back to Movable Type. Don't get it twisted -- I love WordPress and have contributed quite a bit to the community, it's just that, well, I feel something is missing. I can't quite put my finger on it, but WP has always felt a bit ‘shaky' to me and I kind of want to see what MT has cobbled together in my absence.

When I first mentioned that I was abandoning MT for WordPress, Anil Dash, now the VP of Professional Products at Six Apart, the company behind MT, e-mailed me to thank me for the contributions I'd made to the MT community and to ask why I was leaving and what they could change to make the product better. Looking back at my responses, it's funny to see how much they mirror my feelings today, even though I'm contemplating a move in the opposite direction. An excerpt from one of my replies: "There wasn't, per se, anything wrong with it. The time had simply come for me to try something else -- I'd become bored I guess."

The challenge

I think part of me just wants to see if this can be done. My WP setup is a very customized one, far removed from the theme system most people use and rife with hacks, workarounds, and one-off plugins (most of which I've never released). It will be interesting to see if I can achieve the same with MT. If it turns out to be more trouble than it's worth, I'll likely just give up altogether.

I'll probably install the latest version of MT later today and play around with it some. Hell, I might even try to move all of my entries over just to see how it goes.

Why Digg is better than Google

September 05, 2006
Why Digg is better than Google. Is this guy serious? I'd argue that the fact that this very piece was 'dugg' by enough people to make it to the Digg homepage is pretty convincing evidence that by and large Digg is 'broken' and controlled by a bunch of ignorant 13-year olds who have nothing better to do with their time than to "digg" meaningless, nonsensical stories all day.

Old school

September 04, 2006

A good friend of mine from college flew out here a few days ago to visit myself and another undergrad buddy of ours who now lives here in Silicon Valley (we both move from Florida to California and end up 10 minutes apart; amazing how that happens). The three of us spent the weekend in San Francisco and had a great time doing what old college buddies do -- drinking and making fun of each other (my specialty).

Anyway, I just wanted to explain why, especially to those who've been waiting on an e-mail reply from me since I returned from the cruise, I've been mostly MIA for the last few days; I promise I'm rifling through the queue as fast as possible.  :)