At some time in the near future, I hope to retire from my career in computer operations and programming. I don’t know if there will be a retirement party, but if so, it wouldn’t hurt to have written down a little history. The second part of “How I got into computers” barely talks about this.
For a year at least, I still lived with my parents and went to junior college. I’d also gotten a part-time job with Truline Corporation, manufacturer of printed wiring boards. I was supposed to become an electronics engineer like my Uncle Dick, my mom’s oldest brother.
I was on the engineering track but made the mistake of taking on 18.5 units of courses. I’d been a super student in elementary, middle, and high school, so of course I could take on a heavy load of college work. Three problems took me down:
- All work and no play made me a weary boy.
- My favorite grandmother died.
- I was always a nerd and uncomfortable around girls.
But there was one thing I loved about my junior college days: computer programming. We had an HP 3000 mini-mainframe, and I knew where there were a couple of terminals hidden in one of the unused classrooms. I almost never had to wait to use the computer.
I took two FORTRAN classes and a COBOL class. My COBOL instructor, Ruth Harner, had met Rear Admiral Grace Hopper in person at a conference.
I really liked COBOL. I very much liked the idea that if I name my variables and subroutines carefully, then what the computer is actually doing is spelled out in plain English.
My two FORTRAN courses were superb too. The first one was directly useful in my engineering courses because we were learning about eigenvectors and reducing arrays of algebra statements to solvable problems. I remember reading a book about how to lay out physical spaces by creating rules of priority; in a hospital, having the bandage and dressing storage closer to the emergency room is more important than having the restroom nearby. By assigning numbers to relations and multiplying each item in relation to all the others, and then by sorting the results, one could (in theory) get the optimal layout. Better yet, adding detail improved optimality. But the downside (in the book) was that computers were still too primitive to do large calculations. The problems scaled at log(n) but the mainframes of the day simply didn’t have much memory. I could see that the microcomputer tsunami was soon going to grow the amount of RAM available to make this an easily solvable problem.
My other FORTRAN class was even better, even though the instructor didn’t know anything about programming. He was a mathematician, but the college needed a FORTRAN instructor, so he was voluntold. I don’t recall his name, unfortunately.1
His choice of course material could not have been better. He taught us Nassi-Shneiderman flowcharting. Nassi-Shneiderman flowcharting makes breaking problems into “Actions”2, “Loops”3, and “Branches”.
Ruth Harner spelled out that programming is a process of top-down, step-wise refinement. Just like the Scientific Method can absolutely nail any problem in Science, top-down, step-wise refinement can solve any computer programming problem.
The beautiful idea our professor walked us through was to write our FORTRAN with gobs of tab characters, pushing the text to the right where appropriate. When we printed the source code out on green-bar paper, we could then take a yardstick and pencil and literally draw the Nassi-Shneiderman flowchart around the source code. The code execution operated within the flowchart and the flowchart showed the visual flow of the code.
Combine the flowcharting and the top-down, step-wise refinement, and man computer programming is fun!
Of course, at that time the mini-mainframe still has only a text based interface and no software to help. I wouldn’t see Dave Winer‘s ThinkTank program for another five years.
A mildly amusing event was at the end of the semester: the line of kids to type in their programs was twelve kids deep on every terminal, with only two days left in the semester. My best friend, Paul S. (also my boss at Truline) was one of those students. Paul saw me in the computer room, and said he didn’t know what to do! He also needed to work at Truline, and wouldn’t be able to come back in the evening when the terminals weren’t so busy. I looked at the lines and saw that the keypunches were empty. No kid wanted to put their program on punched paper cards…. I was comfortable with them, so… I told Paul, “Hey let’s use these.” He was hesitant because he’d never used one before, but I showed him it wasn’t so bad. I told him about putting the rubber band around the deck and filling out the paper for his job to be run. It worked like a charm. Within a minute of putting his deck in the input basket, the operator grabbed it, dropped it into the card reader and put the printout on completed jobs basket. heh.
One other thing (that sucked) was that some kids stole my high school graduation gift. My dad had gotten me a Casio programmable calculator as my high school graduation gift. We didn’t really have any money (my dad had lost his job), but this was the best he could afford. I don’t recall whether it was the FX-702P or the FX-700 but it really was fully programmable. Those kids who stole my graduation gift were minorities. I’d gone to the student union before my Physics Final. There weren’t any other kids in the student union. I’d put the Casio in my backpack and decided to get an orange juice before taking the big test. I left the backpack on the table because I had never previously had a need to consider that thieves existed.4 When I got my orange juice and went back to the table, it was a little weird that my backpack was unzipped, but I didn’t really notice that because I had the biggest test of my life coming up – that Physics Final. I get to class, get the test, get to the point where I need my calculator… and it is gone. I’m utterly demoralized. I hadn’t really liked Physics and Engineering, but this was going to hurt. Yeah, I flunked that Physics Final, too.
After I burned out on my massive load of schoolwork, I moved out of my parents house, and into a shared apartment. After failing most of my engineering related classes (although I did great with the programming ones), I told Truline I’d go to work full-time in the evenings. Maybe I’d still do some college, but of course, I did not.
There’s a whole story about my not going to college and my dad losing his job. Perhaps I’ll tell it another time.
I still visited my parents, and talked computers with my dad. He had heard about a computer, the Osborne 1, which was a real computer, and it came bundled with $1,500 of software – and for a limited time only: dBASE II (which was worth another $1,800).
My dad helped me buy my very first personal computer. It was $1,795 total. I think he was able to help out with $500.
It was fun, because there was a magazine where I could type in program code listings and then run games (on a ridiculously tiny screen). I learned CP/M and PIP (Peripheral Interchange Program). I played with WordStar, SuperCalc, CBASIC and MBASIC and dBASE II. I didn’t get the modem, although a co-worker of mine had, and he dialed in to the junior college and wrote his code from home. Fancy!
Next in my story: my first programming job.
- He did harm us students, though. Almost every student (of 31) dropped his class in the first two weeks. Only five of us stuck it out. Because he was a mathematician, he graded on a curve. One student would get one grade, each: A .. F. Yes, the kid who stuck it out and was doing (arguably) B grade work was assigned an F because with five students and five grades, that was the natural map. I got a B, but I do think it was unfair that Brian was given an F for trying. ↩︎
- Output, Input, copying, and calculations. ↩︎
- Technically, every loop is a branching statement with actions; but, the loop flowchart block simplifies the complex to be easy to see and understand. It maps really well when the programming language we’re trying to get to includes operators like “foreach $item ( @list ) { … }” ↩︎
- Is a lack of awareness about thieves White Privilege? If you think the answer is yes, I’d have you look in the mirror to identify the real problem. The only people who excuse thieves are those who are thieves. ↩︎

