Detailed Resume

Experience as 535 Consulting

Ingenuity Systems, Redwood City, CA 
Consultant for Professional Services December 2006 - present 

  • Implemented SOAP API (Spring web services) for a large customer to access some IPA functionality via web services. 
  • Implemented RESTful web services for a new product using JAX-RS (Jersey). 
  • Investigating solutions for single-sign on, identity federation, and interaction with OpenID for Ingenuity applications. 


Laszlo Systems, San Mateo, CA
Consultant for Application Development Organization August 2006 - November 2006 

Worked on new features  and fixed bugs in the next generation Diamond Rich Internet Application server product. This included request dispatching, MySQL database access using Spring and support for dynamic languages (Javascript via Mozilla Rhino, JRuby). 

Ingenuity Systems, Redwood City, CA
Consultant for Professional Services March 2006 - September 2006 

With the recent formation of Ingenuity’s Professional Services organization, I was hired as a technology expert consultant to do a variety of research, third party product assessment, initial design, engineering resource estimation and proposal documentation. As contracts were signed, I have moved on to working on the design, development and integration of Ingenuity’s web application product with a large customer’s existing enterprise infrastructure. 

Ingenuity Pathways Analysis (IPA) is a rich internet application using a client-side Java applet and Spring remoting to a large scale server-side implementation using J2EE with Spring AOP and object relational mapping, using a custom authentication/authorization mechanism. 

  • Designed and developed a solution to Integrate IPA with Windows domain (Kerberos 5) based single sign-on, and the customer’s central IS LDAP server for user authorization. 
  • Designed and developed a database schema and mechanism for extracting and converting data in Ingenuity’s Oracle 9i application database so it can be indexed by the enterprise customer’s FAST search engine. 


