Projects

Interactive Solar System

The interactive solar system is a JavaScript and CSS based animation that simulates the motion of the planets orbiting the sun via JavaScript animation. Interactivity is added through the use of the drag event to change the angle of view. I will be updating the project soon to include animation speed adjustment and zoom.

Key Skills Involved

Skills I used on this project include JavaScript, CSS and SVG.

Userscripts Contributor

I am an active contributor at userscripts.org. Userscripts are JavaScript snippets that can be installed through the browser (userscripts work with Chrome and Firefox), and allow the user to tailor their web experience to their own preferences.

One script I have written allows for the sending of large amounts of Facebook friend requests instantaneously via HTTP requests. Another script intelligently calculates and automates the best moves for the Facebook application Mousehunt.

Key Skills Involved

Skills I used on this project include JavaScript, CSS manipulation for re-theming user interfaces and HTTP request tracking using the Chrome console.

Light Focus

The light focus project was inspired by the Lytro camera which takes a light field image, allowing users to focus in at any point of the light field image after the photo has been taken. The light focus application for iPhone will use the video recording API and strategic focal points in the image to quickly gather data at variousl focal lengths. The data will then be combined to produce an interatively focusable image. The associated web application will be a gallery for these interactive, focusable images that will allow for embeding and sharing.

Key Skills Involved

Key skills involved in this project are Objective C, JavaScript, CSS, HTML and knowledge of algorithms for determining optimal image focus.

C0 Virtual Machine Project

The C0 project was my final project for Principles of Imperative Computation. C0 is a simplified and typesafe language designed to introduce the basics of programming to beginners. Throughout the class, I used C0, so as the final project I used C to write a virtual machine for this language. The virtual machine is able to safetly handle memory allocation, pointers and raise errors in the case of any undefined behavior.

Key Skills Involved

The project was done in C and required a solid understanding of the underlying structure behind how programs are run, including stack vs. heap allocation, variables and constants, and function calls.