Brian R. Gaeke * 1961 Tia Pl., San Jose, CA 95131 * Mobile: 1-217-979-1997; E-mail: brg@dgate.org Objective * I aim to be an important part of a tightly focused and cohesive team in which I can help design, develop, maintain, and explain computer software. Education * Master of Computer Science, University of Illinois, Urbana-Champaign (UIUC). Completed Dec. 2004. GPA 3.935. Passed oral qualifying exam for the Ph.D. degree, Feb. 29, 2004. * Bachelor of Arts in Computer Science and Linguistics, University of California, Berkeley (UCB), with high honors in computer science and high distinction in general scholarship. Completed May 25, 2002. GPA 3.846. Academic Honors * Honorable Mention, Computing Research Association Outstanding Undergraduate Award, 2002. * I was admitted to the Phi Beta Kappa liberal arts honor society in spring 2001. * I was admitted to the Upsilon Pi Epsilon computer science honor society in fall 1999. Highlights * I have been developing programs with C since 1993 and with C++ since 1997. * I have 9 years experience in C & C++ debugger development. * I have 3 years experience in C & C++ compiler development. * I have 5 years experience as a Unix and Windows system administrator. * I have taught computer science classes at the undergraduate, graduate, and high-school levels. Recent Software Development Experience * Feb. 2005 - present: Systems Software Engineer, Green Hills Software, Santa Barbara, CA. Lead developer for JIT simulators for PowerPC and ARM targets. Responsible for maintenance and enhancement of core features of the MULTI Debugger and IDE. Developed, tested and documented Eclipse/CDT plugins for GHS compiler, debugger and simulator. Supported customers and other engineers by answering technical questions, diagnosing and fixing bugs, and providing patches. Responsible for testing of nightly debugger builds and maintenance of test scripts. Responsible for setup and maintenance of test machines. Responsible for CVS and Subversion version-control servers along with another engineer. Assisted recruiting department with college visits, interviews, career fairs, on-campus information sessions and testing. Mentored 2 engineering interns and 1 new full-time engineer. Computer Science Research Experience * May 2003 - Feb 2005: Graduate Research Assistant, LLVM Project, Computer Science Department, UIUC. Implemented a trace-based dynamic runtime optimizer. Implemented parts of the X86 static and JIT back- ends in the LLVM compiler. Implemented a control-flow visualization tool. * Oct. 2000 - May 2002: Undergraduate Research Assistant, IRAM Project, EECS Department, UCB. Performance tuning of benchmarks. Development of trace-based performance simulator. Supported by Lawrence Berkeley National Laboratory, National Energy Research Scientific Computing Center. Computer Science Teaching Experience * Spring 2003: Graduate Teaching Assistant, Computer Science Department, UIUC. Prepared and graded assignments for a graduate course in compilers. Overhauled Java-based teaching compiler. * Summer 1999: Undergraduate Tutor, Computer Science 61C (Machine Structures), EECS Department, UCB. Lectured (first two weeks) and taught daily discussion sections on topics in computer architecture and assembly language. * Summer 1998: Co-Lecturer, Academic Talent Development Program, UCB. Taught a Scheme and Symbolic Programming computer science course for Bay Area high school students along with Dr. Brian Harvey, EECS Department, UC Berkeley. System Administration/IT Experience * Aug. 1998 - Aug. 2002: Programmer/Analyst, Instructional & Electronics Support, EECS Department, UCB. Custom programming supporting EECS classes. Overhaul of course software for large undergraduate classes. System administration and user support for Unix and Windows NT servers & labs used by faculty and staff in the EECS department. Maintenance of vendor-supported and unsupported software, including CAD and software-development tools. Hardware upgrades and installations. Consultation with faculty/teaching staff to assess instructional needs. * Fall 1997 - Fall 1998: Vice President and Coordinator of Unix Help Sessions, Computer Science Undergraduate Association, UCB. System administration for 2,500-user FreeBSD server and workstations running DEC ULTRIX, FreeBSD, and Solaris. Organized and taught regular seminars on topics in computer science and system administration. Publicity, flyering, outreach. * Summer 1995 - Spring 1997: Member of Help Desk student staff, Cincinnati Country Day School, Cincinnati, OH 45243. Maintenance of: on-campus Ethernet, Sun Solaris-based campus-wide E-mail and World-Wide Web server, and Mac OS-based campus-wide AppleShare server. Help-desk technical support for 600 Toshiba Pentium-based Windows 95 laptops and two labs of Mac OS machines. Other Software Development Experience * Spring - Summer 1997: Contract Programmer, MIS Department, Channel 48 WCET-TV, Cincinnati, OH 45214. Designed, installed, tested, and documented a low-cost custom firewall and backup facility using free software. * Summer 1995: Contract programmer, University of Cincinnati College of Law Library, Cincinnati, OH 45221. Designed kiosk to allow law students to create their own web home pages. Open-Source Development Projects * May 2001 - present: I am the principal architect of VMIPS (http://vmips.sourceforge.net), an open-source MIPS R3000 whole-system simulator. * Sep. 2000 - Feb. 2002: I wrote, tested, and released WebNews (http://webnews.sourceforge.net), an open-source Usenet News reader written in Perl. WebNews is used by the Berkeley EECS department to give off-campus students access to class discussion groups. * May 1995 - March 1997: Volunteer support programmer, The NetBSD Foundation, Inc. Worked with the team porting the free 4.4 BSD Unix derivative, NetBSD, to the Motorola 68K-based Macintosh systems (NetBSD/mac68k): Maintained and enhanced the bootloader. Wrote first edition of bootloader manual. Implemented support for Farallon ethernet cards and various other kernel patches. Languages and Other Skills * English is my native language. I also have some ability to speak, read, and write in French. * I am familiar with the following computer languages: C, C++, Java, SmallTalk, MIPS, SPARC and X86 assembly, Unix shell-scripting, Pascal, Perl, Python, Lisp/Scheme, Tcl/Tk, HTML, and TeX. * I am comfortable working in Mac OS X, Linux, NetBSD, FreeBSD, Solaris, System V Unix, and Windows 2000 or later. References available upon request.