- My LinkedIn Profile - Twitter - My Blog

Northern California/Silicon Valley

Project History

My resume does not list all of the career experiences I have had over the years. This page outlines my experiences in greater detail. The job descriptions are intentionally more informal that my resume.

This list is not in cronological order.

The SETI Institute

Senior Software Engineer, 2008 - Present

See my full resume.

SETI is the Search for ExtraTerrestrial Intelligence. My responsibities are split between 2 major projects.

ATA Control Systems Software Engineer

I am one of several engineers responsible for the development and maintenence of the Allen Telescope Array (ATA). The ATA is located in a remote location in Northern California and is one of the premier radio astronomy instruments. There are 42 - 6 meter diameter receiver dishes that together comprize the telescope array.

I am one of a few software engineers that improve and maintain the software and hardware that makes the ATA operate. Most of the work is done remotely with occasional trips to the remote site when on site attention is warranted. This involves the following:

  • Currently I am being trained to physically operate the telescope array while on-site. This involves knowing all the operational capabilities of the systems as well as on-the-fly troubleshooting and repair.
  • C/C++/Java/Ruby programming
  • TCP/networking/communications. All communication between programs and antennas is TCP or UDP.
  • Gathering data from the iternet. I developed a program that continually downloads the latest satellite information from spacetrack.org so we can be sure to have the very latest positions when tracking satellites.
  • In depth knowledge of multithreading is a necessity.
  • I've been in charge of developing and maintaining the "data catcher", which is the process that gathers the data from the antennas and stores the data in files.
  • I've been in charge of procesing data for a major satellite tracking project and producing detailed numbered reports and charts/graphs.

Open Source Project Leader at setiQuest.org

setiQuest is an Open Source initiave of the SETI Institute. The goal is to solicit the help of the open source community to help make our software better, and to help educate the world about what we do and how we do it.

Responsibilities include:

  • I prepared the code for open source. This involved fixing 75 issues that conflicted with the GPL licensing we desired.
  • Website design and development
  • Generate content for the website in the form of blogs, tweets, and documentation
  • Managing Bay Area Meetups
  • I give SETI related talks
  • Manage 3 open source projects:
    • I am a mentor for a Google Summer of Code project. The student is improving the build and install of our SonATA software and porting it to other OS's. See Here for more details.
    • Virtual 3D Array - A team of 8. The goal is to create an interactive 3D model of the antenna that mimics the real time state of all the antennas. Like a 3D game.
    • Telescope Simulator. Team of 6. We are developing a software suite which completely mimics the antenna system. Eventually we will plug this into our software and the system will think it is controlling the real antennas!

iPhone App for Ecofront in Japan

2010 - 2011

I developed an iPhone application for Ecofront, a company in Japan. This app was a remote control for the home automation controller the company produced. Using this remote control app you could control the TV, DVD/CD player/recorder, Satellite TV, Webcams, and control devices in your home.

See Source Code Samples for this app.

Developing this app involved a lot of iOS TCP/IP programming. Screenshots:

MondoMini Web Server

This was a PC program I developed, marketed and sold in 1998. It listened on an PC RS232 port for simple ASCII commands. The program also listened over port 80 and acted as a webserver.

The combination of these 2 capabilities allowed you to web enable very simple microcontroler devices like the The Basic Stamp. The product was amazing and worked very well.

I ended up discontinuing the product for 2 reasons:

  • To really take the product into the big time I would needed to develop a large set of app notes and very simple tutorials. At the time I did not have the resources to do this.
  • Another programmer copied my program and started to sell it at 1/3 the price! It was time to give up and go on to other things.

Since then I've had fantasies of reviving this concept again. My programming skills are a magnitude above what they were in 1999, and the capabilities of the modern computer to connect and control over the internet are much greater. When I have time.....

RS485 to Basic Stamp Board

I cenceived, designed, soldered, and marketed this board in 1997. It allows you to create a network of Basic Stamp microcontrollers using a simple RS485 topology. It worked very well and I sold a bunch.

EcoFront Pty Ltd., formerly Argyle Home Technologies

Lead Engineer. Mostly part time or in-between jobs. 1997-2008

This company is located in Tokyo. I created home automation products for them for over 10 years. Most work was performed part-time on weekends or bnetween jobs/contracts.

This company first contacted me in 1997 after reviewing my website. I then designed and developed a small circuit board that connected to a large expensive home automation controller via RS485, then connected to a PC via RS232. Then I wrote a software application for the PC that acted as a webserver. You could control your entire home remotely using a browser or phone connected to the internet! This was revolutionary at the time. Shortly after that the home automation company went bankrupt.

