Welcome to Surfsoft Consulting

July 30th, 2010

Welcome to my blog and the Surfsoft Consulting web site. Feel free to have a look around, read the blog and leave comments. For more information about myself and the company, see the about page.

Please Note: having rapidly move the blog from blogspot some time ago I have finally got around to sprucing everything up, sorting out the links and generally making the blog look a bit more respectable. Please bear with me, this will most likely involve some of the earlier articles disappearing and then reappearing a few days later.

I’ve Given Up my iPhone

August 3rd, 2010

Now don’t get me wrong, this is not a religious war, a gripe about iOS 4 or the iPhone 4’s relative ability to sustain a phone call. Earlier this year I gave up my iPhone 3G and started using the Google Nexus One. Why? I’d had an iPhone for over 18 months and could upgrade (relatively) cheaply to the iPhone 4 if I’d wanted to. Read the rest of this entry »

New Year, New Challenges, New Libraries

December 31st, 2009

I’ve spent much of my spare time in the last three months refactoring code for the site fantasy-f1.net (which is the main reason why the blog has remained relatively quiet). The new year briongs with it new challenges and familiarity with a new JSF component library, PrimeFaces, which I’m loving. Read the rest of this entry »

Thoughts on DHTML and Ajax-enabled Web Sites

September 15th, 2009

My Formula One site Fantasy-F1.Net is currently looking rather tired and dated – it is after all a six year old UI design that was first implemented in Microsoft ASP and then re-written in JSP/Struts when Ajax was a cleaning product. So some months ago I took the decision to completely re-design and implement the user interface using JSF and Ajax. Read the rest of this entry »

Java Enterprise Security

July 24th, 2009

An essential non-functional requirement of any system is security. Different categories of users are allowed to perform different functions, and these requirements are satisfied by the two-pronged approach of authentication and authorisation. Authentication is pretty well covered by existing frameworks while authorisation is feasible but less elegant. How can this be improved? Read the rest of this entry »

Build Your Software on Firm Foundations…

March 23rd, 2009

What makes for a successful software development project? I was mulling over a number of projects I had been involved with in the past, some very successful, some not so, and thinking about the key differences between the two. There are any number of aspects that can be considered – the quality of project management, clearness of requirements, thoroughness of the analysis, quality of execution and technical leadership to name but a few. Here I am going to focus on two key technical aspects, not being a career project manager, and explain why they are both important and also both frequently neglected.


From my experience there are two main aspects to a technically successful software development project, the Software Architecture, and the Software Engineering Process (I am taking it as read that your teams have the basic capabilities to develop software using your chosen technical platform, which in my case is Java).

Read the rest of this entry »

Top 25 Most Dangerous Programming Errors

January 15th, 2009
The SANS Institute has published a list of the top 25 most dangerous programming errors and reading through the list was pretty much like meeting a bunch of old friends. Such lists may seem self evident to some but that doesn’t stop development teams falling into the same traps today that were being fallen into ten, twenty or even thirty years ago.
The first thing that struck me was that the list talks specifically about internet application development. Now some younger commentators have pointed out that ‘all this was covered in my degree’. However for anybody who’s been in work for ten years or more, such courses would not have covered preservation of web page structure or cross-site scripting issues because the internet was so young that it was not an issue. It also got me thinking about the wider issues around coding standards and reviews, and why we are so bad at creating and adhering to standards, performing reviews. In short, development teams are still woefully ineffective at learning from the mistakes of others.

The SANS Institute has published a list of the top 25 most dangerous programming errors and reading through the list was pretty much like meeting a bunch of old friends. Read the rest of this entry »

Hidden Files in Mac OS X

December 1st, 2008

Having finally got around to uploading the original rss4jsp projects into SourceForge this evening I found myself with a problem – I was uploading all sorts of stuff that was not applicable. For example, Apple creates a .DS_Store file in every folder viewed by the Finder, to store information about how the folder looks in the Finder. Not essential to rss4java. For that matter, neither did I want to add my Eclipse files, but in they went…


A quick Google led me to Shane Duffy’s blog post on showing hidden files (in Unix this is anything that starts with a full stop). However this did not show folders (like the Eclipse .metadata folder). This turned out to be even easier than using Google – I just tried the obvious extrapolation.
Read the rest of this entry »

rss4jsp: A Tag Library for Project Rome

November 24th, 2008

One of the features being introduced to Fantasy-F1.Net in the next few weeks is an RSS Feeds page. During the closed season it is useful to have alternative sources of material to keep people coming back to the site which would otherwise be all but dormant. Read the rest of this entry »

Looking Forward to JavaFX

November 14th, 2008

Sun introduced JavaFX to the world at JavaOne 2007, touting it as a new way to build rich internet applications, and putting it head-to-head with Microsoft Silverlight and Adobe Flex. Coming to the party last, can Sun produce a winner and make lasting inroads into the rich internet applications space?

Read the rest of this entry »