I’ve spent most of this fine day cursing software. Literally. Damning it to the bowels from whence it came, and its Creators, and the jackasses they rode in on.

On a DSP development board’s associated toolchain, I’ve even been writing myself (yes, documentation….theoretically, for the next poor sap that has to program this thing, but non-theoretically, only I will ever read it…and it’s still worth the time) a set of cheat sheets documenting all the sheer idiocy of it and the workarounds I’ve discovered. It contains little gems such as:

No/missing linker command file (*.cmd) when generating your own project

  • These can/should/will be autogenerated by DSP/BIOS configuration (creating a .CMD file by hand is Highly Not Recommended), by performing the following secret incantation:
  • First create a DSP/BIOS configuration (*.cdb) if none exists, with File -> New… -> DSP/BIOS Configuration -> dsk6713.cdb.
  • In the configurator widget that appears, go down to Instrumentation -> LOG - Event Log Manager. Right-click and Insert LOG. When it appears, rename it to trace. Now save the configuration, and then (and only then) the .cdb configurator will also write out a *.cmd file.
  • You'd think it would be smart enough to include the newly-created file into your project, but it isn't. Do Project -> Add files to project, find the *.cmd file (change filetypes dropdown to actually show it) and add it to project by hand.

But I'm sure you didn't need these instructions because that's perfectly intuitive. You generate linker configurations by defining an arbitrary, specially named system log that you'll never look at. Everybody knows that.

Driving me to drink after-hours was the D*ltek (covering my asterisk; their lawyers are bigger than mine) accounting software. This goalimonn fuckterclus is a sheer marvel of bro
ss by design, and I’ve only spent half an hour hanging around in the same room as the sysadmin during the tech-support conference call. I waltzed in just in time to hear the tech support guy dictating the exact, case-sensitive (though entirely generic) secret incantations of a config file that must be created *by hand*, despite the multi-CD installation program that is supposedly meant to, you know, install the program and such. Speaking of config files, they’re very clear and specific about the fact that such files’ names must never contain spaces (the program will break), but will cheerfully hardcode one with a name such as date_&_time.ini. (Remembering the time I had to sector-edit my HD to remove a file named !@#&.1 or similar that a program somehow created under Windows’ nose, but could not be deleted because that’s “not a valid file name” with all the cartoon swear characters.)

Oh yes, and crashes that even the support guy had never heard of before. After zipping up and sending the 5meg log file the program generated, tailing it while waiting for the email to finish sending (Gee, I don’t know why Internet Explorer would ever try to fetch that pesky missing “application server” known as favicon.ico from your braindead Web interface, not at all. Why this attains dire-warning status in the logs is beyond my comprehension), they had us zip up and send our entire database. (Even I don’t know what’s in there, and I’m supposed to be the guy reading everyone’s email (haha…just kidding guys).) Except that it won’t get looked at right away; another customer’s database is currently loaded up for the developers to reproduce some other consistent bug. (Tim’s Software Rule #3: Your customers are not beta testers. That shit may fly for free utilities, but for what we’re paying, someone should be there to feed us peeled grapes while we use it.)

(AC standing in front of the bookshelf in my office looking puzzled)
“What’s up?” -JK
“I’m… looking for a book…” -AC
“Is it blue?” -me
“Yeah…” -AC

(Title was “Care and Feeding of Structural Health Composites” or something to that effect)


Leave a Reply