Computers, Art, and Everything in Between...
Language(s): UnrealScript
Technology: Unreal Development Kit, fracplanet, Blender, Adobe Flash, Scaleform
Currently in development as part of directed research for the University of Southern California GamePipe Lab, Flock is a game built upon the Unreal engine targeting Q1 2012 for release on the PC, Mac, and iOS.
On IndieDB
Language(s): Java
Technology: Android SDK, REST, XML, JSON
Developed as part of a group project for a User Interface graduate class, WhenToLeave seamlessly integrates with a user's Google Calendar and uses GPS, Google Maps, and traffic data to alert the user when to leave to reach their next event. Source repository available on Google Code.
Language(s): C++, GLSL
Technology: OpenSceneGraph, OpenGL
This demo program combines typical pathfinding algorithms (A*, Memory limited A*, and Local Beam Search) with a spherical 3D world. Built upon the OpenSceneGraph framework, it is cross platform and specifically configured to work with Visual Studio 2010 and Xcode 4.
Features include:
- Custom shaders to integrate Light Space Perspective Shadowing with multiple lights.
- Custom assets developed through a variety of tools such as fracPlanet, Blender, and Adobe Photoshop.
- An intuitive user interface viewing and selecting 3D paths.
- Multi-threaded pathfinding keeps the graphics from slowing down.
OSX and Windows source code available on GitHub or zipped below. Likewise, a Windows installer is also provided.
Language(s): Ruby, XHTML Strict, CSS 3, Javascript
Technology: Ruby on Rails, MySQL
Description: The current portfolio website version. Trac available. Contains source, wiki, and revision history.
Also available on GitHub.
Language(s): Java, SQL
Technology: Oracle 10g Enterprise Edition specific spatial interface, Swing GUI Framework
This demo program was produced as part of a Database Systems course at USC. It features a frontend written using Java and a Swing based GUI. The backend is designed to use Oracle's 10g spatial indexing features to store and query geometric data more efficiently.
Global Trident
Web design, Development, and logo design. HTML5 and CSS.
Lockheed Martin Corp
Web design and Development. XHTML, CSS, Ruby on Rails, MySQL.
University of Arkansas - College of Engineering
Web Development. XHTML, Reddot CMS.
University of Arkansas - CSCE Department
Web design and Development. XHTML, CSS, Ruby on Rails, Reddot CMS, MySQL.
Language(s): C
Technology: HSV-SIFT, OpenCV, GNU Scientific Library
Developed for a CSCI 576, Multimedia Systems, this project sought to reliably index the position and frames that a source image appeared in a video. SIFT, Scale-Invariant Feature Transform, was enhanced by applying SIFT to each of the H,S, and V channels for 3x128 descriptors instead of 1x128. In the graphical output above, hue descriptors are a blue colored arrow, saturation purple, and value green.
Language(s): C
Technology: OpenCV, Sparse Bundle Adjustment
Developed for a CSCI 574, Computer Vision, this project implemented both facial detection and facial recognition using the EigenFace method. A library of faces was used to create a training database. Using OpenCV and a Haar Cascade identifier, faces were detected and then matched to the closest EigenFace.
Language(s): C++
Technology: OpenGL API, glut
Description: Using cube mapping and an rendering from six seperate directions per frame, this program demonstrates dynamic reflection. The sphere in the center is surrounded by a cube with textures maped to the inside surfaces. Seperate objects and models such as a spaceship can be loaded while using the program and the user may move the camera position using the arrow keys. Further instructions are available in the command windows while the program is running. Developed for Advanced Graphics in 2007.
Language(s): C++
Technology: OpenGL API, glut
Description: This demo is an extension to a previous homework assignment for Advanced Graphics. Together, this demo allows the user to control the shape of the plane using control points and move an object (spaceship model) through the environment. Developed using C++, OpenGL, and glut.
Language(s): XHTML, CSS, Perl
Technology: REST
Description: An exercise in page scraping using Perl. This web application will search a given term on both Windows Live Search and Google then compare the sponsored ads along the right side of each.
Language(s): XHTML, CSS, Java, Javascript
Technology: AJAX, Google API, Flickr API, REST
Description: A simple mashup combining Google Maps and the Flickr public photo stream. Search for any location on the globe and this web application will return up to twenty results of geotagged photos within a 10km radius taken within the last 24 hours. This is similar to the current Flickr public map feature which uses Yahoo Maps.
Language(s): C
Technology:
Description: An efficient solution to the Knapsack Problem. Developed for an Algorithms course using C.
Language(s): VHDL Technology: FPGA/CPLD, Sensors, X10 Home Controller This was a team project between myself and two others. Our goal was to use our UP2 board (FPGA/CPLD), and $130.00 budget to create an effective motion controlled module to control household appliances and lights. That is, when the user waves their hand from left to right infront of the module the lights will turn off, and when the user waves their hand from top to bottom the tv will turn on. Implemented using our FPGA, 1 A/D converter, 4 Infrared Proximity Detectors, 6 relays, and one smarthome X10 controller. Our project was sucessful in everything we designed - but we were not able to effectively 'hack' the X10 controller into accepting inputs from our digital relays. The final project had two input modes: push button mode and motion controlled mode.
Laguage(s): C, CImg Library
Technology:
Description: This demo uses the CImg library to open example.jpg and apply the power-law and histogram equalizations to the image. The resulting image and histogram are then displayed on screen and output to seperate .jpg files. You may replace example.jpg with any other .jpg file. Developed for Image Processing using C.
Language(s): XHTML, Javascript
Technology: DOM, XML
Description: This web application parses the contents of a XML file and produces a visual representation of the crossword puzzle with solution.
Language(s): Perl
Technology: MySQL, PerlDBI
Description:
While programs such as WMP, winamp, and some open source projects offer music library support, I chose to make a program that parses an output of a music directory and places music information in a MySQL database so that I could learn more about this process. Using regular expressions and PerlDBI, this program places Track, Artist, Song, Album, and file type into seperate columns in a database. A seperate database is kept for file names that are too damaged to retrieve information from and should be renamed. Developed for Software Engineering in 2007.