From:
I'm from a tiny little village in Kansas.
Education:
I took a couple of years of a CIS curriculum at Kansas State University. I
quit college because I wasn't learning anything in classes
related to what I wanted to do and I wanted to actually
work.
I still think it was a good decision, but I would still like
to finish my undergraduate degree.
I once worked with a bunch of software engineers who were
graduate students at UCLA and it seems that they had a really
good program there. They were good. If I would have stayed at
K-State, I don't think I would have got an education that would
have even been close, so it wouldn't have mattered anyway.
After working several years on the job, it doesn't really
matter anymore, anyway. I'm still way ahead of a lot of the
people I work with who did get their degrees.
Live:
I live in Mountain View, California, just a few blocks from
the train station and downtown Mountain View.
I don't have a car at the moment, but it's not a burden at
all. I ride my bike to work and I can ride the train to go just
about anywhere I would want to go.
I really like living here. It's close to San Francisco and
there is a ton of things to do. It's been pretty easy to find a
job here, even though it's hard to keep it. It's clean and
pretty safe.
I just wish that it was cheaper and that I lived closer to a
state university. I think I would really enjoy living in
Berkeley, but I don't think my wife would go for it.
Work:
I work for Google as a
release engineer. Google is mostly well known for their search
engine, but they are really good at advertising and have a lot
of other services such as maps and Blogger. I love working for
Google.
A release engineer is someone who manages how software makes
it from the developers into a customer's hands. It includes
things like how to reliably produce a piece of software from the
source code that the developers write.
There is a lot that goes into it such as:
- Keeping track of what versions of the software have gone out
to customers.
- How can we make an old build if we need to?
- What are the differences between two versions of the
software?
- What bugs have been fixed in each build?
- How do we make bug fixes?
- The build has to be consistent, repeatable, and
reproducable.
- We need to be able to track every change that was made to
the source code, including who did it, when they did it, and
what they changed.
- And all of that requires lots and lots of automation and
programming. It's too much for a human to keep track of and
humans make too many mistakes.
You can look at my
resume for the complete list of other stuff I worked on.
Hobbies:
My hobbies are the typical computer geek things. I tried
finding other hobbies so I would be more rounded, but they
weren't very interesting.
- Programming
- I've loved programming since I was 7 years old. My current
favorite programming areas are python, OSX apps, web services,
RDF, and XML.
- Open-Source Software
- I enjoy the social movement of open-source software. I
write it, I use it, I learn from it, and I also enjoy
connecting with all of the other people who also develop and
use it.
- Science Fiction
- I like the real classic science fiction and the more edgy
cyberpunk type. I think Star Trek and Star Wars and all those
series of recent paperbacks are trash. When I read science
fiction, I don't want it to be some soap opera. I want to come
away with some kind of new twist in my thinking.
- My web site
- I've recently put a lot of work into turning my web site
into a standards-compliant weblog-type site. It's been
successful in that now the site is more useful to me for doing
my software development work and writing little notes to myself.
Current Projects:
- Volunteered for Sci-Fi conventions
- I volunteered for doing "Con-Ops" for BayCon, WesterCon,
and SiliCon this year. "Con-Ops" is basically troubleshooting
and communication at the convention.
- Doomtown Cataloging Program
- I'm making a program to catalog my Doomtown
cards. Doomtown was a collectible card game that went out of
print in the late 90's. I have thousands of cards. The program
is written in Python and uses Cocoa on Mac OSX.
- Tickets
- I'm developing an open-source web application in perl for
National Comedy
so they can sell tickets online. The project is actually a lot
more than that. I'm using this project to build my skills in
design, programming, and managing this project.
- Fullhart Software
- I'm trying to get some people to pay me for developing my
open-source projects to offset the costs of materials like
computers and bandwidth.