Subversion

Auto REM

Designed and implemented a C# assembly for interfacing with multiple COM driven Auto REM devices.

- Created an architecture extensible enough to provide a single service interface with different internal implementers for each device.
- Integration with existing software components proved the design valid by allowing additional implementations without modifying existing code.
- Made use of null object, state, factory, facade and bridge patterns to provide a consistent abstraction to clients of the module.
- Used dependency inversion and mocking to allow for over 90% code coverage.

Counts Estimator

Designed a tool for forecasting margins when using industrial machinery.

- Architected and oversaw implementation of a tool to help industrial machinery customers project their margins over the lifetime of the machinery, including initial ROI.
- Provided a valuable tool to corporate sales team for helping customers select the best machinery for their needs.
- Successfully followed an iterative and agile release schedule to provide as much up front utility as quickly as possible.

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.

IlliniGroup

Created a web utility for automating college class group formation.

- Implemented a user-friendly PHP front end for prospective students.
- Backed the utility with a sophisticated MySQL implementation, including XSS and SQL injection attack prevention mechanisms in front end code.
- Added a machine learning algorithm for calculating optimal prospective group compatibility.
- Was awarded a computing habitat competition award for the finished product.

Maxisort

Took over a legacy mail sorting application and adapted it to current requirements.

- Resolved all outstanding issues within a short time frame for existing customers.
- After clearing out backlog, implemented new requirements as needed.
- Rewrote complex mail sorting analysis algorithm to comply with new sorting standards.
- Enjoyed success in roll out of analysis rewrite without any show-stopper issues reported from the field.

Mediawiki Installations

Setup multiple mediawiki installations on corporate intranets.

- Created custom wikis for internal knowledge sharing and collaboration.
- Customized the wikis to have corporate branding and common navigation.
- Modified settings to create a richer experience with file sharing and integration with other corporate tools.

MS Test Report Generator

Architected and implemented a utility to read MS Test XML results files and generate formatted HTML reports.

- Used XDocument model to create a consistent data access abstraction for HTML and XML, allowing fluid translation between persistence formats.
- Created a tiered architecture using data access, domain, and service layers to allow application extension to other storage and reporting formats.
- Made use of IRepository pattern to facilitate persistence ignorance.
- Took advantage of flexible design to provide nearly 100% code coverage with unit tests.

OBD Reader

Created a utility to allow lay-people to read car OBDII

- Collaborated on a tiered architecture for taking information received from a serial port connection and propagating results up to a visually appealing UI.
- Followed Rational Unified Process development model.
- Implemented a test harness with high coverage in NUnit.
- Delivered well-received project ahead of schedule.

PCS

Overhauled an accounting application for customers in a niche market

- Received an existing application that had badly outgrown its initial design and successfully refactored strategic parts without rewriting to make it flexible.
- Made UI, performance, and security enhancements that led to a doubling over the customer base.
- Integrated refactoring efforts seamlessly with new development efforts.
- Participated in enterprise installations and customer training in software use.

PCS 2.0

Oversaw initial rewrite phase of a legacy accounting application.

- Created architecture and relevant artifacts for implementing version 2.0 of a legacy application.
- Setup J2EE, Spring framework and development environments for team collaboration on the project.
- Maintained initial, aggressive schedule, even absorbing periodic resource re-allocation and requirements creep.

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.

Scholarship Finder

Collaborated on a web engine for locating scholarship information for students

- Collaborated on a tiered architecture for a web crawling utility.
- Architected backend data storage and server side code.
- Mined over 50,000 different scholarships for display to users.
- Created crawling engine robust enough to handle cosmetic changes to target site layouts and formats.

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.