Software Projects

Curated Snaps
 
A collection of perhaps misguided attempts at marrying modern art and social media, Curated Snaps is a sample of my “phases” across the popular ephemeral social network, Snapchat. The project can be viewed on any web-browser but mobile users double-check that you’re on Wifi.
Filed under: Art, Software
Variations
 
Variations is an interactive conceptual art installation that invites viewers to explore the subtle beauty of geometry through algorithmically generated polygons. The piece, constructed as a physical installation, makes use of a JavaScript, SVG, and C stack built atop a Raspberry Pi and a laser-etched frame, support, and UI constructed at Metrix Create:Space. The piece, like its brother 50 Lines was demoed at the 2015 Amazon Maker Expo and Seattle Mini Maker Faire. Be sure to check out the project’s online mirror and homepage (with pictures!).
Filed under: Software, Hardware, Art
50 Lines
 
50 Lines is an interactive conceptual art installation that generates unique and beautiful images based upon simple user input that controls the repetition of lines on a canvas. The physical installation is built atop a Raspberry Pi, a custom laser-etched acrylic plastic UI, and a hand picked monitor + frame pair from a local Goodwill. The piece was demoed at the 2015 Amazon Maker Expo and Seattle Mini Maker Faire. Check out the project’s online mirror and a gallery of photos from the event.
Filed under: Software, Hardware, Art
Yo SPI
 
Yo SPI was a goofy weekend project aimed at turning the social network that only says ‘Yo’ into a simple SPI bus for doing something more useful and/or complex. As an example, my demo webapp used Yo SPI to construct full strings of 8-bit ASCII characters and tweet them. The project was mostly exploratory and has since been shut down. When running, the UI looked a little something like an oscilloscope meanwhile the front-end “shell” can be accessed here.
Filed under: Software
If You Were Here
 
If You Were Here is an interactive exploration of Soundscape Architecture focusing upon the unique sonic qualities of different locations around the lawn at the University of Virginia. The application ingests audio recordings and modifies them to sound as though they were recorded around Thomas Jefferson’s Academical Village. The project was funded by a generous donation by the Jefferson Trust and can be explored as an interactive webapp.
Filed under: Software, Art
DEVL.js
 
DEVL, short for “Damn Easy Visualization Library,” is a JavaScript library that seeks to demystify the development of common data visualizations. This library was created for educational purposes, sponsored by the University of Virginia inSight laboratory, in order to help make visualization easy for non-technical users–requiring only parameters passed via JSON strings in place of long lines of code. The project is released under the MIT License and may be found here.
A writeup of the project’s capabilities and rationale may also be found here.
Filed under: Software, Research
Doge/BTC Trader
 
MONTAGE is an exponential-moving-average-based daytrading bot for crypto-currencies. The project used Node.js + Express.js hosted on Amazon Web Services as its backend and used a mixture of Jade, JavaScript, and DEVL.js for its front-end. When running, MONTAGE carefully monitors the market for Dogecoin and Bitcoin trades, using moving averages to estimate when to make trades for profit. The project was entirely experimental and has since been terminated to save on EC2 costs.
Filed under: Software
HEARST Health
 
In the Fall 2013 semester I participated in a small team of student entrepreneurs as a part of Hearst Business Media’s “Hearst Health Challenge.” Our project, a mobile application called Sportakus whose goal is to re-imagine the public face of fitness applications, was well received at the event taking second place (out of seventy-one teams) and winning seven thousand dollars of Hearst funding. Read more here.
Filed under: Software
Rust Raytracer
 
Rust is a very promising experimental systems-level language under development (at the time of writing) by Mozilla. In Fall 2013 I took the very first collegiate course on the language — CS4414 by David Evans at UVa. My final project in the course, Rust Raytracer, is a safe, concurrent, 3D renderer that makes heavy use of Rust’s uniquely lightweight “tasks” for high-speed parallel computation. The project’s source code may be found here.
Filed under: Software
Hackathon Winner
 
As a part of my 2013 Summer internship with Amazon, I competed in an internal “Social Networking Hackathon” against over 40 teams of interns and full time employees. My winning project was presented with the “Most Innovative Award,” awarded for an inventive approach towards social media, leveraging current services to create a new content rich social network that was prototyped and demoed in the span of 72 hours. The project and its details remain confidential.
Filed under: Software
Coding Contest Win
 
During my internship with Amazon I was recognized as one of seven participants who completed all of the speed programming challenges in the 2013 Summer Intern Coding Competition, making me a winner of the event. Challenges focused on quickly and accurately developing algorithms and data structures to solve tasks of varying difficulty while being sure to cover all potential test cases. 125 interns participated.
Filed under: Software
Machine Vision
 
In the Fall 2012 semester I wrote a syllabus for a potential new interdisciplinary class on Machine Vision. In the Spring 2013 semester the course was approved, given the name ECE4502 – Machine Vision, and I was given authority of the class under the direction of Professors Joanne Dugan and Harry Powell. The course has focused on computer vision, rapid model prototyping in CAD, 3D printing, programming for Embedded Systems, and electronics design. The final project was the amusingly named “High Speed Industrial Strength Over-engineered Gumball Sorter” that would use a gravity fed, camera controlled interface to sort three gumballs per second by color.
Filed under: Teaching, Software, Hardware
MHI Visualization
 
