Welcome ! This is the personal site / blog of Graham King. Most people come for the credit card generator, but I think the Categories (top right) are more interesting.

March 5, 2010

Television and your brain maps

Posted in Behaviour at 20:03 by Graham King

The Brain That Changes Itself, by Norman Doidge is a fascinating book about brain plasticity, the ability of our brain to re-wire itself to cope with changing conditions. In a chapter about culture’s influence on our brain maps, he says:

Television watching, one of the signature activities of our culture, correlates with brain problems.

How do we know this?

Read the rest of this entry »

March 1, 2010

Open up your WiFi

Posted in Society, Software at 01:28 by Graham King

A few months back, I took the password off my WiFi router, and opened it up to the world, with SSID yes_we_are_sharing. Why?

The best answers are given by security expert Bruce Shneier – why open wireless. The second best answer is that Tor hacker Jacob Applebaum also runs open WiFi.

Here are my answers, and the reasons why you should join us.

Read the rest of this entry »

Setting up Monit on Ubuntu

Posted in Software at 00:18 by Graham King

Monit tells you if something goes wrong on your server, and tries to fix it. It can, for example, alert you:

  • When a process dies.
  • When a machine stops responding to network requests
  • When your machine has too high load average, memory consumption, or CPU usage.
  • When a file changes, hasn’t changed for a period of time, or grows beyond a certain size.

It can run a script of your choosing to attempt to fix the problem. It has an HTTP interface that shows you essential stats about the services you are monitoring. For detailed graphs, I recommend Munin.

Here’s how to get it working on Ubuntu:

Read the rest of this entry »

February 17, 2010

Setting up Munin on Ubuntu

Posted in Software at 06:50 by Graham King

Munin is a system monitoring tool. It produces graphs for Apache, MySQL, Nginx, CPU, Memory, Disk, etc. Example munin installation – Live.

Here are my notes from setting it up, they are brief, but should help you get going.

All the monitored machines run a small daemon called munin-node. One machine is the central server. Every few minutes it gathers data from all the nodes (including itself), generates the graphs, and writes out some HTML files.

Read the rest of this entry »

February 14, 2010

Restarting MySQL master-master replication

Posted in Software at 21:24 by Graham King

If your MySQL (5.0+) replication is broken, there’s two ways to fix it: The easy way, and the right way.

Run commands starting with $ on Unix. Run commands starting with mysql> in the MySQL client.

The easy way: Skip the problem

If you hit both databases at the same time, with the same INSERT, they will create their own record, and try and replicate to the other, which already has that record, causing a duplicate error.

In a simple case like that, you just want to skip the offending statement:

:noclick


mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=1; START SLAVE;

More details on skipping MySQL duplicate errors

Most of the time, you skip one statement, and replication breaks again straight away, because there’s a whole queue of problem statements coming up.

The right way: Rebuild

If you are not sure that you can skip the duplicate, or if replication has been broken long enough that your two servers are out of synch, pick one database to be the master, and rebuild the other from a copy of that master.

Read the rest of this entry »

January 27, 2010

Treating the common cold

Posted in Misc at 07:59 by Graham King

Will Vitamin C really prevent or cure your cold?

What about Echinacea?

Read the rest of this entry »

January 16, 2010

Predictably Irrational, by Dan Ariely

Posted in Behaviour at 08:12 by Graham King

My short notes on Predictably Irrational, by Dan Ariely. An excellent book. Entertaining, and covers much fascinating ground from social psychology and behavioral economics. Some of the experiments Dan and his team designed are fiendish!


Value is relative

We only know what we want when we see it in context. The bike the Tour de France winner rides. A set of speakers compared to another.

