About Me


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 karl@kornel.us.  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!


My History

Pre-UniversityUniversityMindspeedOther Stuff


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.