My name is Brian Russell and I recently finished my PhD in Computer science at Rutgers. My research has been in wireless networks where I've applied machine learning techniques to routing protocols for wireless ad hoc networks. One result of this research has been an autonomic routing protocol that deals with noise and router congestion in the creation and maintenance of routes in wireless ad hoc networks. The protocol learns aspects of a wireless ad hoc network and actually adjusts routes in response to noise and congestion. There are several aspects of my background worth emphasizing. First is the research work into wireless networks, where my goal was to find solid, practical, usable solutions to problems in wireless ad hoc networks. Second, I have developed considerable software engineering experience in C and C++ having worked in high-tech environments like Bell Labs in Murray Hill. Third, I've designed symbolic debuggers where I've given a robust architecture to an area where there had been none before, designed new extensible data formats that are in use today, written compilers that solved extreme space problems, all in addition to the novel approaches of applying machine learning to autonomic routing protocols as a PhD student. Fourth, is the ability to combine elements from different technical areas into novel solutions for previously difficult problems. I've done this with software architectures, modeling and simulator design, information format design and the learning mechanisms used in my current research. Here's some of what I can provide to solve your technical challenges: 1. Durable, robust, maintainable software architectures. I've created complex OS components that have demonstrated portability in multiple OS and hardware environments, event-driven simulators that modeled complex environments and compilers. The success of these architectures come from my philosophy of "get it right, keep it simple, make it solid, and make it efficient". The results have been portable symbolic debuggers at AT&T Bell Labs and other companies, a C compiler and linker at McAfee and a wireless environment simulator at Rutgers. 2. Durable and extensible information protocols that withstand inevitable future changes without difficult or expensive coordinated software modifications. These protocols have eliminated version problems, artificial space constraints and decoupled information content from external file format. I've created multiple such formats, one of which has become an ANSI standard used worldwide. 3. Implementation strategy to manage the inevitable changes in requirements and design throughout the software development process. This includes determining what components to implement when during development, verifying component correctness, identifying and isolating problem areas for faster resolution, and separating components for parallel implementation. I've used these strategies successfully as a project lead at AT&T Bell Labs and other companies. 4. Solid, fault-tolerant, synchronized distributed software architectures for peer-to-peer and client-server applications using TCP/IP and UDP. Synchronization mechanisms include two-phase commit protocols and atomic transactions. The result has been systems that cope with the failure of distributed components and reintegrate new components as they return to service. Such a system has been implemented at Dow Jones as well as defining and demonstrating the building blocks for peer-to-peer and client-server distributed architectures in classes I taught at Rutgers. 5. Complex environment modeling in simulators for wireless digital communication environments that contained calibrated EM noise sources and emulated IEEE 802.11 Medium Access Control (MAC) behavior as part of my PhD research at Rutgers. Please refer to my resume that demonstrates my breadth of experience. I look forward to the opportunity to meet and discuss how I can contribute to achieving your technical goals. By all means, call me at 732 748 9662. I look forward to hearing from you. Thank you. Brian Russell