I'm a software engineer. I design and write various types of software and the architectural frameworks around them. I'm currently working in Intel's Ultra Mobility Group, working on Android based software for smartphones and tablets, mostly around multimedia frameworks and networked multimedia. 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. 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.
- 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 receiver used for this launch was accepted into the Smithsonian. Our EPG (Electronic Program Guide) implementation was sold 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 Tivo (which had not been released at that time).
- Creating a multimedia streaming framework 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 to broadcast. 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 from these projects.
Prior to working in the labs, I was at Intel's Scalable Systems Division, working on C++ and parallel compilers, tools and system software for iWarp and Paragon supercomputers, as part of DARPA research projects and product efforts.
Before I joined Intel, I worked at Oregon Software, a local C++ compiler company, where I was an early ANSI C++ committee member (X3J16) and learned all about the politics of standards committees...
I also spent a good amount of time working for the US Forest Service, drafting bridges and structures, designing logging roads, and fighting forest fires.