Ingenuity Systems, Redwood City, CA 
Consultant for Application Development Organization February 2005 – December 2005 

  • Implemented authentication and authorization mechanisms, session tracking and initial web application for user management for Ingenuity Pathways Analysis (IPA) 3.0 release. 
  • Designed and developed user authentication, authorization, concurrent user license enforcement and session tracking based on Acegi Security for Spring. 
  • Utilized the Spring Framework, iBATIS SQL Maps, and Spring JDBC for persistence using transactional Data Access Objects. 
  • Designed and implemented Oracle 9i database schema and PL/SQL stored procedures required for user, license and session management. 

  • PGP Corporation, Palo Alto, CA 

    Consultant for Information Services and Technology November 2004 – March 2005 

    • Designed and developed beta user program web application using Spring MVC, iBATIS SQL Maps, and JSPs, running on Apache and Tomcat with Oracle 10g. 
    • • Integrated with Cafesoft Cams policy server and web agents for security and single sign-on. 
    • • Used Spring, iBATIS SQL Maps, Struts, and JSPs to extend vendor provided user management program to better fit PGP’s needs. 


    Fathom Online, San Francisco, CA
    Consultant March 2004 - June 2004 

    Performed initial analysis and definition of architecture for web services / enterprise service bus based implementation of the Fathom Campaign Manager. Company reorganization led to the cancellation of this project. 

    Sausalito Software, Sausalito, CA
    Consultant February 2004 - May 2004 

    • Implemented server-side controller Java servlet and XML forms processing logic for beta Rocket Mobile Rocket Forms service, which allowed users to download forms to cell phones and submit responses to a server. 
    • Used MySQL, JDBC, XML (both SAX and DOM via JAXP), XSLT. Deployed via Tomcat 5. 


    Previous Work Experience

    Ejasent, Inc., Mountain View, CA
    Principal Engineer January 2000 - October 2002 

    • As a consultant – December 2001 – October 2002: Designed and began implementation of the Cluster Resource Manager, a java based application for managing load balancer and compute resources. Defined generic API and implemented Java code for management of Cisco CSS (HTTP/ SNMP) and F5 BIG-IP (iControl/SOAP/SNMP). 
    • As a full-time employee – January 2000 – December 2001: Responsible for design and implementation of the Global Dispatcher, a conglomeration of C and Java code integrated around the Cisco DistributedDirector product. Numerous Ejasent specific requirements precluded direct use of commercial product. 


    Détente Technology, Inc., Mountain View, CA
    Senior Consulting Staff July 1996 - June 1999 

    Détente Technology was a software consulting company that provided technology services to a wide range of companies. Cadence Design Systems acquired Détente for its Java development expertise in August 1998. 

    • Cadence - June 1999 – January 2000: Worked within a small group to architect and design the software components for the reference Home Infotainment Consortium (HIC) set top box. The HIC provided a Personal Java based application environment, including support of Java TV, JMF and DVB-J while performing media streaming in RTOS tasks independently from the JVM. 
    • On Site at SunSoft - July 1997 – June 1999: Actively participated in the design and implementation of new JavaOS features, including the Java System Database (JSD), used for configuration management, and the Java Device Interface (JDI). Both were targeted as industry leading, value added capabilities for network computers and appliances for the desktop, point of sale, and embedded system marketplaces. 
    • On Site at JavaSoft - July 1996 - March 1997: Implemented JavaOS 1.1 x86 development boot procedure using the Solaris 2.6 booter. Required fairly extensive documentation. Worked on new JavaOS features, including the configuration database and the device driver architecture. 


    Silicon Graphics, Inc., Mountain View, CA
    Member of Technical Staff April 1994 - April 1996 

    • Designed and implemented the software used to perform real-time, uncompressed video DMA for the Indigo 2 IMPACT Video product. Both 8- and 10-bit components were supported, as well as single link (YUV 4:2:2) and dual link (YUVA 4:4:4:4, RGBA, YUVA 4:2:2:4 etc.) uncompressed video streams. Work included both software within an IRIX device driver, and components for the Video Library.  Participation in board level and DMA controller hardware bring up was crucial. This product released on time for IRIX 5.3, December 1995. Ported the software to IRIX 6.2 to support the 64-bit R8000/R10000. 
    • Fixed bugs within and enhanced numerous areas of both IMPACT Video as well as the prior generation Galileo Video product. This involved working with some of SGI’s largest developers, working with hardware engineers, and managing the software patch release process.


    Scalable Technologies, Inc., Mountain View, CA
    Senior Software Engineer September 1993 - April 1994 (ceased operations) 

    Enhanced, debugged and ported the ClusterWare client-server product, used for load distribution among a heterogeneous network of UNIX systems. The underlying technology was Berkeley sockets based. Helped port to OSF/1, HP-UX, AIX, and IRIX 

    SHOgraphics Inc., Sunnyvale, CA
    Senior Software Engineer March 1993 - July 1993 (ceased operations) 

    Began design and implementation of a lightweight operating system for the next generation dual i860 based PEXstation. Completed initial system boot, integration of serial and keyboard device drivers, and initialized virtual memory. 

    Pyramid Technology, San Jose, CA
    Senior Software Engineer June 1990 - March 1993 

    • Responsible for designing and implementing the boot strategy for the next generation loosely-coupled, massively parallel system. Completed and met sign-off criteria for an extensive design document. Began simulation of system boot. 
    • Designed and developed a Stand Alone Kernel (SAK) for Pyramid MIPS R3000 based systems. The SAK supported the SVR4 DDI/DKI, Virtual File System, virtual nodes, signals, and a subset of SVR4 system calls, at the same time being a simple, primarily physical memory based operating system. 
    • Designed, developed and supported the Pyramid Stand Alone SHell (SASH), which was used to boot the MIServer S series systems from a variety of devices. The SASH was a MIPS R3000 based stand- alone program providing a virtual node layer, read-only UFS file system, TLB and cache management, low-level I/O routines, exception and interrupt handling and a user interface. Received 3Q92 Pyramid Quality Award for this product; for individual effort, engineering practices, documentation, as well as there being no customer reported bugs. 


    Hewlett Packard, Cupertino, CA
    Member of Technical Staff June 1985 – June 1990 

    • Performed HP-UX bring-up activities on the HP 9000/870 high-end PA-RISC based system. Achieved both uniprocessor and 2-way MP boot. 
    • Developed and supported stand-alone hardware verification tools. Completed investigation and report for a new low-level hardware test operating system. 
    • Developed and documented the Engineering Design Automation Network (EDAN) to take advantage of networked computer resources and provide an easy to use interface for the hardware design engineer. Programs, written in C using Berkeley sockets, and shell scripts comprised the original system and user interface. 


    Education 

    M.S. Electrical Engineering Purdue University, May 1985

    B.S. Computer Science  Michigan State University, June 1983