FTP bugs me. Actually, any protocol that doesn't function nicely through a NAT-enabled firewall bugs me. I used to think that passive mode was the answer, but as I discovered yesterday, even passive mode transfers won't work when you have firewalls at both ends of the connection (as I do when I'm trying to connect to my Linux box at home from work).
Futhermore, since I have both FTP and SSH enabled, I have to FTP as anonymous so I don't end up sending my password in cleartext through the big, bad Internet - which greatly restricts my ability to access files on my machine.
Then, for some reason I started thinking about the old BBS days (probably due to the fact that my birthday is coming up). If you were born before 1980 (and a computer geek) you'll probably remember those days too. So...how did we transfer all those porno gifs to our machines before FTP became the transfer protocol of choice on the Internet? Answer: Z-Modem. (Or X-Modem, or Y-Modem, or Kermit, or <insert favorite transfer protocol here>).
Actually, if you think about it, these protocols were pretty advanced for their time. Unlike FTP, these protocols had no TCP/IP layer to handle transmission errors and retries. Plus, they actually compressed the data so that it would only take 3 minutes to download a gif at 14.4 bps instead of 10. :)
But I digress. How can I take advantage of this forgotten knowledge from the past? Enter TeraTerm Pro, my favorite Windows-based telnet/ssh client. As a stroke of brilliance on the part of TeraTerm's programmer, Z-Modem, X-Modem, Y-Modem, and Kermit protocols are all supported natively within TeraTerm. Cool! Now let's just find Linux support for Z-Modem...a quick google search found the rzsz application, which only took a couple of minutes to install and compile (all of which I did over ssh from work). Now to give it a try...run "./rz"...start Z-Modem send from TeraTerm...works beautifully - even supports long filenames! The protocol overhead (of TCP/IP, SSH, and Z-Modem) means that transfers are a little slow, but not too bad, and I can do all the file transfers I please from within my secure ssh connection, so all those packet-sniffers at work can snoop all they please.
Once again, I'm reminded at how versatile Linux can be...I've had very few regrets since switching over from Win2K - and my Gnome desktop looks 10x better than Win2K or XP. I think I like this Linux thing. :)