“Once in every show there comes a song like this..”
Spamalot

My personality means I am always wanting to push myself further by learning new things, pushing my boundaries and taking on new challenges. This was, in part, the reason why I took on the challenge of presenting at DDD events many years ago and a major part in the difficult decision to leave my current position as Development Director at Morning Data. It is an inevitable decision once you realise you’re not pushing yourself as much as you should, much like the inevitable emotion-rousing song in musical theatre.

When I joined the company back in February 2003 I was the very first employee and the first to introduce the company to the world of the Microsoft .NET Framework. Bring us forward to the current day and I leave the company as their Development Director having risen through the roles of Senior Developer and Head of Development. I leave behind me a fantastic team of excellent, talented, first-rate developers and co-workers whom I have had the pleasure of calling my colleagues and will continue to call my friends.

With the company we broke the golden rule of rewriting software and successfully proved that it is possible if managed and handled properly within the team. Between us we introduced Continuous Integration, Build Radiators, Continuous Deployment, Unit Testing, TDD, Kanban boards, morning stand-ups, the infamous WAT board and as much agile as we could stomach. The company is now poised for many, many great things and wish them all the success in the world. For me its onto a brand new challenge and it all starts tomorrow.

A cloud. On a phone.

“The Cloud” is great isn’t it. For storing stuff and processing stuff and making stuff scalable. “Stuff” has never had it so good. Most of the world seems to be putting its “stuff” into the cloud. A lot of applications now process “stuff” in the cloud. At this rate the computer will soon be moving towards the dumb terminals of the 1970’s and 80’s. Which in some weird way brings me to my point. You see, our mobile phones are already doing a lot of processing of stuff in the cloud and it’s becoming a rather large nuisance; for me anyway.

A few months ago I had to start using an Android phone (for those who don’t know, I’m waiting for the Nokia 1020 before I upgrade and I’ve recently lost the use of the Nokia 900 I had) and I made good use of the Google Navigation app. Whilst it lacked a few of the features I was used to on the Nokia Drive app it did at least do the navigation bit to a high enough standard that I arrived at my destination.

Continue reading

“Beginners Guide to the Kinect API”, a session aimed at scratching the surface of the Microsoft Kinect API, got its first outing last night at Dev South Coast, a monthly developers meetup in Southampton (previously known as NxtGen Southampton).

Kinect at Dev South Coast

The session went through the various streams of data available from the Kinect – such as audio, camera, infrared, depth, skeletal face mapping and skeletal structure mapping. Each stream had a demo and a dive into the code used. Unfortunately the audio demo decided it didn’t want to listen, however we were able to move on and take a look at the camera feeds which thankfully did work correctly.

One nugget of information I wanted to get over to the attendees was that the Kinect API makes it easy to grab the post-processed data from the Kinect. The streams are really easy to pick up and the API delivers the data through events which you can easily handle. Streams such as the ColorStream() deliver camera images, add in the event of .ColorFrameReady and it’s so easy to pick up the camera frame through the event arguments (e.ColorFrame) – I don’t think it could be easier!

I’ve put the session forward for DDD North and hopefully it will be picked by the attendees as it was a session I really enjoyed. Giving a talk at an event such as DDD North is a little less nerve-wracking that last nights’ talk as at a DDD event the attendees have the ability to move into a different session if they don’t connect with the topic or the spreaker. At a Dev South Coast event there is no other session, it’s like having a captive audience. Last nights session was also the first one where I’ve broken into doing live code demos – thank goodness for Coderush and templates!

Hopefully the session was enjoyable – just waiting for the Dev South Coast feedback.

24-06-2013 13-49-43Oracle Data Provider errors can often be the most useless text you’ll ever read. They never seem to offer any assistance in actually finding out what the problem is.

Take the one I’ve been presented with this morning. The error to the right is one that normally strikes fear into any developer who uses the ODP library for accessing an Oracle database from the .NET framework. Usually it points to a corrupt Oracle Home folder or a misaligned registry entry, but it’s never an easy one to solve.
Continue reading

Fighting Fantasy bookThe Twilio powered Adventure Game has been a great success so far but I think I need to add a few elements from the original Fighting Fantasy books to move the game away from a simple path-following story to a more interactive story.

First-up is the introduction of enemies. Warriors, ghouls, werewolves, trolls and fiendish imps. Each one you meet on your travels will need defeating, which means we need to introduce health and a dice roll mechanism, which will probably end up being a simple random number generator to begin with. I’ve yet to work out the precise mechanics but I’m thinking you might earn back half the original health of the enemy you’ve beaten. We’ll need to add in some food and potions along the story too, to build up the health.

Continue reading