Ego Codicem: How I Found My Passion for Programing

Ego Codicem: How I Found My Passion for Programing

It’s wonderful to be programming again, spending hour after hour working in my Plan 9 acme editor, writing lines of C code, incrementally adding a feature, compiling it, testing, debugging it with print statements, getting it to work, removing the prints. Programming was never just a job for me. It’s my life’s passion.

But I almost didn’t become a programmer. In college, my first major was theater.

To be honest, I never officially declared myself a drama major. I was too afraid of what would happen if my father learned I was studying a subject that involved makeup. But I loved the art, especially making films.

I have a copy of one of those movies from the 70s. It’s a western in which I’m shot by a vengeful anti-hero (see my cowboy hat in the screenshot to the left?). Watching my performance forty years later, I realize how lucky I am to have met a friend who was majoring in something called “computer science.”

 

A New Thing Called “Computer Science”

As my anxiety over my financial position if my parental unit learned about my studies grew, I thought I might try my hand at this new thing. Based on my friend’s recommendation, I enrolled in a statistics course that taught FORTRAN. (I’m not adding emphasis. It is spelled in all caps, as are all programming languages designed to run on machines that could only print upper case.)

I showed up for the first day of class and immediately realized I had made a mistake. The elderly professor didn’t lecture, he rambled. And his chalkboard explanations left me even more mystified. This was going to be one of those courses that required me to learn all the material from a book.

That night I shelled out some of my hard earned cash and bought the textbook, only to find that it was written by the same old geezer who taught the course! He wrote just like he taught: incomprehensibly.

The next day I stomped to the Department of Statistics and Computer Science (computer science wouldn’t get its own department until 1984), ready to file a complaint. I declared my intention to the woman at the front desk, who cheerfully asked if I wanted to complain to the department head. I agreed and followed her into the department head’s office.

Then my throat went dry.

The “old geezer” was actually the department head himself.

I boldly marched across the room, shook his hand, and told him that I was very excited to be in his class, and I wanted to start programming FORTRAN as soon as possible.

The upshot was that although no one ever heard my complaint, he gave me the assignment, right then and there, weeks ahead of the rest of the class: write a program that would add a series of five digit numbers together.

All I had to do was learn to program.

Programming in the 70s

In the olden days, when John Travolta was a kid on a TV show, programing was taught using key cards. The IBM PC was years in the future, and video terminals were few and far between, certainly not to be used by an undergraduate for an introduction to statistics and FORTRAN course.

This is how programming worked for students in the 70s:

  1. Scratch out your program out on notebook paper.
  2. Compete with dozens of other students for a spot at one of the half-dozen key punch machines.
  3. Use the key punch to poke little rectangular holes in dollar bill sized paste board cards, praying that the machine doesn’t jam.
  4. Rubber band your cards together and submit them to an operator.
  5. Wait for the operator to read your program into the computer along with a batch of twenty or so other student “jobs.”
  6. Wait for your results to print on 14"-wide, green-bar, fan-fold computer paper, which printed at the incredible rate of 600 lines per minute.
  7. Pick up your cards and printouts from one of the small bins that separated the holy machine room from the rest of the world.
  8. Discover that two of your cards were out of order or that a comma should have been a period. Realize the whole card needs to be retyped.
  9. Repeat.

Programming could be a frustrating process. The key punch machines didn’t print the characters very well, jammed often, and it was impossible to really know the order of the cards in the deck. Students would spend hours waiting for their program results and often find one little mistake and have to start the process all over.

So my girlfriend, who would someday become my wife, and I found an empty classroom, and I scratched out my first FORTRAN assignment on notebook paper. I sat back, looked at my program, and realized that I didn’t have the foggiest idea how to use a keypunch machine. The book didn’t go over that part.

Betsy and Me

Adventures at the Keypunch

I made my way down to the keypunch room with its loud “chugk chugk” that was so familiar to programers then, and has since completely disappeared from the world (thank goodness).

I waited until I saw an open machine. I sat down in front of what can only be described as a small table sprouting a Rube Goldberg machine. I put my deck of blank cards into a hopper at the top of the machine and had no idea what to do next.

The keypunch seemed totally inanimate. There were a number of toggle switches across the face, probably constructed by an IBM designer who undoubtedly thought the switches were the height of industrial design, but unfortunately none of them said “on” nor did flipping any of them make any difference.

After quite a long time, I had an idea.

I used my acting skills to gather my things as if I had remembered something urgent and rushed to the door, studying my notebook paper. In a few minutes another student strode past me, clutching her blank punch cards and notebook paper as she took my place at the inanimate key punch.

