Paying it forward

I received a request yesterday for some Excel help. It came via Twitter from an intern working for quite a big internet company in San Francisco.

There was nothing in it for me beyond shits and giggles. But I helped.

I received a dataset and did half an hour’s worth of analysis last night. We were going to speak about it this morning UK time, but his internet failed him, so that didn’t happen. But I instead spent another half hour cleaning up the analysis and polishing things off, then I was done. I spent another hour or so on a video call tonight explaining the steps I went through.

To me, it was simple stuff. Some text manipulation and data cleansing, some PivotTables, that was pretty much it.

To him, he was blown away. (“This is incredible.”) The first draft of the output was well-received, and it looks like the second iteration has put it to bed.

The commitment for me was relatively trivial. A couple of hours’ effort, a few moments wasted waiting for a Skype call, a little electricity. But to him, I get the feeling that the output is immense, and that it will allow him to shine that bit brighter in his internship.

I’ll likely never meet the guy. But helping him feels good. Really good. I guess it’s what the Americans would call “paying it forward”.

Huddle in government

By December 2010, efforts on the government’s “G-Cloud” programme had come to little. Thousands of hours’ effort from both government and suppliers (the latter at their own cost) had been spent chasing an ill-defined goal. Proofs of concept were developed to prove ill-conceived or unconceived concepts. Data was asked of departments with little idea what it might be used for, either by the collectors or the providers.

But this was OK. Because failure can only be achieved if the goal is defined. Without a goal, no one can measure your progress towards it.

I was a part of that programme, and my voiced concerns fell on deaf ears. So I went slightly renegade, with the support of my employers. And fought hard for something that I believed in, something that might be of use to government.

And one of my last pieces of work when working as a consultant to government was to negotiate and implement the first pan-government cloud agreement, which went live in March 2011.

My goal was to agree and implement a common and enforceable set of terms and conditions (and costs) to which government departments must sign up to use the services of a cloud provider that was already beginning to be widely used across government: Huddle.

No public body would be able to sign up to using the service (or indeed renew their existing contract) without agreeing to the terms and paying the costs on the ratecard. And Huddle would not be able to enter into an agreement with a public body that strayed away from these terms or costs (either up or down).

Organisations would still need to go through due diligence and the necessary processes to ensure that the product was chosen in a legal and fair manner. But the expensive negotiation process undertaken by each department in blissful ignorance of the same process occurring elsewhere on Whitehall would be gone.

The result was endorsed by Buying Solutions, the predecessor of the Government Procurement Service, on 31 March 2011, and represented the first such agreement: a centralised cloud solution with predefined terms and conditions with commercial endorsement from government.

Fifteen months on, this is where we are. Proud times indeed.

Why gay marriage should not be open to consultation

Once in a while, an issue comes along that is so fundamental to humans’ rights that consultation should not be deemed necessary.

The abolition of slavery. Women having the vote. Non-white people having the vote. Interracial marriage.

And now, gay marriage.

The only people who were against any of the above were those people whose rights would not be affected by the change. White people opposed the abolition of slavery and the introduction of the non-white vote. Men opposed women’s having the vote. Those with no intention of marrying someone of a different race opposed interracial marriage. And straight people oppose gay marriage. (Not the entirety of each of the groups, I hasten to add.)

Consulting the nation on whether gay people should be allowed the same rights as straight people will yield a mixed response. Gay people will, by and large, support the notion. And there will be division among straight people. Some will support it; others will be against it; and many, I expect, will be indifferent, perhaps itself a sign of support.

In my view, the changes should be introduced without consulting the British people. This issue is so fundamental to human rights that its outcome should not be allowed to be influenced by the British public, whose opinions on such issues have proved to be dangerous in the past.

To avoid disappointment: simulate

I am currently working in Brentwood, and started driving there in September 2010. I take the South Circular, hit the A2, then take the Dartford Tunnel and M25, coming off at Junction 29. Same route home, opting for the QEII Bridge rather than the tunnel for safety reasons. Interesting, I hear you say.

Throughout the time during which I’ve commuted by car, roadworks have beset the stretch of the M25 between the bridge/tunnel and Junction 29. This is because of a road-widening programme that the Highways Agency undertook, giving each carriageway four instead of three lanes between J27 and J30.

Throughout the programme, cameras were set up limiting drivers to 50mph throughout the stretch of roadworks. The journey was smooth, but frustratingly throttled. The work was eventually completed, and the roadworks and cameras disappeared over the weekend of 26/27 May, leaving four lanes of beautiful 70mph road.

The journey that morning of Monday 28 May was sublime. Coming out of the Dartford Tunnel, it was a pleasant surprise to see the removal of the roadworks and the restrictions, and my journey to J29 was all the more joyous and quick as a result.

But the journey home was far less pleasing. The initial stretch of the M25 on joining at J29 was lovely: quick and trouble-free. But then the delightful new digital displays reduced the speed limit to 50mph; then to 40mph. Shortly thereafter, while these limits remained, they were surplus to requirements, as we nudged along the beautiful new tarmac.

And on each of my five subsequent commutes, things have been pretty much the same. The jam kicks in a little earlier or later. But it’s always been there thus far. Tonight’s jam nigh on doubled my regular journey time.

You see, while the M25 has been gloriously widened, the QEII bridge remains the same width as before (also four lanes, but with a slower, 50mph limit), and there remain 17 toll booths through which cars can pass.

The aperture of the egg-timer (the toll booths) remains the same. But the top half of the egg-timer (the clockwise M25 north of the crossing) has been widened. The end result is that the bottom half (the clockwise M25 south of the crossing) sees almost no change.

I’m hoping that my diagnosis is wrong, but I fear it’s not. And if true, it’s a problem and a nine-digit expense that some basic upfront simulation might have avoided.

[Hands up who misread the title of this post.]

Coding is dead

My first experience of coding came courtesy of a ZX81. And later through the ZX Spectrum. On each computer, you didn’t need to type commands. Indeed you couldn’t. Each key represented a shortcut to a command: PEEK, POKE, PLOT, RUN, REM etc. If you were at the appropriate point in a line of programming, pressing a letter would yield a command instead of the letter itself. It was all rather convenient, if, in hindsight, a little limiting.

Then came the BBC Micro. The convenience of shortcut commands was no more. To RUN, users had to press three keys as opposed to one.

The world didn’t end. But at that point, I genuinely believed that programming would never take off.

You see, programming demands syntactic perfection. Commands must be spelt correctly. Semicolons must, where rules demand, feature at the end of commands. Quotation marks must surround certain types of text, and each function commands its own imposed structure.

And with such grammatical idiocy and general shoddiness surrounding us, I was of the belief that programming could never survive. I didn’t think that the general public could reliably be expected, with or without the aid of command shortcuts, to type faultless lines of code.

It was a brief thought during my early teens, perhaps earlier. And maybe it’s a sentiment that I carried forward in my career as a proofreader: no one can be trusted to write faultless English.

Thankfully I’ve been proved wrong. Code abounds, and compilers are technology’s proofreading equivalent.