20 March 2013


Some of the most interesting questions that I try to answer on Stack Overflow are "dusty deck" problems.
"I inherited this program to maintain/emulate/port and I don't understand it. Heck, I'm not even sure what language it's written in!"
Usually, the questioner's first guess is COBOL. (It's old and incomprehensible, so it must be COBOL, amirite?) Such was the surmise of user1381537, who offered this source file. Other posters and I quickly disabused him of the notion that it was written in COBOL; Gilbert Le Blanc figures that it's Caché MultiValue Basic.

I amused myself by pointing out some of the less obvious aspects of the program, and by flipping through the documentation to understand some of the peculiarities of this BASIC dialect. In a 1970s-vintage program, just finding the main processing loop can be a challenge. GOSUBs are a feature that is, Fox be thanked, no longer maintstream. I like the compactness of the bracket syntax for performing substring operations. And I envy user1381537's innocence that he/she has never encountered a zero-suppression format string that looks like "ZZ,ZZ9".

14 March 2013

A stopped clock is correct twice a day

Reminds me of the time I was asked in an interview how to optimize the path of an aircraft that had to make a bombing run: Ineffective Sorts. Though the idea of using Stack Overflow as input to a genetic algorithm is intriguing.

12 March 2013

Where are the women?

Leaders and commentary, book reviews, and news features in Nature's special package of stories dedicated to the conundrum of women in science.
Science remains institutionally sexist. Despite some progress, women scientists are still paid less, promoted less frequently, win fewer grants and are more likely to leave research than similarly qualified men. This special issue of Nature takes a hard look at the gender gap — from bench to boardroom — and at what is being done to close it.

01 March 2013

A PiLe of fun

Len Shustek reacquaints us with APL, which started its life as "A Programming Language," Ken Iverson's algorithmically-inflected conception that somehow found its way to an implementation. Shustek's post links to source code for one of the versions of APL that ran on System/360.

The software/IT core requirement for MBA students at the University of Pennsylvania in the late 1970s consisted of a 2/3-semester MIS introduction (systems analysis, drawing pictures, sizing hardware, but no programming) and a 3-week non-credit course in APL. So I learned this occult language (it only worked on interactive terminals where characters could be overstruck) out of Gilman and Rose's APL: An Interactive Approach on a DECSystem-10, or at least learned it well enough to get a job interview with one of the consultancies that specialized in it when I arrived in D.C. (I didn't get the job). Matrix-friendly APL was wicked concise if you needed to sum up a table of sales results by product line and region—exactly the sort of tool a new MBA could use, that is, until VisiCalc came along. I enjoyed the short course well enough that I was induced, in my callowness, to write a short piece about it for the Wharton Journal, the student newspaper.

Only in Shakespeare and the APL reference manual is ravel a word.