I am a self-motivated, full-stack software engineer who utilizes agile principles to ensure his team creates strong, viable products. With experience in every step of the release cycle; from collecting initial requirements through to the design, development, release, and maintenance.
(Click an image for more details)
The Blind Goat is your home for beers, wines, and cigars. The website contains a database of over 200,000 different items supplemented by a rich set of features which ranges from an personal/commercial inventory system to a rating system that takes your ratings for particular items to build a unique taste profile catered to making recommendations for avoiding undesired products while helping to find your next favorite.
In this project I was tasked with creating a fictional art gallery brochure. I chose to go outside the realm of a standard art gallery and instead used an anonymous street graffiti artist only known as Banksy. This brochure is an 18 page booklet including a protective covering. Each page shows one or more artworks by Banksy PhotoShopped to appear on the same wall as other work on the same page. Each page also contains a diverse collection of quotes from Banksy's various books. Designed with InDesign, Illustrator, and PhotoShop.
In this project I created a spherical combination puzzle using OpenSCAD and printed it with a 3D printer. The goal for this project was to create a combination puzzle (Ex: Rubik's Cube) in the shape of a sphere with no set pieces and three different directions of movement. This puzzle in particular fits comfortably in the palm of your hand and has 6.2*10^23 possible outcomes!
This program is written using OpenSCAD which uses additive and subtractive geometry techniques to render 3D graphics that can be translated into .STL format and printed on 3D printers. This was my first project working with OpenSCAD and I decided to tests its ability to print objects inside one another while also testing OpenSCAD's willingness to implement recursion. The result is this program which takes in a size (millimeters) for a cube along with a smaller size for a sphere and prints hollow cubes with rounded corners inside of one another steadily shrinking in size until all that is left is the rounded corners creating a sphere with a the radius matching the one previously specified. The entire product is then differenced with a sphere to show the inner workings.
While trying to study for a data structure course in college I decided to apply various sorts and measure their effectiveness against different sizes of data. Currently, it implements Bubble Sort, Bubble Sort Optimized, Comb Sort, Compare Sort, Gnome Sort, Gnome Sort Optimized, Insertion Sort, Odd-Even Sort, Selection Sort, Stooge Sort, and Random Sort.
This is one of hundreds of iterations of my first ever program. I took my first Computer Science course just so I could create a "better" BCS ranking formula (previously used for ranking NCAA FBS Football teams). CPRankings is designed to rank teams and simulate/predict scores using various mathematical models, statistical distributions, and a few custom made ideas with varying degrees of success. Currently, the program encompasses 14 different sport leagues/associations containing over 3,000 different teams playing over 3.75 million games since 1869.
This pproject cycles through colors based on the current time of day. It works by taking the time and calculating the percent of the day which has already passed. It takes that percentage and multiplies it by 255 which is then converted to a hexidecimal number to figure out which color should display. The background color is then dynamically updated using jQuery.
Java simulators for testing various page replacement schemes. Which one is the best? The program uses three different types of reference strings to test the strategies against varying input. The first type is the random which randomly chooses the next page in memory, then there is the loop which takes in pages in a cyclical pattern with a few random pages thrown in to closer mimic reality. To calculate efficiency I measured the program measures both the time it takes to simulate and the number of page faults occurred.