GIFT is a modular architecture for developing tutoring systems. 2.5 million SLOC with an Ant build script.
The architecture is primarily in Java but supports any language that can communicate via JMS.
Modular elements of the architecture communicate JSON encoded messages via JMS with an ActiveMQ message bus and Camel message router.
XML is the basis for module configuration.
User history, user data, and survey results are saved to a MySQL database with a Hibernate interface.
Users interact with a GWT web application to receive tutoring and develop surveys, hosted by a Jetty application server.
Customizations have been made to the JVM.
GIFT also has been interfaced with a Microsoft Kinect with a custom C# library and JNI interface.
GIFT also can interface with VBS2's C++ plugin interface.
This is a video game where your Android mobile device becomes a viewport to a world, not unlike our own, where zombie chickens have infested.
The mobile device's GPS is used to augment reality so that where you stand matters; you may pick up a power up or have to fight off zombies.
The mobile device's accelerometer is used with OpenGL to render the zombie chickens relative to where you are looking.
A zombie may literally sneak up behind you if you aren't careful.
I was the leader, from design to release, of a 5 person team to produce the game in 4 months.
A full design and architecture (UML) document was created to guide development.
Common Embedded Training System (CETS)
CETS is a modification of US Army's OneSAF to provide training and simulation for tank gunnery.
Modifications to OneSAF were made in Java, with additional tools written in C++.
The Delta3D engine was used for rendering the simulation in real time using a custom C++ DIS parser.
I was the primary tester; I developed, maintained, and executed test documentation and procedures.
I also developed a custom scripting language and parser in C++ to automate testing.
I developed a graphing utility in C++ utilizing Qt to capture and analyze raw data broadcast by the software in real time.
Programming / Scripting Languages
Spring, Hibernate, jUnit, jQuery, Google Web Toolkit (GWT), Android SDK, Qt, OpenGL, Microsoft Kinect, OpenSceneGraph
ActiveMQ, Jetty, Apache Camel, node.js
XML, JSON, HTML5, CSS, HTTP, REST
Windows, Linux, SVN, Git, Software Testing, Software Debugging, Microsoft productivity software (Word, Excel, etc)