Web Development

Two sites that I built pro bono:

Ferguscullen.com was a revamp of my brother's website in 2009, now focused primarily on his media appearances and charity work. He wanted something with an emphasis on simplicity and functionality. I used existing templates, and tweaked the CSS and HTML code to match his pre-existing logo. Total pages over 30. I still update his media and charity pages.

NEJS.org was a complete overhaul of The New England Job Show web presence. Prior to this effort, they existed over three blogs, and one website. None of the sites were connected beyond simple links. I brought the sites together under a single location, self-hosted. This involved a lot of CSS, HTML and PHP work. I also learned a lot about WordPress along the way. I handed this back to a new technical resource at NEJS in mid-2010 and am no longer involved in future updates. However, the site appears to have changed little since my involvement

Servlets and JSP

Hosting Update October 2012

My existing provider has decided to discontinue Java on their shared-hosting option. As switching to a Virtual Private server would quadruple my annual hosting fees, I have decided to replace the working projects below with video demos of them in action, including code snippets. Once I start a new major project, I will likely find a new option for hosting and reload these to my new location. Each demo is less than 60 seconds long, so please check them out!

Utah Beer Database App

Another project stemming from my times in Utah. Using seed data from realbeer.com and beer100.com for the database. This allows you to get data from the database about your favorite beer, or a range of beers. It also allows you to get information about where you can buy your favorite beer in the state of Utah.

Update: Now, you can now compare the alcohol content of two beers. I call this "Drunkability!" In short, it allows you to see how many beers it might take to match a six pack of your "usual" beer. It's just a fun way to use the database.

I am working on the expanded version of this app which will allow you to add your own beer data to the database.

Technologies used: Struts, MySQL, Servlets/JSP, XML, Tomcat, HTML, MVC

Click for Beer Database app demo

Sample Holiday Letter

Usually, at year end, I send out a Holiday letter. This year, I decided to set up my letter as a Java webapp. I have set up a generic version of my Holiday letter to add to my "public" portfolio. The information entered is first validated via JavaScript utilizing some custom code, and some existing validation code in Struts. It is then checked to the database before users are allowed access the letter.

Technologies used:
  Eclipse: IDE
  Apache Tomcat: Host Server
  MySQL: Database of "allowed" email addresses
  iBATIS/SQL: For persistence (a.k.a. accessing the database)
  Struts/JSP/Servlets: Base layer of the whole app
  Struts validator: JavaScript validation on both the email addresses and the passwords, prior to accessing the database
  XML, JSTL, CSS, HTML: Used throughout

Click for Sample Xmas Letter app demo



Note: Although the version of this project on my development machine utilizes iBATIS, it turns out that my web host does not appear to allow iBATIS. Hence, all persistence was done using straight Java and SQL.

Utah Beer Converter

Inspired by my fondness for Utah, a converter to convert Alcohol percentage by Volume (ABV) to Alcohol percentage by Weight (ABW). Most people in New England complain that Utah doesn't sell beer over 3.2% alcohol, but this is because they don't know that Utah measures the alcohol percentage by weight, instead of volume. ABV is what you see on the side of the bottle, hence what most people consider the alcohol percentage.

Technologies used: Servlets/JSP, XML, Tomcat, HTML, MVC

Click for Beer Converter demo

Applications (as jar files or using Java web start)

Blackjack

This is my first application, a BlackJack game. I started this using basic tools (Command Line, Programmer's Notepad, etc.), but eventually moved to Eclipse and have really enjoyed using a more powerful tool.
I look forward to adding to this program in the future, but I have some other technologies I'd like to play with first, so I'm getting up this beta version for now. I did get to use a lot of Java technologies in this program, including Enums, encapsulation, inheritance, images, Swing, serialization, Event Listeners, foreach loops, and a bunch of other things. It is my first application, but came out pretty well.

JWS launches easily in IE and FireFox, but doesn't save.
The jar files are tricky, so please either launch the jar link from FireFox, or if in IE, save to your hard drive, and add '.jar' to the name. You should be able to double-click the file to launch from there.