




|
I've been
programming since 1977 in a multitude of languages,
primarily C, C++, or assembler. Over the years I've worked
on everything from super-computers, to tiny embedded
consumer devices.
I've also authored several Open Source (usually
under the GPL) projects during the many years I worked for
Cygnus Solutions (now part of
RedHat) and as "side"
projects for the Free Software
Foundation when working elsewhere.
I am 20+ year developer & supporter of Free and Open Source
Software from long before it was a fad. Software I've
authored is on all the GNU/Linux CD distributions shipped
today. Here is a brief list of the major Open Source
Projects projects on which I have worked on.
Recent Projects
- Gnash
- John Gilmore and I created the Gnash project to develop
a free flash player plugin for browsers, and as a UI layer
for embedded devices. Gnash runs on many architectures, and
has a set of unique features, including it's support for
patent free codecs. Gnash is also a high-priority project
for the Free Software
Foundation.
- FAA
- Since I worked on air traffic control software at NASA,
lately I've been consulting on the FAA's NextGen project, to
moderize the ATC system.
- NASA
- I somehow found myself drafted to work on the
"Center-TRACON Automation System, or CTAS", which is a set
of tools designed to help air traffic controllers manage
the increasingly complex air traffic flows at large
airports. I ported it to GNU/Linux. :-) Since then I've
built a few clusters, and help NASA/FAA with custom
GNU/Linux and GCC support for a variety of processors.
- Ouray Ice Park
- Along with lots of computer projects, I've also wound up
as a festival electrician. As a long time Ice climber and
supporter of the Ouray
Ice Park, with my son Abe we do all the electrical,
and AV work for the
Ouray Ice
Festival. After 14+ years of building a temporary
system, I finally wired the entire park area permantely.
- NedFest
- I'm one of the organizers and the electrician for
NedFest, a great little music festival in my home
town. This entire festival runs on a temporary power
system I build, and then tear down. This requires an
interesting mix of powering the stage and all the food
vendors.
- GnuAE
- It was brought to my attention that people need good
design software for off-grid houses and other projects
than they currently need power-management. So I created
GnuAE to
address this problem. This is a GTK/GNOME compliant
application that helps with sizing and design issues,
then calculates the equipment needed to support these
uses, as well as all the NEC compliant wiring. I'm
currently refactoring GnuAE as a php extension and web
site backend.
- Portable Power Systems
- I spend alot of time out in the field, and these days
that means a need to power equipment in remote
places. This page covers some of those systems, complete
with photos and wiring diagram.
- Solar Powered, Wireless Phone System
- I've added a long-range, wireless phone system to my
off-grid house and lab. The landline end of this
wireless connection is also off the grid. This is a more
detail version of an article that was in
Home Power magazine
in issue #88.
- AbelMon
- As part of why I'm building my own Solar lab, is I've
been busy working on a GNU/Linux based power management
system for off-grid houses. This is a huge project which
recently I've broken into several smaller standalone pieces.
- PowerGuru
- This project was part of Abelmon till recently, and was
called TraceGUI. Well, Trace is now owned by
Xantrex, and I also
addd an Outback MX 60 charge controller recently, so I've
rewritten this to be a standalone project that support
both Outback Power
Systems and Xantrex products.
- Solar Lab
- I'm currently building a state of the art, alternate
energy lab at my off grid geodesic
domes near Ward. This is where I plan to develop a
several products in the alternate energy field. While I
know there are many excellent engineers in this field, I
don't think most are looking at the whole system
design. My goal is to be able to do my own research that
will hopefully lead to improved designs. Towards that
goal, I've been rewiring the house, which is
documented
here. I recently installed a new PV array on the
roof of the lab. More details are
in this article
- DejaGnu
- DejaGnu is a framework for testing other
programs. Think of it as a custom library of Tcl
procedures crafted to support writing a test
harness. DejaGnu is heavily used by many GNU projects,
companies, and universities because it is the only
testing tool designed from the beginning to work with
embedded targets and remote hosts. Also because I was a
member of the X/Open POSIX standards committee on Testing
Methodologies, DejaGnu is one of 2 POSIX conforming
testing tools in the world.
Past Projects
- OLPC
- I spent several years as a volunteer on the OLPC ($100
laptop) project. I was primarily focused on flash support of
course, an contributed optimizations for GCC and GLIBC to
improve the performance on the Geode GX and LX processors.
- Request Multimedia
- I'm working with a Troy, NY company that builds a
really nice digital MP3/FLAC jukebox designed as a
high-end stereo component. It scans CDs, tapes, whatever,
or can download music from the Net over it's ethernet
connection. Their new product runs embedded GNU/Linux.
- Interact TV
- I'm was consulting to a Boulder (now Westminster) based
company doing an Open Source, embedded Linux based Interactive
TV product. As a person that hasn't owned a TV in 20 years, I
think an Open Source, GNU/Linux based, settop box built more like
a multimedia PC would be a a great idea. Too bad they don't
pay their invoices...
- GNU/Linux on HP Omnibook 6100s
- I somehow would up installing and maintaining GNU/Linux on some
HP Omnibook 6100 laptops a customer is using. This document is
on how to make this laptop a dual boot laptop with full device
support. Note: the latest Fedora Core 2 or 3 runs out of
the box on the Omnibook 6100.
- NILO
- NILO is the Network Interface Loader. NILO will boot GNU/Linux,
FreeBSD, and Windows 95/98/NT4. It also supports the Intel PXE
standard, and is suitable for burning into ROM. Most of this
project has been migrated to the Etherboot and OSKit projects,
and hence doesn't exist as a standalone project anymore.
- eCOS
- eCOS is a highly configurable, hard real-time Operating
System that runs on a variety of processors, and is tighly
integrated into the GNU development tools. I was the original
architect of eCOS, and helped create the development team that
brought this product to market in under a year.
- Libgloss
- Libgloss is a Board Support Package for the GNU tools. This
includes startup code and minimum I/O support for a large
collection of manufacturer's evaluation boards. It also
contains working GDB stubs for a number of targets. These days
it is distributed with the Newlib releases, Cygnus's
(RedHat's) embedded C library for use in non eCOS
environments.
- GDB
- GDB, the GNU debugger, allows you to debug programs written
in C, C++, Java, and other languages, by executing them in a
controlled fashion, printing their data, etc., on a wide
variety of UNIX and non-UNIX systems. I added several features
to GDB, all oriented towards cross debugging of embedded
systems. These features include the ROM monitor interface,
several embedded GDB stubs, and an unreleased multi-protocol
backend for GDB that used CORBA for network access.
- GCC
- GCC is the name for the GNU compiler. It currently supports
C, C++, assembler, Fortran IV, Java, Ada, and Pascal. It works
either as a native compiler for most operating systems, or as
a cross compiler for many embedded microprocessors. I worked
heavily on adding the cross development abilities to GCC, as
well as other tweaks so it could be used for embedded systems
development.
- Tcl/TK
- Tcl (Tool Command Language) is the industry's first
scripting language capable of handling enterprise-scale
integration tasks. It's used by over half a million developers
worldwide and has become a critical component in thousands of
corporations. It has a simple and programmable syntax and can
be either used as a standalone application or embedded in
application programs. I was one of the Tcl maintainers for
many years, as it is used by my DejaGnu program.
- Expect
- Expect is a tool for automating interactive applications
such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect
really makes this stuff trivial. Expect is also useful for
testing these same applications. And by adding Tk, you can
also wrap interactive applications in X11 GUIs. I was also one
of the Expect maintainers for many years, as it is used by my
DejaGnu program.
- Cygwin
- The Cygwin tools are ports of the popular GNU development
tools and utilities for Windows 95, 98, and NT. They function
by using the Cygwin library which provides a UNIX-like API on
top of the Win32 based systems (win95, win98, NT). I was an
original member of the GNUish project in the 1980s porting GNU
software to DOS, Xenix, and WinDoze. We then later ported a
large chunk of GNU/Linux to win32, which finally became the Cygwin
project.
I also have years of experience in the infrastructure of the
Internet. More than just a fancy web site designer (which I'm not), my
specialty is the in the guts of the Internet. Some of my websites are
the oldest on the Net. (created in 1993) I have experience in the
web servers, intranet creation, firewalls, and internet security.
Commerical applications I've worked were all mostly embedded or
industrial projects. Needless to say, none of these companies exist
anymore... Past projects include:
- Cygnus
- I was one of the original staff of
Cygnus (now part of
RedHat. Originally we were
Cygnus Support, but later some fancy marketing people
thought Cygnus Solutions sounds better...
- RIPS
- I was the Sr. Advanced Products development person,
building what was the world's first RISC based color laser
printer. I spent most of my time doing R&D, and authored 2
ROM debug monitors, and ported the Nucleus RTOS to the MIPS
architecture.
- Technistar
- Technistar was a systems integrator in the
Robotics/Automation field. There I designed and built large
robotic & machine vision systems. The one project I did
(other than some disk drive machines) that most people
approve of was a new Reese's Peanut Butter Cup machine for
Hershey Chocolate, and some packaging lines for Giradelli
Chocolate.
- Topologix
- At Topologix I was the Sr. Software Architect on their
supercluster, massively parallel machines. Among other
things, I wrote the initial message passing based operating
system, and managed the design and implementation of our
parallelized versions of C, Fortran 77, and Common LISP.
- Laser Applications
- I was head of the computer group building custom CAD/CAM
software and customer applications for high-precision Laser
Machining.
I am available for seminars, training, consulting, or product
development. Please contact me by email, or by calling me
303-258-0506.
Media Coverage
- Linux Format
Interview
- This is a 2008 interview I did after the FOSDEM conference
in Brussels.
- Cisco Ad
- I've long had a Cisco 2000 router for my net connection,
which has survived almost 8 years of what passes for
electrical power around here. So when they asked me to do an
ad, I thought I'd return the favor. This was published
during April, 1999 in Japanese newspapers, so it's a touch
out of date.
- Interactive Week
- I got interviewed by Interactive Week for an article on
Open Source programmers. Three of us were featured in the
interviews.
|