We hit a very strange bug today at work. As we process various forms of mutual fund data, we had a consistent issue with a fund from PowerShare. Each fund is saved on disk with the fund symbol followed by ".txt" as the file name. No problem on Linux, but the moment we wanted to transfer it to a Windows machine, no matter what we did, we just couldn't make the transfer work. Zipping up the file didn't work, since it just wouldn't decompress. Oh, the file name? PRN.txt
.
Oh, the legacy crap of Windows... It just so happens that PRN
is a reserved device name in DOS and cannot be used as a file name prefix.aspx). Really? After all those years? Doing echo Hello > prn.txt
can't work because of some legacy from decades ago nobody cares about anymore?
I've done my fair share of Windows development in the past few months, and quite frankly I'm getting fed up of how much crap Windows programmers have to deal with. I've had issues with the archive support of the built-in Windows Security Essentials, horrible kernel deadlocks with Process Explorer, quirks with Windows' concept of child process (hint: it sucks), and I can go on. I thought Apple's breakneck pace of OS changes or Linux' slowness are annoying, but not nearly as much as Windows' half-assed POSIX support and 30 years of legacy of bad design from 30 years ago.
Published on July 30, 2012 at 21:26 EDT
Older post: Deceptively Good Encryption
Newer post: Goodbye, iDisk