Lawrence has taken two paths through graduate school,
separated by a period of software engineering. While working in the
software industry, he has developed
software development tools, user interface and internationalization
software for mobile and consumer devices including cellular handsets,
and software applications. He is a strong believer in pragmatic
His current research is focusing on developing an archival
storage system to store and retrieve fixed-content data in an time- and
space-efficient manner. He has a wide range of computing interests in
computer systems, including storage, embedded systems, ubiquitous
computing, and device-based user interface design.
Lawrence was graduated from Stanford University with a
Bachelor of Science degree in Electrical Engineering and a Master of
Science degree in Computer Science.
Lawrence has worked in the software industry for more than 15
years working on a wide range of technologies, from desktop application
software to software development tools to object-oriented frameworks to
wireless application tools to graphical user interfaces and
Lawrence is currently a software engineer at Google.
Prior to returning to University of California, Santa Cruz to complete his PhD, he was a Software Architect for Pixo, a software startup, helping build the engineering organization from a small group of three to nearly 80 engineers. He helped develop three generations of software platforms for embedded devices that included cellular telephony handsets and MP3 players and also designing new parts of the server architecture. His work included user interface framework and application development, internationalizing for Latin and Asian scripts, and helping transforming the system from a custom-design framework into a design to become a general-purpose platform. A product that uses the Pixo platform is the Apple iPod MP3 player.
While at Metrowerks, Lawrence designed the embedded debugger architecture used in CodeWarrior for target and IDE debuggers and built several components including the TRK (Target Resident Kernel) and PowerPC embedded debugger. He also worked on numerous other products including debugging for PlayStation Net Yaroze, MIPS, as well as the mainstream products for Mac OS, Windows, and Java.
During a relatively long tenure working at Apple and Taligent, Lawrence learned about object-oriented development while building the CommonPoint development environment, cpProfessional, for use with the "Pink" project. He developed a significant portion of the client and server-based source-level debugger which included novel features like demand-based source level debugging, debugging multiple target architectures concurrently, and using view-based graphic presentations of dynamic runtime program state. Also while at Apple he was an engineer on the MPW (Macintosh Programmer's Workshop) development environment.
Here is a brief résumé:
2004-present Google, Inc.
1998-2002 Pixo, Inc. User interface software for cellular/embedded devices
1996-1998 Metrowerks Corporation: CodeWarrior debuggers and embedded
1992-1996 Taligent, Inc.: cpProfessional IDE debugger
1988-1992 Apple Computer, Inc.: MPW, cpProfessional IDE debugger
Write Lawrence for a complete and current copy of his résumé: <you at cs.ucsc.edu>.