Category Archives: Life

Stuff about my life

Damo in NYC – Part 1

In just two days time I’ll be heading out to New York City with my good friends from university Sam Van Lieshout and JP Lacerda.  We are the UK finalists of the Microsoft 2011 Imagine Cup and we’re heading out to compete in the world finals in New York this week!

Our project is called Project OVE.  It aims to provide an easy and secure way for charities to exchange volunteer information and make it easier for charitable organisations to coordinate and distribute their volunteering efforts.    At the core of Project OVE  is a peer to peer network-based application written in C#.  I won’t re-explain everything here because our website pretty much has an explanation of how exactly it works covered – and if anyone has any questions, please do post a comment on one of the posts there and we’ll do our best to enlighten you!

All the way from it’s roots  as a passing conversation in the Fallowfield branch of Wetherspoons in sunny Manchester, UK – Project OVE has worked it’s way from an idea on paper to the winner of the UK Imagine Cup, and now we’re taking on the rest of the world in the finals.  I’ll be blogging and tweeting and uploading lots of media related to our progress during the 6 days in New York so everyone can stay tuned on how Project OVE is fairing in the finals.  We’re currently polishing the final version of our presentation to be made to the panel of judges on the 9th of this month, hopefully it will be a success and make a big impression!

Wish us luck!

Project case study: Netboggle

This was perhaps the quickest thrown-together project I’ve ever produced.  It started off as a way to cheat at an online Boggle game a lot of my friends were playing in the ICT suite at college, and moved on to become much more.

What I eventually ended up creating was a multiplayer network implementation of the Boggle game, where a number of players have a set amount of time to find words in a grid of 5 x 5 letters.  One a word has been found, it can’t be scored by other players in the game.  Longer words get higher scores – the score awarded for any given word is it’s length to the power of 2.  Netboggle was written entirely in C# over a few of the closing weeks of my 7 years at Bolton School.  Apparently it’s still played occasionally even now, I like to feel it’s something of a legacy I’ve left there.

The Netboggle home screen - a familiar sight for Year 13s

It needed to be Peer to Peer because of the restrictive nature of the network at school, and also the fact that people would drop out randomly and might not be in the same room.  I started by writing the game engine, that is, the core logic that determines acceptable words using a dictionary and a given grid of letters.  This was then combined with a network engine that coordinates the game state across several peers, adding other options like the ability to request to skip a given game (for example, if the set of letters presented is terrible or similar to a previous run) and a chat system to entertain users waiting for the next game to start.Later I added other features like a high scores system (this became heavily contended and pointed to the requirement for some anti-cheat systems to try and avoid the use of the ever-present “Boggle-Solver“ websites – which perhaps ironically this game started out as).

The Netboggle game screen

The best thing about this project was that it was all able to run in the extremely harsh and restrictive environment of the Bolton School internal network.  Negotiation for the storage of high scores on external servers required authenticating with various proxies and the evasion of tedious NATs along the way, but it all worked out quite well.

I later added the ability to transfer a game state from one host to another, so if one user hosting a game disconnected, the game could resume on another machine within a few seconds and the players would notice little delay.

Unfortunately, due to the speed at which I wrote Netboggle (spending only lunchtimes and free periods in the ICT suite, coding away, surrounded by 3 or more computers just for me – another familiar sight for Bolton School sixth formers at the time), it isn’t particularly portable.  That is to say that it depends quite heavily on the specific network setup at school, for example it looks for certain proxy servers that are obviously not accessible outside of Bolton School.

It is a shame that it couldn’t continue in that form, but it is far too much of a copyright infringement for a start to even consider releasing it.  Until then, I suppose my small web-based implementation – NetWords – will have to do; but that’s another story for another time.

Music over time

I made this little graphic a while ago while considering the music that I’ve listened to over the past few years.  It’s obviously only a small snapshot of the songs, but I basically went through my iTunes library in order of purchase/add date and produced this chart.

Music over Time

Music over Time

I think I was feeling particularly attached to the past at the time, so there are also a few events in there.  I think in some ways the things that happen in my life do change the kind of music I’m tempted to get in to.

I want a bike

