Category: Artificial Intelligence

Welcome 2015!

London Fireworks 2015M25 Carpark

It’s been quite a while since I’ve posted much, mainly due to a contract which requires me to drive on the M20 and M25 (aka “the carpark” for those outside the UK) and as a result, I just don’t seem to of had the time and energy…

Javelin TrainOh, how I long for those lovely trains, and will never complain about a 30 or even 60 minute delay – the worst I’ve had in a car is a 1h trip taking 4h!!!

I look forward to getting on something where someone else is doing the driving so I can use my time effectively

Amazingly, it seems like only 7% (4.5 Million) people in the UK use public transport. Given that nearly 1/3 (22 Million) live in the South-East, where transport is generally pretty good, that seems pretty low. No surprise given the number of people on the motorways – I’ll be happy to take one more off them next contract.

So what’s up for 2015 for me and this blog?

For one, I plan to start getting back in to a bit more of a rhythm, both with my posts and the associated (play) work (generally outside “real work”), and I will continue to post based on my experiences – recent and past…

theme : ecologyWhat are the themes though? Here’s a list of where I’d like to go:

  • Lifestyle & Reviews
  • Process & People & ScramJet
  • Clojure
  • Architecture, including Enterprise & SOA aspects

in no particular order. I won’t get in to specifics as much of it is not yet planned, or I’m working on it but don’t want to reveal it until I have enough meat on the the bones so I can be sure it will fly.

teaserHere’s a few teasers though based on posts I know I’ll write or have in draft form:

  • Review of Bob Marshall’s “Thinking Different” happening last year
  • Review of the: BMW i3 electric car; Samsung Galaxy Alpha
  • Corporate Subversion – in a positive manner of course :-)

and that’s really just the “boring stuff” – there should be some very interesting posts coming as I hit my stride.

I hope you’ve all had a great XMas & New Year break and look forward to some great interactions in 2015!

Changearc – the thinking person’s RiczWest ;-)

Today I’m (@RiczWest) starting a new twitter account. It’s called ChangeArc. For those who follow me, you’ll recognise this as my “Blog Name” – so what’s the purpose?

Simple – when I started using Twitter, it was primarily as a bookmarking tool. To some extent I still use it as such, but also for so much more…

There’s one problem though – as I look at a lot of content, that means a lot of tweets, and not everyone likes that, including me! There are a number of great people I’d like to follow, but I can’t because they tweet too much.

To that end, I’m going to start a much lower volume (only a few tweets per day) account which is ChangeArc. So what can you expect apart from less tweets? Extremely high quality tweets that will include any posts I do.

I don’t know how this will evolve, but it will be interesting to see…

Transcendence movie mini-review

Transcendence - Johnny DeppToday I decided to see Transcendence, despite Wired actually canning it – Transcendence: A Movie Too Terrible to Even Hate-Watch. In my opinion, that’s being way too harsh. Of course the movie could of been better, but it could of been way, way worse.

I won’t give any spoilers, but it’s basically a movie where Depp ‘Transcends’ in to a computer, a-la Kurzweils singularity. This bit is quite cleverly done as there’s a conceptual twist that is so obvious yet rarely mentioned in singularity literature.

Things go pretty well, as they do when you have a brain the size of a planet, but of course we can’t leave it there. With people involved we know there will be twists, and there are. I thought the ending was quite brilliant and romantic, even if a bit Hollywood which is to be expected as it’s a big budget film. With a cast of Depp, Rebecca Hall, Freeman, Paul Bettant and great supporting cast there’s no problem with the acting. The special effects are great to illustrate what a giant Quantum computer and associated peripherals may look like.

4 out of 5If you’re in to computers, AI and the like I’d rate it 4/5 – it’s as least as good as the brilliant British movie “The Machine” which takes a different spin. If you’re not in to computers and AI then it may be a 3/5 – not wasted time, but you could wait until an online/DVD release.

