Tales from the Old Hat Hacker: compile and run

IBM PC Motherboard from 1981. The IBM Personal Computer Model 5150 was the first computer of the type which is today (2023) generically known as a "PC". It had an Intel 8088 microprocessor with 4,77 MHz, five bus connector ports for expansion cards (ISA Bus, 8 Bit) and 16 KB to 64 KB RAM on the motherboard - installed on the pic are 32 integrated circuits (4x8 ICs below right) of the type AMD Am9016 with 16,384 Bits each (2 kByte), resulting in the RAM having the maximum installable size of 64 kByte. The additional 9th row separately below is most likely for parity checking (error control).
Image by Wikipedia User: German
This file is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.

Sure, sex is great, but have you ever have code that compiles and runs correctly on the first attempt?

Tales from an Old Hat Hacker:

One time that sticks out was a day where a lab test in microprocessors/assembly language class at TechSchool™️ I lived about an hour away from campus by car and commuted every day. That day about 30 minutes into my drive the clutch went out and I was stuck in 2nd gear for the rest of the drive limiting my speed to about 15-20 mph.. I get to school and I am 2 hours late for a 4 hour test.

The test: build a traffic light simulator with a “walk button” on a bread board with LEDs and drive specific behavior (what color lights should be lit for how long, and what to do when the button is pushed} with an assembly language program interfacing with the circuit via a parallel port through a cable and interface board we built at the beginning of the 5th quarter of the program.

I get to my station turn on the IBM XT with monochrome monitor, hastily build the circuit on my bread board, connect it with my parallel port cable interface built earlier in the year and get to work. I inhale deeply and entered a “flow state” where I just exhaled assembly language. Have no sense of time. Just code. Typing as fast as I can knowing I started 2 hours late. My vision narrows and my whole world becomes confined to amber text on a CRT. I write it all in what seemed a single breath until I was done.

I run my code through the assembler. It gives no errors and I have my object file. I run that through the linker, again no warnings or errors and have an executable.

I test my program and everything works.

I raise my hand to call over the teacher.

He’s not interested in my code, he only wants to see if the circuit performs to the specification. He watches the LEDs blink in Green, Yellow, Red sequence. He presses the button and sees the circuit perform the specified way.

I look up at him, and he just says, “you pass”.

I breathe a sigh of relief and my world expands back to the classroom. I notice that I am the first finished and everyone else is still working. I get dirty looks from some of the more competitive students. I put my gear away, turn off the PC and head downstairs to the pay phone to call for a tow.

Originally written as a thread of Bluesky posts. Edited and Expanded for The Hacker Ethic.