Towards the end of the Spring 2013 semester I collaborated with Dr. Lacey Colligan of the University of Virginia Department of Neonatology and Prof. Mary Beck of the UVa Department of Applied Mathematics on an interactive tool to measure the effectiveness of team composition in medical care. Our studies in the Modified Herfindahl Index was presented at a Pediatrics poster session at UVa in May 2013 and again at a Resilience Engineering conference in Washington DC later that June. Our accompanying interactive visualization of the MHI may be found here. (Note: Chrome only, sorry!)
Filed under: Research, Software
reCOVER Initiative
 
My current research endeavor focuses on developing passive means of optimizing thermal comfort in new disaster relief shelters designed and constructed by project reCOVER. By synthesizing data from a thermographic camera and a collection of environmental sensors it is believed that this project will provide accurate simulations of how passive design changes can influence the effects of environmental stimuli on project reCOVER’s “Breathe Home.” Collaboration with Professors Anselmo Canfora and Kamin Whitehouse, sponsored by the National Science Foundation.
Filed under: Software, Research
Graphics Software
 
In 2012 I completed three Computer Graphics projects focused on 2D image manipulation and 3D rendering. My project documentation is as follows:
- 2D Image Manipulation: This project focused upon image sampling techniques and works as a pared down version of Photoshop.
- 3D Rendering (Raytracer): The most involved of my projects, this program renders 3D images by simulating the movement of light in a scene. It includes recursive ray tracing for reflections, refractions, transparency, and shadows, and can handle complex affine transformations. This project won the best in class award for my art contest entry entitled “Depths.”
- 3D Rendering (OpenGL): This secondary 3D project focused upon using the OpenGL graphics library to optimize rendering and include texturing.

Filed under: Software
FLTStanley
 
As a part of my research with the Virginia Microelectronics Consortium I produced FLTStanley, a program designed to manage and filter arbitrarily complex sets of VLSI characteristics test data. The program, written in C#, became an essential part of research and development at the BAE Systems Semiconductor Technology Center where it was put to use managing a database of millions of tests dating up to 15 years old, simplifying an initially O(n^11) problem to take under a minute of computation time. My project was presented at the 2012 VMEC research conference and poster session and has been used to assist with the production of RAD750 radiation hardened microprocessors, the line used on the Mars rover Discovery.
(Source code is now proprietary)
Filed under: Research, Software
Water Trade Data Viz
 
This interactive data visualization project (Note: Chrome only, sorry) utilizes HTML5, Javascript, and the Raphael graphics library to clarify the Water Footprint Network’s virtual water trade research. Learn more here. This project was produced and presented as a part of the University of Virginia Insight Laboratory.
Filed under: Software, Research
Arduino Soundcard
 
As a Christmas gift I wanted to put an audio playback device into a stuffed animal in order to make it “talk” when squeezed. For this project I designed and built a digital to analog converter, transistor pre-amp, and amplifier circuit built to interface with an Arduino microcontroller. The Arduino used an SPI interface to output an 8-bit WAV to the D/A circuit. The whole project was built as an Arduino shield and sewn inside a “Pillow Pet” stuffed animal.
Filed under: Hardware, Software
A Piece In D# Minor
 
This project, inspired by the famous aleatoric composition “In C” by Terry Riley, sought to produce an engaging piece of music that not only was controlled entirely by the listener but was never heard the same way twice. The interface was meant to be familiar and intuitive such that it may be played simply and without training. I encourage you to experiment with it yourself and afterwards listen to my composition written using the exact same tool.
Filed under: Music, Software
TransistorTool
 
As a part of my work with the BAE Systems Semiconductor Technology Center I produced a VLSI FETS device evaluation tool called TransistorTool. This program used linear regression models en masse to test and eventually evaluate (quality check) the threshold voltage values for NFETS and PFETS devices all around BAE Systems’ radiation hardened line of wafers. Written in C#.
(Source code is now proprietary)
Filed under: Software
SGD: Colors
 
In the Fall 2010 semester I worked with a team of students from the University of Virginia Student Game Developers group to produce a multiplayer platforming game for the Xbox 360 Indie Marketplace called “Colors.” The game was written in C# using the XNA development environment. My portion of the project focused on a specialized audio engine that changed the background music’s key, tempo, and added / removed instruments based upon player health and time remaining. Unfortunately due to issues with incompatible development environments, Colors did not get published.
Filed under: Software
FIRST Robotics
 
From 2005 to 2010 I was a member of FIRST Robotics Competition Team 339 – Kilroy (formerly Rappahannock Robotics). My work was mainly focused on programming the robot; I wrote software in Java and RobotC to control robots autonomously when given different tasks year to year. My biggest success with the team was the worldwide top robot design award in 2009 for what we called the “Movable Feast.” A pneumatically controlled platform that moved the robot’s insides around the chassis when wheel slipping was detected in order to improve grip in low friction environments.
Filed under: Software
VGuide
 
In order to learn a bit about the Google Maps API and Android phone development I developed a simple Android App that gives a guided tour of the University of Virginia using GPS. The app utilized Google Maps to show the user’s position on university grounds as well as the locations of the tour landmarks.
Filed under: Software