PS If you’re in UK, you may want to go elsewhere than Cineworld as they didn’t turn off the lights during the movie and have terrible “customer service”

PPS To end on a positive note, this is my first (of I’m sure many) posts using the absolutely brilliant BlogPad Pro App on my iPad. It actually makes it possible to use your iPad for blogging and at £3 is a no-brainer

DARPA Robotics Challenge Trials

DARPA Robotics ChallengeFor those of you who aren’t Robot Geeks and missed DARPA’s Virtual Robotics Challenge mid this year, don’t worry! Only one day ago the DARPA Robotics Challenge Live Trials have just completed

(Spoiler Alert – I’ll reveal the winner later on :)

In case you’ve never heard of the DARPA Robotic Challenge and are wondering it’s significance, they had another one called the Grand Challenge for Autonomous Vehicles. It started in 2004 and no vehicle could complete it! They then scheduled another for 2005 which Stanford won with a tricked-out VW Touareg R5 called Stanley. This wasn’t the end though… then moved on to the Urban Challenge, which was won by Boss, a Chevy Tahoe with Stanford getting second place with Junior. Why is that significant? Because Sebastian Thrun (in the photo above) is the Director of the Stanford AI laboratory and also a Google Engineer. Yes, the Google Car is based on Junior, a modified Volkwagen Passat Wagon which came second in the Urban Challenge. Now back to the present and the Robotics Challenge…

You can find out more at the actual DARPA Robotics Challenge site or from the DARPA YouTube Channel which has a lot of content! If you want a bit more background, first watch Robotic Expectations & The Challenge History. The teams are all over the place, so here’s a slightly more structured curation of teams that had their own unique robots:

Yes, that’s a female robot! Uses flexible “muscles”
A mostly 3-D Printed robot Which is based on a chimp
Essentially built from one component! A clever multi-limbed robot
A lightweight robot One of the few Japanese designed robots
An Open Architecture Robot!!!  

And there were a number of other teams: IHMC Robotics; WRECS WPI; TRACLabs; ViGiR; TROOPER; MIT who all used the Atlas robot:

which is made by Boston Dynamics – the same people who bought you Big Dog, Cheetah (the fastest robot) and many others.

So who won? Unfortunately there were some pretty bad summaries for Day 1 & Day 2 and a number of 10h(!) archives of robots doing things extremely slowly…

In the end though, the top 8 (who will receive continued funding) were:

  1. Schaft (27)
  2. IHMC Robotics (20)
  3. Tartan Rescue (18)
  4. MIT (16)
  5. Robosimian (14)
  6. TRACLabs (11)
  7. WRECS (11)
  8. TROOPER (9)

I’ve bolded and underlined the ones based on Atlas (which are 1/2). Why is this significant? Because Google just bought Boston Dynamics, who manufacture Atlas!!! What’s more, Google also owns Schaft who won! Monopoly anyone?…

Atlas Frontview 2013As we saw from the Vehicles, it doesn’t matter whether a Google team actually wins. One thing you can guarantee – Google will be making robots in a few years which will be commercially available by the end of this decade. Given Google’s “record” – i.e. blatantly violating peoples privacy and who knows what else, I’m not sure how good this really is…

Yes, I know they’ve feigned disgust at various NSA revelations, but remember that their chairman Eric Schmidt, once said “If you have something that you don’t want anyone to know, maybe you shouldn’t be doing it in the first place”

I’m still waiting for him to mail me his social security number and bank account details, because hey, he’s obviously an upstanding guy who has nothing to fear… ;-) How would you feel about having a Google Spy (oops Robot) in your home? question remains though – where are Honda in all this? Ironically, the Japanese did win this challenge, but using technology which is pre ASIMO. I think HONDA are quite rightly keeping to themselves as what do they really need to prove? If you look at any recent ASIMO information you can see that it’s way beyond where all the DARPA people are, which is not to say they won’t catch up, but who knows what’s in HONDA’s labs?… The last information we have is from 2011 which is pretty awesome!

