Google and Wifi

So Google are in a bit of trouble because they captured a bunch of data from open wifi access points using their Street View cars.

Personally, I’m going to apply Hanlon’s razor to this: “Never attribute to malice that which can be adequately explained by stupidity.”

Google were collecting wifi data for the purposes of performing rough geolocation without the aid of a GPS module; if you collect the approximate position of a wifi access point (identified by its SSID and MAC address), then you can later calculate the location of a mobile device by cross-referencing with what wifi access points it can see. This is perfectly legitimate — all this data was being broadcast in the clear into public areas, it’s not personally identifiable, and Google were never going to disclose it directly anyway; only the results obtained from the use of the data.

The contentious bit is that they hoovered up payload data as well as just SSIDs and MACs. This means emails, web pages, downloads etc. etc. This isn’t too horrendous as anything actually important and sensitive e.g. financial stuff,  is encrypted at the transport layer by SSL anyway. The collected data could potentially be compromising and embarrassing however, and it is legally very dubious to collect and store.

Given that it’s a PR disaster and potentially illegal, I think the most plausible explanation here is cock-up. Somebody on the Street View team got sloppy and used some code from another part of the company without asking too many questions about what that code did, over and above what they were going to be using it for; said guy is now probably getting one hell of a bollocking.

Totally Forgot To Post This

Ages ago, I saw a guy playing a set of drums made from a bike.

He played this:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

(Incidentally, I know about the weird broken layout to do with comments. Not sure yet how to fix it, got broke by a Disqus update. Edit: Fixed! Although in a supremely hacky way…)

Yesterday Threw Everything At Me

I had kind of a crazy day yesterday.

It started with an exam in Quantum Field Theory. Painful, but I think it didn’t go too badly. Had a bite to eat, then it was straight into some last minute revision on the Queen’s Lawn for the second exam of the day in Optical Communications Physics, which was actually sort of pleasant, in a slightly strange way. Less like the hideous mental assault which constituted my other exams, anyway.

To celebrate, Rowan, Susan and I took a trip to our customary haunt — Nando’s — and proceded to consume chicken. It was delightful.

After that, I decided to take a trip into central London to grab some comics at Forbidden Planet, and as I was strolling up Monmouth Street I walked past none other than Neil Gaiman, award-winning fantasy writer and graphic novelist. By the time I’d realised it was him he’d already walked past me and gone round the corner. It took me a few more hours to realise that I was in fact carrying in my bag a copy of his “Sandman” graphic novel “Dream Country”, and that asking him to autograph it would have been incredible. I later found out via the wonder of Twitter that he would have signed it if I’d asked. Never mind!

So yeh, went to Forbidden Planet, grabbed a new Buffy comic and a Penny Arcade book, and went and sat down on a wall just up Shaftesbury Avenue and read my purchases for a while, and watched the world go by. I don’t spend nearly enough time in central London, which is a shame because I love it dearly; it’s so full of life and bustle and remarkable buildings and architecture and it goes on and on in all directions.

Rather than go home, I decided to take a bit of a walkabout. I set off east towards Holborn, passing whichever way took my fancy.

The first thing I discovered was what looked to be the entrance to an underground tramway.

A disused and gated tramway under the streets of London

I wonder how long it’s been since it was used, and where the other end of it surfaces, if it still has another end.

I wandered over to where a section of street had been blocked off by Crossrail signs. This old building, a sign on which read “The Ivy House” was abandoned, encircled by signs exhorting me to visit the site office. The building across the street bore the likeness of, and a dedication to, John Bunyan. It too looked decayed and abandoned; I turned the corner into a desolate alley, and leaned to look through some railings; through them smelt of damp and decay.

The building was apparently called “Kingsgate House”, and despite appearing to be derelict, somebody still seems to be in habitation, judging by the light and the open window.

It appears that I’m not the only one to find this building interesting.

