Projects

This page gives a brief overview of some of my personal web development projects - that is, projects that have been developed in my own time. I'll talk about projects I've worked on in daylight hours somewhere else.

Description

I love the command-line - the feeling of power is intoxicating. Of course, true mastery takes some years of experience and, even then, it can be difficult to recall all the flags and switches without resorting to man pages and snippet files.

For years, I saved my best and most useful commands in text file. Howeverm, in time this grew unwieldy and lacked a good means of quickly searching for what I wanted.

Hence, I created commandlinefu.com, a site where command-line tricks could be saved, indexed and easily searched. Influenced by sites like Stack Overflow and Reddit, I also added some social aspects to the site such as voting and commenting on individual commands, to allow a community of users to determine which commands are the most useful. I also paid some attention to ways in which other users could interact with the site - hence every new command is Tweeted to an appropriate Twitter account, and all lists of commands are syndicated in RSS feeds. There's also an API to allow alternative clients to interact with the size.

For whatever reason, the site has been really successful, it was prominently featured on Reddit and Digg in the days after I first made it live. In the first month alone, there were some 140,000 visitors.

Screenshots

Technology

  • Code Igniter
  • Zend Framework
  • Prototype javascript library
  • PHPunit testing
  • Phing deployment

Description

This is a dating site based on chance encounters between people on the London underground system. The idea comes from the free papers (the London Paper, London Lite, Metro), which publish short messages along the lines of:

You were the man wearing bermuda shorts and a fez, I was the girl eating a kebab. You smiled at me as you got off at London bridge - fancy meeting up for a drink?

These make compelling reading: thousands of people a day scan the listings for mention of someone with their description. A good idea indeed, but the in-paper messages rely heavily on serendipity for an actual match to occur. Not only does one of half of the potential couple have to report the encounter, but the other person has to read the advert on the day it is printed - take the bus home instead and their chance together is gone.

The aim of www.ourbriefencounter.com is to provide a free and easy-to-use repository for these messages as well as a messaging system. That way, you can use the search facilities to browse all messages reported along your commute (one of them has got to be you!), going back as far as the archives permit. That way, there's a much better chance of finding that other person.

The site is written using the Zend framework and makes heavy use of the Prototype javascript library. Indeed, AJAX is used throughout the site to allow a seamless and fluent user experience.

» www.ourbriefencounter.com

Screenshots

Technology

  • Zend Framework
  • Prototype javascript library
  • PHPunit testing
  • Phing deployment

www.operational-research.gov.uk

Description

This is the site for all operational researchers in the UK Civil Service. It acts as both a recruitment brochure as well as a community site for all active members. The community side of the site features a members' directory as well as job and event listings and a file repository so that files can be shared across the whole community.

The site is written entirely using the Code Igniter framework and is XHTML strict compliant.

» www.operational-research.gov.uk

Screenshots

Technology

  • Code Igniter Framework

www.my-poker-odds.com

Description

my-poker-odds.com is a site that provides a real-time poker odds calculator for Texas hold 'em. The application is designed to open in a pop-up window that fits alongside a online poker application window. The calculator features a intuitive graphical interface and uses AJAX to communicate with a server that performs the calculations.

The exact odds of each finishing hand can be calculated based on your pocket and the cards on the table. Once the turn is reached, the calculator can also calculate the odds of what your opponents have to give you a good guide to how to bet.

» www.my-poker-odds.com

Screenshots

Technology

  • Hand-rolled AJAX

codeinthehole.com

Description

This site is a simple blogging site used to hold details of some of my personal projects that used to be hosted on my university site.

This site is based on the Serendipity blogging application, while the non-blog pages are constructed using Zend Framework.

Technology

  • Serendipity
  • Zend Framework
  • Phing deployment