Feb 262017

In many ways, this is the most disturbing story I read in recent… days? Months? Maybe years?

The title is (relatively speaking, in this day and age) innocuous enough (if perhaps a little sensationalist): “Revealed: how US billionaire helped to back Brexit“. Yeah, sure. Billionaires are evil SOBs, we knew that already, and now a bit of investigative journalism dug up another reason why we should hate them. Big deal… you could be forgiven if you moved on to read something else, maybe the bit about Trump snubbing the White House Correspondence Dinner or Fox News using a phony “Swedish defense advisor” to curry favor with the President.

But if you choose to read this article, it reveals something else. It reveals how the Leave campaign in the Brexit vote received assistance provided by artificial intelligence software to build profiles of up to a million voters and create highly targeted campaigns on social media.

Back when the nightmare of the machines taking over was first discovered in the science fiction literature, it was usually envisioned as a clean break: First the humans are in charge, but then comes Judgment Day and the machines take over.

Reality is a lot messier, for both humans and machines. There is no clean break. The ever increasing power of the machines is harnessed by ever more reckless humans, manipulating humanity in unexpected ways. Machines manipulating elections or referenda at the bidding of sinister humans… in many ways, that is the worst of possible worlds.

It makes you feel helpless, for one: You realize that nothing you can do on social media, nothing you can say in your blog will amount to one iota, as the machines have an infinitely greater capacity to analyze data and assess outcomes.

And it also makes you fearful. AI (for now) has no compassion or conscience. It will lie or make up “fake news” without remorse. It will (for now) do its masters’ bidding, even if those masters are sociopaths.

So no, folks, don’t delude yourselves. Judgment Day may already be here. It’s just coming one little data point, one neural network, one deep learning algorithm at a time.

 Posted by at 9:03 am
Feb 112017

For the second time in a row, I am seeing a report on CTV about the protests against the Trudeau government’s decision to scrap electoral reform. Their coverage suggests that these are significant protests, representing widespread anger among Canadians.

They aren’t. Let me be generous: Although CTV’s cameraman did his darnedest best to make the crowd appear bigger than it really was, there were maybe a couple of dozen people, tops, behind this young gentleman leading the protest.

Mr. Rae told his followers, by the way, that “Mr. Trudeau does not get to decide what is and what isn’t an issue for Canadians.” Forgive me Mr. Rae, but you are wrong. Mr. Trudeau, the duly elected prime minister of Canada with a majority government, does get to decide what is and isn’t an issue for Canadians. In turn, we Canadians do get to decide whether or not we wish to keep Mr. Trudeau and his government after the next elections.

Meanwhile, I am actually happy that Mr. Trudeau listened not to loud-mouthed protesters but to the facts and was willing to spend some of his political capital to make the right decision. While first-past-the-post has its shortcomings, it is not inherently worse than other electoral systems, and it is absolutely better than any system that involves, e.g., party lists, legislators that do not represent a specific constituency. And messing with the electoral system could very well have established a precedent that, in the long run, might lead to American-style gerrymandering.

But I still don’t understand what CTV’s game is, pretending that these protests are more significant than they really are. I am, in fact, questioning the journalistic integrity behind the decision to give these minuscule protests disproportionate coverage.

 Posted by at 6:17 pm
Feb 022017

“After a second notices he ran it on db1 instead of db2″… This sentence (somewhat shortened, to make a fitting title) describes the beginning of a colossally effed up night at GitLab.com.

In response to a spike in system load, which resulted in lag on a replication server, the operator thought that maybe restarting the replication server with a clean slate is a good idea. So he decided to wipe the replication server’s data directory.

Unfortunately, he entered the command in the wrong window.

I feel his pain. I did make similar mistakes before, albeit on a much smaller scale, and the memories still hurt me, years later.

I have to commend GitLab for their exceptional openness about this incident, offering us all a valuable lesson. I note that others also responded positively, offering sympathy, assistance, and useful advice.

I read their post-mortem with great interest. In reaction, I already implemented something that I should have done years ago: changing the background color of some of the xterm windows that I regularly open to my Linux servers, to distinguish them visually. (“Create issue to change terminal PS1 format/colours to make it clear whether you’re using production or staging”).

Of course similar incidents and near misses also changed my habits over the years. I rarely delete anything these days without making a backup first. I always pause before hitting Enter on a command that is not (easily) reversible. I have multiple backups, and tested procedures for recovery.

Even so… as Forrest Gump says, shit happens. And every little bit helps, especially when we can learn from the valuable lessons of others without having to go through their pain.

 Posted by at 10:13 am