Uncategorized
[Test|Behaviour] Driven Development
0Whichever option you choose, I am a convert.
Previous projects of mine were met with a "*sigh* I suppose I need to write some tests, but I want to get on with the code". TSDB Explorer is the first codebase I’ve written where the majority of code existed only after the unit tests. I have to say, it’s many times more robust, and I’m going to continue the trend in TubeHorus.
Part of me is delighted too at rcov and its "Here’s how much of your code is covered by tests". There’s a definite warm feeling to be had when you’ve covered nearly all your code with tests, although as @bobtfish said – "That just shows you that your bugs are within your unit tests". But I can always write more of them to make sure I don’t re-introduce bugs.
Making a bad situation worse
8Last night’s attempted cable theft at Woking wasn’t a pleasant experience for the thousands of people trying to get home. An earlier signalling problem at Clapham Junction disrupted my journey out to Putney slightly, but it was utter chaos later.
My journey back home would have been a nightmare had it not been for the exceedingly convenient London Overground service from Clapham to Stratford, the only criticism of which I can make is that the 2015 departure from Clapham gets to Gospel Oak at the same time at the 2050 service to Barking departs. A minor problem though.
Some hours later after I’d returned home and had dinner, I had a friend of mine call me up for advice on which trains to get back to Winchester – he’d been trying to get back from Waterloo, was advised to travel via Reading, and thanks to one of my Open Source projects, TSDB Explorer, I could tell him which trains to get and from where – but not if they were running or where they were.
Hearing the story in the news this morning, my jaw dropped when I heard that some passengers forced open train doors and made a run for it down the track. That’s an exceedingly bad thing to do, for a number of reasons:
- First and foremost, there’s the danger of electrocution from the conductor rail – Module DC of the Rule Book sets out the details for the technically minded. Suffice it to say that if you stepped on, or slipped over on to the conductor rail, you’re not coming out of it unscathed.
- Second, once the driver of a train receives an alert on the train’s management system that the emergency egress handle has been used on his train, he’s going to call the electrical control room and/or signaller immediately and get the power switched off, or ‘isolated’. This can only be done in an emergency for a large area, because in an emergency, you don’t have time to work out which parts of the supply to turn off (and sometimes you just don’t have the option – imagine trying to switch off just one socket on a ring main from the consumer unit in your house). The lack of power and knowledge that there are people on the track further screws up any attempt by Network Rail and South West Trains to get trains moving, however slowly. Even if the attempted cable theft affected two out of four lines, there are still procedures that can be undertaken to move trains without the aid of normal signalling systems – they’re slow, but they exist, and they are safe. So, the result of people ‘escaping’ from trains through frustration? More trains not moving for a long time because there’s no power to any of them. Oh, and without power, the air conditioning on trains won’t work. South West Trains’ fleet doesn’t have windows that can be opened – there’s no point with air-conditioning. Everyone else gets warm and agitated.
- Finally, trespassing on the track is just that – trespass.
So, the moral of the story? However frustrated you are, don’t take matters in to your own hands and make a difficult but manageable situation in to a potentially serious incident involving death.
Open Source, Open Data
2I’ve had a rethink about source code hosting. CVS is dead in the water, Subversion requires online connectivity, and I’m starting to use git with vigour. Hey, offline commits are perfect for coding on the train! (As an aside, I gave up trying to get WiFi access on a train to Leicester on Saturday, and didn’t even bother trying on Sunday coming back). Github is where it’s at – although despite today being World IPv6 Day, they don’t appear to have access over IPv6 natively.
The code for TSDB Explorer is up and out there and being actively worked on, as is TubeHorus, which is in a lesser working state. I anticipate getting around to putting TransportHacker‘s code on Github in the next week or so.
On another note, I’d like to thank the people at Network Rail who’ve been so helpful in talking to me about some of the data sets they hold. Whilst I’m not in a position to let the cat out of the bag yet, I am pretty excited about what’s coming in the next few weeks. Time to investigate Amazon EC2 I think… this may take some horsepower.
A fellow Transport Hacker
0I met up with Louise Crow after work yesterday – a great opportunity to geek at each other about NaPTAN and CIF data, amongst other things.
She reminded me about GitHub – and so I took a few minutes this morning to push TSDB Explorer up there. If you want to have a look around the code, it’s all here. I’ll try to come up with some sample data in the next week or two, and maybe a working demo if I get time.
Google Maps’ Data Quality
0Harry Wood pointed out that Google Maps has removed Camden Town tube station from its map.Whilst I doubt Google have done this intentionally, it has set me thinking about data quality.
When developing TransportHacker (which isn’t live yet, there aren’t enough hours in the day!), I noticed the M25 was named “Autoroute Britannique M25″. It’s been corrected now, but how on earth did that one slip by?
More data quality issues (which may have been fixed by the time you read this):
- Upper Holloway station has three icons – the Underground roundel, the Overground roundel, and the National Rail symbol. Click the Underground/Overground (Wombling Free?) icon, and you see it’s actually from the bus stop outside the station
- Hop down to Highbury Corner, and you can see that Highbury and Islington station has the Underground and Overground roundels, but no National Rail symbol. Click on the roundels, and you’ll see that – yes – National Rail trains do serve the station
- Examine, if you will, The Famous Cock. On Google Maps, it’s between Starbucks and Flight Centre. Google Streetview shows no Famous Cock there – in fact, it’s right next to Highbury and Islington station
- Finally, what is White Stadt? I think it should be White City…
Here lies the danger with processing large sets of data – do you know they’re correct?
Virgin Media in stealth Ofcom marketing tactic
4The BBC are reporting that "Ofcom wants to ban misleading broadband speed ads".
All well and good, but marketing a service as "up to 24Mbps" makes many people believe they will about 24Mbps. In reality, there is negative correlation between the length of a phone line and the speed you’ll get from ADSL. Is there a widespread user perception problem, or is it just down to marketing? (Remember the "Up to 50% off!" adverts you see on the high street – you may not realise that everything may be 10% off apart from one item which is discounted by 50%…)
What bothers me is that Ofcom claim Virgin Media – who provide a much different service using a wholly different technology – provide speeds much closer to their "up to" figures. This is wholly wrong – Ofcom are not comparing apples with apples. Virgin Media’s service is dissimilar to ADSL, with more equipment closer to users’ locations, and fewer limits on the amount of power they can shove down a piece of co-axial cable.
The BBC article goes further to make it look like your ISP has a lot to do with your "broadband speed". The reality is that all ISPs using BT Wholesale’s DSL infrastructure for a phone line will get about the same speeds across that line to the exchange, but depending on the level of oversubscription and contention in their network, their customers may not reach that speed.
Is this clever stealth marketing from Virgin Media? Have Ofcom forgotten that Virgin are advertising their service as "fibre-optic broadband", when it’s really a fibre-optic backbone and copper cabling to your house? Fibre is not broadband – it’s a very narrow, specific range of frequencies. Have BT, who are advertising their "fibre to the cabinet" (FTTC) service as "Infinity", forgotten that there is no number greater than infinity, and they’ve just shot themselves in the foot marketing-wise?
Goodbye Orange, Hello 3
3I can’t remember exactly how long I’ve been with Orange for, but it’s been something in the order of a decade. That’s a long time.
I remember the days of Wildfire, withdrawn because they didn’t develop it and people stopped using it. I remember HSCSD, where I could get a blazingly fast (for the day) 28.8kbps connection out of my mobile. That’s been superseded by GPRS, 3G and UMTS. I remember, and loved, Everyphone, where I could divert all my incoming calls elsewhere if my battery ran out – but that’s just for business users now.
I remember being with a mobile phone network that was different, innovative and fun.
Now they’ve gone downhill in my view. They are slow to offer new phones, and they put special Orange firmware on them which means months of delays getting updates. Their GPRS service was good, but their 3G service is abysmal and I can’t even connect half the time (and I can tell when that is now – Android 2.3 shows the H or 3G icon in green if the connection will give you Internet access, and in grey if it isn’t) despite having good signal coverage. They proxy and filter the life out of any Internet connection you do get, to the point at which proxying my web traffic over an SSH tunnel through their network is *faster*. They tease me with Orange Wednesdays, but I pay a lot for the privilege of half-price cinema tickets. To top it off, they took away my loyalty bonus when I dared upgrade my phone in-store because “the loyalty bonus only applies when you upgrade online” – why!?
Orange, you’ve had your day, and unless you suddenly manage to fix your 3G service for me and reduce your prices drastically, I’m using my “PAC code” and going to a 1-month rolling contract on 3 for a mere £10/month.
Android, Facebook and the undialable phone numbers
4For some length of time, I’ve had problems with my Nexus One and the Facebook for Android application. Phone numbers from Facebook are imported in to the Android Contacts application with a country code but without a leading +, for example – 447700952155 rather than +447700952155. This makes them rather difficult to dial, as your mobile carrier won’t recognise them.
If you have this problem, try http://www.253below.com/prefixer (or search for Prefixer on the Android Market – find the 253 Below application). Set up a rule to match 44[0-9]+ and tell it to add a prefix of + to the number. Hey presto, you can now dial successfully.
Pedal pedal pedal
0I decided to visit my parents for lunch, cycling the 17 miles out of London in a under two hours door-to-door. The last time I tried this, back in November, I managed 2h30m-ish.
This is fun
Customer Service
0I wouldn’t mind if I could just ask a question and get a reply….
UPDATE – I strolled in to a 3 store, asked “Do you sell the MiFi?”, and was told “Yes”. I bought one and was back on my way within five minutes – the way it should be!
I want to get a 3 MiFi so I can get on the Internet for a semi-sane price (Orange charge a small fortune, and their 3G service rarely works on my phone, if I can actually get 3G that is) whilst I’m not at home. I choose the product on 3′s website and click ‘Support Chat’ to see if I can buy it in-store. Y’know, where you walk in to a store and buy something, and have the gratification of an instant purchase, as well as the product when you need it.
Here’s our conversation…
[Peter] Can I buy the MiFi PAYG + 3Gb product in-store?
[Srinivas] Hi Peter.
[Srinivas] Welcome to Three.
[Srinivas] I’ll be glad to help you with the purchase of the deal query and thank you for choosing Three.
(this is not answering my question)
[Srinivas] I would not be able to comment on the store deals.
[Srinivas] I can help you purchase this deal online with a free gift for today’s online purchase.
(purchasing things on-line is beyond me, I find it reeeeally difficult)
[Peter] I need it today
[Srinivas] I’m sorry if y ou order now , you would get the delivery the day after tomorrow.
(this it not ‘today’)
[Peter] OK, I will find my nearest 3 store and ask in there
[Srinivas] So would you like to go ahead with the order online?
(……..)
[Peter] NO! I need it today!
[Peter] If I order online, I will have a free gift that I don’t want, and will have no means of Internet access for the next four days when I am away
[Srinivas] You can check at the store .
(Great, I can check in-store to see if they sell something in-store. Who’d have thought?)
[Peter] I was hoping I could check with you now to save me a wasted trip in to town.
[Peter] Thank you for your help – I will put some clothes on and find my nearest 3 store and ask in there instead.
(I am fully-clothed actually, I just wanted to vent some frustration)
[Peter] Have a good day, and thank you for your time
[Srinivas] http://www.three.co.uk/Help_Support/Store_locator/ Click on this link to find the nearest store.
(JEEZ, YOU THINK I’D JUST TAKE A RANDOM BUS AROUND LONDON AND STOP WHEN I SEE A 3 STORE?)
[Srinivas] Anything else I can help you with?
[Peter] No, that is all – thank you
…so I’ve wasted 10 minutes chatting to him just to find myself in a situation no better than before.
Grr.