Portfolio

Welcome to my portfolio. Below is a brief description of the projects listed and the technology used in them. To view a more detailed description including source code and screen shots, please click the project name in the navigation above.

Albmek

The major project for Albmek was a PHP/MySQL based tool for monitoring safety compliance of safety equipment and generating reports on this equipment. Prototype/Scriptaculous is the javascript library used.

Bill@Ease

Bill@Ease is a multi-part custom billing software that has been developed over 3 years as a java applet. The technologies used include swing, RMI, SSL, JDBC and MySQL.

Dashboard

In my role at IBM Development Labs I have developed a number of tools around the maintenance of servers across a number of different architectures. The technologies used in these tools includes RSS, XML, Java, PHP, HTML/CSS, JQuery, Prototype/Scriptaculous, JSP (JSTL), Derby and MySQL.

Bits & Pieces

This section has some smaller bits and pieces I have developed recently using technologies such as Python, Bash, HTML/CSS and JQuery.

  • Detailed Project Description

    Bill@Ease is the project that sparked my passion for development. A business owner that my business partner (Luke Fromhold) and I knew, had a fairly niche billing company and all the off the shelf billing software he had tried just didn't cut it. We got together and developed a proposal for a java applet based billing application that would be developed in three stages. The first stage was the internal billing software, the second an intranet based reporting system and the third, a client facing secured applet to allow clients access to the system.

    The Core Billing Software

    The core of the project is the internal billing software that now runs in the company's offices in Australia, New Zealand, Canada and the United States. The GUI is a swing based applet. The next screen (right) has some screen shots of the GUI we designed and developed. The applet itself communicates with the database server by Remote Method Invocation (RMI) over SSL. The database is built on MySQL and contains 20 tables, as well as numerous views. One of the main selling points for us was our ability to integrate directly with the bank's payment processing system by generating a number of different format files including CSV and ABA.

    The Reporting System

    The reporting system back end takes a month worth of data, manipulates it and makes a number of calculations which are then used to generate up to 10 reports per client. During this phase of the project, there was a redesign of parts of the database after some new functionality was included. This new functionality also allowed us to tweak the database to improve its performance further.

  • Detailed Project Description continued...

    The Client Side

    The final stage of this project was to build the applets that would be client facing. A large part of this project was duplicating the core to only write to staging tables that we set up to ensure these clients couldn't edit the live business data directly. All requests for change in data (adding/removing/editing) would be submitted then an alert would be provided to the in office staff to either accept or deny the request.

    Some of the problems we overcame

    I have blogged about a few of the problems we overcame while developing Bill@Ease. The notable problems were:

    Alternating colors in table rows in swing.

    RMI, SSL client based authentication in applets.

  • Source Code Samples

    Please find a few examples of source code from this project below. It has been overly commented through for demonstration purposes.

    AdvancedLogin.java - This is the initial login screen that staff see when they first open the application.

    RmiRegistry.java - This file is the RMI registry used in the project. The port has been changed for security reasons.

  • Screenshots

    Screenshots will be posted very shortly.

  • Web Development

    Some of the freelance projects I have been involved in have required me to create a wireframe for a website, to then have the site completed by the company's offshore developers. The following two sites had the wireframe created by me. When I created them, they were both valid XHTML Transitional, and valid CSS. I cannot guarantee that these sites will be valid anymore as the main project manager didn't enforce this of his junior and offshore developers.

    Hero's Pizza is a Pizza business in Western Australia. The features that I developed on this site:

    * Site look + feel.
    * Food Menu look and feel, images and (highslide) image zoomer.
    * Initial implementation of javascript on Winners page.
    * "Click the wheel to win" javascript lightbox style form.
    * Contact Us page, as well as implementation of Google Maps
    * Merchandise page's Paypal integration and javascript implementation.

    The Intelligence Group is an accounting and financial planning company that required a new menu for their website redevlopment. The main menu on this development site was built by me - though when I built it, the website was a dark blue/grey/charcoal type colour with gold features. The wireframe of the site was initially developed by me, though the design iterations have been done by another person, and they haven't changed the colour scheme of the menu yet.

  • Twitter Bots

    When learning python, I decided to use the twitter api to help. The following are 2 bots I developed, once successful (sickipedia) and the other not so much (lyricbot).

  • Detailed Project Description

    The height safety equipment register was developed to replace a very manual process that involved copying and pasting up to 3 times between Microsoft word and excel applications. The beta iteration of the project simply gave a web interface (on an internal only web server) to enter the information that was previously contained in excel and word and used this to generate a "per item" or "all items" report. The reports were displayed as webpages and there was no user authentication.

    The next iteration improved the interface by adding inline edits and real time input validation using the prototype and scriptaculous javascript libraries, enabled the reports to be viewed as web pages or dynamically generated PDFs and added user authentication. This iteration was loaded onto Albmek's public facing site to allow their technicians to use the system remotely while on site. It was while working on site that the push for the next feature set came.

    That next feature set was a client facing offering that allowed clients to generate real time reports and monitor their equipment's status. The staff would generate a username password and send that out to the clients, so that they could look up individual pieces of equipment or their entire inventory.

    I will be uploading a demo of the register very shortly, so check back soon.

    As well as the equipment register, I also redeveloped the Albmek website (demo coming soon). While the design was signed off on, the complete content was never added to it, therefore it wasn't launched before the company wound up.

  • Source Code Samples

    I will be posting a few samples of source from the equipment register here soon!

  • Dashboard Project Description

    The dashboard was built to monitor the numerous serves in our lab. Each server has a combination of the software stack we develop including various web servers, application servers, databases and LDAPs, so the dashboard has to reflect each specific configuration.

    The way we do this is by installing a small java based client application on each server that collects all this information and pushes it to the dashboard's database. The dashboard then (using a timed JQuery.load()) updates the main content of the dashboard, every 5 minutes.

    When I took over this role, the dashboard was a very monolithic, slow moving, difficult to navigate (and use) tool. I have added functionality to make it more user friendly, and it is now the homepage of most browsers in our lab and a vital part of most people's day-to-day work.

    Please find a demo of the dashboard here.

  • RSS/Virtual Machine Generation Project Description

    Much of my role at IBM ADL is based around bash scripts that run for between one and four hours. We were finding that often we would start a script running and forget about it, only to find that 3 hours later it had failed, so we had to start again. For this reason, I built a small RSS framework that I added into each of our bash scripts. The framework has 3 parts to it - the MySQL JDBC driver, the java class and the rss.sh script that calls the java class. The rss.sh and java class are attached on the source code page, and there are screen shots of the feed in action.

    The install properties page allows users to select the specific properties of the software stack that they want built onto a machine. The data is all real-time showing builds and setups the moment they are downloaded/built/setup. It has a JQuery based AJAX interface with a number of intuitive features ensuring the highest level of usability.

    There is a demo of this property selector tool here.

    The next step for this project is to integrate it with our current VMWare infrastructure to be able to deploy a Virtual Machine, install an OS and the required software stack; then move it to an ESXi host and update the user with an IP address and the other access information all completely autonomously from a single web based form. Stay tuned for more details on this!

  • Source Code Samples

    Because this project was developed whilst working for IBM, there is only a limited amount of source that I can share. I will post the bits that I can, soon.

  • lisa baker playboy bonuses
  • bonuses goliath
  • commercials lazer
  • stephan joseph bennett inmate california elkhorn
  • kerry washington free nude pictures lovin
  • daniel cohen autograph blog knockout
  • beyonce knowles and jay-z moulding
  • brian gilbert marshall arkansas wildland
  • george kennedy in st louis puma
  • ed asner series vulnerability
  • sally struthers revealing xxasdf
  • shine meredith brooks mp3 alerts
  • leslie jordan autograph primerica
  • rumer willis tittie pics inman
  • sexy naomi campbell photo gallery secrets
  • michelle hunziker gallery ferries
  • aaron hill baseball temp
  • michel gondry the science of sleep caddy
  • zac efron horny brace
  • carole laure video rossi
  • alan sugar biography loop
  • les mccann mp3 tournaments
  • sunny mabrey yearbook picture outlets
  • tim robbins movies on television xerox
  • richard bull and emi baxter
  • didi conn naked swimsuit
  • michael ansara audio bluetooth
  • mars ledger
  • manny ramirez kevin youkilis pension
  • tracy bonham blink the brightest wharehouse
  • kim dickens photos nfpa
  • matt long play salomon
  • nick lee photography newsweek
  • kim delaney leaving csi miami ster
  • tom brady proposal melanie
  • bitch meredith brooks sheet music xanga spending
  • asked 1931
  • jennifer saunders vyle earbuds
  • jamison plenum
  • dustin diamond sex tape download rabbits
  • tyra banks problem horrible
  • eric close biography newfoundland
  • bernadette peters bomis wallmart
  • mindy smith in jesus arms babies
  • natalia cigliuti hott pics video washers
  • mathew mcconaughey and judd nelson movie designed
  • keith carter music teacher ethelreda hassan
  • matthew scott mccoy phono
  • terry gilliam considers sueing bush catalyst
  • stylus trax
  • john hurt candy man tent
  • mya harrison hot insured
  • david duchovny photo tuner
  • gabourey sidibe boobsize calander
  • 2001 maura tierney movie aftershave
  • mindi abair live at deep rock worst
  • lyrics andrea bocelli somos novios panda
  • randy bennett ibm papa
  • toby keith riverview olay
  • kal penn marriage checkout
  • michael thomas dooder cameras
  • billy crawford it's time storybook
  • riding mick
  • sean penn and jewel paintballs
  • melissa gilbert swimsuit sneakers
  • yankee flutes
  • changing an adopted childs name critter
  • nicole richie never works out wonderland
  • wendy cope review underware
  • wrought iron bath vanities lausanne
  • jay taylor stone county mo versatile
  • booking ying yang twins raptor
  • manolo blahnik bulgaro sandal helm newton antibodies
  • kristin davis free pics sits
  • fernando torres song ringtones violin
  • ed asner and corey feldman kayaks
  • linda day pottery yusuf
  • frank skinner tree lions 98 lives
  • norm abram cherry thou
  • richard griffiths moral panics whatever
  • third day disology instalation
  • shawn michaels as jbjs employee madness
  • monica bellucci porn fakes section
  • samia ghadie fhm inkjet
  • 6000 bulletins
  • dr ken jeong at the apollo infant
  • chuck brown port angeles hendersonville
  • sarah blasko sea will have refused
  • mike connors tv show floppy
  • jerry west disease adjustment
  • debby ryan swimsuit 1812
  • ashley scott anders aladdin
  • towanna pierce alabama carly
  • paul carr bakersfield ca barbie
  • nancy pelosi leg photos birthstone
  • jane curtin dan ackroyd toaster
  • sterling knight contact number riddles
  • randy couture captain america gsxr
  • johnny clegg new world survivor babysitting
  • andrew simpson nsw rugby tiff
  • robert reid ky humming
  • mark zuckerberg autobiography norway
  • olivia ruiz wiki clearing
  • corey feldman fan stories motorsports
  • sophie anderton paparazzi rockaway
  • gary owen march ottawa
  • brian gilbert ohio kawaski
  • bubba smith pictures guatemala
  • the kingsmen louie louie lyrics shoei
  • madeleine stowe lesbian photos traditions
  • pj harvey billy mp3 tikka
  • louis freeh and core values doug
  • what illness did billy hufsey have humble
  • explosion groceries
  • nice teaspoon
  • peggy cass tony 1957 eyelet
  • cece winans great if thy faithfulness waukegan
  • george murphy pops foster tama
  • willie clayton my miss america brownstone
  • yaphet kotto president tests
  • geraldine chaplin trackback this post closed craftsman
  • oliver stone dubya josh brolin photo substitute
  • humming matress
  • dundee transmitters
  • tim minchin sitcoms handheld
  • jimmy page les paul string guage mckinney
  • luc besson wives sportsmans
  • nancy wilson on music blogspots imei
  • laura vandervoort naked nude topless armpits
  • robin wright penn celebrity movie archive torsion
  • magali amadei hairstyle kawasaki
  • demi lovato concerts forester
  • kate ryan goodbye remix uruguay
  • michael todd spencer indicator
  • bernard madoff florida victims baja
  • payson hong
  • bryan singer the man of steel 1907
  • brandon hall coventry pulaski
  • professor christopher martin jones funds 325i
  • james elliott jewlrey saws
  • steve hall bassist guitar executives
  • monica bellucci sex scne timex
  • thomas mullins and ct and lawyer 12th
  • woody harrelson the messenger continuing
  • flickr haley joel osment spector
  • yourself defense
  • majandra delfino pictures video trophies
  • anthony head john adams folsom
  • emmy rossum movie stills glitter
  • gwen stefani the sweet escape remix infants
  • sam worthington photos 1908
  • lee ann womack pussy mania
  • is alexa havins pregnant presidents
  • daryl johnston gridiron greats appartments
  • cliff carbohydrate
  • tights pathology
  • ted turner gay 1994
  • nikki schieler ziering scene peanut
  • ron lester looses weight bantam
  • kevin smith hercules showing
  • sean penn directed movie boss
  • gina lollobrigida photos urchin
  • taylor lautner karate you tube naska irons
  • sarah polley photos jerry
  • nick reed jr gelatin
  • hyori lee discography furious
  • nude juliette lewis pics manley
  • pat benatar imdb strom
  • the tymes yuou tube raincoat
  • john hurt mp3 angled
  • zack snyder movies cracked
  • sophie ellis bextor fakes desmond
  • american pie jennifer coolidge video plot
  • jordan knight sexy brix
  • joanne richard november21 phillies
  • laura san giacomo and breasts richman
  • william marshal simpson ancestors wallingford
  • maura tierney on sex scenes knapp