I'm a software engineer. I design and write various types of software and the architectural frameworks around them. Recently I took advantage of an early retirement opportunity from Intel, where I last worked in Intel's Mobile Communications Group as a software architect and technical lead. There I led a team of engineers working on a state of the art video conferencing engine for Android and Windows platforms, including smartphones, tablets, ambient home devices (ala Echo Show), and PC devices. Our work to enhance the performance and video quality of our conferencing engine has been some of the most gratifying of my career, due to the wonderful and smart people on my team, the supportive and collaborative groups with which we worked, and the intriguing nature of the many, many technical challenges. The opportunities of finding solutions for those challenges resulted in a number of papers, presentations, patent filings and submissions to standards groups that allowed us to share this technical progress with others.
Previously, I was in Intel's Ultra Mobility Group, working on Android based software for smartphones and tablets, mostly around multimedia frameworks and networked multimedia, including the all important hardware acclerated video codecs, which we optimized for Intel platform hardware. I also spent a few years in Intel's Digital Home group, where I led a team working on software to support multimedia transcoding and streaming over home networks. Prior to this, I spent ten years at Intel's R&D software labs, where I focused on networking research projects, primarily on networked multimedia. While I was in the R&D labs, I worked on the following notable projects:
- Developing a performance optimized TCP/IP stack for multicore and manycore architectures. This work was described in our article "TCP Onloading for Datacenter Servers" in the November 2004 IEEE Computer magazine.
- Designing an advanced optical networking framework for intelligent and automated provisioning and management. We wrote an article about this framework, "Enabling Architectures for Next Generation Optical Networks" which was published as the lead-in chapter of the book "Emerging Optical Technologies", edited by Krishna Sivalingam. I have a number of patents issued on optical networking protocol adaptations related to this work.
- Creating an architecture to dynamically deploy evolving and advanced network services using web and e-commerce technologies. I have a patent issued on this architecture.
- Developing a PC based digital TV receiver, with ATSC and DVB stacks, to support data enhanced terrestrial broadcasts. This receiver was used in an historic broadcast in a joint project with PBS, as part of the digital broadcast launch for the PBS network. The content for the launch was an innovative film created by Ken Burns for the project. It was the first data enhanced digital TV broadcast and featured interactive data elements. The PC receiver used for this launch was accepted into the Smithsonian Institution historical archives. Our EPG (Electronic Program Guide) implementation was licensed to various companies, including Microsoft, for inclusion in their broadcast stack.
We also developed a PC based PVR (Personal Video Recorder) with similar functionality to the yet to come Tivo product line.
- Creating a multimedia streaming framework to support streaming and video conferencing for the PC. This included an RTP (Real-time Transport Protocol) stack with media handlers for various types of video and audio streams. We worked with IETF to create standards for these streams, which allowed our stack to be interoperable with other products. The stack has been used for all kinds of streams, from VoIP and video conferencing to broadcast and video on demand. Microsoft integrated our stack into the networking subsystem for Windows NT 5 (aka Windows 2000), and subsequent Windows releases. It was used in Intel Internet Phone, Intel Proshare, MS Netmeeting, Intel Videophone and many other projects. We also developed adaptive control components for the stack, using sender based encoder controls, and multicast layered video for receiver controls. These components adapted to network conditions to manipulate the media streams. We produced a number of publications and presentations from these projects.
Prior to working in the labs, I was at Intel's Scalable Systems (supercomputing) Division, working on C++ and parallel compilers, tools and system software for iWarp, i860 and Paragon supercomputers, as part of DARPA research projects and product efforts, in collaboration with Carnegie Mellon University and several National Laboratories..
Before I joined Intel, I worked at Oregon Software, a local C++ compiler company, where I was an early ANSI C++ voting committee member (X3J16) and learned all about the politics of standards committees...
I also spent some time working for the US Forest Service, drafting bridges and structures, designing logging roads, and fighting forest fires.