Why's it such a problem to use a MAX232? You can get lots of 10 for like $5 on eBay, 5 1.0uF caps later and bang it works like a charm. Simple, easy solution. Other options are way too complex and there's no point -- just take a bit of vero or protoboard, solder on the MAX232 and the caps, feed it 5V and attach the Tx and Rx pins to the respective inputs and outputs, and you can keep this little module around whenever you need to connect TTL to Serial. They come in handy a LOT, trust me.
Here's an annotated photo of one of the ones I've got laying around:
Which is based off of the example circuit from the MAX232 datasheet:
[EDIT]
After reading the link you posted, I think I understand better. The problem is, it looks like they were using the Arduino to talk to the hard drive, and then using USB or something different to communicate from the Arduino to the PC... I'm guessing anyway. THAT is perhaps viable, I don't know anything about Arduino's really. Okay, after reading it AGAIN I realize that they were using serial directly. I suppose this is because the hard drive in question created voltage levels high enough, and the arduino just passed them straight through? I'm guessing this means that the serial port on their computer was sensitive enough to pick up the signals, which I wouldn't rely on. The MAX232 or the ST equivalent (ST232 something something) still seems the most reliable way to do this...