So this is getting a bit long in the tooth now.  I’ve been solidly procrastinating for almost 3 years and true to my form, I’m doing nothing really* substantial to make any of it happen.

I’d really like one of these things:

Yamaha YZF R125

Yamaha YZF R125

Pretty fly right?  Now I’m not going to go into why I think this is a good idea (it’s somewhat of a departure from my usually logic-bound reasoning, but hey, you only live once).  Anyway, this bike in particular can be anywhere between £1800 and £3000 depending on how shiny you like them and how low you want the number on the odo to be.  I’ve weighed it up versus the other contenders in this area: the CBR125 offering from Honda, the RS125 offering from Aprilia and Yamaha’s slightly less spritely looking 125 offering in the form of the the YBR125.  My conclusion was that the YZF is far, far cooler . I’m not buying this thing to slog to work every day or scrape between road furniture and HGVs on my way to uni.  I’m buying it for the fun factor. After spending some time with mates at bike meets and taking a trip on the back a few times, I’ve grown to like the idea more and more.

*  Now this is only half the story.  I did make some headway into this last summer.  I booked a CBT, to the utter horror of my mother at the time (I think she’s calmed to the issue now a little though) and had a whack at it.  Shoved on my dads old textiles, hitched a lift off H on a crisp April morning and had a go at it.  This all resulted in me licking my wounds after being unable (yes, unable – laugh it up) to obtain the certificate I needed to make even the first iota of progress in this area. Actually, to my slight credit, there were no wounds, I stayed on my feet or sat on the machine at all times, smart arse. My untergang ultimately proved to be my complete lack of road sense combined with having no clue what I was doing in general.  A little more practice was undoubtedly required;  this time I had to return to a waiting father with the embarrassingly bad news that I couldn’t even manage this simple feat.  Bad times.  Unfortunately the trainer/instructor was particularly unhelpful in general – he seemed to want to get home to his microwave roast dinner as soon as possible, and I felt he rushed a lot of the course because the other participant was already quite experienced at riding and just required the certificate as a formality.  His slight lack of professionalism did cross my mind when I saw his Yammy diversion on it’s side with him underneath it in front of a rather large congregation of bikers.  In true biker spirit they assisted him in getting on his feet and the machine back upright, but I think his pride had already been well and truly deflated.  Everyone makes mistakes, they just don’t usually involve landing on your arse with 200kg bike on top of you while wearing a fluorescent “MOTORCYCLE TRAINING IN PROGRESS” overall.  I was told I could return to complete the training on another day if I wished to do so, with the only expense being another day of rented bike and lid.

I suppose this put me off a bit, I did let it get to me and I shouldn’t have in hindsight, because everything is an experience for me and it doesn’t matter what other people think at all.

This summer however, I’m going to do this.  I don’t know how.  It could prove to be expensive and painful or expensive and fun – a chance I’m willing to take if it will bring a little excitement to my life.

And the dance goes on…

So there’s 5 weeks of uni left until the 2-week break thingy – give or take.  Can’t be over soon enough.  There’s maths assignments, projects, inane sessions, endless lectures and deadlines and that’s just the academic side of the show.

On the other side of things I’ve got deciding what’s going on next year on the agenda.  Stay or go? Home or here? Either way, I need to make a decision and be more proactive this summer than I was last.  Hopefully I want to accomplish a few things:

  • Rewrite of Coyote-Sports.com finished.
  • Pass (yes – actually pass – another story for another time) my CBT.
  • Do something about jobs and work experience and the like.
  • Write another iOS app to get some more £ coming in next year.
  • Tend to the needs of my current app.
  • Try to push my company/personal image a bit and get some design/coding work over the break too.

I’m sure someone will poke me at some point and say “Hey – you forgot! you said you’d definitely sort out x this summer!” shortly after publishing (under the dreamy assumption that anybody will actually read this tripe) – and to that person I say: sorry – I have no more time, because I also want to try to enjoy myself a bit during the summer.  Last summer was spent procrastinating and worrying about stupid things that can’t be altered.  I do way too much of that and it’s a habit I want to kick as soon as I can.  Easy said.