Today is The day we fight back.

The day we fight back” is a international day of activism, held on the anniversary of Aaron Swartz‘s death. Swartz was an American computer programmer, writer and political activist who was driven to suicide by bullying from the US government, after he attempted to make public a number of scientific journals (the copyright wars now have a body count, read more, it’s horrific.)

On this day we commemorate Swartz’s death by holding an international day of protest against the illegal mass surveillance programs, conducted by the NSA and GCHQ (as well as others), that are used to invade the private lives of everyone on the planet, as revealed by whistle blower Edward Snowden.

The NSA and GCHQ, among other things, have attempted to subvert the technologies that we all use – to keep our medical records safe, to communicate in private about sensitive matters, to shop and bank securely online. In short, they have conspired (and succeeded) in making the internet a less safe place for you and your family, so it is fitting that today is also Safer Internet day.

So, today, do something to make the Internet a safe place for you and your family to work and play. Fight back.

On Sunday, myself and a few friends went to the TEDx event in Oxford.

TEDx, for those who don’t know, are TED style events organised by interested parties. They happen all over the world, and are usually pretty popular. This one packed out the New Theatre in central Oxford, which is no mean feat.

The speakers spoke on a number of subjects; from neuroscience to artificial intelligence. Some speakers were inspiring, others were… confusing… but all were interesting.

Interestingly, the speaker that sparked the most conversation over lunch and after the event was probably Laura Bates from the Every day sexism project. The stories she relayed shocked us all; with the men in the audience seeing this as new, but with the women nodding along in bitter recognition.

Myself, I was aware of similar horrors through the various “Women in Technology” conversations I have had, where every single woman I spoke to could relay situations where an actual crime had been committed, but pretty much shrugged it off as something that “happens”. Still, it was still shocking, and through our discussions after it seems that there is a variation of the observer effect going on for the men in our group – that is, the very act of us being present, means that the acts won’t occur to the women around us.

A new trend that was highlighted in the talk, which I found interesting, is that now the abuse seems to be often couched in a joke (which is clearly not funny), but means that the perpetrator can play the victim when the woman objects. I’ve seen this a couple of times in tech circles, but it’s clearly a growing trend.

One thing I wish was covered in her talk (although, perhaps it’s a complex subject for 15 minutes), is what can we actually do to address this? Particularly, what can we as men do? This is clearly a massive problem, and I know we seem to be losing ground in the tech world, but it seems the equality cause is losing ground elsewhere as well.

Depressing stuff. How do we fix it?

In computer science, a genetic algorithm is an optimisation/search/sort algorithm that uses genetic and evolutionary selection principles to solve computational problems.

The weasel program, aka Dawkin’s weasel, is a thought experiment that demonstrates evolutionary principles using a computer program to “evolve” a random string of characters into a target piece of text, over a series of generations, optimised by selecting the offspring of each generation that closest matches the desired outcome.

Why is this useful?

Well, it’s not really, but it generates a basic principle that is very useful.

Provided that you have a mechanism of detecting the desired outcome, and which of the generated children is closer to it, you can use this tool to solve remarkably complicated problems, and to do so surprisingly quickly. It doesn’t scale well to massively complicated domains (e.g. designing aeroplanes), but can be used quite successfully in smaller, more focussed domains (optimising video compression, sorting strings, modifying seed values in procedurally generated terrain, etc).

Anyway, it kept me entertained while I finished my beer.

The code