Frank Edward Barrus barrus@bell-labs.com http://www.csh.rit.edu/~shaggy OBJECTIVE: To obtain a full-time position that challenges my experience in Computer Science, Compilers, Operating Systems, Networking and Systems Software EDUCATION: Master of Science/Bachelor of Science Rochester Institute of Technology , Rochester, New York Thesis: Dynamic Encapsulation of C++ Objects for Distributed Object-Oriented Systems Major: Computer Science Concentration: Systems Software Non-CS Concentration: Computer Engineering GPA: MS: 3.7/4.0 (coursework completed in May, 1996) BS: 3.3/4.0 (coursework completed in May, 1994) ________________________________________________________________________ SKILLS: Operating Systems and Environments UNIX (Linux, Solaris/SunOS, Ultrix, OSF, BSD, SysV, IRIX), X-Windows, Plan9/Brazil, Inferno, VMS, Windows 3.1/95/NT, MS-DOS Programming Languages and Tools C, C++, Limbo, Pascal, Modula-2, Eiffel, Lisp, Parallaxis, Occam, Prolog, Icon, Basic, StrongARM, 80x86 (16/32-bit), VAX, 6502, and 680x0 Assembly Language, Yacc, Lex, Bourne/Korn Shell, C Shell, awk, sed, troff, RCS, SCCS, CVS ________________________________________________________________________ WORK EXPERIENCE: 6/97 - present Kernel Developer, Bell Labs, Lucent Technologies, Murray Hill, NJ Ongoing development of the Inferno operating system, including core kernel work, device drivers (touch screen, flash memory, LCD, IR keyboard, UART), custom boot loaders (with PCMCIA, ethernet, BOOTP, TFTP), and monitors. Extensive experience with the StrongARM SA1100 and SA110 processors, (including some compiler optimizing and debugging). Performed initial port of Inferno to several prototype SA1100 boards, including debugging of hardware defects. Worked on a consumer device (IS2630 internet screen phone) from initial concept through final production. 6/96 - 6/97 Software Engineer, Xerox Corporation, Rochester, NY Developing and maintaining Windows NT/95/3.1 networking software in C/C++ for the Client Technologies Group. Also porting network printing systems from Solaris to Windows 95/NT. 6/92 - 1/96 Student Programmer, Information Systems and Computing, R.I.T. Developed/maintained a script-driven Telnet/TN3270 emulator in C (for connecting to the Student Information Services, DowJones, and other remote services) and account management software for DCE. Also installed and administered a DEC Alpha with OSF/1, and tested SLIP/PPP systems. 11/91 - 5/92 Programmer (Co-Op), Computer Consoles Inc., Rochester, NY Wrote test software in TALE (a C-like language) for testing various telephone switching equipment. 3/91 - 8/93 Software Engineer (Co-Op and Part-time), Mitre Corporation, Bedford, MA Designed/implemented a global topographical mapping and radar masking system in C/X-Windows, for use with a radar tracking simulator. Installed/administered two SGI workstations. Had a Secret-level government security clearance. Part-time after 8/91. 9/90 - 11/91 UNIX/Sun Lab Assistant, Computer Science & Information Technology, R.I.T. 6/90 - 10/91 Programmer, Integral Computer Systems, Thompson, CT 7/89 - 9/89 Programmer, Data General, Westboro, MA 1/89 - 6/89 Software Developer and Project Leader, Westford Academy, Westford, MA PROJECTS: JakeDev (VAX operating system), 1990 Researched and led a C.S.H. project to develop an operating system for Jake, a spare VAX 11/780 machine. Included drivers for MassBus devices. KimsDev (X-Windows porting), 1991 Reverse engineered the graphics subsystem in the KIMS workstations that were donated to C.S.H., and helped port an X-Windows server. Shag/OS (1st version, in C), 1992 A portable object-oriented microkernel operating system with dynamically loadable kernel objects. Implemented for the VAX (MicroVAX and KIMS), and Intel (80386/486) architectures. http://www.csh.rit.edu/~shaggy/shagos.html ACE (Atari Computer Emulator), 1993 Executed Atari 800/XL/XE software on Unix/X-Windows and SVGA systems. Full emulation of the 6502 microprocessor, custom graphics chips and peripherals, including device timings, and a Parallel/SIO cable for interfacing Atari hardware. http://www.csh.rit.edu/~shaggy/software.html#Atari SOLO (ShagOs LOader), 1994 An operating system loader for Intel 80x86 PC's, with a device and file interface, shell, debugging commands, exception traps, and 32-bit protected-mode interface for 'ELF' and 'a.out' executables. http://www.csh.rit.edu/~shaggy/software.html#SOLO ShagRend3d (SIGGRAPH '95 in LA), 1995 A 3-D rendering system in C++, complete with Gourad shading, for C.S.H.'s virtual reality display. ShagOS (2nd version, in C++), 1994-1996 Redesigned and rewrote the ShagOS operating system in C++. An ongoing project, currently implemented on Intel 386/486 PC architectures. Main design goals were portability, small size, and abstract interfaces that allow very flexible and powerful generalizations, including network distribution of objects. CParse, 1996-1999 A C/C++ Parsing system implemented as a collection of classes that abstract the parsing from the interpretation of the parsed program. Can be used for writing C and C++ interpreters, compilers, preprocessors, and program analyzers. DECO, 1996-1999 Dynamic Encapsulator of C++ Objects; the core building block of future ShagOS work. Allows dynamic objects to be built from C++ code, using CParse to preprocess the structure and type information needed for object access and conversions. shacc, 1997 A parser generator with a yacc-compatible syntax that handles many parse trees that cannot be parsed by LALR(1) parsers like yacc. This was an essential tool for CParse to correctly parse standard C++. Misc, 1984-1996 VT100/ANSI Emulators with X/Y-Modem File Transfer Protocols, Voicemail, Atari RS232/SIO Interface, Multi-Tasking BBS Software, Graphics/Animation Engines, Neural Networks, ProDraw, IBM Graphics Emulation for Wang PC, Sound Digitizers, Atari OS Enhancements, Wang PC SpaceWar, OOPL, ShagTerm, and many more. ________________________________________________________________________ HONORS: Stanford University Attended a summer program on scholarship in 1987, and learned the fundamentals of Lisp and Artificial Intelligence on Macintosh systems. Scholarships Nashoba Valley GenRad math/science scholarship, two computer scholarships, and recognition as the top computer student at Westford Academy. Advice and Assistance Student Representative for the Westford Computer Advisory Committee and the Teaching Assistant for structured programming courses for two years. MEMBERSHIPS: Computer Science House (C.S.H.) Alumni member of the Computer Science House at R.I.T. Developed C/C++ Unix software for the House, including several databases, operating systems, an X-Windows server port, an early version of the 'Drink' network protocol, and 3D rendering systems for the VR project. Also assisted in maintaining and administering the House systems, including VAX 11/780s, CCI Tahoes, and MicroVAXes. Joined in 1989. IEEE Member of the IEEE and IEEE Computer Society since 1989. Have utilized their resources to stay current in many research areas. ________________________________________________________________________ PERSONAL INTERESTS: Hiking, camping, nature, cooking, music, environmental concerns, painting, playing guitar, roller-blading, Eastern philosophy, and Zen meditation. Prepared for the Future: I have worked with a variety of systems and techniques, and can quickly adapt to a wide range of new hardware, operating systems, programming languages, and development concepts. References available upon request This resume is available in full postscript form from: http://www.csh.rit.edu/~shaggy/resume/shaggy.ps (please print the postscript version instead of this text version)