Note: The names of the consulting clients in this list are considered proprietary information of Sharp Programmers, and as such, under no circumstances is this list to be disseminated to any persons or party without expressed permission from Sharp Programmers.

        Sharp Programmers

SGI, Mountain View, CA  1/00 - 3/00
Participated in the development of modifications of the Redhat Linux releases for manufacturing installation on x86 based SGI servers.  Creation of installation CD and manufacturing "master" disk image.  Helped develop SGI's Linux strategy for Intel's 64-bit Itanium processor as well as worked on the Itanium Linux kernel development and debugging.

Hal Computer, Campbell, CA  12/99 - 4/00
Project leader.  Led two other developers in the development of a special micro kernel which would be used for bringup and testing work on their forthcoming processor, code named Denali, due out Q1 2001 and intended as a UltraSPARC-3 beater.  Performed the bulk of the development, planned the testing and debugging, worked with CPU architects to run the microkernel on the Verilog simulator for debugging.

Fujitsu Software Corporation, San Jose, CA  8/99 - 12/31/99
Project leader porting Sun Solaris 8 to UltraSPARC-II "compatible" processor from HAL.  Lead team of four kernel developers in porting Solaris8 to HaL's "Stingray" processor, which is compatible with Sun's UltraSPARC-2 processor at the application/user level, but has it's own proprietary memory management, register set, floating point instructions and cache architecture, requiring a serious amount of porting of the operating system kernel.  Changes are packaged and included on the Sun Solaris CD that ships with every Sun (and Fujitsu) computer.

Accrue Software, Sunnyvale, CA  8/97 - 12/31/98
Modified two platform versions of a network collector program: created one portable architecture program that built and ran on 4 platforms (Solaris, IRIX, FreeBSD and NT) without the use of #ifdefs.  Ported Accrue's web site tracking enterprise application ("Insight") to Windows NT from Solaris.  Large body of C, Perl, Java and shell scripts.  Completely replaced the data warehouse accessing method in the large number of Perl CGIs as well as modified the entire product line to be installable in any arbitrary directory on the target system.  This application included an embedded Apache web server and the Redbrick Data Warehouse system (now owned by Informix).  Several other sundry projects including redoing the build process and Makefiles for the entire product to achieve a 4:1 reduction in build time.

Veritas Software, Mountain View, CA     several projects from 4/96 on
Ported Veritas' VXFS high performance Unix file system and HFS (Hierarchical File System) product offerings to Unix SystemV 4.2 SMP kernel running on a MIPS processor based MP platform.

Added multiple filesets feature to Veritas' existing file system utilities (fsck, ncheck, icheck, dump, restore, mkfs, mount, ff, fsdb, etc.)

Ported/converted the VXFS file system to 64 bit design, both to run on PA-RISC/IA64 processors but also to support ultra large (in excess of 4 terabytes) file systems.  This included the on disk structures as well as all the kernel code and file system utilities.

Hewlett-Packard, Cupertino, CA          11/95 - 2/96
Assisted kernel development engineers in the implementation of user threads.  Primarily in the areas of testing and debugging.  "Davis" (10.?) and "Sacramento" (11.0) releases of HP-UX.

Digital Video Art, Cupertino, CA                -ongoing-
Sundry projects: kernel, NFS and SCSI driver development and consulting work on SGI workstations; developed and taught Windows/NT device driver writing class; Windows/NT programming; Windows 95 VxD programming.

Marble Associates, Baltimore, MD                2/95
Senior IT Consultant.  Smalltalk mentoring and programming for USF&G.  First time conversion of large team of COBOL IS programmers to Smalltalk programmers.  Consulted on the enterprise application architecture as well as one-on-one advising and mentoring to the managers and programmers.

FirePower Systems, Menlo Park, CA               4/94 - 10/94
Member of Windows NT bring-up team for FirePower's (formerly PowerHouse) single and dual PowerPC-based hardware.  Windows NT HAL development and debugging.  New processor silicon (PPC 603 and 604) debugging.  Developed Windows NT (kernel) drivers for SCSI (miniport), ethernet(NDIS), serial, parallel, and floppy.

Sun Microsystems, Menlo Park, CA                1/5/94 - 3/18/94
Fixed customer reported kernel bugs in four different versions of Sun's two different operating systems, BSD-based SunOS and SVR4-based Solaris 2.3.  This group at Sun provided a bridge between top level Answer Center tech support people and Sun software development engineering.  We developed fixes for the bugs and then sent the fixes to the appropriate development team for inclusion in the next release.

Marble Associates, Dayton, OH           2/93 - 9/93
Manager, consulting team.  Managed a ten person consulting team providing NCR's computer division with technology consulting on a massive reengineering of its order entry, customer service and demand planning business processes, which would require that all new supporting applications be developed simultaneously and quickly.  Required management expertise, and technical skills in the areas of enterprise-level application architecture design and development, and enterprise computer system and network architecture. Primary responsibilities included advising the NCR executive staff on project management, design, scheduling and status, and mentoring the managers of the project on infrastructure and software architecture issues, including the design of an enterprise wide heterogeneous WAN to carry the applications and data. Ability manage a large group of IT programmers and consultants, programing in Smalltalk and C++, design enterprise-wide network/computer systems, and extensive knowledge of object-oriented design, development and management methodologies was required.