She reached under the table and suddenly it made a whirring sound and cards began to feed from the blank deck, progressing across the punch heads with the “chungk chungk” of little chads being poked out into a small plastic bucket.

The IBM 029 Key Punch

Problem solved. The switch was under the table. When she left, I sat back down, turned on the machine, and punched the first line of my first program.

A few hours later I was the proud owner of a program that would read a number of cards, each with a five digit number, accumulate their sums, and print the result out.

The effect on me was immediate and has lasted a life time. This was the most fantastic, amazing thing I had ever done.

The Itch of Creativity

Growing up I was notorious for taking toys apart to figure out how they worked. 1950s toys were often just cheap metal pressed into rocket ships or airplanes. It didn’t take much for a screwdriver wielding four-year-old to disassemble and get to the mechanisms inside. Then I’d learn how they worked by putting the toys back together again.

I loved learning how things worked, and as I kid I wanted to make things.

My childhood heroes became inventors. Thomas Edison. Alexander Graham Bell. Orville and Wilbur Wright. Creative people who made really neat things. I would draw elaborate schemes for new, useful machines on paper, but in all my nineteen years I had never been able to actually build anything very interesting.
On that day in the 70s, however, just by writing statements, the equivalent of making a drawing of a machine, I had a real machine!

For the very first time I scratched the itch of creativity I had felt all my life. Thanks to a friend’s recommendation and an old geezer, I changed my major. I got to know the old geezer as I made my way through the CS program. I’ll aways be thankful to him for his willingness to let me start the first assignment early. I think I made a “B” in his class.

Now, almost forty years later, I am just as excited as I was that cool early October evening in the Graduate Studies Building at the University of Georgia.

I still want to know how things work.

I still want to create new stuff.

Like my childhood heroes, I will continue to create new useful things for many more years.

I remember those keypunch machines, and not fondly. Was a joint high school enrolee back in '80/'81, when they were being phased out, and maintenance was lackluster at best.

回复
Jim Underwood

Cabinet Vision Engineer at Mountain Showcase Group, Inc.

9 年

Wow. Just swerved into it.

回复
Scott Pope

Artist at Scott Pope Art

9 年

What an absolutely delightful true story. May I play you when the film version comes out? The mention of punch cards brought back memories of registration at the coliseum back in the late sixties with dozens of tables manned by individuals with boxes and boxes of those ancient cellulose rectangles.

回复

Brantley, brings back memories of long nights in the computer room as an undergrad, trying to get that 'last' run before the assignment was due.

Scott Schweitzer, CISSP

Positioning Achronix FPGAs as 400GbE DPU Leaders

9 年

Brantley, thanks for sharing. It's always interesting to see how people we think we "know" end up where they are.

回复

要查看或添加评论,请登录

Brantley Coile的更多文章

  • How OSs Work: Scheduling

    How OSs Work: Scheduling

    Surely the essence of any operating system is something called the "scheduler." How does the computer run all those…

    7 条评论
  • What is a File? What is a block?

    What is a File? What is a block?

    We use them every day. Sometimes we call them folders and file.

    2 条评论
  • Why Some Programming Languages Win

    Why Some Programming Languages Win

    And others loose. It's no secret that we at Coraid run pretty much a C monoculture.

    10 条评论
  • 400,000,000 DISKS A YEAR, ALL ALIKE

    400,000,000 DISKS A YEAR, ALL ALIKE

    In the early computer game adventure, there were two mazes, one with twisty passages all different, and one with twisty…

  • Intel Flubs Again

    Intel Flubs Again

    The Wall Street Journal reports that Intel is telling motherboard vendors not to install its latest fixes to mitigate…

    6 条评论
  • The Lowdown on Intel's Meltdown

    The Lowdown on Intel's Meltdown

    I've read a lot about the Meltdown CPU security exploit over the past week, but I've not read a simple, clear…

    2 条评论
  • Holiday Lights

    Holiday Lights

    HOLIDAY LIGHTS My earliest memories of Christmas are all about the lights. In the early 1960's, the Christmas tree was…

    4 条评论
  • Happy New Year from Coraid

    Happy New Year from Coraid

    Everyone here at Coraid/SouthSuite is wishing everyone a very Happy New Year. 2017 promises to be a very exciting one…

  • New Driver for VMware ESX 6.0

    New Driver for VMware ESX 6.0

    I’m so pleased to announce the newest version of Coraid’s VMware ESX EtherDrive HBA driver for VMware’s 6.0.

    7 条评论
  • Coraid SRX OS Gets a Memory Lift

    Coraid SRX OS Gets a Memory Lift

    How about a 256 GB Coraid SRX for your Ethernet SAN Flash system? In the past weeks I have been overhauling an…

社区洞察

其他会员也浏览了