I was born in Houston, Texas, but moved to Jackson, Wyoming when I was really young and grew up there.


I wasn't very challenged at my local high school, so I shipped myself off to boarding school (FVS) and repeated my freshman year (yeah, I know...). I had an amazing experience there, but I knew from very early on (more below) that I wanted to program computers for a living. I decided to skip college and go right into a programming career.

I have since returned to school to study with some of the best computer science (CS) educators in the world. I am working towards my undergraduate degree in CS as well as teaching credentials. The goal is to teach CS, probably at high school level - it's something that is still surprisingly lacking in today's day and age, particularly since we are located so close to the heart of Silicon Valley.


My father built an old Sol computer when I was a kid (9 years old), and I started banging on it every day after school. While it didn't win me any popularity contests (quite the opposite back then, especially in Wyoming!), I was lucky enough to be really interested in a field that would become incredibly important in the years to come. I begged and pleaded and got an Apple ][ for my birthday soon after they came out, and I've been an Apple-kinda-guy ever since. Applesoft Basic was my first programming language, which shifted quickly into 6502 assembly language programming for (relative!) speed .. and yes, programs were stored on casette tape back then...

My first programming jobs were summer jobs when I was 13 where I would write software for local businesses and schools (inventory, software demos, educational tools, etc.). After graduating from high school, I moved out to the Bay Area and started searching for programming jobs. I was incredibly lucky to meet someone whose father worked at Lockheed Missiles and Space, and interviewed there as a research assistant in the field of Neural Networking. I quickly moved into more of a researcher role, and came up with some of my own (AI) applications as a hobby. Working in the defense industry had some (pretty big) drawbacks, and I eventually dropped out of life for awhile to teach skydiving for a few years (living out of a back room at a small airport .. it was awesome :-).

While skydiving with a good friend of mine, I discovered that she was the girlfriend of one of the creators of "Where in the World is Carmen Sandiego?" - one of the most famous educational software titles ever created. She mentioned him one day and said: "he does games and stuff - you should talk with him." After a two hour conversation with him reminiscing about games for the old Apple ][, he offered me a job and I moved up to San Rafael to begin working with a small development company, Presage Software. We did design and development of games and educational software for some pretty heavy hitters in the industry - LucasArts, Broderbund, Sierra/Dynamix, etc. My biggest claims to fame were: The Macintosh version of The (even more) Incredible Machine, The Star Wars Screen Saver, and the in-house tools that everyone used to generate the compressed sprites and videos for the games we were working on. I was also on the senior staff there, so I was also responsible for: hiring new people, investigating new technologies, and writing proposals and technical specifications. Some dry work to be sure, but incredibly valuable later on...

A few of us eventually split off from the company and started our own small development house: Flatline Software. We had an amazing technical team, a senior artist who left Blizzard to join us, and some terrific interns working for nearly nothing (but gaining some really good experience for the wider worksphere). We built two full prototypes for our game designs, and pitched them to publishers at events like The Game Developers Conference, E3, MacWorld, etc. Things were looking really good on the technical side, however our business side was sorely lacking, and we eventually had to shut the doors after our self-funding started to dry up.

At that point, I realized that since I had really loved to teach skydiving, and coupled with my great interest in computers and technology, decided that the obvious route for me to take was to become a computer science teacher. I was lucky enough to be accepted to Cal, where I could study under and learn from some of the best CS educators in the world. I'm also involved in the CSTA, where I can keep myself involved with the field of education while I continue classes here.


Fluent in...
Can read, but don't often write in...
  • Assembly Language (68K)
  • Awk
  • Batch
  • Flex
  • JavaScript
  • Logo
  • Machine Code (6502)
  • Mathematica
  • MIPS
  • Pascal
  • Perl
  • PHP
  • PostScript
  • QuakeC
  • Quartz Composer
  • Scheme
  • Sed
  • SQL
  • SuperTalk
  • Tcl
  • Visual Basic
  • XML
  • yacc
Know a little bit of...
  • ActionScript
  • Assembly Language (80x86, PowerPC)
  • CSound
  • Lisp
  • Smalltalk
  • Spice
  • VBScript
(Thanks Wikipedia!)


I really enjoy programming, and will spend a lot of time on hobby projects - my latest was a neural networking gaming framework where you can (somewhat easily) add turn-based games (like Connect4, Othello, etc.) and have the computer try and learn how to beat a human at that game. It works pretty well for simpler games (like 3D TTT), but there's still a lot of work / tweaking to do to play the larger games at a decent level. Programming for me fully engages both sides of my brain, and solving the logic puzzles gives me a great deal of satisfaction.

As for non-computer-related hobbies, I am currently exploring new possbilities - I've retired from skydiving, have done a lot of SCUBA diving around the world over the years, have taught and performed Improv., have done some rock-climbing, .. but I'm always keeping my eye out for something new to dive into. However, if my school schedule remains as busy at has been, I probably won't have time to kick off anything new anytime soon.


I really wish someone else would write this section... :-)

Maybe my biggest skill is being patient with, and helping people understand different aspects of technology. Those "light-bulb" moments give me great satisfaction - I think I will always be involved with education in some form or another.

I can manage a large projects pretty well, although it's DANgerous to let certain people know about it. ;-)

I have a pretty good understanding of how to shape your body to fly well while in freefall. There is even a YouTube video of one of my earlier, experimental jumps.

I can wiggle my eyes back forth really, really fast.

I can hang 4 spoons on my face at one time.

I can whistle very, very loudly.

I'm slowly turning into a cyborg.

I (obviously) love hypertext. Hyperlinks, formatting, etc. Being able to link information together, provide additional information (if someone wants it), and shape how words are being presented is such a paradigm shift.


Probably the most remarkable thing I've ever done is participating in the 1994 world record attempts in putting 232 people together into formation in freefall. It was an intense, unforgetable experience, one that almost ended badly for me. However, the friends that I made, the bonds that formed on the ground and in the air, and just the overall experience, were worth the effort (and recovery :-).


Being a TA for CS10 as well as co-teaching MSDOSX will be my biggest time commitments for Fall 2011. I'm also taking CS162 and CS170, too. I will be quite busy this semester. :-)