Economies of Scale

The Android has been marketed as the worlds first open source mobile phone, fully featured 3G and all that jazz, however spare a thought for the openMoko platform released on the 9th of July 2007. Granted it’s not 3G, has sporadic telephone capability and is slightly podgy; take it as a slow and thoughtful and wise Labrador in comparison to the shiny, newer and snappier Terrier of the Android.

I bring this up due to having seen the Android of a friend of mine, normally she is a devout open source user, berating me on several occasions through my Macintosh learning tendencies, this is fine; I recognise the Mac could be considered elitist, however it doesn’t pretend to be something is isn’t – I like to think of it as what Ubuntu, when there is a lot more money behind it.

The problem came about with the Android phone not having an open source Maps application (OpenStreetMap should really be standard as what OpenMoko aspires to be) the same with the email platform – surprisingly this is Gmail also, what makes makes me beg the question is why it’s marketed as Open Source when in reality it’s not ‘free as in beer’. What also makes the whole thing worse is that my friend owning said phone, is currently on the dole, her defence of this was that “the phone is only costing me an extra £10 a month”, which surprisingly makes a total of £30 a month out of £191 total. So the G1 a bunch of proprietary, lying, waste of money perhaps?


London To Liége – The Wondrous World Of Eurolines

I hate buses, dirty stinking things. Cars in honesty aren’t much better though variable hatred of buses increases whenever near one or being cut up by one. My hatred of them is especially worse today, a 16 hour monster from London Victoria to Liège Belgium via Calais. In my suitcase was enough clothes and books to last a week, an xbox360 controller to complement my laptop and the Half Life game installed and an ipod. These were the tools I was going to last three weeks in Belgium then an entire year in France. I didn’t feel apprehension or fear, just hatred, hatred of the white, elongated, cramped metal tube that would be my transport to learning French. 

I had the ignorance problem, I didn’t know where I was going and what I had signed up for, needing to learn French as I was going to start my third year of university as an Erasmus student at Ècole Supèrieur d’Informatique et Applications Lorriane (ESIAL for short) in Nancy, France. My friend Keeley had provided me both with words of wisdom – “Forget about fire alarms, the French smoke a lot” and her wisdom trying valiantly to acquaint my mind with the intricacies and complexity of the French vernacular. I felt that “Parlez-vous anglais s’il vous plaît” would get me through without incidence or problem. 

I got talking to a guy called Anthony while in the waiting area, found out that he had just got back from Nepal, from the Everest base camp, he was a hulking man and I could well believe it. In his early ’60s he was going to Ghent as his son was having a baby, as he hadn’t seen his son’s fiancee or son in a while, he was taking the journey to see how things were going. 

We started talking about ourselves and how people’s lives are transformed in different ways. Myself a could-do-better student with his mind too much on playing rugby or climbing, and him in the same sort of mould, having grown up in the north, bought a café, then another, eventually emigrating to America, replicating the same sort of success in cafés that had found him in England. He’d settled down with a family, had kids, had a son destroy the garage and the car, got divorced and top it off found out after September 11th, that his visa would be a lot more difficult to renew. On this deciding that it was time to enjoy life he set off travelling and found himself sitting next to me in the waiting lounge. 

Myself I replied that I was a student that was doing a degree (or reading a degree, for those that have ‘elitist without being elitist – Times Education Supplement University Awards 2008 ) – views’) in Computer Science with Business Management and decided in a moment of madness and fear that the gravy train would end, I spoke to the Head of Department José that I wished to do a foreign exchange and would it be possible. In his research he found that I was going where no Computer Science with Management student had ever gone before, as Computer Science with Business Management (European Union) didn’t have a UCAS code – this had led to massive student loan nightmare, needing for the office responsible setting my course as 3rd year Medicine. With a small stipend which went straight to paying my overdraft off getting me upto £zero I then found that the University of Liège runs a three week intensive French language course, with my ignorance problem that should sort my language problem out. 

