This whole page is very due for a large rewrite, due to a switch of providers, and a variety of issues (mostly just busy at work)

Web Development

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. He took over a few years ago.

Servlets and JSP

Hosting Update August 2018

I've moved to AWS, and need to revamp this whole page! Thanks for your patience!

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

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



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

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.