I thrive on solving difficult problems and making things that work.
Build things only as complex as needed, and get things done that count. The
perfect is the enemy of the good enough. Do what is needed with quality and
performance and no more.
Making systems that can scale for the largest enterprises in the world with
high performance.
Expert at c++, threads, networking, html,XML,JSON,CORBA, rule engines, problem solving, storage network management including arrays and switches via SMIS, file systems, computer video, Unix kernel. Large distributed management systems, software performance, database procedures and queries.
Veritas Operations Manager, discovers data from across a large enterprise and allows remote management of clusters, virtualization, and storage. Added CC add-on functionality, worked on defining how to merge CC storage functionality and features into this product. Product uses http protocols and communicates in json, but combines and correlates the information.
Command Central provides visibility, reporting and policy across heterogeneous SAN and NAS and virtualization environments from all major vendors. Maps storage from the disks in the array to database tables on hosts. Saves money by finding and reclaiming unused storage. Worked on recent agentless feature, SMIS switch features and WMI for remote storage discovery.
I made CC scale to over 3000 hosts and collections of storage that work for the largest enterprises. I rewrote many of the database code that was the performance issue. Sped up many of the core infrastructure and discovery components. Rewrote algorithms that were slow to make them fast. I made networking code reliable in the presence of network disconnects, balancing work on the application hosts and the central system that hosted the management web server, only changes are reported to reduce network bandwidth.
Lead designer of Veritas CommandCentral Storage Change Manager which uses a rule engine to detect changes in the enterprise configuration by examining the database changes in Command Central discovered from the hosts, and makes sure changes are within policy, policies are implemented as rules in the Jess rule engine.
I designed Storage Management software for the Cisco MDS virtualizing switch in a project with Cisco (Andiamo) modeling the virtual hardware and the layering of virtual switches and fabrics inside of physical switches.
I encapsulated SNMP V3 in C++ classes that made it easy to scan the data and convert it for storage in a database.
I modeled and implemented discovery of various storage arrays such as Network Appliance, and storage switches.
I greatly increased the performance of the central store that held the management data, and made it scale to much larger configurations.
I wrote python scripts that generated configurations of machines for production and crawl, including optimal assignment of machines to roles using a mysql database of machine characteristics. The software was written as a collection of software modules using python classes. Different productions sites, and the crawl used rules that mapped roles to hardware requirements, and were instantiated from a factory class.
I wrote a C++ program for distinguishing email from other web pages.
Next Generation Object Store for CDN system based on NetBSD - I designed and implemented an in-memory cache for very fast access and low latency, with a large tree to store the namespace, and http objects in kernel memory. It interfaces with a kernel HTTP layer using asynchronous events. I designed and implemented locking and synchronization for this store, so multiple attempts to update an object would be blocked and coordinated.
Windows Media Cache/ QuickTime RTSP/RTP Media Cache - I prototyped a system for connecting and recording digital media based on the Darwin Streaming Server for QuickTime. I reversed engineered Windows Media transport and headers so that content could be cached
New 1U hardware platform for cache appliance I diagnosed and fixed a broken piece of hardware, that had cooling and mechanical problems, and a broken bios. I worked around broken hardware for a front panel display, and broken environmental chips with driver changes.
Desktop Graphics Jan 1997-Nov 1999 I worked on our next high speed desktop graphics product. My responsibility included defining parts of the DMA and graphics front end processor. After the hardware arrived, I found several critical hardware problems and found ingenious software workarounds. I devised a lock free method for the on board graphics memory manager. I changed our kernel texture manager software. I managed software patches for Alias/Wavefront and other key independent software vendors.
Digital Media Jul 1994-Dec 1997 Octane and Impact Compression project lead. I pushed the project from inception to release on three different platforms. I worked on other Digital Media applications, defining many aspects of the hardware and the structure of the device drivers. After another programmer quit, I rewrote many parts of the micro code on the board. I worked with Earthwatch, Avid, and other customers to make the system software meet their requirements.
I worked on a replicated reliable file system, compressed log based file
system, micro-kernel operating system, ATM switch, JPEG decoder/encoder, TCP/IP
stack for
Worked on initial SVR4 kernel with ATT Bell Labs,
US05818613 System and method for color space conversion
Research cited in patent US05572709 Using dynamically-linked libraries to add side effects to operations
·
New-Value Logging in the Echo Replicated File
System
· A Coherent Distributed File Cache With Directory Write-behind
·
The Echo
Distributed File System
· On-line Data Compression in a Log-structured File System
· High Speed Switch Scheduling for Local Area
· Polynomial Methods for determining Structure From Motion (abstract) Google it
· PhD. Computer Information and Control Engineering, University of Michigan, Ann Arbor MI, June 1988 Thesis "Polynomial Methods for Structure from Motion", Advisor Ramesh Jain now at UC Irvine. I published several computer vision papers.
· MS Computer Science Aug 1982
·
BA Mathematics/Computer Science Jun 1980 Wayne State University,
· Evening MBA program, Haas School of Business, University of California, Berkeley 2001