Academic
Embedded ControlHex to Binary Game
Main Project - This project is a game in which a player must convert a hexadecimal number to binary. The hexadecimal number is printed on a terminal window, which gets the output from the robot from a serial-to-USB adapter. The user is then given a certain amount of time to input the binary equivalent using pushbuttons mounted onto the protoboard. The time is determined by a potentiometer which is also mounted to the board. The user's score is tallied after 6 rounds. The microcontroller used is the C8051.
Extensions - We had time left over to implement a few extra game modes. Unfortunately, some of them didn't fit because of the limited amount of memory on the microcontroller.
Credits - The game was created with Micah Corah. Sample code and project provided by Professor Jeffrey Braunstein.
Design Report (PDF)
Autonomous Car
Main Project - In this project, we develop code for an autonomous car. The car makes use of a range finder, which affects the speed at which the car drives. It also has a compass, which determines the current heading. A proportional algorithm is used for drive. In addition, edits to the car's direction and speed can be made using an LED screen and keypad.
Design Choices - Some variables and functions have inconsistent naming, due to the fact that two groups merged code for different parts of the car.
Credits - The game was created with Zev Battad, Micah Corah and Nikil Sunilkumar. Sample code and project provided by Professor Jeffrey Braunstein.
Design Report (PDF) / Example LED Display / Car Overhead View / Code (Repo Redacted/Source (zip))
Main Project - In this project, we use statistical analysis to determine factors that influence years of education. We determine whether variables such as gender, ethnicity and state hourly wages affect how long a person will continue education after high school. We also fit the variables to non-linear models.
Credits - The project was completed with Alex Benjamin, John Laurentiev and Andrew Lynch. Data was made available by Professor Ken Simons.
Course page available here. It contains relevant credits (Snavely, Seitz, etc). Code will not be available due to academic integrity concerns.
Image Scissors
Description - I implemented a program that emulates the GIMP intelligent scissors / Photoshop magnetic lasso tool. In essence, the tool allows you cut out parts of images in a guided manner--Instead of cutting out rectangles, the shape conforms to the object that the program believes you're trying to cut out. This program works by finding edges and making the closest edges the boundaries of the cut.
Project Report - Webpage
Panorama Stitching
Description - We implemented a tool that creates "panoramic" images from a bunch of smaller images. This is done by finding features in each image and, in essence, superimposing images on found features.
Additional credits - Code was developed with Charles Wang
Project Report - Webpage
Single View Modeling
Description - We implemented a program that creates 3D models from 2D images, user provided vanishing lines and reference points.
Project Report - Webpage (To view the 3D models, you will need a viewer such as Cortona3D)
Additional credits - Code was developed with Charles Wang
Pedestrian Detection
Description - We implemented a program that detects pedestrians in images. We came in 2nd place for highest precision-recall rate for cropped/single-scale images.
Project Report - Webpage
Additional credits - Code was developed with Charles Wang
Work
RU Systems Administrator/Software Engineer- Maintain and extend the Union's website, which you can view here
- Maintained an off-campus housing website for RPI students here
- Manage and troubleshoot Windows and Linux Servers
- Provide technology consultation and technical support for Union clubs and offices
- Develop desktop and web applications for both new and existing projects
- Maintained and extended existing web applications
- Developed a dynamic inventory system that keeps track of any type of club equipment and its attributes. It also manages rentals/loans, keeps track of clubs, users, permissions and generates basic reports. Written in Python/Django.
- PHP/CakePHP
- Python/Django
- HTML/CSS/Javascript/jQuery
- Version Control (Git)
- Windows Server, Linux, Apache, VMWare
The full job description is available at the RU Sysadmin Application Page
Developed a restore session feature for an existing application
Designed and developed a new version of application from scratch using C# development stack
- Front-end written using WPF, blood, sweat and tears
- Back-end using Entity Framework and Transact-SQL
- Model-View-View Model (MVVM) pattern
- Improved developer efficiency by restructuring code and improving database model
Personal
AndroidInspired by my need to do number conversions in class and my desire to learn Android development. It is currently unfinished.
Current features include conversion history, auto-detect base and an ugly interface.
RFID Reader
This allows a person to unlock doors by waving a tag in front of a Parallax 28140 RFID reader. It currently uses a very weak (but cheap) servo with 1.1kg/cm of torque, so it doesn't work with the doors in my dorm. I use the Arduino Uno microcontroller.
Original works written using PowerTab and published using Guitar Pro many summers back
According to the home page, "Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve."
My recent code is available here
Credit goes to Bitbucket, Bootstrap, FontAwesome, Google Fonts, jQuery Subtle Patterns and Let's Encrypt for their awesome tools.
Other productivity tools include border-radius and box-shadow
Hosted on a CloudAtCost VPS and maintained by me