|
Christopher D. Russell
|
|
|
170 Berryfield Road Yarmouth, Maine USA 04096 |
Office: (207) 846-7773 • Mobile: (207) 671-5963 E-mail: chris@chrisrussell.net • Skype: callto:encapsule • Web: http://chrisrussell.net |
|
Employment History
2005-present: Principal Software Engineer, Cylant, Inc.
Jan 2005 - present .::. Cylant, Inc., Lexington, MA USA • http://www.cylant.com
Cylant is a venture-backed startup company developing a product that monitors and protects software services running on Microsoft Windows Server SMP servers. The product works by learning the sequence of low-level service and resource requests made by software applications and alerting network administrators to changes in system runtime behavior that indicate malfunction, attack, or compromise of mission critical software resources. I am Cylant’s resident Windows internals expert responsible for the development of the kernel-mode routines that produce the raw runtime telemetry data consumed by the product’s analysis engine. (Windows OS internals/undocumented, reverse engineering, debugging, assembly language, C, C++)
2004-2005: Consulting Software Engineer, PREVX, Ltd.
Sep 2004 - Dec 2004 .::. PREVX, Ltd., Milton Keynes, U.K. • http://www.prevx.com
PREVX is a privately-held security startup developing a Host Intrusion Detection system for Windows desktops. The product employs a policy-driven “filewall” that prevents malicious software from modifying critical system resources by filtering service requests in the OS kernel. However, the product is largely ineffective if deployed on a system that has already been compromised. PREVX hired me to assess this weakness and recommend a strategy that could be executed in discrete phases to incrementally improve their product. I architected and implemented means of automatic removal of malicious software packages. Developed an extensible XML schema for describing malicious packages in terms of expressions, and delivered a collection of C++ classes that implements a custom framework for detecting and removing those malicious packages. Project applied Hyperworx routines to implement a “fly-by-XML” system - effectively an XML-driven, domain-specific, application server comprised of a graph splicing engine and an object factory. (C++, STL, Boost Graph Library, Boost Spirit Parser Library, Hyperworx Platform).
2001-2004: Founder, Encapsule Systems, Inc.
Jan 2001 - Jun 2004 .::. Encapsule Systems, Inc, Yarmouth, ME USA • http://www.encapsule.com
I founded Encapsule Systems in 2001 to develop and commercialize an extensible visual programming platform called Hyperworx. Conceptually, Hyperworx is motivated by the observation that much of the cost and risk associated with developing complex software products can be eliminated by applying formal modeling and logic synthesis technologies from VLSI circuit design to software development. For more information on the Hyperworx Platform technology, please visit hyperworx.org. One provisional patent filing on the runtime configuration mechanism. Functional prototype system completed (120K+ lines of C++ code). Support of the software as open source continuing as time permits. (C++, STL, Boost Graph Library, Boost Spirit Parser Library, reusable software asset modeling (XML), component-based application modeling (XML), plug-in architectures, mathematical graph theory algorithms, Windows Template Library (WTL) for UI development)
2000: Consulting Software Engineer, J2 Interactive, Corp.
May 2000 - Dec 2000 .::. J2 Interactive, Corp., Boston, MA USA • http://www.j2interactive.com
J2 Interactive provides a subscription-based interactive learning environment for children that includes games, puzzles, and highly filtered access to web, e-mail, and kid-to-kid chat rooms. I developed the low-level TCP/IP packet inspection / filtering subsystem that prevents the young users of this system from doing things on the Internet that their parents don’t approve of. This subsystem was delivered as a Windows 2000 / Windows XP device driver and DLL to make it simple for J2 to integrate the device driver into their Macromedia Flash-based client. (C, C++, Windows kernel-mode filter drivers, TCP/IP stack internals, Windows Template Library (WTL) for UI)
2000: Consulting Software Engineer, Polycom, Inc.
May 2000 - Dec 2000 .::. Polycom, Inc., Pleasanton, CA USA • http://www.polycom.com
Polycom is a leading supplier of high-performance hardware accelerated video / audio conferencing and remote collaboration systems for business. For this assignment, I was tasked with assessing the feasibility of porting Polycom’s DSP-based adaptive echo cancellation algorithms to Windows and incorporating the AEC directly into a USB audio device driver to eliminate the cost of a dedicated DSP in several peripheral devices. The results of this investigation were delivered as a written report, reference device driver, and simple Windows client application to affect control and status monitoring of the AEC subsystem at runtime. (C, C++, x86 assembly language, Windows NT/2000 WDM driver architecture, Windows kernel-mode USB class driver internals, Windows kernel-mode USB audio class driver internals, NT filter drivers, DSP algorithms)
1999-2000: Consulting Software Engineer, Analog Devices, Inc.
Mar 1999 - Feb 2000 .::. Analog Devices, Inc., Norwood, MA USA • http://www.analog.com
Analog Devices is a leading supplier of analog, mixed signal, and digital signal processing semiconductors used in a wide range of devices. For this assignment, I wrote a software-based music synthesis subsystem that was bundled with ADI’s SoundMAX AC97 audio CODEC. This saved the expense of incorporating these features directly into the silicon. This software was delivered as a combination of a Windows device driver coupled with a Windows service for Windows NT and Windows 2000 and was bundled by PC OEM’s Toshiba, Dell, Gateway, IBM, HP, and Acer. Tens of millions of copies of this software were shipped without a single bug report. (C, C++, x86 assembly language, Windows internals, Windows multimedia architecture, MIDI specification, multi-threaded programming, real-time Windows programming)
1998-1999: Senior Software Engineer, Media 100, Inc.
Feb 1998 - Feb 1999 .::. Media 100, Inc., Marlboro, MA USA • http://www.media100.com
Media 100 develops and markets video editing, special effects, and DVD authoring systems for use in movie and television production facilities. I joined Media 100 to help develop their first product for the Windows Platform based on the ambitious 844/X Genesis engine (real-time special effects, and video compositing hardware accelerator comprising several custom PCI plug-in cards). I was originally hired to work on the Windows NT drivers required to interface the 844/X Genesis Engine hardware to Media 100's sophisticated UI software. However, the production of the hardware was delayed and I ended up working on resource allocation and scheduling algorithms required to maximize the utilization of the 844/X. As a postscript, Media 100 delivered their first product based on the 844/X Genesis Engine hardware in 2002 and won Best of Show at NAB. (C++, C, x86 assembly, VLSI compilers, mathematical graph modeling, resource dependency analysis and allocation algorithms, scheduling algorithms, video processing algorithms, control theory, state machines, Windows plug-and-play driver architecture, x86 PC platform architecture (programmed I/O, interrupts, PCI bus mastering DMA, x86 performance optimization))
1996-1998: Senior Software Engineer, PictureTel, Corp.
Apr 1996 - Jan 1998 .::. PictureTel, Corp., Andover, MA USA • http://www.polycom.com
Prior to being acquired by Polycom, Inc., PictureTel was a leading supplier of high-performance hardware accelerated video / audio conferencing and remote collaboration systems for business. I worked as part of their LiveLAN H.323 product team and was responsible for the audio transport, and overall installation of audio, video, and networking plug-and-play drivers for LiveLAN 3.0 - a hardware accelerated H.323 client for Windows 95 that won Network Computing Magazine’s Product of the Year honors in 1997 over competing products from Microsoft, and Intel. (C++, C, assembly language, x86 PC platform architecture, Windows 95 kernel and multimedia internals, device drivers)
1988-1996: Engineer Staff, Analog Devices, Inc. DSP Division
1994 - 1996 .::. PC Audio Engineering Group Leader
The Multimedia Projects Group comprised several engineers from the DSP Develop Tools Group (myself included), several DSP Applications Engineers, and several DSP Marketing Group members working to develop ADI's in-house Windows PC platform expertise. Working closely with Microsoft, we developed the Single-Chip PC Sound System (a reference design comprising an AD1812 audio CODEC on an ISA-bus plug-in card + Windows audio device drivers). This influenced the evolution of audio on the PC platform as much of what we developed for this project was adopted by Microsoft and incorporated into their Windows Sound System hardware product, and later into the audio subsystem of Windows 95.
1991 - 1993 .::. DSP Tools & Applications Research Eningeering Staff
I was a member of a small three-person engineering team charged with developing in-house expertise in PC hardware architecture, peripheral device design, and low-level Microsoft Windows VxD device drivers. During this time we designed a DSP-powered ISA peripheral card with an audio CODEC and several instrumentation ADC/DAC’s, developed a Windows driver to control the board, and developed an SDK that OEM’s could use to spawn compute-intensive signal processing algorithms on the peripheral DSP and source/sink host data streams from a Windows application(s). I was responsible for developing the Windows driver portion of this project - a task that involved a lot of i386 protected mode assembly language programming. Primarily this system was used by ADI’s marketing department for demonstrations during OEM customer visits.
1988 - 1991 .::. Embedded Systems Engineer, DSP Development Tools Group I started my career working with a small group responsible for building embedded systems development tools to support ADI’s DSP line. Specifically, I worked on ADI DSP’s line of in-circuit emulators for the ADSP2100, ADSP2101, and ADSP21000 DSP’s. During this time I did a little bit of everything: QA, manufacturing engineering, analog and digital circuit design and debug, PLA/PLD device programming, firmware design / debug, board level design and layout, documentation, customer demonstrations, beta program management, in-house application engineer training. This was a great job that allowed me to take on a lot of responsibility and learn a great deal about the inner workings of microprocessors and their interactions with the systems that incorporate them.
Education
Projects
The Hyperworx Platform Project
The Hyperworx Platform is a collection of technologies developed by Encapsule Systems, Inc. that comprise a system for designing and deploying custom software applications from visually represented specifications. As time permits, I have been working to document this system and get the 100K+ lines of C++ source code published on SourceForge under the terms of the C++ Boost Software License. The WTL Open Source Project The Windows Template Library (WTL) is a C++ template library replacement for Microsoft's older MFC technology. In the six years since its quiet release, the WTL has quickly become the library of choice for developing low-overhead, high-performance native Windows UI's for scientific, financial, engineering, entertainment, and embedded Windows applications. (See also: The Code Project WTL Page). In 2004, I was one of a handful of non-Microsoft employees invited by Microsoft to help administrate the WTL library as an open source project on SourceForge.
Groups
MIT Enterprise Forum of Cambridge
In 2001, and again in 2003 I presented the Encapsule Systems venture concept at the Forum's Concept Coaching Clinic - a useful learning experience for entrepreneurs. Maine Software Developers Association In 2003, I presented the technical details of designing software with the Hyperworx Platform's Software Circuit Description Language (SCDL) at the 11th Annual MESDA Conference.
References
A complete list of references will be provided upon request.
Copyright © Christopher D. Russell, January 2006
|
Summary
Proven eighteen-year computer industry veteran with an established track record of engineering excellence, and successful product delivery.
Professional Focus
Design and implementation of high-performance, system-level infrastructure, tools, utilities, and subsystems for engineering, scientific, communication, security, and entertainment applications.
Technologies
Windows Development
Extensive experience working on system-level engineering projects for the Microsoft Windows platform dating back to the early 1990's.
Windows Tools
UNIX Development
Working knowledge of GNU toolset and shell languages. Emacs-literate. Linux/Apache/MySQL/PHP setup and administration.
Programming Languages
Programming Libraries
Embedded Software
I spent the first four years or so of my career developing firmware for In-Circuit Emulators (ICE) products.
Hardware Development
Notes |