Places like this fill me with wonder, make me think about their history, why they were built, and how they fell on hard times. I wonder if Crossrail is doing any good to this little microcosm of Holborn at the moment; I must confess that apart from the Astoria, I’d never really considered the impact the building of Crossrail would have.

I turned north, and found that Warner Brothers keeps replicas of the Hogwarts house insignia in the Foyer of their offices.

From there I wandered into a residential district, near Great Ormond Street hospital. Houses draped with the flag of St. George, people in bars, drinking and chatting, the beautiful chattering sound of people enjoying themselves wafting over the streets. I walked down an alleyway that passed through a building, joining the street through a crack in the facade of a shop. Behind this was tucked a little house, sounds of a party coming from inside.

It was getting late, so I headed in the direction of Russell Square tube station, marvelling at water fountains, and a house draped in lights for some unfathomable reason. I came across a park called Coram’s Fields. The sign above the gate read “No Unaccompanied Adults”. I thought this was marvellous.

Why We Should Fear “The Big Society”

The Big Society is ostensibly the centerpiece feature of the Conservatives’ policy for this election; their manifesto was titled “Invitation to Join the Government of Britain” in reference to it.

For such a centerpiece policy, it is breathtakingly vague. Nobody understands it properly, not even many people within the Conservative party. One shadow minister said: “The ‘big society’ needs to be turned into more practical, voter-friendly language. We need to turn Oliver Letwin’s Hegelian dialectic into voter friendly stuff.” When you’re using the phrase “Hegelian dialectic” to describe why something is tricky to understand, you know you’re in deep trouble.

Not many people (who don’t have philosophy degrees) are going to know that Hegel was German philosopher, one of Marx’s influences, and like the philosophy of Marx the ideas of the Big Society display an earnest idealism totally stripped of even a single iota of pragmatism.

The Big Society is supposed to conjure up an image of us as a country spontaneously coming together to fix “Broken Britain”, volunteering to fix our social ills, to cure a culture of entitlement, to restore power to the people, etc. It speaks of a social movement to bring about change, and in the face of the Big Society, the Big State will wither away.

That’s bollocks. It’s the same mad utopian dream as that of Communism.

There is no social movement, no grass-roots activism for the Big Society. Cameron didn’t even mention it in the debates, and their polling is hovering steady in the low thirties; this is no popular movement. It’s just words, words with nothing but vague appeals to working together for change. It’s all just political hot air.

The real intent, the real policy, is a return to something like the libertarian aspects of Thatcherism, or worse. The state will not be allowed to wither as vounteerism takes up the slack; the state will be hacked away with glee, cut to the bone. Provision for the poor, for the weak, will fall through the cracks as charities and volunteers struggle to cope. It’s a reversion to how things were a hundred years ago or more, before these functions were absorbed by the state. Police and Fire services were once run by dedicated volunteers, and there’s a damn good reason that we don’t do things like that any more. Similarly with social services; look at what’s happened in Hammersmith and Fulham as council provision has been stripped away. It’s ugly, so very ugly.

In many ways, the individualism inherent in Thatcherism, the belief that “There is no such thing as society” is part of the root of what is wrong with Britain today. We were told, as a nation, that we should look out for ourselves, that greed was good, individualism was king. Are we surprised that people took this to heart? That kids who grew up in that time, and in the time since, act as if they have no responsibility to anybody? There’s a thread running directly from Thatcherism to the rise of the ASBO.

I’m not saying there isn’t a place for charity or volunteering; absolutely there is. It’s a noble thing to give of your time and money for a good cause, but it should be in addition to the services provided by the state, not an alternative. The richest and strongest have a responsibility to the poorest and weakest, whether they like it or not.

The Big Society is also economically nonsensical. The wealth of nations is at least partly based on the division of labour. If I do my job well, and efficiently, it will generate wealth. That wealth can partly be used to fund somebody whose job it is to provide social services, which they too will do efficiently. If social services are performed by volunteers, then they will be performing both their day job and their volunteer work, reducing overall efficiency.

