Cognitect
Software Developer 2018-Present
Part of the consulting team I provided business-level support, architectural designs and custom implementations for clients using Clojure and innovative tools including Datomic Cloud and Ions.
NOAA/National Centers for Environmental Information
Senior Software Engineer (Global Science and Technologies) 2015-2018
NOAA's National Centers for Environmental Information is responsible for preserving, monitoring, assessing, and providing public access to the Nation's treasure of climate and historical weather data and information as well as providing research to understand Climate Change.
As Senior Software engineer I created high-performance, distributed, scientifically correct full-stack software systems that generate and manipulate the large data sets that are the gold standard of climate research.
My responsibilities included leading teams to re-architect cornerstone products that generate the climate data used in academia and industry. These projects included heterogenous code-bases with multiple authors, some of which were no longer available or retired. Many had life-spans that were over 10 years old. I provided innovative solutions, obtained mandate's for those solutions from multiple stakeholders in various branches, lead the design and implementation and ensured successful delivery into production.
ASOS
The Automated Surface Observing System product was a heterogeneous system collecting and synthesizing data from over 900 sites nation-wide. I architected and developed a novel solution that leveraged Clojure, the Onyx Platform adding Java support to Onyx along with a new library Onyx Native to bootstrap FORTRAN and other languages into a flexible architecture that provided ease of integration, deployment and modern affordances without fundamentally altering the underlying code.
Award
I recieved a award for the development of a new protocol and methodology to hibernate code in a general way to ensure its long-term recoverability and use by non-domain experts when the origional author(s) are no longer available. The hibernation process was used to store the next generation ISCCP product. This work was done with its author and primary contributor before his retirement while waiting for the new GOES satellite to launch and provide its raw data. This included both the hibernation and a full QA/deployment cycle to verify sustainability.
Moog Music
Technical Business Consultant 2014-2015
Moog Music is an award-winning, innovative electronic instrument company founded by Bob Moog in 1953. Since its inception Moog Music has created iconic and innovative electronic instruments such as the Theremin and the Moog Modular - a tradition it continues to this day.
In 2013 the iOS app Animoog won an outstanding technical achievement award from TEC motivating a focus on software development in-house. I re-architected the origional codebase adding modern features enabling ongoing support and product development. This included cataloging re-usable components, proposed a modular software platform the leverage these components, and provided technical assessments for expanding to the Android platform.
I additionally provided high-level business and engineering support establishing a modern software engineering department. This included business strategy and product development guidance, selection and deployment of modern development tools and processes, lead an interim team to support and upgraded the current set of software products as well as transition support establishing a full-time staff of engineers and testers.
Disconnect
Founder 2013-2014
Founder and Head of Desktop Development at Disconnect, an award-winning digital privacy startup focused on creating intuitive tools to enable users to make empowering choices to maintain their personal privacy in an increasingly invasive digital landscape.
As Head of Desktop Development I played a critical role in setting a business direction and creating future products that supported our business goals. I lead a team of developers, designers and media to support and expand upon the current set of products with an eye towards leveraging desktop platform capabilities to create a useful, seamless and intuitive user experience. Desktop support was eventually dropped from the platform to focus on VPN solutions.
Telestream - Wirecast
Senior Developer 2011-2013
Wirecast is a cross-platform commercial live streaming desktop application with offers extensive broadcast tools, hardware support and CDN integration to make live production effortless. Responsibilities included system design and implementation, UI design and integration, and cross-platform support. Designed, advocated for and implemented two innovations that opened up new products and streamlined use of a wide variety of hardware.
Source SDK
A C-based plugin framework that offers direct integration of input sources. Features include Multiple Device and Input support; xml-based generic description of Device capabilities; Dynamic loading, creation and Device and Input discovery; Dynamic configuration GUI generation based on device capabilities; Support for multiple external GUI dialogs; State persistance and re-loading; Messaging and logging capabilities.
Implementations by 3rd party:
- Matrox VS4, MX02 - The VS4 is the backbone of Wirecast's turnkey system offering up to 8 simultaneous SDI inputs. The MX02 is also capable of dual-device support.
- XOS Digital - Cross-platform dynamic scoreboard generation
- WebStream (Internal) - FFMpeg backed RTMP/RSTP inputs. Supports nearly all webcams, HTTP Tunneling and Dynamic discovery of networked devices.
Destination SDK
A RESTful API that offers direct user-configuration of accounts on CDN's for seamless broadcasting in Wirecast. Features include secure user authentication, custom encoding presets dynamically determined from the CDN, channel selection and configuration.
Salient Stills
Founder, Lead Developer 1998-2011
Salient Stills (now called Salient Sciences) created VideoFOCUS, an audio/video forensics desktop application. My responsibilities included architecting and implementing the audio/visual infrastructure, system-level integration with 3rd-party media libraries, creating custom capture and playback components, optimization of performance and algorithms and GUI design and development.
Front End
GUI design and development in JAVA and C/C++, Multimedia GUI component design and implementation, and custom GUI component design and implementation of audio/visual capture and playback.
Back End
Responsibilities included developing and integrating 3rd party multimedia libraries in order to capture, read, write, manipulate and stream sync'ed audio/video in a highly multi-threaded environment. Libraries include Quicktime SDK, DirectShow, Windows Media Format SDK, Windows Media Foundation SDK, as well as other media libraries.
- Design and Integration of Native Media Library Support into GUI front end using C/C++, JNI
- Optimization of multimedia performance and audio/video sync issues
- Familiarity with low-level windows media SDKs such as WDM SDK
- Extensive knowledge of audio/video compression schemes and formats; System Architecture design and implementation
- Design and development of system-level functions to provide native services for multi-platform support for both Win32 and OSX.
Automated Test/Build Process
Developed test harnesses for automated code validation with an integrated end-to-end build process. Instrumental in integrating modern installer technology into the build process using WIX and Java Web Start to include support for multiple OS versions, 32bit/64bit chipset support and a variety of delivery modalities.