Why you need a software engineer
I spent three hours this afternoon in the office of a professor from another department, along with that professor and a senior IT manager. I’d worked for the IT manager in my first campus job, where I did a fair amount of software configuration and installation, and he knew I was a Mac user.
The mission: build this bundle of quirks and source code on a Mac G5. If you can’t immediately figure out what it does, don’t worry; I can’t either. (I recognize several of the terms used in the description, but I can’t be certain I know what they mean.) Needless to say, it is unique on the face of the planet, so far as we can tell, and based on several comments both on the main software page and in the documentation included in the package I suspect the author scores a few points higher on the crackpot index than the average faculty member. (Probably less than a standard deviation from the mean, though.)
Unfortunately, this groundbreaking and interesting piece of software suffers from some crippling flaws. I’ll quote from the installation documentation, emphasis added:
Qubiter 1.1 was written using CodeWarrior (CW) for the Mac. CW is a C++ Integrated Development Environment produced by MetroWerks Inc. CW is available for the Mac, Win95/NT and some Unix flavors. Since Qubiter 1.1 is pure C++, you don’t need CW: you can run Qubiter on any platform for which you have a C++ compiler. However, if you don’t use CW, you will have to write your own makefile. I’ve used CW Pro 2, with the “Old ANSI Libraries”. If you want to use the MSL libraries or a more recent version of CW, you’ll have to convert the project yourself.
This probably made some sense six or seven years ago, when it was written, but it’s 2007 now. Let’s tally up the problems here:
- Whatever version of CodeWarrior was used, it’s now long past End Of Life. Our version of CW insisted on “updating” the project file, in the process scrambling it.
- “You’ll have to convert the project yourself,” when it comes to software, translates directly to, “Despite being publicly available, this software is unusable.” (Or, more kindly but more specific, “It works for me and I haven’t tried any other way.”)
- “You will have to write your own makefile.” This is one of the most ridiculous phrases I’ve ever seen regarding software installation. This is like saying, “We’re having pizza for dinner, but if you’d like some, you’ll have to write your own recipe.” Without knowing how the package is supposed to be built, how on earth are we supposed to figure out how to write the makefile? We have a pile of source files, in some vague organization, but having a list of ingredients is not the same as knowing how to cook.
We did some searching to try to find documentation from others, but all we found was a mailing-list post from someone else reporting exactly the same errors we had, and complaining that the author had not responded to requests for assistance.
This is not a viable software package. This is a bizarre sort of vaporware, and although the author is a better C++ coder than I’ll ever be, he’s written a lousy program, because he didn’t take any of the steps needed to make it usable to anyone else. The code is essentially undocumented, unbuildable, and has crippling dependencies. Fix those things, and it might be interesting.
Now Playing: The Way the Light Falls from Devil Hopping by Inspiral Carpets