Ghent came and went, with my vague slumber being taken by the bus cleaning machine the driver thoughtfully took us through. Three hours later, I stepped off the bus, knackered and thoroughly disorientated, the road signs were no help, whatsoever. Spotting an open pâtisserie i acquainted myself with an eclair and a Quiche Lorraine, temporally refuelled, spotting a sign and a directional arrow for a hotel Ibis I tottered off in search of shelter.

When the Chinese Have Way To Much Time On Their Hands…

There are many online mapping websites outthere, from OpenStreetMap (of which I contribute) then to the proprietary nightmare that is google. However special mention must also go to the chinese for this, in mapping Shanghai. OpenStreetMap has fully grasped the web 2.0 concept, maybe these guys are ploughing ahead for web 3.0?

Shoes and Men Don’t Mix…

As Carrie Bradshaw would lament ‘A woman can never have enough shoes…’. In a feigning interest in fashion affairs, I hear the the wedge is in and the heel is out. As a man I don’t get it, what the hell are they talking about? Shoes are shoes, no? 

To fully explain my plight against this feminist underplot, I must first explain my hatred of Belgium. As an Erasmus student in the past year, I had the misfortune to live in Liege for a month, taking a detour to learn French, before the main piss-up arrived (oh how wrong I was). Right now, place a pencil in between your index fingers on the top, with your middle finger on the bottom side. Now think of a famous Belgian, if you thought of Jean Claude-Van Damme push your index fingers down. You may of noticed that his hurts, good.

The problem with the Belgians, is that they have no national identity or country esteem. Come on, how low does a countries esteem have to be, when it calls its national food after another country – ‘French Fries’ – you start wondering more about them. The fact they’re a tad arrogant as well annoys me, you see when the French do it, especially hot French women, it’s cute, and you get that little warm feeling that they’re doing the stereotype, so you feel less guilty when the Germans are marching in the shade. 

When the Belgians do it’s like genital herpes, but not cute when you’re first exposed to it, it’s bloody annoying, makes you wish someone should of done a proper job in the past. So shoes, my problem with shoes, and the women becoming more fashionable, is that it seems that this trend is catching on with men, and real men, rugby players – Gavin Henson, is rarely seen with a head of hair that Lawrence Llweliyn Bellend would be envious.

With skinny jeans, and skinny cardigans, pink adorning all, what is the future for the British gent around town, what was wrong with jeans and chino’s, instead we now have TKMaxx, Primark, Peacocks, and every-time I visit, there is a worrying amount of guys milling around, mixing styles, seeing what went with what and – not that I was paying that much attention – but avoiding from the general matra that had seemed to have done man well in the past. Walking into said midrange, midpriced fashion outlet, looking at what the mannequin is wearing, finding it in his size, then departing.

This demasculinity I blame on the femininity movement, we haven’t found the equilibrium, we’re gone past it, so I call on you all, men of the world, put down your cocktails, loft your brew into the air and declare, Mr Big dies in SATC: The Movie. Payback’s a bitch ain’t it?

Being Pablo Escobar

Being Pablo Escobar


With the student loan comes an immaculate bedroom, elections and exams, coupled a few concerts thrown in for good measure and of course a false sense of financial security. The concert in question involved a rather interesting ride to Freiburg-Im-Bresleau in Germany to see one of my favourite bands, Bishop Allen(.com). With a brilliant mix of melody, instrumental skill and lyrics they are an excellent indie band, though not so great for motorcycle riding, while ipoding and (shamelessly) singing along, I go to another place, not Mark’s happy place this time but almost the rear end of a lorry. In short they are a brilliant band and offer free music on the site, what do you have to loose? 

Plug over, what I would really like to know, and really answers to please, is how to deal with stupid police officers when they stop you for drugs? Living in another country and wanting to make the most of it, I have been going around to other countries and different places as you do, and almost every time I cross a frontier I’m instantly pinged by a rozzer declaring “Excuse-moi monsieur, je suis une officer de la Douanes. Je voudrais cherchez-vous pour drogues et je voudrais voir votre identification”. Instantly producing my passport, driving licence, health card, library card and everything else that proves I’m me I always run into problems. 

