Todd Coram
todd at maplefish dot com, http://www.maplefish.com/todd
(rev. 05/24/16a)

I have over 25 years experience as a professional software/firmware developer for everything from bare metal embedded devices to cloud-hosted multi-node systems. In particular, I specialize in prototyping and exploration of cutting-edge-technology with an emphasis on practicality. My current focus is on Managed Attribution, home monitoring systems, TCP/IP network programming, Ethernet/IP protocol manipulation (in user space), Virtualization and designing Internet of Things devices.


Expertise


Programming language Expertise
Clojure, Lua/LuaJIT, C, C++11, Haskell, Erlang, Java, various Forths (including OpenFirmwware, SwiftX for MSP430 and 8051, MPE Forth for ARM Cortex-M0/3/4, ArrayForth for GreenArray's GA144), awk/gawk, Tcl/Tk, Perl 5, Unix scripting (bash, korn, Busybox, etc), Python, Standard ML, Scheme, Smalltalk and Common Lisp.
OS
Ubuntu/Debian Linux, OpenWRT, TinyCore, FreeBSD, Solaris, Windows, Nucleus (for ARM).
Web
Amazon EC2, Digital Ocean
Databases/MQs
SQLite, Berkeley DB, Postgres, RabbitMQ.
Protocols
TCP/IP, USB (device drivers), XMPP (Jabber), AMQP (RabbitMQ), ZeroMQ and STOMP.
Design
Concurrent (CSP), Functional, Procedural, Object Oriented, Relational, Functional, Generic Programming
Client/Server
RESTful, transaction based, workflow systems, database backed websites, concurrent, distributed, TCP/IP socket based event driven servers.
Security/Forensics
Hardware tamper detection, Laptop forensics, Personal security devices, rootkit detection, filesystem analysis.
Low Level/Embedded
I2C, SPI, 1-wire, bit-banged UART, USB device drivers, bootloaders, BIOS firmware, IP packet analysis and modification.
Microcontrollers
Cortex-M0/3/4, TI MSP430, 8051 (Silabs), Atmel AVR 8-bit, Parallax Propeller, ARM7, GreenArray GA144.
Modeling language Expertise
SPIN Promela model checker.
Hardware Skills
Digital design of MCU based systems, Teardowns, hand soldering of components down to 3x3mm QFN, board repair.
Technical Writing
Published author (book chapter, technical papers, etc), Writing workshop "shepherd" award recipient.

Selected Projects and Products


PC/Server/Network/Web

PrivNet
Currently developing a Managed Attribution toolkit in C++ and Clojure. This toolkit has been deployed to commercial and government clients in order to facilitate anonymous web browsing and secure disassociated communications. It currently utilizes custom deployment of RAM resident software to the Amazon EC2 and Digital Ocean cloud providers using user-space IP packet handling/manipulation/obfuscation. - (Novetta Solutions 2012-2016)
Secure Executive Devices (SED)
Developed a secure commercial travel laptop targeted for Corporate Executives of large companies. Developed software to detect hacking attempts (in real time) and hardware modification. - (Novetta Solutions 2013-2014)
DARPA Active Authentication
Currently developing hypervisor based security containers for DARPA's next generation PC platform. - (Novetta Solutions 2014-2016)
Mutter
A Mumble (VOIP/chat) compatible server designed for extendability and customization. - (Self 2015-2016)
Various Open Source
Some of my open source code can be found at http://github.com/tcoram and http://gitlab.com/maroc .

Embedded

Elderly Monitoring System
Currently designing and developing a microcontroller based system for monitoring the independent elderly. This is a system I am working on in my spare time that involves occupancy, activity and temperature monitoring with minimal intrusion onto the daily lives of the elderly. The system uses X10 RF, custom temperature sensors and XMPP (as a messaging system). - (Self 2011-2016)
SBC based Moving Vehicle Imager
Designing and implementing an OpenCV based motion detector to track, photograph, identify and thumbnail vehicles in motion. The system is designed to be portable and battery powered using a single board computer (SBC). - (Novetta Solutions 2016)
Remote Controller
Designing and programming prototype board to facilitate remote control (via GSM SMS) of a power hungry Linux based SBC. The board performs power manage and command & control of the SBC. The board utilizes the Parallaax P8X32A multi-core MCU. - (Novetta Solutions 2016)
Multi-mode GPS Tracker
Designer and implementer of a multi-mode GPS tracker (running on an MSP430) that uses multiple output paths (including SMS and Iridium SBD). Developed in uForth. - (ITT Nexgen 2010)
Motion Sensor for Waking Satellite Transceivers
Circuit and firmware designer of an extremely low power, motion sensing peripheral device for a an Iridium satellite Transceiver. Dsigned around a TI MSP430 and 3 axis accelerometer. - (ITT Nexgen 2007/2008)
Hand Held Tracker for Iridium Satellite System
Lead designer and implementer of a hand held personal tracker device for the Iridium Satellite system. This device is built around an 8-bit AVR microcontroller and the Nexgen Cutlass transciever. - (ITT Nexgen 2007/2008)
uForth
I am the designer and implementor of a very lightweight scripting system for 16-bit memory constrained microcontrollers (such as the MSP430) based on a subset of ANS Forth. It is written in ANSI C and itself. It runs on an MSP430 with as little as 2KB RAM and 16KB Flash. (2010)

Personal projects

I have lots of projects, ranging from Internet servers to personal electronics. See some of my code at https://github.com/tcoram and visit my blog at http://toddbot.blogspot.com to see what I am working on.



Work Experience


Senior Computer Scientist, 9/10 to Present, Novetta Solutions, various locations in MD and VA

  I am developing tools in Haskell, Erlang, Clojure, Lua, C, Perl, Awk, etc (and whatever else that makes sense) to do secure communication software (and forensics) for personal devices and cloud servers. I am also designing microcontroller based gadgets for a variety of security uses.

Principal Software Engineer, 5/06 to 9/10, NexGen - A wholly owned subsidiary of ITT Defense, Dulles VA

  I worked on all types of embedded device side software solutions for the Iridium Satellite network. I was involved with a number of products and projects involving microcontrollers, encryption, USB, Bluetooth and motion sensor devices. I also designed and implemented protocols for satellite handset authentication under Solaris and Linux.

Senior Systems Engineer, 11/02 to 5/06, L3/Titan, Reston VA

  Lead software engineer for the Integrated Broadcast System (IBS) IBS was a government funded soft realtime message processing system with high availability and performance requirements. I was responsible for the design and architecture of the core system. I was also the designer and implementor of the L3/Titan OWL (One Way Link) network appliance.

Other Positions

Clearances

Active TS/SCI



This document was generated using AFT v5.098