Hello! You have found my Resume page. This is where you can see most of my resume details online. Of course, you can still download my resume as a two-page PDF. My address and phone number have been removed from the downloadable resume, but that can be provided on request (and I provide that when I am submitting my resume somewhere).
If you use LinkedIn, I have a profile page there.
To email me, my email address is email@example.com. If you want to encrypt your email, my PGP key ID is 0xE5E5AFC8. I used to have an S/MIME certificate, but it never got any use, so I didn’t renew it. If you really want to contact me that way, let me know!
I’m also on Twitter @californiaKARL, which is fine for short conversations.
Feel free to contact me if you have any questions!
I was born in 19XX in the midwestern United States. The first computer I was exposed to was an Apple IIe, in grade school. I remember the school also had an Apple IIgs, but I don’t remember using it. The biggest thing I remember was how slow the Apple ImageWriter II printers were when we were printing out stuff in color. Yes, I played Oregon Trail!
My family’s first computer at home was an Apple Macintosh LC II, which became my own when my father upgraded to an LC 550. I remember having a BASIC compiler, but I don’t remember which one. My first exposure to programming was the HyperTalk programming language, which was part of HyperCard. I loved HyperTalk so much. It was very clear, so you could easily do something like this:
ask "What do you want to do?" put it into card field 1
HyperCard files were called stacks, and each stack included multiple cards. It was like a programmable database, multimedia, thing. It’s hard to explain without just copying text out of the Wikipedia article, but I really loved it.
In a way, HyperCard and HyperTalk was my introduction into the world of object-oriented programming, because each card was like its own object, whose accessors and methods were already implemented. I played around in AppleScript as well, once that came out. Since I had experience with HyperTalk, jumping to AppleScript wasn’t that big of a deal.
During high school, I worked as a cashier at a Kroger company grocery store. Although I was primarily a cashier, I also did bagging, and some misc. cleanup as needed (such as in the evenings). This gave me great customer service experience. I also worked as part of the 2000 United States census: When census takers would come back with forms filled-in, I would update our records so that we knew the address had been canvassed. Once enough forms had been gathered, I would box them up for shipping to the location that would actually scan and process them.
I attended The Ohio State University, getting a Bachelor of Science degree in Computer Science & Engineering, through the College of Engineering. While at OSU, I went through the CSE department’s RESOLVE/C++ program. I already had an idea of how object-oriented programming worked, thanks to HyperTalk, and the RESOLVE/C++ program introduced extensive object-oriented design, abstract vs. concrete implementations, as well as design by contract. All of this was done in C++.
I had actually skipped the Java classes, which were taken by people who were completely starting from scratch, so I essentially went from HyperTalk, to AppleScript, to C++. I still abhor the error messages that C++ likes to generate when you start dealing with classes and templates. Ugh. My time at Ohio State was also my first introduction to Perl.
While at Ohio State, I worked a number of different jobs. I spent one quarter as an assistant in Library Instruction. I did various clerical things, typed (on an actual electric typewriter!), delivered paperwork, etc.. I was only able to work there for one quarter because the job only had 9-5 hours available, which would not work with my class schedule. It’s too bad! I miss Mr. Roecker.
During the rest of my time at Ohio State, I was a bus driver! I was one of the many student drivers at CABS, the Campus Area Bus Service paid for by parking-pass revenue. I had a class B CDL (commercial driver’s license), with passenger and air brake endorsements, and I was driving 35- and 40-foot busses, mostly GILLIG Phantom busses (there were two other models, but I don’t remember what they were). I drive all of the on- and off-campus routes, as well as an occasional charter, such as running a group from the airport, or working in the shuttle service during an event. There were bad times, but I remember it with fondness today.
Also while at Ohio State, I worked as a “RESOLVE/C++ Consultant”. What that meant was, I would sit in one of the computer labs used for CSE students, and I would help to answer RESOLVE/C++ questions that came up. I was also responsible for basic printer maintenance and troubleshooting. That was also a good job, because it kept my brain exercised, since I had no idea what questions would come up.
My time as a RESOLVE/C++ consultant is what led me into my first open-source contribution. In the time that I was on-shift in the computer lab, but did not have anyone to help, I contributed to the Bugzilla issue-tracking project. Bugzilla is how I started learning Perl, and what directly led to Perl becoming my primary programming language. I contributed regularly to the 2.x series of Bugzilla, and that is what led to my first job after Ohio State.