David Elam

Software engineer, Penicuik, Scotland

I'm a software engineer. I've written DOS instrumentation code in Microsoft C, telemetry software that flew on a NASA unmanned aircraft at 50,000 ft, Windows re-platforms in C++ Builder, and bare-metal firmware for prototype optical instruments. I'm currently freelancing and open to the right full-time role, with a soft spot for the projects nobody else wants to finish.

300 nm700 nm1500 nm2200 nm

The 300 to 2200 nm range of the Monolight instruments I worked on, drawn to scale; the eye sees only the first fifth. The dashed line at 1050 nm marks where the two gratings and detectors changed over. The two gratings sat on one spindle, so both halves were scanned at the same time, a full spectrum in under a second.

Career

late 1980s to 1990s
DOS-era C and C++

Instrumentation and configuration software built with Microsoft's C toolchain: segmented memory, serial ports driven at register level, CodeView for a debugger and printed manuals for documentation.

1990s to 2000s
Macam Photometrics Ltd, Livingston

Software engineer for a maker of light-measurement instruments. I maintained and customised the application software for the Monolight optical spectrum analysers, one of the first high-speed scanning monochromators (a full spectrum, ultraviolet to shortwave infrared, in under a second), adapting it to new customers' requirements.

1998 to 2001
NASA Ames Research Center (remotely)

Loaned to NASA's Atmospheric Science Branch to write DOS-based telemetry software for a custom Monolight system flying in the ARM-UAV programme. The whole job was done by email from Edinburgh; the full story is here.

2000s
Windows re-platforming

Migrated legacy DOS instrument software to Windows using Borland C++ Builder: procedural, polling-loop code restructured for an event-driven world, with responsive UIs and Win32 serial comms, while keeping a scientific instrument's behaviour and data integrity intact.

2020s
Embedded firmware

Inherited an abandoned, non-working firmware project for a prototype double-monochromator photometric instrument on a PIC24, and brought it up subsystem by subsystem to a working product.

now
Freelance software engineering

Available for contract work and open to full-time roles: legacy code rescue, instrument software, embedded firmware, and anything where hardware meets software.

iPhone Apps

Coming soon.

Webapps

Coming soon.

Desktop apps

Coming soon.

Other projects

The NASA project: DOS telemetry software for a custom dual-grating Monolight system flying on a NASA unmanned aircraft, with photographs of the Monolight instruments.

Portal: Wheatley build: an animated Wheatley eye with sound clips, being built to go inside a 3D model of Wheatley.