I am a geek. I love computers. I love everything about them. I spend eight to ten hours a day in front of a computer screen as I am coding, debugging, or discussing coding practices and methods with other programmers. When I am not programming, I am teaching about computers at the university or am researching and writing about computers as part of my academic work. I truly get excited when a new kernel of Linux is released or when a new Web application that does something never done before becomes available for beta testing. I am deeply impressed when I see smart and beautiful code that does something I know is hard to accomplish. These are moments when I feel that we have only touched the surface of what we can do with computers, and I know that there is a simple solution to the current programming problem I am facing; I just need to get my head around it. With my spare time, I play around with my operating system, trying out new ideas or writing a patch or a bug report to some open source application I use. Most of my day has something to do with computers, until, of course, my son barges into my office and demands we play a “real game”, outside!”