I'm a Software Engineer & Project Manager with experience in full life-cycle Agile web application development using Java & the Spring MVC framework.

I love it!

When I'm not working, I enjoy playing golf, going on bicycle adventures, learning the guitar, and taking interesting photographs like the one below of the balloons. (I was at the Balloon Fiesta in Albuquerque, NM)

Q: How many programmers does it take to change a light bulb?

A: None, that's a hardware problem!

Portfolio

This is a web application which aggregates RSS feeds and displays them on the home page. A user can register for an account and add a rss feed.

TECHNOLOGIES USED -

Java • Spring MVC • Spring Security • Spring Data • Hibernate

Github Repository

Live Demo

This is my first iOS application. It is designed to be used on the iPhone. I used Objective-C to develop and Photoshop for the design aspects. It is a simple app reminding the car buyer of important points when visiting an auto dealership. Please feel free to run it in the xcode simulator to see it in action!

TECHNOLOGIES USED -

Xcode • Objective C • Photoshop

Github Repository

This is a practice code session that I completed after reading a book on HTML5. The project is to use the Canvas API of HTML5 along with the Twitter API (grabbing the engadget twitter feed).


TECHNOLOGIES USED -

HTML5 • CSS • Twitter API

Github Repository

Live Demo

This HTML5 Geolocation Practice session includes the Google Maps API. I created this after reading a book on HTML5. I am originally from New York and thought it would be interesting to track the direct distance between the location of my mobile device and Times Square, New York City. This web application uses the geolocation API of HTML5.


TECHNOLOGIES USED -

HTML5 • CSS • Twitter API

Github Repository

Live Demo

This is an example of CSS3 using Transforms & Transitions. It uses the CSS properties transition, transform, duration, opacity and width to alter the square when the user 'hovers' the pointer of the square.


TECHNOLOGIES USED -

HTML5 • CSS • Twitter API

Github Repository

Live Demo

This is a one page advertisement for an iOS application I wrote for NoAutoDealers.com

TECHNOLOGIES USED:

HTML • CSS • Bootstrap 3

Live Demo


This is a project that I am working on while studying for Zend PHP certification. It is hand written using PHP and HTML/CSS.

TECHNOLOGIES USED:

HTML/CSS • PHP

Github Repository


This is an interactive map that I created for my trip to Bali, Indonesia. It includes RESTful Web Service calls to Flickr in order to retrieve the images displayed

TECHNOLOGIES USED -

HTML5 • CSS • jQuery • Flickr REST Web Service

Live Demo

This is an example of the Observer Design Pattern in Java. In this example, the observable(subject), StockData, releases stock prices to its observer, ChannelingDisplay.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Decorator Design Pattern in Java. The Application can be a WebApp or Mobile App. The cost of each project is computed using decorators to add the cost of additional features to the base price of each app.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Command Design Pattern in Java. It simulates a robot being controlled by a remote control. The remote allows "Flying" and "Firing Missiles" functionality and the Command Design Pattern is used to map the commands to the Remote Control.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Factory Method Design Pattern in Java. The code was created for an application that lists items for sale. The Factory Method allows for different items to be created, such as Cars and Guitars.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Abstract Factory Design Pattern in Java. In this code, more detailed items are listed for sale. The Abstract Factory Pattern is used to create the type of items and create the specific details for each item.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Singleton Design Pattern in Java. This code is for an app which lists an item for sale and manages the availability of that item. It is optimized for multiple thread access using synchronized and the Double Checked Locking technique.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Facade Design Pattern in Java. A PostListingForSaleFacade is created to simplify the process of listing a Corvette for sale. listItemForSale() wraps up the method calls by delegating the responsibility to the corresponding components in the subsystem.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Adapter Design Pattern in Java. A used car for sale object is converted to be used in the place of a NewCarForSale. The adapter is used to replace the MSRP price with a price derived from a web service call to get the average sale price of the used car.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Template Method Design Pattern in Java. Used and New cars are listed for sale. This method defines the skeleton of the Algorithm to list the car. The subclasses redefine certain steps of the algorithm. A Template Method Hook is added to ask the seller if they want to post the car to social media sites.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Composite Design Pattern in Java. A top level Composite called Listings is created to contain Composites named Car and Motorcycle Listings. Each Listings Composite has several Leaves called ListingItems.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the State Design Pattern in Java. The simulates the process of selling a Real Estate property. The states are For Sale, Pending in Escrow and Sold. The actions are offer made and offer accepted.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

This is an example of the Proxy Design Pattern in Java. Three commonly used types of proxies include Remote Proxy, Virtual Proxy and Security Proxy. In this example, I used the java.lang.reflect package to create a dynamic proxy for security.

TECHNOLOGIES USED -

Java • Design Patterns

Github Repository

Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program.

Linus Torvalds

Contact Nick