Before I’m accused of being a mad Big Statist, I’d like to point out that I am a Liberal Democrat; the first paragraph of the preamble to the Lib Dem constitution includes the words “we aim to disperse power”. The state doesn’t need to be large, monolithic and centralised, and that has been a major failure of the current Labour government, but it also shouldn’t be wiped away entirely.

The free markets and spontaneous individual action are not, and cannot, be the solution. When individual initiative is allowed to run too far, unrestrained, the consequences are usually disaster. Look at the banking crisis. Look at the Roman civil wars in the first few decades B.C. Look at the dictatorships of the world. We have a democracy because we know that pluralism, not individualism, is the way forward. We are stronger together than we are apart.

Adobe vs. Apple

Apple and Adobe have been having a rather public tiff about the use of Adobe’s Flash on Apple’s mobile platforms, the phenomenally successful iPhone and iPad platforms. I’m going to have to split my response to this into two logical parts:

1. The Web

Flash is predominantly used as a container for video content, Flash-based games, and the occasional little widget. Almost every other use is a disaster; I’m sure we all have horror stories of terrible Flash-based websites.

Apple’s argument in this space is one I completely agree with: letting one company, with one proprietary implementation, control several important classes of web application is just wrong. Emerging standards like HTML5 video and canvas tags, and support for them in all the major browsers (Chrome/Safari, Firefox, IE9)  mean that we have no need to stick to Flash. Even if we were to assume that Flash was high-quality, secure, performant, and stable, which it isn’t, letting it have total control of web video would be an incredibly bad idea. The sooner it dies a miserable death, the better for all of us.

2. For The Writing of Cross-Platform Apps

This one is somewhat more of a grey area.

First off, let’s be honest; Flash doesn’t help you build cross-platform apps. It helps you write apps that run on Adobe’s platform. They want you to write Flash-based apps for the same reason that Microsoft wants you to write Windows apps, or Apple wants you to write iPhone OS apps, or Valve wants people to use the Steamworks APIs: they want you locked to their platform, for their own business reasons. There isn’t any altruism here, no matter how much Adobe wants to play the martyr.

This is why Apple is refusing to let apps which target Adobe’s platform to run on their OS. Adobe are making a power-play to subvert Apple on their own platform, and Apple are rightly telling them to go fuck themselves. It’s not an unreasonable position, even from a user’s perspective. One of the reasons that Windows is a cluster-fuck is that fundamentally Microsoft lost control; they need to keep backwards compatibility with almost every Windows app ever written, even the ones that don’t play by the rules and call undocumented APIs in broken ways. That’s a millstone around their neck, preventing them from ever moving quickly. That situation is good for nobody; it hurts application stability, and it hurts innovation.

On the other hand, Apple are keeping control with an iron fist, in a fairly velvety (albeit thin) glove. Call undocumented APIs, don’t natively target Apple APIs, you get bounced out. On the other hand, it means Apple can keep nimble. They know that because all their app developers are playing by the rules, they can change things rapidly. Change CPU architectures? Boom, most apps will just recompile without needing changes. Stick a third-party toolchain in there, and you get unpredictable effects; every app using that third-party system could stop working.  What if Apple want to add new features? If Apple exposes a new API, native apps can start consuming that API straight away. They don’t have to wait for a third-party platform to figure a way to pass through that API, if they ever do. They don’t have to worry about developers only targeting the minimum common feature set.

It’s a Faustian pact. Nobody is denying that. If you don’t like Apple’s strategy, you don’t have to buy an iPhone OS device.

For the moment, I’m happy with the trade-off. When I decide on my next phone, you bet I’m going to look at Android. But I’m happy right now, and I quite want an iPad…

Anyways, if you really want to write cross-platform code, you do it the same way we’ve always done it. Write core code in C++, staying agnostic as possible to the real environment you’re running in. C++ pretty much works everywhere. Hooray for open standards! Also, on another note, I also think that half the time the FSF is full of shit. Or to be less inflammatory, they’re so committed to their ideology that they’re blind to reality. But that’s a story for another day.