Garrick (Rick) Berger
Resume/Curriculum Vitae (Full)

GENERAL

Graphics (2d/3d) and UI developer, with deep experience in a wide range of technologies and platforms. Integrate well into existing development environment and technical base (for current endeavors.) Ongoing efforts to keep abreast of emerging technologies (for newer endeavors.)

Looking for either of following:

  • Short term (3-9 mo) development or technical writing position. Can work on-site/relocate for duration of project at own expense.
  • Longer termed development with ability to work off-site to perform majority of work. Can travel as necessary to support project at critical junctures.
  • Position that will allow me to leverage my experience to expand into adjacent/newer technologies, where possible.

SKILLS SUMMARY

Software Design Techniques:
20+ yrs - OO techniques, dependency/functionality isolation.
10+ yrs - MVC, design pattern terminology.
Software Development/Scripting Languages:
18+ yrs - C/C++
5+ yrs - PHP, Perl, JavaScript (ECMA) Script
2yrs - Java
1yr each - ActionScript3, C#
<1 yr - Python
Web Technologies:
10+ yrs - HTML, XHTML, DHTML/CSS, XML
<1 yr - J2EE/Struts/Tiles
Operating Systems:
20+ yrs - Windows, xNIX (Unix/Linux/BSD)
3 yrs - Mac OS X
Frameworks/Toolkits:
3D/2D: 20+ yrs - 2D/3D graphics technologies
15+ yrs - Open Inventor, OpenGL
Windows: 10 yrs - Qt (Certified Qt developer)
20+ yrs - MSDEV, COM/ActiveX, MFC, Win32API
<1 yr - .NET
Mac OS X: 3 yrs - Qt
Unix/Java: 10 yrs - Qt
2 yrs - Swing
Misc Web: CGI, Netscape Plugin, MFC, SSL, Apache, Flash-Flex/AS3
Ancillary:
Windows Internationalization, Technical/Proposal Writing

EXPERIENCE

Most recent experience to present:

Feb 2010 - Present
University of California, San Diego (UCSD) —
UCSD CPath View &mdash Application to display text/tabular information and 3D model on NokiaSymbian embedded platform:
  • Download .jpg file to a) display image, b) extract EXIF information (from downloaded .jpg), and c) display tabular data dadn 3D model on Nokia 3D-capable phone.
  • Leveraged Qt background to make Symbian environment comprehensible, given the short timeframe and funding available.
  • 3D features include:
    • Button manipulation for 3D transforms (no touch-screen available, this incarnation) – Rotate x,y,z, translate x,y, zoom.
    • Native Symbian widget for OpenGLES implementation.
      Qt does not yet support OpenGL directly on the Symbian platform – had to use native window driven by Qt based controller.
  • Documentation:
    • Source code documented w/ doxygen.
    • Set of session videos describing the (complex) development environment and how to build.
    • Overview paper to satisfy Nokia grant.
C/C++, Qt, EXIF, OpenGLES, Windows, Nokia Symbian embedded platform)
Feb 2009 - Feb 2010
KIS Systems — Mesquite, NV
Facebook project Active Biorhythm.
  • Provides Facebook users with 'active' charts to compare their biorhythm values with that of their 'friends'.
  • Demonstrates 'active charting' capability (Google Analytics-style charting) with rollover and other mouse effects to display data or provide pop-up information at various points on the graph.
  • Interfaces with Facebook's RESTful-like API to provide services such as 'friends' lookup, use Facebook persistent storage mechanism, etc.
  • (Preparatory effort to investigating emerging 3d frameworks on Flex3 platform.)
(ActionScript3 on Adobe Flex3 framework, Facebook API, REST client)
Mar 2008 - Dec 2008
University of California at San Diego (UCSD) &mdash Protein Data Bank
Dual-role, developing desktop and complementary web application software:
  • Desktop:
    • Re-architected group of 3d molecule viewers that had diverged significantly — unified entire codebase under a coherent architecture (merged app-frame-document / model-view-controller architecture.)
    • Introduced more rigorous software engineering practices to above, including updating documentation via javadoc and initiating unit testing framework.
  • Web:
    • Updated web site as needed and re-implemented Java Web Start mechanism to deploy viewers.
    • Web Analytics (via Google Analytics) effort which involved defining a large suite of back-end regular expression filters to re-organize site URLs into 'CEO' friendly output. Also instrumented a significant amount of the J2EE codebase to actively track specific user actions on the site.
  • Documentation:
    • Source documented w/ javadoc
    • Architecture and overview provided in Wiki form (for ultimate open-source distribution.)
