Matthew L. Martin mlmartin@mlmartin.com 508 795-0571
Education:
Undergraduate Worcester Polytechnic Institute.
Graduate courses Data Base Organization and Design, Advanced Compiler Design
Hardware:
Intel Xeon/Pentium 4D, Intel XScale 80200, 80321, 80331, X86, IBM RS/6000, Stratus Continuum HPPA risc FTS, Stratus Atlantic i860 FTS, Multiprocessor ProLiant, Prosignia, Silicon Graphics Multi-processor Power, Challenge Series, Sun Sparc Workstations, IBM Multiprocessor SP, Power series, Motorola Delta 3600, 3300, Codata CTW 3300
Software:
Windows XP, Windows Server 2003, Windows Server 2000, VxWorks, NetBSD, Linux, FreeBSD, NetBSD, AIX, UNIX SVR4, UNIX SVR3.2, SUNOS, SOLARIS, IRIX, HPUX, FTX and UNIX V7
Languages:
Proficient in C, C++, ARC assembly, MIPS assembly and X86 assembly
Work Experience:
Seasoned industry professional with extensive experience in many areas of applied Computer Science.
NTRU Cryptosystems, Inc: November, 2007 Present:
Management Consulting: Introduced process designed to aid the transformation of customer requirements into actionable, trackable development plans that feed prioritized tasks into an agile development environment.
Designed and introduced a light weight Engineering Change Order system to facilitate definition and tracking of functional changes.
Software Engineering, architecture, design, testing, code reviews for new products in NTRUs middle-ware suite.
Worked to define the architecture of a large scale security middle-ware product that is to be integrated into a new product for a large PC OEM.
Product Architecture and Requirements, defining new products for NTRUs roadmap, defining modifications to existing products, understanding and specifying integration of new or modified products and existing ones, and defining and documenting use cases and requirements for those new or modified products and their integration with existing ones.
Mirror Image Internet: December 2007 February 2008:
Consulted with MII architects and system designers on the impact of hard disk performance on future system designs
Avid Technology: November, 2005 October, 2007:
Hired to bring a new release (4.2) Avid's MediaNetwork shared storage product in early. Helped product management identify real product requirements from feature lists. Got the program committee refocused on the requirements from product management. The new release of the product was warmly welcomed by customers at the 2006 NAB convention.
Architect for rehabilitation and relaunch of Avid's Unity MediaNetwork shared storage system (5.0). Redesigned configuration and aggressively reduced COGS and failure domain. Analyzed code for inefficiencies allowing replacement of two XEON processors with a single core Pentium 4D processor. Increased storage scaling capabilities by more than a factor of three. and, at the same time, more than doubled the bandwidth available from each SAN element.
Lead the software development team from the PRD through development of functional and design specification to delivery of completed code to SQA, subsequent debugging and successful shipment to customers.
Designed a combined hardware/software tool for high speed data migration for in place system upgrades.
Architect for local storage solutions.
Incipient Corporation: October, 2003 -- October, 2005:
Designed and implemented an embedded system to implement an intelligent switch. The bulk of the work was based on VxWorks running on Intel XScale processors. The prototypes ran on the Intel 80321 with the Intel 80331 as the target processor. Designed and implemented the infrastructure for a high performance, intelligent switch, distributed SAN. This included modification of an existing Fibre Channel driver and
integration of dual InfiniBand based interconnect chips. Particular care was taken to optimize code organization and locality of reference of data so as to mazimize instruction and data cache usage.
Consulted on the design and implementation of linux portion of the application.
We had three phased deliverables and I was able to help the team complete all three one to two weeks early. This was done by heavily front loading the schedules with design work, simple designs and well defined interfaces.
Comverse Network Systems: August, 2003 -- September, 2003:
Hired as a SCSI specialist. Reviewed Comverse's hardware and software SCSI implementations on several platforms, made recommendations and authored strategy documents. Trained their staff to use SCSI analyzers and guided the design and manufacture of test equipment that mimics certain SCSI errors (Selection Time Out, Parity Errors, etc.) to be used for testing driver modifications and error recovery code.
Reviewed field service diagnostic techniques, RMA procedures and returned drive testing. Made recommendations for improvement is all areas.
Recommended the purchase of specific test equipment to be used as part of Field Services field audit kit. This kit is to be used when investigating problems that cant be resolved using standard methods and procedures. Recommended implementation of system health monitoring diagnostics and software diagnostic tools.
Ennovate Networks, Inc.: April 2000 -- July 2001:
Designed, specified and developed a system to allow for scalable, unattended software transfers to and from Ennovates Envoy NetBSD and FreeBSD based switches. Designed and implemented a recovery method for Envoy operational images after they have been determined to fail. Consulted heavily in the implementation of the controlling MIB.
My other responsibilities included general UNIX consulting and education, assisting in the design of debugging techniques for various difficult bugs, reviewing design documents. Consulted in efforts to improve the existing network management system and storage of configurations.
Consulted on and helped design the Envoy System Control Processor dual redundant operation. Designed an I2C device driver. Investigated the usage of FlashDisk technology for the Envoys mass storage. Researched the effects of power failure and reset on the FlashDisks. Implemented and tested a modification to the WD disk driver to protect FlashDisks from corruption due to power failure. Assisted in the investigation of alternative solutions to protecting FlashDisks from both reset and power failure.
Investigated and determined the cause of poor disk performance. Devised a set of changes to the standard NetBSD WD driver that improved FlashDisk read speed by a factor of 20 and write speed by a factor of 10.
TopLayer Networks, Inc.: Chameleon Systems, Inc. ARC Cores, Ltd.: May 1998 -- March 2000:
Instantiated various flavors of gnat, a gcc based ADA compiler from ACT. Built and maintained gnu c, c++, binary utilities, gnat and gdb for Solaris and x86 Linux as native tools. Built and maintained gnu c, c++, binary utilities, gnat and gdb as cross compilers hosted on Solaris and x86 Linux for Power PC and ARC targets. Ran and analyzed the Plum Hall c validation suite for the ARC Cores processor, including fixes to gas.
Worked in a team to implement a new, more complete, set of ARC machine dependent configuration files for gcc. Upgraded gnu c, c++, as and ld to correctly handle the new compiler features.
Xedia Corporation: January 1997 -- September 1998:
Upgraded compiler tools (gnu c, c++, binary utilities and gdb) for Xedia. Designed and implemented the primary and secondary bootstrap loaders for their PCI based Access Point family of routers, integrating c++ drivers from the main development team into the bootstrap code.
Helped with the functional hardware design of a T-3 PCI serial communication card. Designed and implemented the real time firmware for the card. The firmware implemented the driver interface, and asynchronously controlled the HDLC and Line control functions, managed four DMA controllers and monitored the status of four FIFOs to insure the proper operation of the card.
Peritus Software Services, Inc.: November 1996 -- January, 1997:
Was a senior member of a team maintaining all versions of Stratus FTX (Fault Tolerant uniX). Participated in the design of debugging methods on a per bug basis. Was the senior member of several sub-teams, each targeted at a specific bug.
Clam Associates, Inc.: September 1995-- July 1996:
Was the senior developer on a team to upgrade Clams AIX based geographic disk mirroring prototype to an IBM marketed product. My tasks included writing and reviewing functional requirement, design, and test plan specifications. Also reviewed the existing architecture of both the pseudo device driver and the Kernel RPC protocol layer. Designed and implemented mirror write consistency and asynchronous mirroring. Radically rearranged the device driver and re-implemented major sections as state machines in order to remove special case code and reduce testing.
Banyan Systems, Inc.: September 1993-August 1995:
Was part of a team put together to triage, debug and correct UNIX kernel, device driver and protocol bugs just prior to the release of Banyan VINES 6.0. After FCS of VINES 6.0, Was the first point of contact for support (for 6.0 and prior versions) and SQA (for 6.00(10), the first maintenance release) for communications and protocol issues.
Also consulted on possible extensions of the UNIX based VINES kernel, including kernel stack size, file system throughput and robustness and tape device throughput.
Implemented a partial BSD socket interface layer on Banyans VINES operating system (based on SVR3.2) over Banyans proprietary socket interface. This layer implemented the features required to inter-operate among Banyan's proprietary VINES Internet Protocol, TCPIP and UDP over SUN RPC. This was accomplished without kernel support for select(1) or poll(1).
Reviewed the technical specifications for both EISA and MicroChannel Busses for the purpose of designing and implementing a generic interrupt sharing mechanism. Implemented the design, making it multiprocessor safe, robust, and failsafe. Modified all device drivers (in excess of 70) for the VINES operating system to use the interrupt sharing mechanism. Modified the multiprocessor startup routine to use the mechanism for support of cross processor interrupts.
Modified third party C++ NDIS 3.0 device drivers so that, with the support of a kernel shim, they could be bound into the VINES kernel.
Reviewed Compaq technical documents for the purpose of writing functional and design specifications for a UNIX Wellness device driver. The device driver controlled two Compaq specific ASIC for diagnostics as well as logging both critical and correctable errors to nonvolatile ram. Fan operation, ECC memory correction, chassis temperature, redundant power supply, EISA bus utilization, cumulative operating time and other conditions were monitored.
Implemented the driver, making it multiprocessor safe and self-configuring since the supported platforms had differing feature sets. The driver was part of the VINES operating system and provided support for third party services to control a server via RPC.
Epoch Systems, Inc.: June 1991--August-1992:
Reviewed marketing and engineering requirements for a project to provide conversion of Epochs proprietary backup format, implemented in c++, to industry standard data streams. Wrote a Functional Specification and a Design Specification for the project.
Was one of three engineers who converted Epochs Hierarchical Storage Management System kernel support from SUNOS 4.1.3 to Silicon Graphics version of SVR4. The conversion included making all kernel components multiprocessor safe. My areas of concentration were device driver modification to support SCSI-2 magneto-optical drives implementation of a SCSI-2 media changer driver, re-implementation of Epochs logical volume file system and multiprocessor locking.
Other tasks: architecture review, multi-processor locking issues, debugging of C and C++ user applications.
129 Hartford Turnpike Shrewsbury Massachusetts, 01545 15 November, 2008