Also, they don’t really need to participate in the “DARPA Challenge” as they’re already working on a Disaster Response Robot Based on ASIMO and are using ASIMO to Act as an Autonomous Explaining Robot – beat that DARPA door opening droids! ;-)

My hopes and predictions (since we’re getting near New Year) for the future on Robots?

Google will obviously have a number of models with military and civilian applications which will become a major profit centre for them (thanks military industrial complex :) – not a surprise considering all the “hard AI” work they’re doing with Kurzweil – stay tuned next decade…

Honda will enter with ASIMO and buddies around the same time. They’ll probably be more expensive but will be more consumer friendly and secure (i.e. they (hopefully) won’t be spying on you).

Open Source will have something, and Hubo definitely looks like a good start – I like the concept that I could own a robot that I can trust and improve :-)

EuroClojure – Day 1

I’ll be putting some notes / mind maps up here from EuroClojure over the next two days. In the “agile spirit” I’m including my notes fairly raw below and may refine them later… For the meantime, in case you weren’t able to attend EuroClojure, here is a summary of some of the fun you’ve missed ;-)


EuroClojure Keynote MindMap

Critical Theory

  • Nomad
  • Rhizome
    • “Interconnectedness of Things”
  • State
  • Information
    • Collapse of Abstracton to Reality
      • Brazilia


  • Production methods
    • Prussian “Scientific Forestry”
      • Create Flawless Abstractions
    • vs Organic Forests
  • ~ Forest


  • Techne
    • Timeless
  • Metis
    • Cunning
      • Local
      • Contextual
      • Nomadic


  • Patterns of Software
  • Fictions and the aleph
  • Data and reality
  • Seeing like a state
  • Simila and simulation
  • Invisible cities


  • The Quality without a name
    • Contextual
  • Richard Gabriel
  • Pattern Language
    • To express patterns that were observed (locally)

Gerald Weinberg

  • An Introduction to Systems Thinking
  • Heuristic Devices don’t tell you when to stop

Make your own Lisp

Make your own LispBODOL

  • Homoiconic
  • Immutable
  • Typed
    • Robin Milner
    • Example
  • Pure
  • Makes HN Caremad
  • Pattern Matchinng
    • Used core.logic


  • Mark Engelberg
  • EBNF
    • Or Parse Combinators




  • Core Match
    • Not used as specific to Clojure…?
  • Lispkell
    • Also Lisp + Haskell

Life in a Browser

Life in a Browser

Genetic Algorithms

  • Breed s-expressions


  • Tree handling Library


  • Complexity – a guided tour
  • Complexity explorer
  • Stephen wolfram
    • A new kind of science

Biologically inspired computing – Artificial Life Project

  • In browser with core.async
  • Enlil
    • Head Mesopotamian god




Free your data with RFC2616

  • Http 1.0
    • + Patch
      • Liberator doesn’t handle
    • + WebDav
    • Almost 40 decision points for all status codes

Only 1 use in prod – Clojure library

  • Implement REST Resources
    • On the server side

~ 1/3 LOC Takes care of most of the status code processing

  • Uses “standard” from http flow diagram
    • See web site

Automatically converts your data to JSON or EDN

Creative Machines

  • Creative Machines

    Book: Creative Music

    • Death = Entropy Chaos*
  • Recombinance
    • Creativity does not occur in a vacuum


    • Serendipity

    Learning + Inference + Knowledge

    • Canon Builder
    • Association Network
      • Like Neural

    New neural networks

    Cognitive Bias


    • Death Dance
    • Aaron
      • Painter
      • Howard Kern / Cohen
    • Music (overtone)
      • Markov Chains
      • Neural Nets

    David Cope

    • Emily Howell
      • Music


    • Can happen by
      • Combination
      • Exploration
      • Transformation
        • Reflect on System Rules
        • And Change those Rules
    • Psychological
    • Historical


  • Functional 3D Game DesignNeed to get everything done in 16ms

    • Side effectual
      • => !used

    Based on JMonkeyEngine
    Probably go to LWJGL
    Use Quarternions

    • 3 imaginary numbers
    • 1 real number

    Functional Reactive Programming
    Modelling both Continuous and Discrete Data changes

Common Clojure Smells

Common Clojure Smells

Martin Fowler & Kent Beck

  • Refactoring

Long parameter lists

  • Underlying issues

Clojure specific smells

  • Locally scoped atoms
  • Magic Keys
    • aka Data structure coupling
    • Hard to figure out the cost of change of key names, data types etc…
    • Keep data aware fns together (defrecord?)
  • Indirection by partiality
  • Macromania
  • Parents Proliferation
    • aka Over-nesting
    • Trying to do everything in one expression
    • Balance between tenseness & readability
  • Lazi-itis
    • Excessive use of lazy evaluation
    • Many discrete steps with a final one that executes the seq
    • Consider pulling things in to coarser-grained steps to avoid long pipelines

Kent Beck

  • Smalltalk practice

Jennifer Smith

Do OO Heuristics apply to Functional code?

The Almost Unbearable Lightness of LightTable

Note: This post is in Draft, I’ll be updating it a bit more…

LightTableSeesawAs I’ve been tweeting, I’m very interested in LightTable, the amazingly cool IDE being developed by Chris Granger @ibdknox and his gang. It’s a bit like the black spaceship from Hitch-Hikers Guide To The Galaxy though: “It’s the weird colour scheme that freaks me. Every time you try to operate one of these weird black controls, which are labeled in black on a black background, a small black light lights up black to let you know you’ve done it”. The next major release (in a month or so) will be addressing “user experience”, but in the mean time, what if you want to give it a serious try?

That is what the rest of this post is going to try and help you do also – get LightTable up and running so you can incorporate other projects and frameworks, which is really needed if you’re to proceed beyond trivial playing with it. But first, a warning from our sponsors (that’s me :). The version on LightTable says it all – 0.2.7. If you want a seamless install / development experience, especially if you have other installations of Clojure, IDE’s, lein, … then it’s probably best to come back later… They’re working quickly to address things, but this is a Real Agile Project that released very early and is now releasing often, so major kudos to them for doing so!

Finally, for some context, I’d rate myself as an “Enthusiastic Clojure Amateur” – I don’t do it for a day job, but I know my way around Unix, Maven, (now) Lein and Clojure through other environments. If you’re at this level or above then this post could be for you, and hopefully save you some time and frustration. You should also note that I use a Mac (is there any other platform to use for serious development? ;) so these instructions assume that. I won’t be doing a Windows post of this, but if anyone wants to then feel free to copy and change what I’ve written.

There are 3 key activities for setting up the latest version (0.2.7 or above) of Clojure:

  1. Clean Installation of Lein2
  2. Clean Installation of LightTable
  3. Creating a LightTable Project with Dependencies using Lein2

Note: I’m assuming you’ve got Maven 2 running, because you’re some sort of Java dev – I may add instructions for this later…

I’m sure all of these issues will be addressed in subsequent releases, but for the meantime, here’s how I did it – Note: it’s assumed that you’ve installed to your local user. If this is global (Unix) or Windows you’ll have to use different paths.

1. Clean Installation of Lein2

LeiningenThis was probably the most difficult and time-consuming thing to work out as I was running a version of Lein 1 that I’d installed ages ago, which is an absolute no-no. LightTable won’t work with this configuration and give you all sorts of weird errors. Whatever version of Lein you’re running it’s probably best to clean out your Maven directory:

