Sep 7
STEM Yesterday I was finally nominated for the Ice Bucket Challenge, I had actually thought this inevitable for the reasons in this post, but then it all kind of passed by. As it happens, it was my Daughter Aimee's fault in the end. :-).

So I thought I would use the opportunity to bore people about the arithmetic behind it, in the end, I suspect that wasn't too coherent since I was being watered at the time by my older Daughter Aimee, while my younger Daughter Matilda generally screamed at both of us.

So here is what I was trying to say. I like to talk to my students about a new version of an old problem. There's an old story about a chess game where the winner will take away a certain amount of rice. The amount is calculated by having one grain on the first square, two on the next, four on the next, and so on, doubling all the way to the 64th square. My modified version is to consider coins, a UK 10 pence piece to be precise, piling up on the squares as we go along. The question is, how high is the pile of coins on the last square? I encourage you to guess, approximately what sort of size that is.

We double each time, so the number of coins on the first eight squares are 1, 2, 4, 8, 16, 32, 64, 128. Another way to write that is 20, 21, 22, 23, 24, 25, 26, 27. So, we are going along 64 squares, and start at 0, so the number of coins on the last square will be 263. This is a big number, but just how big? Do we change our guess on this information?

Now 263 ≈ 9,223,000,000,000,000,000 = 9.223 × 1018 and a ten pence piece is 1.85 mm thick, or 0.00185 m, so when we multiply these we get

17,063,000,000,000,000 m = 1.7063 × 1016 m. Wow. That seems like a lot. Just how big is that number as a distance?

To put it in perspective...
  • by the 19th square, the coins are higher than the radio mast on the Empire State building;
  • by the 29th square, the pile of coins would have reached the Moon;
  • by the 48th square, the pile of coins would have reached the Sun;
  • by the 63rd square, one from the end, the coins are a light year high.
This is an example of the staggering power of exponential growth, and just how unintuitive it is. So what has this got to do with the Ice Bucket Challenge? Well suppose you start with a single individual, who then nominates three people, each of whom nominate three people. Now on the Chess Board we have 1, 3, 9, 27 and so on. This is, again, exponential growth with powers of three rather than two (actually somewhat higher growth).

Mathematically these are often called Geometric Progressions or just G.P.s for short. These are sequences of the type

a, ar, ar2, ar3, ar4, ...

