Impressive and depressive

Now that I’ve got the dull parts of the new courseware version out of the way (switching out images to adjust for changes in DRM) I’m returning to the fun part.

I’m reviving and modernizing some complex programs I wrote in the ’90s, so they can be presented as ‘accessories’ to the courseware.

The impressive part:

One of these progs was an IPA training system, with a teacher side and a student side. I had to create many subsystems from scratch, including a DOS windowing and listing setup, recording and playing sound, and the IPA font. I also paid attention to password security and hacking. Though the Web wasn’t common yet, hackers and cheaters are always with us. A cheater would try to revise one copy of the grade floppy, but he wouldn’t know about the other copy or the checksum.

The compiled EXEs appear to be totally lost. Luckily I managed to find the C++ source files mixed in with other unimportant crap on an unlabeled backup CD. The source files include the first DOS version and a later Windows version, which didn’t need the windowing and listing procedures.

One of the major pleasures in life is rediscovering a valuable object that was believed to be lost.

Also fortunately, I wrote copious comments and narrative notes inside the C++ files, leaving breadcrumbs for future time travelers including Me+25.

The depressive part:

I couldn’t possibly write this from scratch now. I’m 25 years older, past the shift from detail brain to broad-brush brain. Aside from the automatic aging, the advance of technology made it unnecessary to PRACTICE the skills that I honed in 1995. There’s no reason to invent a windowing system, no reason to write specialized ASM code for a sound board, no reason to draw an IPA font, no reason to pack a complex database of phonetic features into a tight block of bytewise registers.

Those skills would be lost even if I hadn’t grown old and creaky. A young programmer trying to create the same system can pick up all the needed pieces as premade libraries in C++ or modules in Python. He wouldn’t need to think and test every step.

Later thought: Well, maybe not in Python.  There are premade modules to play and record sound, but they don’t behave well.  A slow-moving interpreted language with a huge pile of overhead just can’t handle multitasking cleanly.

%d bloggers like this: