From Recess to CS

I became interested in programming computers at an early age. In 6th grade, my teacher Mr. Hunt took us into the Apple lab and showed us how to write a simple counting program. Not having a computer in our home, I found myself bugging my friends to use their computers. That year I engaged in my first significant project, which was a fairly impressive animation of a dog... well that's not important. Richard Wong was my co-conspirator (this pic, left).

My first computer was a Ti99 which I bought from Marc Gustafson for $20 (same pic, right). The Ti99 was one of those fancy jobs that had both a keyboard and a slot for console cames such as Parsec. You hooked it up to a TV, and the best part was that you could save your programs onto cassette tapes.

In Junior High, I continued to program as a hobby and also started and operated a Bulletin Board System called The Ice Age. In addition, my friends and I spent quite a few hours playing the earliest first person shooter games such as Doom. Later, in High School, I took AP Computer Science classes and begin to learn about data structures, algorithms, and memory management in C/C++/ASM. They were quite good classes for the High School level.

Keeping with the same theme, I next earned Bachelors and Masters degrees in Computer Science at the University of Texas at Dallas. While studying, I interned for about 25 hours a week at two telecom companies (not at the same time mind you). While College is probably the time that many nerds are really getting into computers, I was actually spending more time with other activities. I did however get a great deal of enjoyment out of a few independent studies, which focused on graphics programming and artificial intelligence (AI).

After graduation, I found the exact sort of job that I had hoped for but not thought I would find. Most CS students end up developing business end applications, but I desired a job that was more research oriented. I was hired at Language Computer Corporation (LCC), a company which researches Natural Language Processing (NLP). NLP draws on many fields including Computer Science, AI, Statistics, Linguistics, and others, in order to process human language towards some useful end. Search engines, voice recognition systems, and optical character recognition are all common forms of NLP.

LCC has been a great experience because I've been able grow tremendously while working on challenging problems with really intelligent people. Currently I serve as the project manager over several groups, which focus on a number of problems including Information Extraction and Question Answering. While I don't do much programming anymore, the position is very rewarding because I get to work on solving the problems at a higher level. Moreover, I appreciate the fact that the research and systems that we produce can be used our government in order to improve our country's intelligence and security.

While it isn't clear what the future holds, I suppose that my dream job would be to find some profitable niche problem which could be solved using the most recent of developments in NLP or AI. I think that entrepreneurial blood must run through my veins, and I can remember from a young age seeing my father tinkering and inventing in his shop.


Resume [2001]

Summary
Masters-degreed professional in Computer Science. Graduate studies emphasized computer networks. Strong programming skills in Java and C++. Certified Java2 programmer. Professional experience focused on Graphical User Interface development with Java Swing technology.

Technical Skills
Languages: (proficient with) Java, C++; (experience with) C, PERL, TCL, JavaScript, Pascal, assembly, various UNIX scripting languages, and several versions of BASIC
Network Specific: ATM, TCP/IP, SNMP, RMI, Unix sockets
Other Technologies: UML, HTML, SQL, CSS, XML, JDBC, RSA, OpenGL, and MFC
O/Ss: Windows 95/98/NT/2K, Solaris, Linux, DOS
Software Visual Café, Visual Studio, ClearCase, Visual SourceSafe, Install Shield, Xemacs, Vi, Photoshop, and Microsoft Office

Professional Experience
Language Computer Corporation Dallas, Tx Nov 2001 - present
Project Manager / Software Engineer
  • Manage a 15+ person Natural Language Processing R&D group, focusing on Information Extraction and Question Answering.
ADC Telecommunications Richardson, Tx Jan 1999 - Jun 2001
Gifted Student Industrial Practice Program Internship
  • Developed for and sustained two graphical, Java-based SNMP managers.
  • Increasing product usability through numerous GUI enhancements.
  • Improved performance by Swing converting the 100k-line AWT-based project.
  • Resolved hundreds of bugs by working closely with test engineers.
  • Performed weekly builds and releases. Customized existing Install Shield scripts.
  • Automated testing process of SNMP agent by writing dozens of TCL scripts.
  • Conducted extensive System Integration and Test with hundreds of test cases.
DSC Communications Plano, Tx Aug 1996 - Jan 1999
Gifted Student Industrial Practice Program Internship
  • Eliminated manual processes and increased manufacturing data availability through proposal and development of Java web-based database query tool.
  • Authored web sites, tested boards, assisted engineers, documented schematics.

Education
The University of Texas at Dallas Richardson, Tx
MS in Computer Science Aug 2001 Telecommunications Track
BS in Computer Science May 2001 Summa Cum Laude
  • Received the College Masters Award for Excellence in CS.
  • Graduated as one of the first Collegium V Honors students.
  • Established Psi Zeta chapter of the Chi Phi Fraternity as a founding father.
Significant Projects
Real-time 3-D bouncing balls sim (C++, OpenGL, MFC), distributed Internet chat app (P2P, Java, RMI), encrypted Internet chat app (Java, RSA, RMI), distributed file system (hierarchical, Java/VB, sockets), distributed chat meeting system (hierarchical, UNIX sockets and threads, C++/Java), two-edge and two-node connected graph generator (C++), Unix file system sim (C++)
Certifications
Sun Certified Programmer for Java 2 Platform