There is a formula that can be derived (it's not hard, the derivation is on the above Wikipedia link) for the Sum of the first n terms. (In Mathematics, contrary to popular opinion, a Sum specifically means the result of an addition process).

S_n = \frac{a(1-r^n)}{(1-r)}

(Yuck, LaTeX rendering on my Blog is horribly broken at the moment). In the above case we can see that a = 1 because that's the first number in 1, 3, 9, ... and r = 3 because that is the number we are multiplying by each time. So here

S_n = \frac{a(1-r^n)}{(1-r)} = \frac{(1-3^n)}{-2}

In other words, every "generation" each person nominates a further three people, so the number of people added each generation ramps up exponentially, and the total number involved increased rapidly too.

GenerationNew People Cumulative Total
1 1 1
2 3 4
3 9 13
4 27 40
5 81 121
6 243 364
7 729 1,093
8 2,187 3,280
9 6,561 9,841
10 19,683 29,524
11 59,049 88,573
12 177,147 265,720
13 531,441 797,161
14 1,594,323 2,391,484
15 4,782,969 7,174,453
16 14,348,907 21,523,360
17 43,046,721 64,570,081
18 129,140,163 193,710,244
19 387,420,489 581,130,733
20 1,162,261,467 1,743,392,200
21 3,486,784,401 5,230,176,601
22 10,460,353,203 15,690,529,804


So you can see that after just 22 steps in the nomination process, you have literally more people than you have on the planet. Pyramid selling schemes become untenable for this reason too... you quickly run out of suckers on any given land mass.

So if this really ran its course unimpeded (and I know that the original challenge was money or dowsing, with a requirement to undertake the challenge in 48 hours (some say 24) then the whole planet would have done the challenge in at most six weeks. If each person had used say 4 litres of water then at the time of writing the 7,259,289,122 people alive today would have collectively used 29 billion litres of water. Since an Olympic swimming pool has 2.5 million litres of water, that represents over 11,614 swimming pools filled with water. While it is easy to criticise those who have been uneasy about the water wastage here, to be honest they have a good point. Also one organisation would have billions of charity income rather than it being spread.

Clearly this has not happened[citation needed] so people have run out on enthusiasm here and there. Anyway, have fun, and give some money to something you love, if you want, when you want to.

I am donating to Since people I care about have been troubled by both, and since it can't be denied I live in extraordinary luxury to be able to waste perfectly good water on this kind of thing.

Posted by Colin Turner

Defined tags for this entry: , , ,
Twitter Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Chess Boards, Exponential Growth and the Ice Bucket Challenge Mixx Chess Boards, Exponential Growth and the Ice Bucket Challenge Bloglines Chess Boards, Exponential Growth and the Ice Bucket Challenge Technorati Chess Boards, Exponential Growth and the Ice Bucket Challenge Fark this: Chess Boards, Exponential Growth and the Ice Bucket Challenge Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at YahooMyWeb Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at Furl.net Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at reddit.com Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at blinklist.com Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at Spurl.net Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at NewsVine Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at Simpy.com Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  at blogmarks Bookmark Chess Boards, Exponential Growth and the Ice Bucket Challenge  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jul 31
Free Software Python While I'm blogging scripts for playlist manipulation here is one I use in a nightly cron job to shuffle our playlists so that various devices playing from them have some daily variety. All disclaimers apply, it's rough and ready but WorksForMe (TM).

I have an entry in my crontab like this

0 4 * * * /home/colin/bin/playlist-shuffle.py -q -i /var/media/mp3/A_Colin.m3u -o /var/media/mp3/A_Colin_Shuffle.m3u
 
which takes a static playlist and produces a nightly shuffled version.


#!/usr/bin/env python

#
# Simple script to randomise an m3u playlist
# Colin Turner <ct@piglets.com>
# 2013
# GPL v2
#

import random
import re

# We want to be able to process some command line options.
from optparse import OptionParser

def process_lines(options, all_lines):
 'process the list of all playlist lines into three chunks'
 # Eventually we want to support several formats
 m3u = True
 extm3u = False
 if options.verbose:
   print "Read %u lines..." % len(all_lines)
 header = list()
 middle = list()
 footer = list()

 # Check first line for #EXTM3U
 if re.match("^#EXTM3U$", all_lines[0]):
   if options.verbose:
     print "EXTM3U format file..."
   extm3u = True
   header.append(all_lines[0])
   del all_lines[0]

 loop = 0
 while loop < len(all_lines):
   # Each 'item' may be multiline
   item = list()
   if re.match("^#EXTINF.*$", all_lines[loop]):
     item.append(all_lines[loop])
     loop = loop + 1
   # A proper regexp for filenames would be good
   if loop < len(all_lines):
     item.append(all_lines[loop])
     loop = loop + 1
   if options.verbose: print item
   middle.append(item)

 return (header, middle, footer)



def load_playlist(options):
 'loads the playlist into an array of arrays'
 if options.verbose:
   print "Reading playlist %s ..." % options.in_filename
 with open(options.in_filename, 'r') as file:
   all_lines = file.readlines()
 (header, middle, footer) = process_lines(options, all_lines)
 return (header, middle, footer)

def write_playlist(options, header, middle, footer):
 'writes the shuffled playlist'
 if options.verbose:
   print "Writing playlist %s ..." % options.out_filename
 with open(options.out_filename, 'w') as file:
   for line in header:
     file.write(line)
   for item in middle:
     for line in item:
       file.write(line)
   for line in footer:
     file.write(line)


def shuffle(options):
 'perform the shuffle on the playlist'
 # read the existing data into three arrays in a tuple
 (header, middle, footer) = load_playlist(options)
 # and shuffle the lines array
 if options.verbose:
   print "Shuffling..."
 random.shuffle(middle)
 # now spit them back out
 write_playlist(options, header, middle, footer)

def print_banner():
 print "playlist-shuffle"

def main():
 'the main function that kicks everything else off'

 usage = "usage: %prog [options] arg"
 parser = OptionParser(usage)
 parser.add_option("-i", "--input-file", dest="in_filename",
                   help="read playlist from FILENAME")
 parser.add_option("-o", "--output-file", dest="out_filename",
                   help="write new playlist to FILENAME")
 parser.add_option("-v", "--verbose",
                   action="store_true", dest="verbose")
 parser.add_option("-q", "--quiet", default=False,
                   action="store_true", dest="quiet")

 (options, args) = parser.parse_args()
#  if len(args) == 0:
#      parser.error("use -h for more help")

 if not options.quiet:
   print_banner()

 shuffle(options)

 if not options.quiet:
     print "Playlist shuffle complete..."


if  __name__ == '__main__':
 main()
 

Posted by Colin Turner

Defined tags for this entry: , , , ,
Twitter Bookmark Python script to randomise an m3u playlist  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Python script to randomise an m3u playlist Mixx Python script to randomise an m3u playlist Bloglines Python script to randomise an m3u playlist Technorati Python script to randomise an m3u playlist Fark this: Python script to randomise an m3u playlist Bookmark Python script to randomise an m3u playlist  at YahooMyWeb Bookmark Python script to randomise an m3u playlist  at Furl.net Bookmark Python script to randomise an m3u playlist  at reddit.com Bookmark Python script to randomise an m3u playlist  at blinklist.com Bookmark Python script to randomise an m3u playlist  at Spurl.net Bookmark Python script to randomise an m3u playlist  at NewsVine Bookmark Python script to randomise an m3u playlist  at Simpy.com Bookmark Python script to randomise an m3u playlist  at blogmarks Bookmark Python script to randomise an m3u playlist  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jul 31
Free Software Python I have a number of playlists on Gondolin, which is a headless machine. I wanted to be able to easily add a given mp3 file to the playlists which are in m3u format. That means that each entry has both the filename and an extended line with some basic metadata, in particular the track length in seconds, the track artist and name. I wanted a script that could extract this information from the mp3 file and make adding the entry easy. So I wrote this in Python. It's rough and ready and it is probably not very Pythonic but it's working for me. The script should create a playlist if it doesn't currently exist, and check for a newline at the end of the file so that the appended lines are really on a new line. ItWorksForMe (TM).

This uses the eyeD3 Python library, which on Debian is provided in python-eyed3.

My basic usage is


playlist-append -m the_mp3_file.mp3 -p the_playlist.m3u -r /var/media/mp3
 
the last parameter is the path relative to which the mp3 filename should be written to. This is useful for me because I rsync the whole tree between machines, as you will see there are options for writing an absolute pathname if you prefer. I should probably rewrite the script to do it relative to the playlist, but that's another day.


#!/usr/bin/env python

#
# Trivial script to extract meta data from an mp3 file and add
# the mp3 file and data to an existing m3u file
#
# Colin Turner <ct@piglets.com>
# 2014
# GPL v2
#

import eyeD3
import re
import os

# We want to be able to process some command line options.
from optparse import OptionParser

def append(options, artist, title, seconds):
 'append the data to the playlist'
 mp3_filename = resolve_mp3_filename(options)
 # Check if the playlist file exists
 there_is_no_spoon = not os.path.isfile(options.out_filename)

 with open(options.out_filename, 'a+') as playlist:
   # was the file frshly created?
   if there_is_no_spoon:
     # So write the header
     print >> playlist, "#EXTM3U"
   else:
     # There was a file, so check the last character, in case there was no \n
     playlist.seek(-1, os.SEEK_END)
     last_char = playlist.read(1)
     if(last_char != '\n'):
       print >> playlist

   # OK, now able to write
   print >> playlist, "#EXTINF:%u,%s - %s" % (seconds, artist, title)
   print >> playlist, "%s" % mp3_filename


def resolve_mp3_filename(options):
 'resolve the mp3 filename appropriately'
 # if you specify a relative pathname, the option not to resolve makes no sense.
 if options.leave_filename and not len(options.relative_to):
   mp3_filename = options.in_filename
 else:
   mp3_filename = os.path.abspath(options.in_filename)

 if len(options.relative_to):
   # Check that the root is actually present
   if mp3_filename.find(options.relative_to) == 0:
     # It is present and at the start of the line
     mp3_filename = mp3_filename.replace(options.relative_to, '', 1)

 if options.verbose:
   print "mp3 filename will be written as %s..." % mp3_filename
 return mp3_filename

def get_meta_data(options):
 'perform the append on the playlist'
 # read the existing data into three arrays in a tuple
 if options.verbose:
   print "Opening MP3 file %s ..." % options.in_filename
 if eyeD3.isMp3File(options.in_filename):
   # Ok, so it's an mp3
   audioFile = eyeD3.Mp3AudioFile(options.in_filename)
   tag = audioFile.getTag()
   artist = tag.getArtist()
   title = tag.getTitle()
   seconds = audioFile.getPlayTime()
   print "%s - %s (%s s)" % (artist, title, seconds)
   # OK, we have the required information, now time to write to the playlist
   return artist, title, seconds
 else:
   print "Not a valid mp3 file."
   exit(1)

def print_banner():
 print "playlist-append"

def main():
 'the main function that kicks everything else off'

 usage = "usage: %prog [options] arg"
 parser = OptionParser(usage)
 parser.add_option("-m", "--mp3-file", dest="in_filename",
                   help="the FILENAME of the mp3 file to add")
 parser.add_option("-p", "--playlist-file", dest="out_filename",
                   help="the FILENAME of the playlist to append to")
 parser.add_option("-l", "--leave-filename", dest="leave_filename", action="store_false",
                   help="leaves the mp3 path as specified on the command line, rather than resolving it")
 parser.add_option("-r", "--relative-to", dest="relative_to",
                   help="resolves mp3 filename relative to this path")
 parser.add_option("-v", "--verbose",
                   action="store_true", dest="verbose")
 parser.add_option("-q", "--quiet", default=False,
                   action="store_true", dest="quiet")

 (options, args) = parser.parse_args()
#  if len(args) == 0:
#      parser.error("use -h for more help")

 if not options.quiet:
   print_banner()

 (artist, title, seconds) = get_meta_data(options)
 append(options, artist, title, seconds)

 if not options.quiet:
     print "Appended to playlist..."


if  __name__ == '__main__':
 main()
 

Posted by Colin Turner

Defined tags for this entry: , , , ,
Twitter Bookmark Python script to add a file to a playlist  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Python script to add a file to a playlist Mixx Python script to add a file to a playlist Bloglines Python script to add a file to a playlist Technorati Python script to add a file to a playlist Fark this: Python script to add a file to a playlist Bookmark Python script to add a file to a playlist  at YahooMyWeb Bookmark Python script to add a file to a playlist  at Furl.net Bookmark Python script to add a file to a playlist  at reddit.com Bookmark Python script to add a file to a playlist  at blinklist.com Bookmark Python script to add a file to a playlist  at Spurl.net Bookmark Python script to add a file to a playlist  at NewsVine Bookmark Python script to add a file to a playlist  at Simpy.com Bookmark Python script to add a file to a playlist  at blogmarks Bookmark Python script to add a file to a playlist  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jul 21
hardware We moved into our new house in January 2013. There was, and still is, plenty of remedial work to do in the house, but by the end of 2013 we had renovated the main reception room that we "live" in. This is the middle floor (it's a three floor property) and immediately above the wired, AC doorbell in the hall downstairs. The thing is, when we get into that room and close the door to stop any noise disturbing Matilda, you can't hear the doorbell below at all. It's largely easy to hear from other parts of the house. I didn't want to replace the good working doorbell, especially since in my experience outdoor switches last longest when there is AC current going through them.

So I began researching doorbell extenders but found they were quite pricey and typically required batteries. I did find what looked like a suitable system for US voltages and sockets but nothing for the UK. So I bagan to wonder if I could just rig something up from a cheap wireless doorbell to have an additional sounder. Basically to wire the voltage from the existing wired door bell to a switch of a wireless one. Because I usually search for solutions on the Oracle of Google before such undertakings, and didn't find anything quite like I wanted, I'm adding this to the mix.

My first problem was trying to convert the 12V AC I had metered in the bell box to something appropriate in DC. I looked at the components to build my own circuit for this, but remarkably discovered I could buy something from eBay from China for £1.60 (including postage) that performed the AC to DC conversion with a pot to allow the voltage to be calibrated. I will leave you to search for your own.

The AC to DC Converter
The AC to DC Converter


I then bought a pretty cheap wireless bell from Amazon. It cost £12.40 for a bell that would plug directly into the mains (so no battery), so this Kingavon wireless door bell did the job.

The Kingavon wireless bell. Nice and cheap, reasonable feature set.
The Kingavon wireless bell. Nice and cheap, reasonable feature set.


The bell push normally takes a 3 V battery. My plan was to supply that voltage directly from the AC to DC converter to avoid the need for a battery at that end too. If I could rig up the 12 V AC that was produced in the wired bell box when the push was pressed this might work. So I took the bell and push into work and finally in a free 30 minutes grabbed two colleages and headed to the lab. We connected the AC to DC converter to 12 V AC (as it would be in the bell box) and calibrated the pot until we had a 3 V DC output.

The microswitch in the doorbell push was soldered closed (so that in effect the button was always pressed down). Finally the DC output was soldered to the battery pins on the door push.

Note the short circuit across the micro switch (just to its left).
Note the short circuit across the micro switch (just to its left).


In bench tests we then tried turning on the supply to see how quickly the wireless doorbell push came up and activated the bell. As I suspected if the power was "jabbed" on there wasn't enough time for the transmitted circuitry to get its act together, but when "pressed" for say just under a second (simulated by supplying the AC) the wireess bell went off. I figured this was the downside of going to a battery-less solution, but given that I had guests trying to ring the bell repeatedly (since they knew I was in) I figured this would work.

So I used a multi-meter to work out which terminals in the bell box went to 12 V when the bell push was pressed, hooked up the leads into the AC to DC converter and bingo, the set-up works. At the time of writing I still consider it to be in testing so the components are literally wrapped around the bell box, but since the box doesn't contain batteries, there will be room to place them in later, once i get them properly insulated - and I get a new glue stick for my glue gun to fasten them in.

Wired up inside the box, but still trailing during extended testing.
Wired up inside the box, but still trailing during extended testing.


So this approach works, but it won't be for everyone - the wireless bell can fail to go off if someone really jabs the outdoor bell push, but for us, it's a workable solution for £14 and the cost of some wire.

Posted by Colin Turner

Defined tags for this entry: ,
Twitter Bookmark Extending a wired doorbell with a wireless one  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Extending a wired doorbell with a wireless one Mixx Extending a wired doorbell with a wireless one Bloglines Extending a wired doorbell with a wireless one Technorati Extending a wired doorbell with a wireless one Fark this: Extending a wired doorbell with a wireless one Bookmark Extending a wired doorbell with a wireless one  at YahooMyWeb Bookmark Extending a wired doorbell with a wireless one  at Furl.net Bookmark Extending a wired doorbell with a wireless one  at reddit.com Bookmark Extending a wired doorbell with a wireless one  at blinklist.com Bookmark Extending a wired doorbell with a wireless one  at Spurl.net Bookmark Extending a wired doorbell with a wireless one  at NewsVine Bookmark Extending a wired doorbell with a wireless one  at Simpy.com Bookmark Extending a wired doorbell with a wireless one  at blogmarks Bookmark Extending a wired doorbell with a wireless one  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jul 25
martial arts A few months ago, Allen Baird wrote to me courteously to tell me he had written a book about some experiences running a Jedi Course at Queen's University, that I was tangentially involved in. I discovered the book was available about a week ago, and obtained the Kindle copy and read it over a few days. This is partly a review of the book as I see it, and some ideas the book triggered me to discuss.

TL,DR?

The book "The First Jedi", due to its title, runs the risk that the course did of instant derision and dismissal, but that would be a mistake. This is not some sort of fanboy gushing excess, but some quite serious content lurking under a whimsical title. It contains significant quantities of psychology and philosophy than can be applied to daily life, delivered in a vehicle of story telling based in real events surrounding his training courses in Northern Ireland and alluding to the "jedi / sith" archetypes from the Star Wars universe. Big ideas in a sugar coated pop culture shell if you will. You don't have to be a geek to read it, or to fully get that dynamic, but I would imagine it helps to fully get it. It is both funny, educational and serious in appropriate measure, and I imagine most people will very much enjoy it.

Still Here?

Allen runs his own training, writing and coaching consultancy business alongside his partner Dawn. Some years ago he ran a "Jedi Training Course" as a one day event at Queen's University, Belfast. Again, note that this whimsical title belies some serious content. This is a tactic I fully approve of, and one I have used myself. My own talk titles tend to be a bit whimsical too. There's plenty of dry stuffy, self-important nonsense already. The world doesn't need more. Allen relates the story of running this course, and the media frenzy the title caused within the book. He also manages to get across much of the material.

As I mentioned before, you don't need any detailed knowledge of the Star Wars universe to get this. I think Allen would be the first to acknowledge that plenty of people know more detail about that universe than him. Indeed, checking again, I find he describes himself in the book as a "Minor Star Wars fan". This is a vehicle, a metaphor. And of course it's exploring the fact that the Star Wars universe did not grow in a vacuum. You can find likely inspiration for its ideas littered all around in classical philosophy, and sometimes religion too.

Allen approached me for some help in bringing a martial arts element to his successor course. He covers his initial meeting with me in his book, and I'll perhaps decline to comment on that overmuch. I wasn't put off by the whacky title, because I bought into the usefulness of the underlying material, and I could see the linkages to aikido very clearly. Plus, I was supportive of his ideas to bring people to continuing education who would otherwise not think twice about it. I may have been more enthused, but cautious, than he realised ;-).

The book is semi-autobiographical in the sense that the plot is based upon real events, but with some added fictional aspects. Early on in the book Allen talks about a technique called the "Gollum Effect" to describe how one can have a conversation between the two halves of the brain. Largely you could describe this book is being delivered by that conceit. There are two characters who give a "jedi" and "sith" perspective on the events and concepts being discussed. One voice is the largely factual voice of Allen - to what extent this aspect is fictionalised I cannot tell - while the other is presumably largely fictional. I could say that I cannot tell to what extent this other character represents factual thoughts and feelings too, if at all.

Having established this groundwork, the main portion of the book explores the course, its genesis and construction, which is both amusing and interesting. A fair amount of time is given to the media treatment of the course, and this is worthwhile and amusing, though it does inevitably lead to some minor amount of repetitive information being conveyed. I think this has been done to help anchor the book in the evidence of the original course being a real entity. He links this in nicely with the Jedi census phenomenon in the UK, which aside from the humour of it, reveals some underlying attachment to these ideas at some level. Star Wars, like it or not, is a major cultural influence, resonating with other more ancient ideas from both Western and Eastern thought.

Sensitivity and Flow

The book then moves on to the initial course, and submerges the reader in it. You get the course itself for free with the price of the book. It talks about the idea of the Highly Sensitive Person, and the psychological idea of Flow which is integral to education and which I have delivered talks on myself. This idea of flow is, incidentally, alive and well in aikido (and other martial arts no doubt) where it is often described as "moving meditation".

Assertiveness

Here again we move into territory that underlines why aikido was an excellent choice to convey the concepts of the course. Assertiveness, as an important part of every day life, is a vital part of aikido, and obtains a good treatment in the book.

As an aside, and response, I will note that Aikido is often described as a defensive martial art. I think that's fair. However, many will conflate the ideas of defence and passivity. In fact, to become an excellent aikidoka, one has to learn that point of assertiveness that is beautifully described in the book as lying between aggressiveness and passivity. Neither of these latter states will help in aikido, one's mind must remain clear and free of aggression (since otherwise, neglecting any other aspects than the physical for the moment, the adrenal response will rob the body of fine control and the mind's ability to see the whole situation clearly), while passivity will rapidly end in disaster. You must enthusiastically meet your opponent with neither reticence or an urge to dominate them.

Synchronicity

Allen next explores the Jungian idea of synchonicity exploring how the mind has a tendency to conflate events that are not causally linked. I've explored this a little in another long article on perception and especially how it can link to the martial arts.

He discusses practical ways to overcome fear. He misses, I feel, a golden opportunity to link in another great Sci-Fi franchise, covering the Bene Gesserit litany against fear. Perhaps the Bene Gesserit training course will be next. The similarities of idea are huge, and possibly even more aligned to Allen's content.

This material reminded me somewhat of ideas I have taught in aikido classes to deal with pain. When pain is inflicted upon you, there are two aspects, the physical underlying pain, about which you can do little, but there is also an overlay - the mental expectation of pain. Learning to relax into that can greatly reduce the amount of apparent pain felt.

Control over one's mental state, and attempting to overcome adrenal response, is a big part of aikido for me. While aikido is not Chinese in origin, Chinese martial arts masters have described aikido as an internal martial art for that reason, and I agree with them. The late Alan Ruddock describes in detail in his memoirs how the ancient story of Monkey is a parable about how the various aspects of one's mind can be brought into harmony, even if control is too strong a word. The Star Wars generation may know this story better from its TV series, which might just occasionally have been light on philosophy and heavy on action. The book is well worth a read (both Alan's Memoirs and Monkey incidentally).

Fear turns to Anger

It would be hard to talk about the Jedi/Sith dichotomy and not write about anger. Allen treats it well, working in some Aristotelian Ethics which is hugely pertinent to life, and reinforcing the importance of assertiveness as a midpoint. I cannot recall if this is the point where he also introduces a bit of Stoic philosophy, perhaps the school of Roman thought that resonates with me most. Marcus Aurelius, one of my favourite philosophers gets a pertinent mention. You can read his meditations at a browser over lunch time.

Mindfulness

And so we come to mindfulness. To me, this is the concept most obviously born out of Buddhist philosophy. Buddhism is in many ways more of a philosophical system than a religion as we often describe it, but in any case, there is no need to consider the whole cosmology and religion to cherry pick some its good ideas. Though, in passing, when I first watched the Phantom Menace, I was very taken with the idea that Qui-Gon Jinn was somewhat based, in name and concept, on the Bodhisattva Guanyin.

References to Jedi being exponents of compassion reinforces the feeling that some Buddhism is behind the scenes. I have written before about the apparent dichotomy of compassion in a martial setting.

Anyway, mindfulness brings us back to those ideas of Monkey, and Meditation (whether in movement or not). I think the book implicitly emphasises a truth often overlooked by the want-to-be-spiritual; that mindfulness can be practised as you sit in the lotus position in a silent dark room, but it doesn't really matter a damn if your thinking all goes to pot as soon as the outside world becomes disturbed. One can practice mindfulness anywhere. Indeed, it's the only practice worth doing in my opinion. (Much to learn, I still have).

For some more thoughts about this in the martial arts, you can look at my article on the concept of fudoshin.

Shadows and Darkness

The book explores, the again, Jungian idea of our Shadow selves, and the extent to which our failure to acknowledge the truth about them can lead to greater problems.

It also explores the ideas of attachment, which is one of the bits of Buddhist philosophy I think is the most interesting and emotionally understand poorly. I would be interested to chat to Allen about this bit some time.

The Sequel

Allen then deals with his attempt to produce a more ambitious version of the course, along with Rory O'Connor and myself. Rory to bring some thoughts about the "Force" into it (or at least real-world parallels) and myself to bring some aikido and potentially some kumi-tachi work too (sword to sword). This isn't as weird as it sounds since many of these ideas are present in both physical and "normal" interactions and confrontations between people, and sometimes some people can learn through the body more effectively. I roped in John Donaldson, a far superior swordsman to myself, and also something of a Star Wars fan. This was years before John would take to dressing up as a storm trooper or the best Captain Jack Sparrow this side of the Atlantic. Possibly Allen's second course would have been more successful otherwise.

We did a certain amount of planning for this new version of the course, and everything was good to go, but it was not to be. Things did not proceed as we had foreseen. Allen talks about this and wraps the story to an interesting conclusion, taking the Jedi / Sith conversation to its final conclusion and bringing a nice sense of closure to the proceedings.

But of course, I won't give away the ending, you'll have to read the book!

Posted by Colin Turner

Twitter Bookmark A review and response to &quot;The First Jedi&quot;  at del.icio.us Facebook Google Bookmarks FriendFeed Digg A review and response to &quot;The First Jedi&quot; Mixx A review and response to &quot;The First Jedi&quot; Bloglines A review and response to &quot;The First Jedi&quot; Technorati A review and response to &quot;The First Jedi&quot; Fark this: A review and response to &quot;The First Jedi&quot; Bookmark A review and response to &quot;The First Jedi&quot;  at YahooMyWeb Bookmark A review and response to &quot;The First Jedi&quot;  at Furl.net Bookmark A review and response to &quot;The First Jedi&quot;  at reddit.com Bookmark A review and response to &quot;The First Jedi&quot;  at blinklist.com Bookmark A review and response to &quot;The First Jedi&quot;  at Spurl.net Bookmark A review and response to &quot;The First Jedi&quot;  at NewsVine Bookmark A review and response to &quot;The First Jedi&quot;  at Simpy.com Bookmark A review and response to &quot;The First Jedi&quot;  at blogmarks Bookmark A review and response to &quot;The First Jedi&quot;  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jul 14
martial arts There's been an “elephant in the room” on my blog for quite a while now, and it has prevented me completing a number of articles that I have had in draft for some time.

A bit over a year ago, my friend and mentor, Alan Ruddock died. I've been trying to articulate what that meant for me, and what I thought about Alan, but I have repeatedly failed. This doesn't fully resolve that issue, but at least I can put down some thoughts about Alan here now, or at least about Aikido

Disclaimer: this post probably badly needs some photos, and I'll try to retro-fit that at some point.

I was kindly asked to present an hour at this year's Galway Aikido Summer School, where Alan Ruddock and Henry Kono traditionally taught together for many years. This year Henry continued with his excellent classes in the morning and other instructors that knew Alan took an hour each in the afternoon. I confess I was a bit daunted by some of the others teaching in these slots, particularly the inestimable Lorcan Gogan of PSAC, with whom I shared a session. When I said to him I would have to follow that, he simply replied "Hey, I had to follow Henry!". A fair point. But I did find myself more reticent than usual in my teaching style.

I chose to try and present some thoughts that have arisen from Alan talking about his “dead straight line”. That is that Aikido is often thought of as being circular in nature but Alan was keen to stress it was not at its heart.

In Aikido, we often see uke (the attacker) whirled around nage (the defender) in circles. There are beautiful diagrams about this, and allusion to circles everywhere. Our own club is called the “Belfast Aikido Circle”. So it's impossible to deny circles don't appear. Indeed, there are semi-physical, semi-mystical links to squares and triangles too.

But what Alan meant, in my opinion, (all disclaimers apply) is that you always behaved as if you were operating in a dead straight line.

Aristotle believed that objects, in a perfect (celestial) environment travel in perfect circles, but many centuries later, Newton thought otherwise.

“A body will continue in its state of rest, or uniform motion in a straight line, unless acted upon by a resultant force.”

is better known as Newton's First Law of Motion. In Aikido terms its consequences are simple, if an attacker comes along a straight line, and is subsequently diverted off that straight line, Force, and Energy has been added by someone. Not in some kind of mystical sense of the use of these words you might see in other places, but in their elementary definitions in Physics. So the Force has been added, the big question then is by whom, followed up by why, and an analysis of the consequences.

Let's look at the question of “whom” first. In a previous article, I wrote at some length about the spectator problem in Aikido. Sitting at the side lines you can never know for sure just who is doing what to whom. You can see the nage's hands rise, move or turn, but you cannot know, from outside, whether this is nage initiating these things, or a reaction to uke's movements and attack.

In fact, we can take it a step further than this and say that at best only the two involved can fully know, since it is entirely possible that neither of them will fully know either. In other words, the problem of “whom” is a really knotty one – it's altogether possible that no-one knows.

In theory, at the beginning of a “technique” the nage first moves to a position of safety from the immediate attack and then “blends” with the attack. Even this is an over simplification since nage can be more proactive, but let's set that side for a moment. This moment of initial blending is pivotal. Alan used to tell a story about O-Sensei coming to watch a class of aikido at the Hombu dojo, and after watching, smiling, for some time, he announced “you are all doing a wonderful job, after having your heads cut off.” The analysis of this could be that, especially when facing an armed attack, even if the blend if a “bit out”, there may be more than a “bit” of you missing by the time you start your technique.

Aiki means the harmony of ki, or “energy”, so your blend is the moment where you, and your attacked end in a position of aiki, where both your energies are pointed in the same direction. If the uke's energy was directed at you in a dead straight line, as it often is, then in theory, you should both be pointing in the same dead straight line.

But this is often not the case. You can immediately see deviation from the straight line. Why is this? From Newton, the answer is obvious, one or both person(s) have put extra force into the situation.

This may have been uke, who immediately realising things are not going as planned, starts to react and often turns towards nage to strike them; this being the case nage has to move off the original straight line too to provide space for uke, and to keep the “aiki” principle, continuing to move with the uke. If that's all it is then this is fine. The force and energy being contributed by nage are minimal, it is necessary and sufficient.

But all too often, the honest truth is that as nage, we anticipate the move from uke, or worse don't even think about it, and just start whirling them around us. It may not be immediately clear why this is a Bad Thing. There are two reasons; one is that the aiki principle has been immediately broken, you are no longer in harmony with the attacker but attempting to direct them. The second is why the aiki principle itself matters; when you inject force and energy into the situation a skilled opponent can make use of it. In fact that's practically the central principle of aikido. Probably 90% of the time, particularly in training, your opponent may not even notice, so we all get away with it, and we probably never learn.

So here are some thoughts on training to enforce honesty on this.

Try and do some techniques along a straight line on the mats. You'll need your uke to be initially very well behaved. Don't even think of it as an attack, imagine that you meet a friend at the gates of a park. You see them as they approach and you walk backwards, then sideways, then alongside them as you extend your hand to shake hands with them. They key here is not to make it a conflict. This is astoundingly easy to do when you aren't worrying about having your head punched – just practice the naturalness of this first.

Then, as you walk along your straight line, just allow your hand to rise across the line, the analogy I used as if you are pointing at a squirrel in a tree. It's a simple, gentle irimi-nage that requires a compliant sensible uke who just has to keep walking straight, even into the “throw”.

It's a silly exercise, and you can play with greatly shortening it, but the big deal is, practising doing the throw along a straight line.

The next phase is to allow your uke to, once every so often (and without prior warning), lifting their free hand and turning to – well - lovingly caress your face shall we say? This changes the dynamic, the uke wants to move off the straight line, and so you have to as well. But the key of this exercise is:

  1. do you actually pull them off the line on occasions where they do not turn;
  2. can you really convince yourself you don't move off the line with a little extra force?
It may be a useful exercise.

Another example worthy of note is Shomen Uchi, Ikkyo (tenkan). Or – that when your opponent tries to strike your forehead, you turn, contact their arm and bring it, and the uke to the ground.

Traditionally this is often done by grabbing the arm as it descends and whirling your uke around you. There can be real consequences to this because their other fist is being whirled around you too. There are other problems too – you can have a tendency to pull the arm so closely into your space that uke can merely step behind you and topple you over their leg. It isn't a nice fall. It also provides , ironically, a slow descent of uke into the ground, since you provide them with a lot of implicit support.

So try, from the moment of “Shomen Uchi contact” where your hands meet, to step to the side, and without gripping contact the arm with both hands (the other hand at the elbow). Let your uke continue on their straight line straight forward and downwards. Potentially this is a hard fall, you are providing no force or breaking but just allowing them to sail majestically (potentially teeth first) into the mat. Some care needs be taken with this initially! It is most important that you do not push them down, just act as a ratchet so as they descend they cannot rise.

Again, in real life uke will often start heading towards you early on, trying to recover their balance, and also because in aikido, the tendency for uke and nage to start running around in circles is ever present, and once again, that's fine, the issue is not to interfere with this, but also not to seek to amplify it by hauling them around.

At an early stage you may find it useful not to grab their wrist – this can, in any case, cause all sorts of postural problems – and once you grab something the urge to pull it in is not far behind.

A suitable training for this can be found at your local Supermarket. Find yourself an empty trolley, and as you move it around, you will probably grip it with both hands and pull in one while you push out the other. If you are really mindful to your body you may notice muscles in your abdomen and spine taking the strain. But then fill the trolley to the brim, you will rapidly discover that this trick is not so easy. It's also not so wise, your muscles will shriek in protest at you, and if you do this kind of thing with a large opponent you will likely both be unable to move them, and injure yourself trying.

These are some simple thoughts on the Dead Straight Line that Alan used to talk about. There should always be a delicate positive pressure in that straight line in front of you, so that as things move and the gap appears there you will be immediately slot yourself into it. It is the spike in O-sensei's “Ki” calligraphy; it is the imaginary sword held in front of you that tells you always where you want to go.

Your curved movements are still a succession of Dead Straight Lines.

There is a nice, and relatively elementary parallel from Einstein's General Theory of Relativity. The curved paths that objects like planets make, as commented on by Aristotle appear circular and curved, but actually they are Dead Straight Lines (geodesics) through curved space-time. When the Moon travels around the Earth, it does so in a series of Dead Straight Lines so that it keeps missing the Earth and it perpetually falls towards it. If you do decide to have uke orbit around you, then this is the same principle you need to prevent them spiralling into you, complete with their body weaponry.

But anyway, try playing with Dead Straight Line. I hope you will find it rewarding.

Posted by Colin Turner

Defined tags for this entry: , , , , ,
Twitter Bookmark Aikido in Dead Straight Lines  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Aikido in Dead Straight Lines Mixx Aikido in Dead Straight Lines Bloglines Aikido in Dead Straight Lines Technorati Aikido in Dead Straight Lines Fark this: Aikido in Dead Straight Lines Bookmark Aikido in Dead Straight Lines  at YahooMyWeb Bookmark Aikido in Dead Straight Lines  at Furl.net Bookmark Aikido in Dead Straight Lines  at reddit.com Bookmark Aikido in Dead Straight Lines  at blinklist.com Bookmark Aikido in Dead Straight Lines  at Spurl.net Bookmark Aikido in Dead Straight Lines  at NewsVine Bookmark Aikido in Dead Straight Lines  at Simpy.com Bookmark Aikido in Dead Straight Lines  at blogmarks Bookmark Aikido in Dead Straight Lines  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Jun 20
Free Software Ok, so I used Gnome Shell before it was officially released. I stopped using it because I thought it was intriguing, but awkward to use in its beta stages. Then Gnome 3 was released and gnome-shell was no longer an interesting option, it was the compulsory way to use the operating system; and I wrote at the time about some of the problems. Many were solved, but the underlying troubles in the design of Gnome Shell were a problem for me. And I've really tried to like it, I really have, and I don't. I hate it. It makes almost every workflow I have tedious and exasperating. It has damaged my productivity. It looks pretty, it looks stylish, but it's frankly slow and painful to get things done. I tried lots of other window managers and was frustrated at having the leave the good things of Gnome behind.

Until someone told me about Cinnamon. I looked at the website and thought it might be just the ticket. Unfortunately it's not officially packaged for Debian (yet), and I currently lack the time to start building my own packages. Fortunately someone else has done it. I installed the packages on my laptop and breathed a sigh of relief (once I diagnosed a problem with the settings dialog). I installed it on my other boxes (that have GUIs), and now, well, the best thing is I am enjoying all the great things about Gnome 3 now. I'm even enjoying the great things about Gnome Shell, since Cinnamon is actually a fork, but all the stupid bits are gone.

There is a nice, elegant panel, so much cleaner than the Gnome Fallback mode. It looks like it belongs in Gnome 3, it does. Notifications are more subtle, coming up in out of the way bits of the screen. The screen effects are subtle but pleasant. In short it is what Gnome 3 should have been, or at least optionally. The "new" interface of Gnome Shell may suit many users, many devices, many workflows, but it most certainly does not suit all.

I have my nice comfortable desktop and workflow back after many months; kudos to the Cinnamon team, and kudos for them really showcasing all the excellence of Gnome 3 rather better.

If you want to try it out on Debian, follow the instructions here, and note the possible problem with the settings dialog.

Posted by Colin Turner

Defined tags for this entry: , , ,
Twitter Bookmark Cinnamon; adding needed spice to Gnome 3  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Cinnamon; adding needed spice to Gnome 3 Mixx Cinnamon; adding needed spice to Gnome 3 Bloglines Cinnamon; adding needed spice to Gnome 3 Technorati Cinnamon; adding needed spice to Gnome 3 Fark this: Cinnamon; adding needed spice to Gnome 3 Bookmark Cinnamon; adding needed spice to Gnome 3  at YahooMyWeb Bookmark Cinnamon; adding needed spice to Gnome 3  at Furl.net Bookmark Cinnamon; adding needed spice to Gnome 3  at reddit.com Bookmark Cinnamon; adding needed spice to Gnome 3  at blinklist.com Bookmark Cinnamon; adding needed spice to Gnome 3  at Spurl.net Bookmark Cinnamon; adding needed spice to Gnome 3  at NewsVine Bookmark Cinnamon; adding needed spice to Gnome 3  at Simpy.com Bookmark Cinnamon; adding needed spice to Gnome 3  at blogmarks Bookmark Cinnamon; adding needed spice to Gnome 3  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca
Mar 5
Free Software Last Sunday morning I tried to access my mediatomb UPnP music server using the radio in my kitchen to be told it was offline. After messing around at the radio end a bit, I went to check on the actual machine, and found that mediatomb was not running. Attempting to restart it looked OK, but it was segfaulting almost immediately.

After trawling around a bit on bugs.debian.org I finally found this little gem. Basically mediatomb has been removed from unstable, partly because it's (ahem) unstable. I can't disagree with anything Neil says here; it's been a pain to keep mediatomb working, and there have been many problems. Nevertheless, after solving these and generally having it working (till Sunday) I was frustrated that was the end of the road. Obviously Neil has had a bit of a backlash too.

Anyway, life goes on and I looked in the Debian archive for alternatives and found minidlna. I wasn't too optimistic from the package description, but thought I'd give it a whirl. It has no web interface, but I don't care about that. Anyway, I installed it, reconfigured the path, forced a database reload, and was very pleased to find it all worked out of the box. Far less hassle that mediatomb has proven.

Only a tiny grumble so far, while all the playlists appear, and are in the correct order, if you browse by Albums, or Artists, the eventual track list is always alphabetical and not track order. I've read some claims that this is due to the client, but every single client I have used to get the lists from mediatomb in track order, and every single one now gets in alphabetical order.

Time to dive into the source at some time...

Posted by Colin Turner

Twitter Bookmark Life after the tomb: minidlna  at del.icio.us Facebook Google Bookmarks FriendFeed Digg Life after the tomb: minidlna Mixx Life after the tomb: minidlna Bloglines Life after the tomb: minidlna Technorati Life after the tomb: minidlna Fark this: Life after the tomb: minidlna Bookmark Life after the tomb: minidlna  at YahooMyWeb Bookmark Life after the tomb: minidlna  at Furl.net Bookmark Life after the tomb: minidlna  at reddit.com Bookmark Life after the tomb: minidlna  at blinklist.com Bookmark Life after the tomb: minidlna  at Spurl.net Bookmark Life after the tomb: minidlna  at NewsVine Bookmark Life after the tomb: minidlna  at Simpy.com Bookmark Life after the tomb: minidlna  at blogmarks Bookmark Life after the tomb: minidlna  with wists wong it! Bookmark using any bookmark manager! Stumble It! Print this article! E-mail this story to a friend! Identi.ca

(Page 1 of 12, totaling 95 entries)