The reasoning apparently is my appearance.  Gone is clean-shaven short black hair, in is a (proper, not bum-fluff) beard and a blonde afro mullet. In the eyes of my father I’ve been downgraded from “Student” to ‘Lefty work-shy layabout eco-mentalist save the Mongolian fruit bat fly hippie”, with the only lower grade being “Communist”. Seeing as your average beat bobby may have the same ideas and views as my old man I’m normally worried. This time however I had real problems, one of the big cheeses had decided to get some exercise (it was needed – sitting on his arse all day with cheap bratwursts on offer clearly hadn’t done him or his coronary tract favours) and like any middle management type that had dreams of grandeur and directorship, but ended up marshalling a group of people that “know what they’re doing and could do the job just as well if they were left to it”, I was in for a good ‘ol fashioned search. 

This meant even my scared area, wasn’t that sacred that day, though fortunately one of the policemen knew English (his boss didn’t) so we had a little chit-chat on the evils of a 12 hour day and apologies on stopping me. While his boss, did a number on my petrol tank, drained my battery and found a gaffer tape sealed plastic bag. I have a respect and tolerance for the people doing their job, the muppet demanding to know why I have a beard then triumphantly finding and opening my bag was annoying, he should just sit behind his desk and mature on a fattish pay check. But if he wants to ‘go out into the field’ and find two day old Class A boxer shorts that’s his problem.

Guide To Adding Turn Based Restrictions in JOSM


As the new Open Street Map API 0.5/0.6 supports turn based restrictions in JOSM, this blog will show how to add these restrictions to the OSM database.

A turn based restriction is made up of two nodes/ways a, to value, from value and via node. Basically you will need to select which is the node/way with the restriction starts (the from value), the node/way where the restriction ends (to value) and the node/way where you could normally cross at (via).


Open JOSM and click on the relations button at the bottom of the side bar (highlighted in green) and the relations bar appears in the bottom right pane (blue).


To create a new restriction (which is a relation) click new (Orange) where you will be presented with the screen below,

From here add the tag ‘restriction’ (orange) with the value of that restriction say a ‘no_left_turn’ or ‘no_right_turn’ (for a full list see here: )


Then add the members (yellow) to the relation ie. the to, from and via segments. Click on the way/node where you want to add the member then enter, do this for all the ways and their assoiciated restrictions then click OK and then upload it to OSM.

Here is the web page of the relation that I uploaded from JOSM as part of this example… (The webpage is here:

From XML to XPath via Sax

The past week has been interesting, with breakneck speed in getting the initial DOM XML parsing working then when coming to selectively choosing information and needing XPath to query the XML file, it becomes a different kettle of fish. 

Installed with a sense of confidence from earlier XML success, it rapidly became apparent that the OSM data model wasn’t going to be compatible with a basic DOM parser, so moving onto XPath yesterday was a frank nightmare, with nothing going right, then in true fashion in 5 minutes I was up and compiling within 5 minutes of starting this morning using a SAX parser instead of my DOcument Model. 

The problem now is moving onto making the OSM data model fit with the XPath query language, possibly doing XLST transformations or at worst placing the data in a temporary SQL database and then pulling the data out then, time is of the essence!

For those interested here is the code to query XPath in Java…


import org.w3c.dom.*;

import org.xml.sax.SAXException;

import javax.xml.parsers.*;

import javax.xml.xpath.*;

public class XPathExample {

  public static void main(String[] args)  throws ParserConfigurationException, SAXException,  

          IOException, XPathExpressionException {

    DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();


    DocumentBuilder builder = domFactory.newDocumentBuilder();

    Document doc = builder.parse(/*Name of XML Document*/);

    XPathFactory factory = XPathFactory.newInstance();

    XPath xpath = factory.newXPath();

    XPathExpression expr = xpath.compile(/*XPATH QUERY HERE*/);


    Object result = expr.evaluate(doc, XPathConstants.NODESET);

    NodeList nodes = (NodeList) result;

    for (int i = 0; i < nodes.getLength(); i++) {