As it says elsewhere, I am a software development consultant and independent contractor, with 25-plus years of experience, most of that in C/C++ on UNIX, Linux and BSD.
See here for contact details.
Though I started out, in the early 1980s, mostly using LISP together with lots of microprocessor assembly language, my main focus since then has been software development in C/C++, plus various scripting languages, originally on UNIX, and latterly much more on UNIX-like systems such as Linux and BSD.
On the Open Source side of things, I spent a number of years associated with the FreeBSD Project as a committer, and was primarily responsible for a from-scratch re-engineering of the FreeBSD i386 boot code. The BTX system -- a sort of "nano kernel" that takes charge of the bare hardware and holds everything together in support of the various boot programs, eventually handing over control of the machine to the FreeBSD kernel itself -- is probably the major development effort from that period, and has had a long life.
Also during the time with FreeBSD, I was one of a couple of developers chosen to work on a port of the FreeBSD operating system to the Intel/HP Itanium (IA64) processor. Though my involvement in that background project never really got off the ground on account of conflicting business commitments, at roughly the same period, I carried out a port to FreeBSD of TenDRA, the very large, defence contractor-constructed, cross-platform C/C++ compiler system, open-sourced by the UK defence authorities.
My interest in the various uses of compiler technology, and the porting of large, complex -- often legacy -- software systems continued later, with work using ACK (the Amsterdam Compiler Kit) and various MIT-developed C compilers, with the development of assemblers for various Intel and Zilog chips, and the development of standard library and runtime code, and various compiler toolchain utilities (linkers and loaders).
Many of these interests were combined in my port -- both "for fun" and as a way of really getting to grips with the internals of the system -- of the whole of the UNIX Seventh Edition operating system (UNIX V7) to the PC. This became possible in the late 1990s when UNIX "ancient source code licenses" were made available. Most of the work was done around 1999, though additions were made during 2006-7, when the port was prepared for public release.
Single-handedly porting anything as large and complex as a whole operating system can be a daunting task, and needs, especially, expert debugging and other troubleshooting skills, plus relatively deep knowledge across the broad range of technical issues involved.
Software Standards and Engineering
Besides what has already been mentioned, I have a particular interest in computer standards, and in approaches to the software development process and the promotion of "best practices" across the software development industry.
As an example of more public contributions in this area, my name is on the POSIX.1-2008 Standard (Standard for Information Technology -- Portable Operating System Interface), jointly sponsored by the IEEE Computer Society and The Open Group, as a member of the Austin Group working on its development.