Posts Tagged ‘deep simplicity’

Is stackoverflow a chaotic system

Friday, April 17th, 2009

As I believe I’ve mentioned once or twice, I have been reading Deep Simplicity by John Gribbin. At the same time I have become severely addicted to participating in the riot of discussion over at stackoverflow.com, the new, and hopefully, self-organised clutter free forum for programmers.

Part of what feeds this addiction is that sometimes you get loads of votes for a mediocre answer, and sometimes hardly any for a great answer, and it becomes a mission… a quest, if you will… to master the beast and always receive great feedback.

Luckily I’ve now managed to get my addiction under control, and it’s all thanks to Deep Simplicity. You see, there is order, where everything is predictable, and there is chaos, where nothing is predictable, and in between there is a thing called (though I don’t think this is quite the official term) self-organised non-equilibrium on the edge of chaos, which is where interesting patterns emerge; things like some regularity in how often ice ages occur, stock market crashes, earthquakes…  loudness of music! When events of a particular size will happen cannot be known, but roughly speaking the log of the frequency of the event is proportional to the log of its magnitude.

The important factors to create a system like this are the following:

  1. Positive & negative feedback mechanisms
  2. The existance of thresholds which, once the system/part of system crosses it, its state suddenly changes in a disproportionate way to the size of the movement across the threshold
  3. A constant soure of new energy (or whatever the equivalent might be. For physical systems it’s energy, but that could mean mass, radiation, motion…)

So the question I ask myself is this: Is Stack Overflow a system on the edge of chaos, where answers getting lots of votes will happen rarely, and getting few votes will happen often, but as to precisely which answer  will get which number of votes… well, that cannot be determined in advance. In particular, if you could have an objective measure of the quality of the answer, this would not indicate it will get a lot of votes; big up-votes just happen at a particular rate to whichever answers are around.

So what qualifies stack overflow as a nearly chaotic system (from the point of view of a user’s movements through the rankings, not individual questions, though the user is the sum of questions and answers):

  1. Positive & negative feedback mechanisms
    If one person votes an answer up it goes up the page, is more visible and gets more votes, and vice-versa. Also the reputation system adds to this.
  2. The existence of thresholds
    If a question gets enough votes it will appear in more places in the site. the same I think is true of answers (this is perhaps tenuous).
  3. A constant soure of new energy
    New users join all the time

I will hopefully not forget to see if I can put together a log plot of the number of users versus their reputation score.

Junior’s a programmer now

Saturday, April 11th, 2009

I didn’t take the traditional route to my present career. After graduating in maths I knew I didn’t want to take the obvious route of becoming an actuary or accountant as maths, contrary to popular belief, is nothing remotely to do with adding up (although, in hindsight I reckon being an actuary might be fairly interesting, but you still have to mix with graduate training scheme types).

So many years later, after leaning web-wards through a series of charities and lower jobs, I find myself a reasonably competent web-developer.

But I still have a lot to learn and the book I’m reading (Deep Simplicity by John Gribbin) is proving to be a great source of ideas to stretch my programming legs. Making websites is all well and good, but the examples of complex systems emerging from simple rules, and the constant talk of computer models, has given me the impetus to stretch my abilities to making convoluted programs to model certain behaviours.

The first one I’ve attempted is the following scenario:

You have N buttons and an unlimited number of threads. You pick up 2 buttons and connect them with a thread, and then do this repeatedly.

So I wrote something to produce a graph of interesting things to keep track of during this process.

It’s also given me the idea for a jQuery plugin

The Da Vinci formula

Friday, April 3rd, 2009

I’m a little bit of a literary snob. Not the full-blown version that will name drop obscure french authors into conversations about chips, but I do take a certain pride in picking books that are stimulating and not just light entertainment.

The Gaudi KeyA few months ago I was at Victoria train station when I came across  a table full of books called The Gaudi Key. I have no idea how similar to The Da Vinci Code the book’s plot or characters are, but I could hardly believe the unashamedly formulaic title, not to mention the cover design. The Da Vinci Formula seems to be:

Call the book “The [insert mediterranean artist (or Teenage Mutant Ninja Turtle) name] [insert synonym for mystery or puzzle]“, and try and make the cover look a bit like an old manuscript.

Confirmed today by my finding a book called The Trudeau Vector. Now, Trudeau isn’t a renaissance figure, and a vector isn’t a synonym for riddle so I’ve had to modify the rule a little to:

Call the book “The [insert renaissance figure (or Teenage Mutant Ninja Turtle) name, or anyone who people might vaguely have heard but not from Big Brother] [insert synonym for mystery or puzzle, or any sort of impressive cerebral sounding activity]“, but do make sure the cover looks a bit like an old manuscript as this is the important bit.

Needless to say I rejected it in favour of an excellent popular science book called Deep Simplicity (which could, quite reasonably, have been titled “The Poincare Formula”. I’ve read it before, but I just fancied some light entertainment during this balmy Dutch heatwave.