I then came up with the idea for us to develop our own home automation controller that pluggd directly into your home ethernet. I found a product called the "Ethernut" that did just that, but only provided 2 rows of TTL level pins as I/O. So I designed a daughter board that the Ethernut plugged into and provided protected RS232, digital I/O, and 120V relay control. We sold over 200 of these to a Japanese company called Daiwa House, they were installed in apartments. This product did not have a built in webserver. I developed CGI programs that ran under an Apache webserver that provided communication with the controller over TCP/IP. MySQL was used as a database for info and state storage. The system ran with all popular web enabled phones in Japan, and desktop browsers.

We took the next generation many steps further. We migrated from the Ethernut to the Rabbit line of ethernet controllers. The most recent version use the Netburner controller boards. These systems have a sophisticated on board webserver, as well as the capability to talk to and be controlled by an Apache webserver system I developed.

I helped train a team in China to develope the software and developed myself out of work. But I still answer questions if necessary

Later Version of the Controller

The very latest version monitors home energy usage and creates reports and charts for your desktop browser or phone browser. I wrote a webservice that can control up to 10,000 controllers simultaneously. I actually tested it up to 30,000 controllers, but my testing computers ran out of capability before my webservice did. I am proud of that! I wrote the webservice in C++.

Skills I used and developed while developing these controler boards:

  • Webserver application development
  • TCP/UDP communication and control. I consider myself a TCP/IP expert.
  • Multithreading and scalability.
  • Mobile app development.
  • Database programming and design.
  • Remote devive monitor and control.

High Country Tek

Senior Software Engineer, 2006 - 2008

At this company I developed for hydraulic controller systems. These were controller boards that connected to hydraulic valves.

I developed firmware for the Infineon and Microcontroller processors in C/C++ and assembly. I also developed PC GUI applications to aid in monitoring and configuring the controllers. the PC work was in C++/C#.

Cyberarts, Inc., 2006

Senior Software Engineer

I developed gaming software. The company developed very vivid and visually stunning 3D web enabled gaming solutions. These systems could handle many thousands of simultaneous players in tournamants.

My main contribution was developing a 3D Backgammon gaming system, managing a team of 3 developers in Bulgaria. It was beautiful!


Software Engineer, 2005-2006

This was a 6 month contract. I developed backend webservices for their mobile gaming system. I developed in C and PERL. I also developed and used WSDL and SOAP services.

By the time I left this type of system was becomming obsolete dues to the rise of modern web enabled phones and gaming apps. Nokia is suffering from this deficiency still today.

Highwire Software, Inc.

VP of Engineering and Senior Software Engineer, 2002 - 2005

I was a founder of this company. We invented a very efficient thin client that was a GUI front end to webservices. The resulting performance was fast and the quality of the user interface was stunning.

As a team, being a startup, we lacked the expertise to bring this product to the marketplace in a volume that would give us any traction. We did have several customers (who may be still using the product).

  • Network TCP/IP programming
  • Client/server programming
  • Rich client development
  • C/C++/C#
  • Windows PC and Palm development
  • Visual Studio application development

BAE Systems, Inc.

Senior Software Engineer, 2000 - 2002

I developed 3D terrain flytrough software for a high-end software suite developed for government applications.

This was actually a continuation of the work I did for Vitec from 1989 to 1991. BAE bought out Vitec. They sought me out and rehired me to continue my 3D work.

The programming was MOTIF development using OpenGL to create realistic 2.5D rendering of terrain data, and fly through the data. The programs were used at seversl US embassyies to provide surveillance capabilities.

TDK Systems

Senior Software Engineer, 1999

This division was devloping one of the first IP based office phone systems.

I developed TCP/UDP software to distribute the phone database information onto all computers on the phone network.

After working on the product for 1 year exactly, and a month before the software was to be released, TDK laid off everyone in the company (50 people) to divert their resources to other projects. Just my luck!

Terramar, Inc.

Senior Software Engineer, 1992 - 1999

Terramar developed innovative geo-mapping and geo-photography products.

I was in charge of developing many different and interesting products.

We outfitted small and large planes with sensors and cameras for a variety of applications. Using the data gathered we developed sophisticated and highly accurate geo-corrected ground photography. One application mapped out oil spills in the Gulf of Mexico.

Vitec, Inc.

Sales Engineer, 1989 - 1991

Vitec was located in Plano, Texas. Their product was high-end image processing computer systems. I was a Sales Engineer in Los Angeles, CA. I helped the salesman with the technical aspects of the product and developed demos and applications for clients.

International Meta Systems, Inc.

Software Engineer, 1986 - 1989

This was my first real engineering job. I helped write and test a new FORTRAN compiler that ran on the company's custom chip set. I wrote an assember that converted code into machine code.