rm -r ~/.m2/*

If you’re running an “old version” 1.x of Lein you’ll have to upgrade, which means that you should clean out your .lein directory:

rm -r ~/.lein

Then you’ll have to do a “Bootstrap Install” of Lein2 which isn’t that hard. Firstly, remove you’re old shellscript which in my case was in my ~/bin directory that is on my Unix path:

rm ~/bin/lein

Github LeiningenThen you’ll need to get the latest and greatest version of Lein 2.0.0 – this matters, as the default when you grab it from GitHub is the 2.1-SNAPSHOT (at this time of writing) version which is on the “master” branch, but unfortunately this won’t currently work with LightTable and give you weird connection errors. I originally got this, then changed it to Stable (2.0). In my environment, everything is in ~/Gits.

The final step for this is to then install Lein2:

cd ~/Gits/leiningen
lein install
lein version
>> Leiningen 2.0.0 on Java 1.6.0_37 Java HotSpot(TM) 64-Bit Server VM

2. Clean Installation of LightTableLightTableIcon

Once you have the right version of Lein2 going, it’s actually pretty easy to get LightTable going either if you haven’t installed it or are running an earlier version. To reset your configuration, just remove your .lighttable directory and contents:

rm -r ~/.lighttable

If you don’t have a recent version of LightTable, i.e. your icon doesn’t look like the above one, then you’ll need the latest installation of LightTable, which is pretty easy – just go to and download the correct launcher

Once you’ve reset your configuration, just run LightTable, it should then get the latest version and tell you to restart. When you’ve done this you can check the version from the “command line” at the bottom by typing “version” which should show 0.2.7 or whatever the latest (higher) version is. If it’s less then somethings gone wrong – Maybe you didn’t delete the entire directory? Maybe you have an old version of the launcher? You’ll have to do some digging if this is the case…

3. Creating a LightTable Project with Dependencies using Lein2

Now you have the right infrastructure set up, it gets very easy. To create a new project, you just create a default template:

cd ~/Projects/LightTable/
lein new guitesting

start up LightTable and connect to your project


during which you’ll see connecting and retrieving messages


and hopefully a brief connected message


If you get any blue error windows popping up on the left, then something has gone wrong, probably with your installation of Lein2 so you should go through and check the above process again.

Ah, but there is “one more thing”, which was the key capability I was looking for originally with LightTable, and that’s the ability to include extra projects / dependencies. Now that you’re up and running, this should be comparatively easy. You just add whatever you want to your project.clj, probably using LightTable now you have it running

(defproject guitesting "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url ""
  :license {:name "Eclipse Public License"
            :url ""}
  :dependencies [[org.clojure/clojure "1.4.0"]
                 [seesaw "1.4.0"]])

which in my case was seesaw that is a development framework for Swing GUI’s that I talked about in my previous post on Easy UI development in Clojure with Seesaw. If you have an instance of LightTable running then you should quit and re-start it to pick up the new dependencies when you connect and that’s it! You should now be able to use LightTable like you see on all the latest articles and videos

Finally, I will be doing an “Unbearable Lightness of LightTable” when LightTable progresses more in installation to the stage where the above instructions will not be necessary. In the mean time, I hope the above has helped you if like me, you’ve been looking at all the latest LightTable videos and wondering why you can’t do these things.

PS If I you have a different experience then please let me know via the comments and I’ll correct or add to the post

Reflections on 2012

Reflections 2012It’s that time of year where everyone is reflecting on the last year, so I thought I’d toss my hat in to the ring. Personally, it’s been a year of great change, having moved from a highly toxic street in Reading (where our dog unfortunately passed away just before we left) to a beautiful one in Ashford where we are much more settled and I’m at last able to relax, grow and learn in a supportive environment.

That’s enough about me though, what about the IT Industry and wider world from my perspective?


  • The year Apple Stumbled – It wasn’t just iMaps, it was the lack of innovation and wierd and frequent release schedules which all smacked of internal chaos – understandable given that Jobs passed away late the previous year, but they’ll need to get back on track if they want those stock options to be worth something
  • The year Microsft Stumbled – two words: Windows 8 or Windows RT or Microsoft Surface. I must admit that I’m less disappointed with W8 than I though I would be – only going by playing with it in a store though as I’d never install it on any of my computers. It’s not over though, so the real question is what’s going to happen with W8 and Surface (Pro)


  • SEMAT – Software Engineering Method and Theory has been pretty much defined by Ivar Jacobson and his merry band of Industry Legends and Corporations. It was favourably received by the OMG in December
  • ArchiMate picks up steam – for me at least before this year, it was only occasionally being used, whereas now, many organisations are using it for Enterprise and Solution Designs and then linking these to UML Technical Designs and Realisations
  • Clojure – I’ve been getting in to this and went to the London Skills Matter Clojure eXchange. Rather than a bunch of enthusiasts though, I met a bunch of enthusiasts, 1/2 of whom were working in Clojure! It seems this is probably an increase of a few hundred percent over the previous year, so something is happening. This may be part of the wider movement to “different” and sometimes functional languages.
  • Light Table – at the moment this is only a Clojure IDE, which will be expanded to handle other languages, but I’m yet to be sold on it. The demo was really cool, but the releases won’t run my code (which obviously works in other environments) and the interface feels a bit too simple at the moment. They’ve got kickstarter funding, so here’s hoping that we start seeing more features and functionality from the original demo as it could be one of the best development environments ever!


  • Raspberry Pi – how can this not be mentioned??? It’s a UK concept that is taking the world by storm and riding a wave that was started by Arduino, DreamPlug and the like. The great bit is that Raspberry Pi only opened the space, much as OLPC did for small cheap laptops. The side effects already are and I’m sure will be awesome
  • FreedomBox, first proposed by Eben Moglen is gradually getting there. Not there yet, but it will get there and hopefully redress much of the planned snooping that governments around the world have fallen in love with
  • The Maker Movement seemed to jump up a level with people even 3-D printing guns and starting to sue each other over who owns what and can sell it
  • Fibre rollout in UK seems to be really happening and I’m liking what I see. I signed up on the minimal (and slowest) plan but it’s easily enough for me at 75G : ~ 30Mbps down and ~10Mbps up (real rather than pretend bandwidth). The great bit is for an extra £10 or so I can double those rates! The best way to get decent FTTC seems to be by going through a BT Reseller such as Xilo / Uno


  • Nonviolent Communication – highlighted by Bob Marshall and created by Marshall Rosenberg, this seems to be gaining ground, along with concepts like Soft Power. This (hopeful) trend towards a kinder, gentler and more humane approach may hopefully only be the start
  • Lot’s of Noise from the Quiet People ;-) There seems to be a pick up in dialogue about introversion and quietude – all good stuff
  • The continuing Industrialisation of Agile. Agile stopped being done widely (in smaller numbers, but more effectively) ages ago. What we seem to have now is a bunch of PM’s who have done “Scrum” or “Agile” training and are operating using the same patterns – “I want that velocity increased next sprint!”

The World

That’s pretty much it. We’re off this evening to watch the London fireworks on a cruisey boozy boat on the Thames, so I hope you all have / had a great NYE.

How to Create a Mind – Review

NOTE: Not complete yet, more to come…

Firstly, I must admit I’m a bit of a Kurzweil Fan. Not in a groupie kind of way, but more in a way that I’m an optimist who believes in technology, and so is he. So as soon as I found out that he’d written a new book (which was about a day after it was released) I ordered it. Then on Monday I had and started reading… I’m not a speed reader and have no intent to even try on this book, so it will probably take me until the weekend or beyond to finish it (I also have a life that doesn’t involve computers & books ;). I therefore thought I’d to an Agile / Iterative / Incremental / Progressive review. I won’t publish every day, but every few until I’m done (and I may slow down near the end as I suspect it’s one of those books that builds up as it goes).

My plan is to go by the chapters I’ve read, then summarise / comment and probably go back over the whole thing and refactor in to a “Gold Release”.

Before we get in to my review, for a counterpoint, you may want to check out The New Yorker’s “Trendy, Dubious, Sarcastic” Review (just my opinion ;) entitled Ray Kurzweil’s Dubious New Theory of Mind. It seems to be not just me that has this opinion though as one of the Anonymous comments best sums up reasoned (to me) opinion:

This is a very poor excuse for a review. It misses so many points that it appears to be constructed for the purpose of allowing Gary Marcus to pose as a smug intellectual superior to Ray Kurzweil, and the ad hominum crap in the comment section only confirm my dismay at how thoroughly personal psychology trumps reasonable thought. Demeaning Kurzweil’s understanding may get you off, but it’s clear to this reader that this book is filled with interesting information and insights, and is a valuable contribution to the intellectual life of anyone interested in these matters.

I mean, who knows who Gary Marcus is and what has he done (other than write a seemingly vengeful review) in the bigger picture vs Ray Kurzweil?

Anyway, on to the good stuff – the review!

Chapters 1-3

As I mentioned, I’m quite familiar with Kurzweil and the history of science, so in this light I was personally a bit “disappointed” by Chapter 1 “Thought experiments on the world” and Chapter 2 “Thought experiments on thinking” as I already knew most of this and therefore skimmed quite a bit. I can understand why it’s there though as this is an “enthusiastic layperson” book and he has to give some background. For me, Chapter 3 “A model of the neorcortex: The pattern recognition theory of the mind” is where the book really starts – it’s a great introduction to Kurzweil’s theories and obviously a basis for the whole book that will be expanded on. It talks about his theory that the brain operates as a hierarchy of pattern recognisers with some illustrations. Part of this theory is that the brain works in one-dimensional lists – what a mind blower, as this is the basis for Lisp which was invented by John McCarthy. There is much reference to his earlier work, such as the “Book reading machine for the blind” and the “Kurzweil Synthesiser” (which I’d buy if I was loaded) that shows this is the track he’s been on all along and is finally realising it…

Chapters 4-6

Now we start to get down and dirty and gooey as Kurzweil starts off in Chapter 4 covering “The Biological Neocortex”. This was really interesting to me as my knowledge of the brain and it’s various areas is quite basic. He also refers to the recent NIH study of the brain and had the same thought as me – it looks like a crossbar switch! Are we inherently creating brains in our technology? The next Chapter 5 covers “The Old Brain” where Kurzweil contends the Neocortex has taken over much or at least severely enhanced many Old Brain functions. Hormones are given pretty short shrift though – maybe Richard Berglund, author of Fabric of the Mind may disagree. Only time and experimentation will tell. This is all pretty much wrapped up in Chapter 6 “Transcendent Abilities” which covers Love and Aptitude that touches on nature vs nurture but kind of neatly sidesteps the whole issue.

Chapters 7-8

Having set the biological background in the previous chapters, Kurzweil now moves on to the question of “how do we build one of these brain thingies”, starting with Chapter 7 “The Biologically Inspired Digital Neurocortex” which starts off talking about brain simulations, gives us some more background on his original research and outlines Vector Quantisation that is a technique that provides a compressed way to capture learning. He also outlines Hidden Markov Models which seem to have a similarity to the brains functions. There’s also mention of LISP, which also works in 1-D lists – coincidence or reflection of our structure? After all that theory, there’s a nice general discussion about out current efforts in machine intelligence, such as Watson which leads nicely in to Chapter 8 “The Mind as Computer” that gives a compressed history of the original development of computers. My only criticism is that like most Americans he overlooks Turing in preference to von Neumann with regards to implementing a fundamental computer architecture. There is one thing I didn’t know here, which is that von Neumann wrote near the end of his life about neural processing and even tried to estimate the amount of computing needed – these estimates still hold today!