We only know what something is worth, or how much we like it, when comparing to other similar things (purchases, partners, jobs, etc..

We tend to choose the middle option. A high price option on a restaurant menu increases average order price, because it makes the rest seem cheap in comparison.

Read the rest of this entry »

December 16, 2009

Influence, by Robert Cialdini

Posted in Behaviour at 07:42 by Graham King

As an Amazon reviews says, “arguably the best book ever on what is increasingly becoming the science of persuasion.”

If you want to understand why you felt compelled to give money to a Hare Krishna devotee, how car salesman or realtor’s work, and much more, you should read this.

It’s also a very easy and enjoyable read. These are my notes. They cover all the content in the book, but don’t link to research. In the book, most of the statements have links to research papers to back them up.

Get Influence: The Psychology of Persuasion from your local library, this has sold so many copies they are bound to have some.


Heuristics

We can process incoming information cognitively in one of two ways:

  • Controlled responding, which is subjecting information to a thorough analysis. This is when we think a problem through, research it, etc. We only do this if we have the desire and the ability. It is intellectually taxing and time consuming.
  • Use judgmental heuristics such as:

    • Price as surrogate for value. Applies particularly to items which are hard to value: Wine, jewelry, art, employee salaries, etc.
    • Trust experts. This is why pseudo-science books always have ‘PhD’ or ‘MD’ after the author’s name.
    • Because – we want reasons to do something, even bogus ones.

    Read the rest of this entry »

November 27, 2009

How we know what isn’t so, by Thomas Gilovich

Posted in Behaviour at 07:27 by Graham King

By Thomas Gilovich, social psychologist and CSI Fellow, this well written book explains some of the reasoning and deduction errors we make when trying to understand the world, and ways to avoid making those errors.

This is an easy and engaging read, and offers several straightforward techniques to avoid making common reasoning errors. I recommend you look up How We Know What Isn’t So: The Fallibility of Human Reason in Everyday Life in your local library, or get it second-hand from Amazon for less than a posh cup of coffee.

These are my notes / summary of the book.


I. Cognitive determinants of belief

2. Something out of nothing: The mis-perception and misinterpretation of random data

We are predisposed to see order, pattern, and meaning in the world, and we find randomness, chaos, and meaninglessness unsatisfying.
As a consequence we tend to ’see’ order where there is none, and we spot meaningful patterns where only the vagrancies of chance are operating.

Read the rest of this entry »

October 20, 2009

Memcached: List all keys

Posted in Software at 17:50 by Graham King

In the general case, there is no way to list all the keys that a memcached instance is storing. You can, however, list something like the first 1Meg of keys, which is usually enough during development. Here’s how:

Telnet to your server:

telnet 127.0.0.1 11211

Read the rest of this entry »

October 1, 2009

Guy Kawasaki’s 10-20-30 presentation rule

Posted in Misc at 18:41 by Graham King

Funny, practical, and well worth 1 minute 50 seconds of your life:

via the BootUp Labs Blog.

September 17, 2009

I’m on identi.ca and Twitter

Posted in Misc at 17:08 by Graham King

I am sharing my thoughts, mainly about web technologies, on identi.ca and twitter.

The nature of the medium means those thoughts will be generally raw and truncated, but timely.

August 26, 2009

Social psychology in sales copy: Good copy writing

Posted in Behaviour at 19:03 by Graham King

I recently received an advert for an investment fund in which, as the amateur social psychologist that I am, I noticed illustrated a couple of psychological principles. The are both covered in the email title:

Last chance to invest in a firm favourite

They are covered again in more detail in this paragraph:

The x y z Fund only launched six months ago, but has already attracted considerable interest. To keep it small and flexible the number of units has been capped at 200 million. Last week they had reached two-thirds of that total and interest is intensifying. In the last two days alone they sold over 6 million units, so it is likely to close very soon.

Read the rest of this entry »

August 10, 2009

Choosing a message queue for Python on Ubuntu on a VPS

Posted in Software at 06:05 by Graham King

More and more, my web apps need to run things in the background: Sending email, re-calculating values, fetching website thumbnails, etc. In short, I need a message queue in my toolbox.

Luckily for me, message queues are this years Hot New Thing, so there’s some good options. I looked at RabbitMQ, Gearman, Beanstalkd and StompServer.

Read the rest of this entry »

July 30, 2009

Quote of the day – monkeys

Posted in Misc at 20:09 by Graham King

In response to monkeys stealing his coffee beans, an Indian farmer observes: If you start shooting monkeys, you’ll spend the rest of your life shooting monkeys.

via Bruce Eckel

July 20, 2009

On cellphone use in cars

Posted in Behaviour, Society at 18:11 by Graham King

A very interesting article in the New-York Times on the research behind the risks of being distracted by a cellphone whilst driving:

http://www.nytimes.com/2009/07/19/technology/19distracted.html

Here’s some excerpts:

in a survey of 1,506 people last year by Nationwide Mutual Insurance, 81 percent of cellphone owners acknowledged that they talk on phones while driving, and 98 percent considered themselves safe drivers. But 45 percent said they had been hit or nearly hit by a driver talking on a phone.

That’s the Lake Wobegon effect, the tendency for overestimate their capabilities in relation to others.

Read the rest of this entry »

June 16, 2009

Django dynamic forms and formsets

Posted in Software at 02:08 by Graham King

A couple of great posts which explain Django dynamic forms and advanced formset usage very clearly:

June 11, 2009

How and Why to extend Firefox in Javascript

Posted in Software at 04:29 by Graham King

I will be giving this talk on Friday 12th June, at Open Web Vancouver 2009.

June 10, 2009

Unix shared directory permissions: GUID and umask

Posted in Software at 20:11 by Graham King

I setup my Mercurial repository in the same way we used to do CVS, then SVN: A directory owned by a group, with the GUID bit, and all users who need to commit are in that group.

The steps are, create the group and add relevant users to it: :noclick


    sudo groupadd topsecretgroup
    sudo usermod -a -G topsecretgroup graham

Read the rest of this entry »

May 27, 2009

Legal 1 Usability 0

Posted in Misc at 19:55 by Graham King

The cooking instructions for my Tandoori Chicken Breast microwave lunch, are to cook…

…until internal temperature reaches 74C (165F).

How many office kitchens have a cook’s thermometer? Score nothing for usability.

Should you for any reason attempt to sue the manufacturer, it will rapidly become apparent that you didn’t follow the cooking instructions. Score one for legal.

« Previous entries Next Page » Next Page »