I graduated top of my class from Lincoln Senior High School in 1993. I started Purdue that fall (at age 16) in the School of Freshman Engineering. I followed my life-long dream and went into the School of Aeronautical and Astronautical Engineering the fall of 1994. After one semester I decided that I was bored to death and that there should be more to life than DiffEq's, so I CODOed into the School of Computer Science . I don't know why I imagined that I belonged any place other than in the School of Computer Science. It was a lot of fun, especially my undergrad research in the Parallel Computation Simulation (PaCS) lab on a threading package called Ariadne, which eventually led to me working at LLNL. Somehow (involving lots of caffeine and no sleep, and basically compressing two years of computer science into one my senior year) I made it through Purdue in four years, graduating in the May of 1997. While continuing to work full-time, I started in the PhD program at the University of California, Davis in Computer Science, in the fall of 2000, finishing my classes in 2004, advancing to candidacy in 2006, and finally finishing in 2009. I am affiliated with the Computer Security Lab, and all the details of my research can be found on my Grad School page. Outside of my research, I did a paper for my Data Security and Cryptography class where we had an open ended project. I did mine on the Current State of Computer Security Awareness, for reasons I describe in the paper.
I also hold a minor in the Department of Psychological Sciences in Cognitive Psychology, which gives an invaluable background for Artificial Intelligence, a field which really interests me. My Psyc-392I (now Psyc-336) term paper,Ulysses, and my Psyc-526 term paper,Optimization of natural language processing, are available for browsel. My parser for Psyc-526 was updated for CS-471 and the resulting paper on Learning parsers is available. I also did undergraduate research in psycholinguistics while I was there. It wasn't as much fun as my CS research: it basically involved monitoring subjects (freshmen, white mice: the only difference is the paperwork) while they tried to identify if a sound was a word or not under differing levels of noise. Okay, you probably don't think it's that exciting, but it's really cool to see first hand how the human mind works.
I have managed to always find jobs that interest me. I can't say that I'm lucky enough to have enjoyed all the jobs I've ever had, but if I haven't, it's never been because I didn't like the work. My first job in high school was working in a local photo lab being one of the guys who develops your film in just one hour. (Here's a tip: if you only give them an hour to do it, they don't have time to reprint the bad ones - leave it overnight.)
My first job in college was being an undergraduate TA for CS-150 (which became CS-152/4, last I heard), Fortran programming for scientists & engineers. I started teaching it just as the curriculum was being switched from Fortran 77 to Fortran 90, which is how I became a big fan of F90. I can't really stand F77 anymore as a result. In fact, I developed some of the projects and tests that first year, which was a blast (well, not all the students agreed - but the ones that came to my study sessions seemed to do pretty well). Pretty soon I was a CS Undergraduate Lab consultant. I loved that position because I love both helping people and computers, and that position allowed me to do both of those things. It seems that at that point I just starting collecting jobs. I was one of the BTV Operations Assistants, providing entertainment and information to the Purdue Campus. I also did some tutoring for freshman programming, and even ran tours for my Residence Hall (The Quad) in the summer.
My last semester in school (as if I wasn't busy enough), I started interning at mdbs, where I continued on full time for a year after graduation. My first task there was to help port GURU to run in the Win32 environment natively. Prior to working at mdbs I was a supporter of Microsoft and NT was my OS of choice. After getting an enterprise class system like GURU running in NT and 95, I have a strong distaste for them now. My last few months at mdbs, I started working on a rules engine for their flagship product, Titanium. The basic premise, that a rules engine could be naturally grafted on top of, and taking advantage of, the core Navigational database in Titanium, for which we eventually obtained a patent.
Before I could finish implementing the system though, I got an offer I couldn't refuse from Lawrence Livermore National Lab. You can read about my experiences there on this page.
My interests are computing, first and foremost. I also enjoy photography and biking, neither of which I've been doing much of lately. When I was in school, I was active in my hall's executive council as both the president of the Cary Photo Imaging Club (CPIC) and as general manager of WCC-TV. I was the membership chair of the Purdue student chapter of IEEECS and held numerous chair positions for the Purdue chapter of ACM as well. I spent many a Thursday night at the Purdue Animation Club. Finally I belong to two honour societies: Phi Eta Sigma and Upsilon Pi Epsilon.
|Biography||Contact Information||PGP||Projects||Geek Code||Audio Visual|
|The Meaning of Zow||Global Thermonucular War|