Database Evaluation
Authored a study on the relative usability of various front end programming technologies in conjunction with various RDBMs.
- Designed small applications in 5 different languages, each of which connected to five different databases.
- Created normalized schema and metrics for evaluating performance that eliminated as many comparison variables as possible.
- Presented results in website format.
Home Automation
Created a fully functional and integrated home automation system.
- Wrote low level code to interact with home electricity and automation devices using the X10 protocol.
- Architected and implemented a web server that drives the home automation system.
- Configured and programmed an assortment of hardware, computers, and remote devices to facilitate a system for controlling lights, music, and other functionality throughout the house.
Proc++
Created a version of Windows Process Manager for Linux.
- Designed and implemented an open source utility for displaying Linux process and system information in a similar format to Windows.
- Enhanced initial offering with remote capability for managing servers over TCP/IP and with proper permissions.
Software Control System
Collaborated on supporting control systems for mail sorting machinery.
- Wrote deployment and maintenance scripts for configuration management in production.
- Implemented protocols over TCP/IP, Serial and IDE for supporting a variety of devices.
- Automated common configuration tasks to allow greater software flexibility.
- Modified Linux kernel and kernel modules as needed to support high precision device communication.
Mail Sorter Simulator
Designed a system to exercise control system for industrial machinery.
- Collaborated on circuit schematics for hardware design.
- Designed and implemented software protocols for TCP/IP, Serial, and custom IDE card driver testing over hardware lines.
- Architected and implemented both kernel space and user space application for driving hardware simulation.
- Used results generated to help refine and enhance implementation of machines under test.
- Successfully unified different concerns across a variety of languages of implementation and layers of software using IPC, multi-threading and shared kernel memory.
USB Utils
Implemented a troubleshooting tool for field service technicians
- Designed and implemented a tool used by technicians that service industrial machinery.
- Enhanced tech productivity by automating the process of gathering remote machine logs and other diagnostic information for machines not connected to the network.
- Created a system robust enough to handle different and sometimes unknown hardware configurations.
- Received frequent feedback from technicians that the tool was one of the most useful in their software "toolbox".
Custom SCS
Maintained software that powered enormous production mail sorting operation.
- Successfully implemented enhancements and defect fixes in spite of taking over in a situation with no test environment or deployment process.
- Created a test environment and deployment process to make future changes go more smoothly.
- Delivered results on time and with good feedback, even having to develop on-site in a high pressure situation with no room for error.
- Introduced version control to help standardize releases and ensure quality and configuration management.
OS Xerox
Created a utility that allowed an OS to virtualize itself.
- Created a series of C utilites that, run in conjunction, would allow live virtualization.
- Successfully implemented the entire tool on a machine running a small Linux core.
- Delivered a concept that would allow users to create a "playpen" for changing system settings or experimenting to see what would happen before doing it on the actual, running OS.