hackbod@angryredplanet.com
http://www.angryredplanet.com/~hackbod/
My current resume is available online at
http://www.angryredplanet.com/~hackbod/resume/
PalmSource, Inc.
- Manager, Application Frameworks. November 2001 to present.
Supervisor: George Hoffman.E-Mail: <george.hoffman@palmsource.com>
.Be, Inc.
- Apps Team Manager and Framework Engineer. November 1999 to November 2001.
Supervisor: George Hoffman.E-Mail: <george.hoffman@palmsource.com>
.Visual Insights
- Software Developer, Visual Insights, Lucent Technologies. January 1997 to October 1999.
Supervisor: Paul Schuster.E-Mail may be: <pschuster@ameritech.net>
.Bell Laboratories
- Research Internship, Visualization Group. Summer 1995.
Supervisor: Stephen G. Eick. Visual Insights.
PalmSource, Inc.: Managed a software team, varying from 5 to 9 people, responsible for the new core frameworks in Palm OS Cobalt, a rewrite of the Palm OS software to provide a secure protected memory system. My team's work included the design and implementation of C++ multithreaded code for a new operating system component framework, rich 2d rendering package, distributed window manager, compatibility layer for the traditional Palm OS application APIs, and a variety of mid-tier system services such as input, power management, application management, etc.
My main responsibilities were to serve as the primary architect for the areas my team was responsible for, interact with marketing to determine requirements for our areas of the system, work with program management to create and track my team's work schedule, and to interact with other engineering groups to help them use our toolkits and address their needs. I also had my hand in a significant amount of the software that we were developing, and wrote and maintained documentation on our APIs. In addition, I pushed a number of process changes in our larger organization, such as the adoption of a Wiki for collaborative design and maintaining technical material (very useful because I had a number of remote engineers in my group), and the use of Doxygen for writing and maintaining API documentation.
Some novel aspects of my team's work were:
Be, Inc.: Implemented a new messaging mechanism for an existing platform API. Maintained an existing font cache package (built on top of a 3rd party font engine), and added new features such as character-level dynamic font substitution. Maintained an existing application/GUI framework and helped design a new component-based framework architecture. Wrote an extensible application for viewing and editing program resource data. Implemented a system-level tool for monitoring how a multithreaded program acquires locks and use that information to predict locking operations that can lead to deadlocks.
Visual Insights: Contributed to the development of many C++-based ActiveX visualization components, including an architecture for multiple level undo/redo, improvements to the visual look and user interaction of many components, design of the underlying data storage classes, and productization of the Exploratory Data Visualization application.
ArpCommon: An open source class library for the BeOS platform. See http://www.angryredplanet.com/beos/ARP/. Includes classes for managing and configuring add-ons, FFont for flattening fonts into messages, and a BView layout architecture. Used to implement ArpTelnet, an open-source terminal emulator.
SeeBills: While at Bell Laboratories, designed and implemented a tool for viewing large-scale call data. Includes animation and multiple highly interactive, interconnected views. With three other people, received U.S. patent #5,850,531, for a scrolling and zoom control.
World Wide Web: HTML markup, Java, Web protocols; research was in Interactive HTML, a browser extension to implement a language-neutral mechanism for client-side scripting. This includes an X widget layout system integrated with the Python programming language.
MS in Computer Science completed in January 1997.
Working under Dr. Cherri Pancake.E-mail: <pancake@cs.orst.edu>
3.82 GPA at Oregon State University, Corvallis, OR.
BS in Computer Science, June 1994.
BS in Electrical and Computer Engineering, June 1994.
3.69 GPA at Oregon State University, Corvallis, OR.
Languages: Current primary language is C++, with some past experience with Java, Python, and assembly.
Operating systems: Primarily Windows (and our in-house OS), with past experience in BeOS, AmigaOS, Unix/X-Windows, and Windows COM/Active-X facilities.
Object oriented design and implementation.
Multithreaded programming, including debugging tools, deadlock prevention strategies, and general design approaches.
Development for embedded systems.