A bug has been found in the system

http://www.flickr.com/photos/73003003@N07/7866585876/in/pool-freeuse/The past couple of years have been really really hectic. Snowden leaked sensitive information, the Eurozone has on-going economic problems, the UK and USA are virtually police states, the NSA and GCHQ are spying on most internet users, there has been widespread protests across the world (Brazil, UK, USA, Siria, etc… “we are the 99%” anyone?). Just last week Glenn Greenwald was detained for 9 hours at Heathrow airport as being a “terrorism suspect”. What on earth is happening?

A bug has been found, or more like hundreds of bugs, and they have been unfixed, even though the issues have been raised.

Typically, socio-political changes occur on a massive scale. Democratic republics become dictatorships, whole countries become communist states, just to turn back a few decades later. When a government breaks down, a massive change is sure to ensue.

So why don’t we implement a system of incremental changes to prevent such breakdowns in the first place? Is it really so hard? 

Most large companies with web products have bug reporting systems or community forums. In some cases the community is involved in developing the changes that are required, which then get pushed to the main code repository. Ubuntu, Google Chrome (Chromium), WordPress, Eclipse, OpenOffice, Android, and others are examples of this. Some other companies are very open to public opinion and offer bug trackers or forums to track issues, for example: Github, MySQL, etc.

Some companies out there lack an effective means of communication, or don’t really care about what the majority of their customers think. Example: Microsoft. They screw up one version of windows, then they listen to feedback and produce a good version, then they think they can handle it from there and produce an aweful version, recognise their fault and open their channels again, and so on.

Another example is Facebook. They keep pushing unnecessary UI updates to their users, who are very pissed off. They want the core part of the UI to remain as-is. If it is not broken, don’t fix it.

Quite a few governments seem to take this stance as a philosophy: We know what is right, let’s fake some listening on our behalf but keep pushing our changes. They are not listening, and it has been backfiring on them these past few years.

The world changes fast, our societies change fast, why can’t the government change fast as well? If I was in charge, the first thing I would do would be to open-source the tax laws, the constitution, and other important legal documents. Why? The people know what is best: The majority will vote, the best ideas will be upvoted, releases can be scheduled on a yearly or bi-yearly basis, ensuring everything is kept up-to-date.

Is it really so hard to say you are a democracy and really be a democracy?

On political parties and why they should not exist

I was quite amused by a G+ post written by Google co-founder Sergey Brin today, which in summary, says the following:

I must confess, I am dreading today’s elections. Not because of who might win or lose. But because no matter what the outcome, our government will still be a giant bonfire of partisanship.

In fact, I have thought the same for some time now. Just before the Mexican elections, I had a long debate with an ex-friend of mine about this. We talked about how there should be no political parties, but instead, individuals backed by people with similar thoughts, where they aim to change the country following X or Y strategy, without naming themselves as “conservatives” or “liberals”, but rather as politicians with X or Y views. He strongly disagreed, to the point of ending our friendship because instead of analysing and debating this rationally, he was stubborn and single-minded.

In my view, you shouldn’t divide the political system into two bands. There is always scope for one person to believe in some things from one side, and some things from the other. I believe it shouldn’t be about “the way the party does things”, but instead, more about “what will benefit the country the most”.

This article, published today on TechCrunch, briefly talks about this:

“No free country has ever been without parties, which are a natural offspring of freedom,” wrote James Madison.

Of course, I believe this is absolute rubbish. Political parties are not natural offspring of freedom. Freedom is one thing, political parties are another. Whilst siding yourself with a political party can be considered freedom of choice, the choices made by political parties are often single-minded unilateral decisions which lack freedom of thought, as they are constrained within boundaries imposed by the political parties’ belief system.

The article furthermore offers the following possible solution:

One popular, if contentious, solution to bitter partisanship is a multi-party system, where multiple groups are constantly forging new alliances based on specific issues, rather than a constant zero-sum tug-of-war where each party has the same enemy on every problem.

However, I digress. A multi-party system will lead towards more confusion.

So what do we need?

What we need are intelligent, knowledgeable, enthusiastic people, who put their country before their set of beliefs, to put together a group of people with similar beliefs that will back this person, economically, emotionally and whole-heartedly, so that this person may get into office. This person would not be part of a political party, but instead, would propose a plan, establishing feasible time-lines, whilst adhering to a set of rules that would govern his/her time in office (apart from the constitution, of course).

This would also make voting much simpler of course. Don’t think left-right politics. Think alignment to values and proposals. Voting could be separated into three stages. The first stage would consist of a questionnaire, where you answer yes/no to a set of questions concerning the country, society, economy, education, business, war, and a few other factors. This questionnaire would give you a list of three candidates (and their backing groups) that fit the answers the best. The second stage would consist of an analysis of the available options, studying the background, the plan, and the ideas of each candidate. The third stage would be the actual voting process as we know it: Select a candidate, vote.

