Consultant1993 - PRESENTFreelance Work
Technologies: Database Applications, Training & Training Content Development, Training, Installation
- Created custom databases.
- Installed upgrade components.
- Wrote a system and provided the support for the keyboard input of Indian languages (Sanskrit, Hindi, Telugu, and more).
- Recommended systems for purchase and upgrade.
- Installed and maintained networks.
Contract Software Developer2008 - 2012University of North Carolina
Technologies: MathScript, DAQ, LabVIEW
- Performed a radical rewrite/update of an experimental software system handling Cyclic Voltammetry. The system supports experiments on anesthetized and active lab animals to do real-time monitoring of brain chemistry, accurate to 1/10 second.
- Transformed a messy piece of code written largely by chemistry students, into a clean professional piece of work.
- Brought technical understanding to bear, to allow my users to load and analyze very large data files from long experiments, in one piece rather than chopped into annoying 30 second fragments, as it was previously being done.
- Collaborated with several graduate students to incorporate their research technologies into the new software.
- Created a very flexible interface to National Instruments hardware allowing the substitution of numerous other hardware card models besides the one we designed for.
- Created a live 2D color plot to allow experimenters to watch their data unfold in real time as the experiment progresses. Older versions required post-processing to see this.
- Wrote an academic paper based on this work.
Contract Programmer2005 - 2007Tracera
Technologies: Visual Basic
- Built a software system supporting Tracera's product under development, a "chemistry robot" for handling highly radioactive compounds.
- Did a radical rewrite and update from Visual Basic 6 to VB.Net.
- Performed heavy handling of serial communications to numerous serial devices that were part of that "robot".
- Interfaced with Excel spreadsheets which contained the "recipes" that specify the chemistry operations to be done.
Part-Time Teacher1999 - 2000Durham Academy
Technologies: Graphics, Cross-platform, C++
- Taught advance placement computer science using C++.
- Went beyond the scope of the required curriculum in order to include computer graphics at every reasonable opportunity because I observed that the students were much more engaged when I used graphics.
- Created Drawbox, a cross-platform simple graphics library that supported both Mac and Windows; in support of that course. Emphasis was on creating an easy learning curve and ease of use.
Support Programmer1984 - 1991Digital Equipment Corporation
- Provided support programming for a leading-edge research lab building a new world from the ground up.
- Built part of the text and code editor.
- Wrote ongoing test code for a graphics card under development.
- Designed and built an experimental UI toolkit.
- Designed and built an advanced, experimental document editor.
- Wrote academic publications stemming from work at Digital.