Wyse Technology, San Jose, CA           9/92 - 12/92
Contracted as a temporary member of the Unix kernel engineering staff to help the client release their new kernel on schedule.  Kernel was a modified version of SVR4.2 MP with a custom multi-threaded Streams implementation.  Primary duty was to fix bugs from weekly bug problem lists which were generated by SQA staff, Technical Support, Engineering and customers.  Problems ranged from bugs in I/O drivers to virtual memory bugs to file system bugs, but main responsibility was for problems that caused kernel panics or hangs.  Most dealt with MP related issues.  Client had two distinct i486-based SMP architectures as well as a uniprocessor architecture utilizing the EISA bus.

Marble Associates, San Jose, CA         10/91 - 12/91
Designed and implemented Unix SVR4 and SVR3.2 drivers for an Optical Character Recognition board in a i386 ISA bus hardware environment.

Designed and implemented client-server Objective-C NeXTStep program similar to email for distributing, storing and organizing phone messages.

Other sundry NeXTStep software projects.

Soulbourne Computer, Boulder, CO        7/91
Member of a three person consulting team that conducted a performance analysis of customer's multiprocessor-modified BSD-based SunOS Unix operating system.  Produced a consultation report for kernel enhancements and modifications to increase system performance.

UNISYS/Convergent, San Jose, CA         12/88 - 6/91
Wrote ethernet drivers (SVR4-MP streams-based) for several different controllers for customer's under-development 486-based asymmetrical MP platform.  Included debugging the new hardware and new MP Unix software in the lab to get drivers (and the hardware) working.
Ported asynchronous tape driver to Unix kernel to allow QIC and DAT tape drives to stream when backing up disks with the cpio(1) and tar(1) utilities.

Performed extensive performance evaluations and enhancements of SVR4-MP (Intel consortium) kernel.  Became quite familiar with industry common benchmarks including Whetstone, Dhrystone, AIM, Neal Nelson Business Benchmarks, SPEC, TP-1 and others.  Developed custom benchmarks for analyzing I/O system performance.  System tuning and kernel changes increased AIM system benchmark results anywhere from 50 to 100 percent.  Official benchmarks performed by AIM rated customer's machines in three out of the top five spots of the best price/performance Unix servers in their class, including the number one slot.  Sales tripled.

Developed Unix based PC networking product similar to SAMBA which included two different types of network file systems.  Responsible for the release of the product on the client's i386-based server product line.  Ported release to client's Motorola 68040-based server product line and managed all aspects of release cycle. 

Hewlett Packard, CA                     8/88 - 12/88
Developed real-time test programs to exercise and verify the features of an eight port real-time serial communications driver for a real-time intelligent I/O interface in a PA-RISC based minicomputer running HP-UX (Unix).  Developed real-time programs with a cross C compiler on host mini.  Intelligent real-time I/O controller featured an Intel 80186 microprocessor and 1/2 MB of RAM, the pSOS operating system and a custom I/O system.

Dataspec, San Jose, CA                  8/86 - 1/89
Developed assorted Unix based applications for client's customers.  C, lex, yacc and make programming, often using advanced Unix features, such as shared memory, messages and semaphores. Developed and implemented such applications as SNA 3270 terminal emulators, custom database applications including design of the database, and custom user interfaces. Designed and implemented a Unix application to activate electronic pagers.  Application was spooled and very user-friendly (used by secretaries to page field service personnel).  Developed several DOS interrupt-based drivers, mostly so we could implement communications and networking to DOS clients.

Sun Microsystems, Federal Division, Milpitas, CA  11/87 - 1/88
Backported C2 secure Unix kernel features from a pre-release SunOS kernel (SunOS 4.0) to the current version (SunOS 3.5).  Included adding new system calls, C library calls, and new utilities.  Backported C2 code features to many Unix utilities including all internet services such as ftpd, telnetd, rlogind, etc.

ADS, Inc. (now Verity), Mountain View, CA       11/86 -4/87
Member of a three man team implementing an advanced rule-based text retrieval system in C (the product is now called "TOPIC" and marketed by Verity, Inc.) on the IBM PC-AT architecture.  Implemented a stack machine "compiler" internally into the application that translated a program into 80286 machine code and then transferred execution flow to that new code. Advanced MS-DOS and C language programming, and 80286 assembly and machine language programming (hand assembly).

KLA, Inc., Santa Clara, CA              8/86 - 9/86
Updated and debugged large Unix application. Included debugging custom communications protocols for interfacing with KLA's wafer mask inspection equipment. Application gathered and stored large amounts of numerical data using C-ISAM interface to Informix database.  Provided customer with modern software development strategies and methodologies to help them raise the productivity of their development group.

Information Systems and Networks, Washington, D.C.              2/84 to 5/84
Senior Consultant for "beltway" consulting company.  Implemented a custom BSD Unix driver for DEC RA81 disk drives including special programs to allow VAXs to boot from these unsupported drives.  Manager installation and administration of the WAN connecting many diverse Unix-based computers.