(Java J2SE on Mac/Windows/Linux, JOGL (Java OpenGL), Swing on Mac, Windows,
J2EE/Struts/Tiles, SVN, Google Analytics, some Python, XML, HTML, etc.)
Sep 2007 - Mar 2008
KIS Systems — Mesquite, NV
Open source projects, demos, and web updates:
  • QXListView &ndash Qt 'Active Listview' component.
    • Component that provides ability to create very large lists with 'active' (checkboxes, radio buttons – other 'click' type) columns that can be activated or status changed without clicking twice. (Important because it is very resource efficient – only a single widget in the implementation vs. potentially thousands.)
    • (Open Source – source available on Source Forge (soon to be moved to Gitorious.) (Usage video viewable on YouTube.)
    • Documented w/ doxygen and HTML overview pages.
  • Qt/Open Inventor financial animation simulation
  • Miscellaneous web updates
(C++, Qt, on Mac/Win/Linux,
PHP, XHTML, Apache, MySQL on FreeBSD under IE, FF, Safari browsers)
Jun 2006 - Mar 2007
Schlumberger/Western Geco — Houston, TX
Ocean/Petrel Seismic Visualization software. Added features to product:
  • Animation sequencer &ndash generic implementation. Used to provide texture animation over 3D geometry.
  • "Statistical Histogram Selector" - ability to dynamically select out points on a 3d surface using interactive sliders on histogram set. Intense UI/interactivity and optimization requirements.
  • Dynamically modify 3d surface tesellation (ROAM algorithm), progressing from fine to coarse depending on viewpoint (while interactively manipulating camera.) Very intense optimization requirements, some UI development for schematic visualization and feedback analysis.
(C#/.NET, Ocean/Petrel, OpenInventor/OpenGL on Windows,
C++, Qt on Windows for schematic visualizers, feedback components, and tests/provers)
Jan 2005 - May 2006
(Sabbatical project)
Designed and built website e-zine scribi.com (since morphed into a blog hub.)
(PHP/Apache on FreeBSD OS, XHTML, DHTML, CSS, XML, JavaScript, PayPal Merchant Toolkit (SOAP/WSDL), RSS, Google Sitemaps.)
Jun 2000 - Jan 2005
Pfizer/Agouron Pharmaceuticals — San Diego, CA
Molecular modeling application (initially called QuikVu, but name changed to MovIt.
Very large coding effort consisting of bio-informatics mathematical base with 3d visualization tool:
  • Performed initial port from Unix platform to Windows platform.
  • Provided Open Inventor expertise and guidance.
  • Key participant in complete re-design of product, providing input on architecture, Open Inventor usage, and adoption of Qt for cross-platform UI implementation.
  • Designed and implemented main page layout and components.
  • Tuned and implemented product-side communications with web-server for asynchronous download of molecule directory information, including descriptions and 'just-in-time' retrieval of images.
  • Perl scripting for configuration management issues.
  • Ongoing support and bugfixes.
  • Source documented in doxygen
(C/C++ on IRIX/Linux, ViewKit, MSVC++ on Windows, Qt on both platforms, OpenInventor, XMLRPC, XML, HTTP, sockets.)
1995-2000
Template Graphics Software &mdash San Diego, CA
Developing applications and providing low-level support for graphics programs on Windows, Unix, and Mac platforms. Highlighted projects were:
Zap Plugin
Netscape plugin for display of 3D graphics on webpage, using OpenGL. Ported to MacOS (classic) with additional bugfixes and support for Windows.
(C/C++, MSDEV, Mac Toolkit, OpenGL, Netscape Plugin ToolKit on Windows, Mac)
Codename 'Qbert' Prototype — TGS/Nova Development Corporation
Defined and implemented bridge architecture for product to run on MacOS (classic) and Windows.
(C/C++, PowerPlant, Metrowerks C++, MFC,MSDEV, OpenInventor/OpenGL on Windows, Mac)
Open Inventor for Macintosh
Ported TGS' Open Inventor product to the MacOS (classic) platform.
(C/C++, PowerPlant, Metrowerks C++, MFC, MSDEV, OpenInventor/OpenGL on Mac)
LiveWork3D
ActiveX control for displaying and manipulating 3D pictures and animations in embedded scenario, such as Word or PowerPoint documents.
(C/C++, MSDEV, MFC, OpenInventor/OpenGL on Windows)
3SpaceManager — TGS / JCNLand, Japan (Japanese)
Rescued project from previous contractor, who had abandoned the effort, taking source with him. Re-fixed bugs and enhancements from prior source versions, fulfilled internationalization requirements, salvaged ActiveX control code and allowed for full rebuild and continuation of project. Restored customer's confidence in TGS' ability to complete the project.
(C/C++, MSDEV, MFC, Windows Internationalization on Windows)
3SpaceAssistant — TGS/Digital Equipment Corp (now Compaq).
Developed 3D web browser: runs as standalone browser, or as in-place active COM object (in Word and PowerPoint), or as ActiveDocument object in Internet Explorer. Seamlessly interacts with IE to present OpenInventor and VRML models.
(C/C++, MSDEV, MFC, OpenInventor/OpenGL on Windows)
IVF (Open Inventor Framework) — Template Graphics Software
Open Inventor class framework to parallel and enhance MFC's Document/View architecture. Allows MFC developers the ability to generate 3D applications easily. Consists of two major items:
  • Class Library that parallels and works in concert with MFC.
  • MSDEV Wizard extension that creates framework application from within MSDEV.
(C/C++, MSDEV, MFC, OpenInventor/OpenGL on Windows)
A3D to Standardized API Adapter — Nasa Glenn/Lewis Research Center
Wrote adapter to allow NASA proprietary programs to run standardized 3D API on UNIX platforms (NASA system was written on IBM Mainframe). Requirement was to support legacy software in transitioning hardware environment.
(C/C++ on Unix)
1990 - 1991
Megatek Corporation &mdash San Diego, CA
Software support for graphics card product.
  • X-Windows (port) debugging.
  • Prototyped in-house document control system.
(C on Unix)
1987 - 1990
Sedona Software &mdash San Diego, CA
Software development services for various clients. Interesting projects were:
Mapping Overlay System — Ciba Geigy Corporation.
Adapter inferface to read .dxf files (AutoCad) and draw using standardized 2D API. Allowed company-wide viewing of various layers of environmental SuperFund site data managed by Ciba Geigy.
(C, MSDEV, Tel-A-Graf on Windows)
Project Manager Product — Symantec Corp.
Part of contract development team for project management software product, developed for Symantec. Involved 2D graphics development, language development.
(C, MSDEV on Windows)

EDUCATION

BS Geology - Mesa State College, Grand Junction, CO

REFERENCES

Available on request.


Member number: 9408
Additional Contact information is available on the Profile Page.
Software Contractors' Guild (www.scguild.com)
Copyright(c) 2009 Software Contractors' Guild, 3 Country Club Dr, #303,Manchester NH USA 03102