I recently found a stack of Floppy disks while cleaning up my home office. I was curious about their contents, but I didn’t have a way of reading them anymore. No computer at home had the required drive to read them anymore.
I left them alone for a few months and then curiosity picked up again, so I did a quick search on Amazon, for 3.5″ Floppy disk drives and to my surprise, I found one that came with a USB connection, making it readable on any modern computer.
A few days later, I’ve received the SMS notification that it had been delivered. I admit I was excited!
Despite my enthusiasm, I prepared for the fact that all information stored in the diskettes would be unreadable. As a practicing stoic, premeditatio malorum helps set expectations and live a better life.
The process was seamless. Plugged it in, inserted the unassuming diskette and heard the long-forgotten sound of the drive reading (or attempting to read) the disk. A few (long) seconds later, and when my hopes were low, I saw a list of files coming up on my Mac Finder! A bunch of bitmap files and two MS Word documents.
I decided it would be better to copy all the files to my local drive to speed up things. A little while later, I had all files copied, and then I opened the first BMP file to find this:
If you noticed, the picture is tilted because this was from before digital photography became mainstream. It is actually a scan of an actual photo.
It took me just an instant to recognize it. My two hands digging into an Abbott Laboratories CCX biochemistry autoanalyzer. I am wearing my old then most favorite watch.
According to the file metadata, the file was originally created on Sunday, March 24th, 1996 at 7:49 PM.
My best friend Rudy and I were working on what turned out to be an extremely successful project. Probably one of the most fulfilling projects in my professional life.
We essentially built a hardware add-on for the analyzer, which automated a bunch of processes, saving hours of work.
The system had 2 components:
- A PC program (written in Clipper and C)
- A board based on the Motorola 68HC11 processor that plugged into the analyzer’s CPU and performed additional functions (including reading barcodes, connecting to the analyzer keyboard, touchscreen, and robotics), all written in assembler.
I found this header file of the Clipper program:
******************************************************************************
* CCx data manager system.
*
* By: K&W Software Resources.
* August 1994.
*
* The second great project of K&W SR.
*
*
**********************************************************************************************************************************************************
* By: Eugen & Rudi.
*
* Dedicado a nuestras pacientes novias, que han preparado toneladas de
* panqueques y miles de litros de ta y kilolitros de cafe au lait para
* que este proyecto funcione.
*
* (Nota: nuestro anterior proyecto tambi‚n fue financiado gastron¢micamente
* por ellas. Gracias con retroactivo).
* Julio de 1994
*
* Octubre de 1995. Adicion de la funcion de HOST QUERY con el HQX.
* Dedicado a Mad*** & Mar***.
* Que con su infinita paciencia y apoyo hicieron que este proyecto
* llegara a buen termino.
*
****************************************************************************
“K&W” was the name of our company (our 2nd names in German). And a dedication to our then girlfriends: Mad*** & Mar***. Turns out they are both our wives today :-).
K&W did not survive as an entity, but my friendship with Rudy did. And when he married my sister Mar*** (yes, Mar*** in the header is my sister), we became family. And I’m grateful that he not only is still my friend, but he became my brother.
Both our wives supported us back then and continued to do so over the last 25 years. Through many ups and downs.
The two MS Word documents were manuals. One for the hardware installation, the other was the listing of the uController code. And there were also funny sections I’ve completely forgotten about:
“kowaschjkii” was our internal name of our office. KEF is my initials in German. RWR are Rudy’s initials in German, because German is kühl.
Even more impressive to me was finding the source code for a very simple “database” module I wrote for memory-constrained systems. I copy-pasted the entire code into my Arduino IDE, and after very few adjustments compile it and run it. :boom:
I guess we develop unique traits as software developers. I recognize my C code writing “prose”. The naming of variables, the comments, the error handling, the pragmatism in the design (there’re no horrible shortcuts, but I’ve mixed C++ and C liberally without being a purist on anyone).
Programming changed my life for the better. And like 25 years ago I still enjoy the practice, and I still feel the thrill of a program that works, and the challenge of finding the reasons why it doesn’t. Software is the ultimate puzzle.