Of course, this can’t work without guarantees. Each candidate would have to guarantee that the plan will be followed, and if catastrophic misalignment of the plan ensues, that person would leave office and a new voting poll would take place.

Of course these are just a few ideas I’ve been thinking about for a while now. Implementing these may be next-to-impossible, considering the system we currently have, and the rate it takes to ‘commit new changes’. Nonetheless, I believe it would bring forth a better system.

What say thee?

The right fucking decisions

The right fucking decisions. That’s what people should learn to make.

If people made the right fucking decisions, the world would not only seem better, it would be better. Less car crashes, less time wasted, less unemployment, less abortions, less suicides, less disasters, less stupidity.

  • Action-reaction: you decide to marry the wrong person, you have a child, you divorce, the child grows up. The child either becomes l/g/b/t, kills someone, becomes a criminal, commits suicide, or in a few cases, lives a “normal” life.
  • Action-reaction: you are skilled in arts but pursue a career in finance to become an investment banker, your ego outshines your skill, you make bad choices, the market collapses, you lose everything, you kill yourself.
  • Action-reaction: you are bullied in school, you feel you are being bullied for life, you feel so much better than the rest inside, you feel powerful, you take a gun, you go to school, you shoot everybody.

It’s not hard to make the right decisions, just think before you act, measure your options, make the best choice.

When it doesn’t work out, you know you tried your best, and it will probably turn out better next time.

If you lose your money, break your mobile, crash your parents car, befriend the wrong person… think, measure, then act… Next time. Tomorrow never comes when tomorrow is all you wait for. Today is the only time, this moment.

Lets stop acting like mindless fools and get our act together, lets make the right fucking decisions, for the sake of humanity.

How Police could effectively pre-empt riots

Over the past few days we have seen violence escalate dramatically in different cities across England, with London being the primary location. Acts of violence, rioting, looting, and arson have taken place at night for several days.

I have been attached to the BBC News coverage through their website and I saw an interesting tweet posted there:

Tweeted by Hannah Robertson in GloucesterAt first I thought. Pre-empt where the next bout would take place? How on earth would they manage that?

But it actually isn’t that hard. They have a mountain of CCTV data, they have a good amount of servers, all they lack is a bit of artificial intelligence.

The best way I can think of to determine where possible bouts of violence could sprout in what seems like an apparent random non-deterministic method of choice is as follows:

The IT team of the police should annotate the direction of each CCTV camera, including which streets are in view and the coordinates.

Afterwards, the CCTV cameras should be plotted on a 2D map, as vectors (pointing in the direction they are facing, with the length of the vector being the distance the camera covers).

Map Plot of LondonAdditionally, all points of interest should be mapped, such as shopping centres, residential areas, commercial areas, shops with high-value items, and shops with low-value items. Most of this data can be readily obtained from Google Maps, amongst other online maps. This data can be extracted and annotated with the values we require (such as the value of the goods sold per area, etc.)

If you think this is a very hard task, it is not. A very simple way of doing this would be to go to the website (or ask by phone) of each major retailer and chain for a list of addresses of their shops. Google Maps can plot them on a map using a spreadsheet as input. There you go, simple as that!

A Machine Learning program could be developed using WEKA (for instance), in which an SVN is programmed to take data from the map-plot, where priority spots include places where high-value items are sold. Additionally, it would take data from each CCTV camera.

Now, how do we represent the data from CCTV cameras? One way would be to take a selection of pixels from each camera, measure the amount of change for a second, and wherever there is a large enough change in different areas of the same camera, we might have a lot of movement going on. So we automatically annotate the data per CCTV camera as having “movement” or “no movement”. Additionally, a range from 0-1 would produce better results (hopefully).

So now we run an SVN machine on the data and hopefully come up with some interesting results.

What could essentially be obtained from this is a vector describing the movement of as mass of people from camera to camera, this vector would be projected on the 2d map. Multiple vectors could be plotted at the same time if there were multiple riots taking place at the same time in the city. A confidence level can be given to each vector (assuming we have built in a few mechanisms to differentiate people from cars, etc). The places of interest could be mapped as hotspots, and furthermore we can predict paths to possible places of interest, derived from the speed and direction of each vector.

So there you go. If you belong to the MET, please share this blog post with your boss (or the IT team) and get working on a system to perform such actions, it would certainly help prevent further stupidity in the future. 6,000 police officers should be able to deal with outbreaks of crime provided they knew where the rioters would be gathering and where they are heading.