The Story So Far

Well? How did we get here?

Rocket

The Story So Far

Well? How did we get here?

I have been fortunate to experience changes from the very first home computers to our handheld pocket marvels today. I began with a 300 baud modem, thought 1200 baud single duplex was amazing, and now multi-gigabit ethernet. I began on an Apple ][ and have used PCs, mainframes, Sparc stations, embedded systems, and now phones and the web. I have written games, a stadium card-stunt generator, embedded scientific instruments, medical devices, factory assembly line software, multi-platform hardware configuration UI, iPhone apps, and now web apps.

The Big Inning

My journey began long ago, in what today would be a very unusual fashion. My first programming language was Apple Basic followed by 6502 assembler. Here we have both extremes — the friendly, introductory language and the harsh reality of nothing but an accumulator, X and Y index registers, and a stack pointer. Things were different with 16k of RAM. Assembler would be a very interesting first language today!

I spent a lot of time with a good friend learning to write games and graphics inside very tight constraints. The time we spent after school showed me this would be my path in life.

University

I studied Computer Science and French at USC in Los Angeles. While the School of Engineering taught me computer languages, my French classes taught me that our language constrains our thoughts. I had an epiphany the first time I realized I could not easily translate certain thoughts from French to English. In the same way, I have come to realize that certain computer languages constrain our problem solving in unique ways.

During my studies I learned several more computer languages – Pascal, C, Lisp – as well as the math, data structures, and algorithms to go with them. (There were also the things that haunted me: proof techniques and combinatorics!) One professor said something that remains with me: “I am not teaching you a programming language. You can learn that anywhere. I am teaching you to think and how to solve problems.”

I was fortunate to have a Graduate level PhD Researcher hire me to work with his grad students and assist them. In classes I learned about computer science, in the lab I watched computer engineering at work. I watched as they designed new computer chips, built them into custom computers, and worked on very early image processing software.

Jobs and a Detour

I spent several years developing embedded systems for scientific instruments, health, and manufacturing. I was proud of our optical multimeter that measured and displayed the spectrum of light, including peak frequencies and amplitude. Following this I self-taught myself C++ which I used at a small manufacturing company in Florida where I helped port our UI to Windows and several flavors of Unix.

Sometimes life throws you curves, and that certainly describes a detour as an elected official for ten years. You spend your life thinking you have a path laid out and then you careen off in another direction. Those were productive, stressful, and – ultimately – quite rewarding years. While every issue fairly decided would most likely make everyone a little angry, there were many instances where good decisions would bring lasting benefits to our community. These years also taught me the value of giving thanks to employees for their hard work as well as an appreciation for servant leaders.

Mac and iOS

During this time I discovered the Mac and began learning App Kit and Objective-C. I quickly grabbed hold of those square brackets and fell in love with the standard libraries. The code was amazingly readable, nearly self-documenting, the libraries were thoughtfully designed, and the resulting productivity was a joy. Method calls read like sentences:

- (NSColor *) colorWithCalibratedRed:35.0 green: 35.0 blue: 38.0 alpha:1.0;

- (NSUInteger)indexOfObjectIdenticalTo:(ObjectType)anObject
                               inRange:(NSRange)range;

This part of App Kit (and later UI Kit) I was very grateful for. It was very easy to read a method call and know what was passed in, what action would occur, and what would be returned. While I know a lot of people hate(d) Objective-C it worked well for me.

With the iOS I brought to life an animated children’s book that my wife wrote, an app for colorblind people that would display the name of any color the phone was pointed at, and various other small projects.

Telescope


See also