How a Prehistoric Hacker Got Started
As I reflect on my career in information technology, I have come to realize that I was a hacker from Day One and "Day One" was a long, long time ago. Some might even say from prehistoric times.
Let me explain.
"Day One" came in the 1960s while I was still in high school. If you can imagine a time before smart phones, personal computers, mini-computers... yes, prehistoric computer times. This was the time when IBM was virtually the only game in town and there were only mainframe computers in existence. Our high school was located on the same campus as a university. Strange but true. As an aside, this had many significant benefits such as ready access to beer bashes, interesting girls, psychedelic substances, and so forth. A good life was had by all. But I digress.
In exploring the university buildings, I came across their "computer room." At that point in time, there was no security or controls of any type. Hard to imagine compared to today. The room consisted of what I believe to have been an IBM 7000 series data processing system, punch card reader, punch card machine, and a printer. The only input was punch cards, no video terminals existed.
Being a curious person, I asked if I could use the mainframe system. Surprise! The person said sure, no problem, go right ahead. O.K., that was the good news. The bad news was I had never seen a computer in real life and had no idea how to turn it on or to program it! I waited until the summer break when things were quieter and started hanging out in the computer room on a daily basis. They had shelves of official IBM manuals which I started to devour. From these, I learned the basic concepts of programming and a couple of programming languages. By the end of the summer, I was proficient at writing, punching, compiling, and executing programs!
The best part was booting the mainframe at the start of the day since it was turned off at the end of each day. Now we all just walk over to our tablet, laptop, or desktop and press the "on" button, then moments later we have a system ready to do work. This was certainly not the case for this beast. Let me walk you through the startup process. First, you threw a wall-mounted 12 inch lever up to apply power. Now, go for coffee and wait the mandatory 20 minutes for it to warm up.
Next, there were toggle switches controlling the memory registers on the console which had to be set to a specific pattern for the Initial Program Loading (IPL). The operating system consisted of about eight or so boxes of punched cards that needed to be read in via the reader. Half the time, you needed to redo the IPL since there was a glitch reading the operating system cards. At this point, you had a live computer system and it only took 30 to 45 minutes to start. Whew!
The console was massive and measured something like five feet wide by three or four feet high. It was covered by all kinds of toggle switches, rotary switches, and lights. Definitely heaven for the kid in me. This was a different era. You could set the CPU via the console to step through each machine instruction one at a time! Imagine trying to run a modern program like that now. Being IBM, it was built like a rock. I doubt a sledgehammer would even have scratched it.
To execute a program that I had written was another whole undertaking. Again, you need to remember there were no USB keys, tape drives, or hard drives. You had to write out your program on paper then type it in on the punch card machine to generate punch cards. It was all about accurate typing and correct programming commands since there was no backspace or correction capability. In hindsight, the best course I took in high school was typing. It paid off that summer and ever since. Once you had your program punched, you got sets of boxes from the shelf for the particular programming language and added your cards to the end. This whole set of cards was then read into the computer to "execute" the program and output something to the printer if you were lucky. If you were unlucky, sometimes you needed to decipher registry lights on the console or some obscure error code printed out!
That summer was a true journey. Upon reflection, this was the start of me being a "hacker" - the desire to explore the unknown, the desire to experiment, the desire to learn, the desire to have fun, etc. I am convinced my "hacker" characteristics have materially added to my success throughout my career. It has allowed me to do the impossible and have fun along the way. I encourage everyone to recognize and embrace their "hacker" side. I did and never looked back.