<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-13066802</id><updated>2010-07-08T13:41:30.096+02:00</updated><title type='text'>The Goo Blog</title><subtitle type='html'>Sticking together the ideas behind "The Goo"</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.thegoo.org/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default?start-index=26&amp;max-results=25'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>117</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13066802.post-6422590866952245765</id><published>2010-03-02T12:06:00.004+02:00</published><updated>2010-03-08T11:28:49.746+02:00</updated><title type='text'>Glob Design</title><content type='html'>I've spent quite a while designing &lt;a href="http://blog.thegoo.org/2008/10/perceptron-goo-blob-glob.html"&gt;Globs&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Design is really about distilling the essential form and function to solve a problem space. Once the problem space is known - sometimes the design just pops out. After a lot of effort, thankfully, the design for Globs is starting to squeeze out.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;During the design phase I've constantly moved up and down the following axis:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;big vs small&lt;/li&gt;&lt;li&gt;fast vs slow&lt;/li&gt;&lt;li&gt;consistent vs eventually consistent &lt;/li&gt;&lt;li&gt;complexity vs simplicity&lt;/li&gt;&lt;li&gt;private vs public&lt;/li&gt;&lt;li&gt;flow vs interruption&lt;/li&gt;&lt;li&gt;creation vs copying&lt;/li&gt;&lt;li&gt;usability vs utility&lt;/li&gt;&lt;li&gt;XML vs JSON vs RPC vs HTML5&lt;/li&gt;&lt;li&gt;universal vs limited&lt;/li&gt;&lt;li&gt;and many more ....&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;I'm still moving the sliders on each of these dimensions - but here is what I know so far:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;a Glob is a handle on a Thing - it is not the Thing itself - it  just sticks to it&lt;/li&gt;&lt;li&gt;a Glob belongs to a Channel&lt;/li&gt;&lt;li&gt;a Glob has a URI in that Channel&lt;/li&gt;&lt;li&gt;a Glob is idempotent (we need this for calculating Karma++)&lt;/li&gt;&lt;li&gt;each Glob has an external SHA1 and an internal SHA1&lt;/li&gt;&lt;li&gt;a Glob has a summary, favicon, text icon, origin context, captured_on_time and given_to etc.&lt;/li&gt;&lt;li&gt;a Glob has a HTML5 Description/Payload&lt;/li&gt;&lt;li&gt;a Description contains actions on the underlying Thing&lt;/li&gt;&lt;li&gt;Channel, Context and Configuration variables can be inserted into Glob placeholders&lt;/li&gt;&lt;li&gt;Globs can be HTTP POSTed into the Trail of a Channel via a Sensor&lt;/li&gt;&lt;li&gt;Globs can arrive in the Trail in absolute time or relative time (including the future)&lt;/li&gt;&lt;li&gt;A Glob can be proxied from one Channel to another Channel&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Along the way here are some ideas that were ruled out:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;using Git as the Glob store&lt;/li&gt;&lt;li&gt;a Glob does not contain code itself (although it can anchor some code)&lt;/li&gt;&lt;li&gt;a Glob-specific templating language&lt;/li&gt;&lt;li&gt;tying Globs to a specific programming language or web framework&lt;/li&gt;&lt;li&gt;storing Globs in XML, JSON or YAML etc&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;So there you have it: each Channel contains a Trail of Globs which the user can traverse from the past into the future while performing actions via the Globs stuck to the underlying Things. The speed of action, while scoring karma points, with directed focus will hopefully lead the user to a &lt;a href="http://blog.thegoo.org/2007/06/working-with-flow.html"&gt;state of flow&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-6422590866952245765?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/6422590866952245765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=6422590866952245765' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6422590866952245765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6422590866952245765'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2010/03/glob-design.html' title='Glob Design'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-8581575345370727992</id><published>2010-01-06T19:24:00.008+02:00</published><updated>2010-02-18T10:30:00.647+02:00</updated><title type='text'>The Goo - still alive and kicking</title><content type='html'>&lt;div&gt;I've spent quite a lot of time catching trains in 2009 and as a result I've had lots of time to plan the design, implementation and evolution of The Goo.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since I started this blog there has been some convergence on what I have in mind. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The following software contains elements of what I'm planning:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Google Wave&lt;/li&gt;&lt;li&gt;Git&lt;/li&gt;&lt;li&gt;Facebook activity feed&lt;/li&gt;&lt;li&gt;Atom&lt;/li&gt;&lt;li&gt;Plagger&lt;/li&gt;&lt;li&gt;Plack&lt;/li&gt;&lt;li&gt;Perl6&lt;/li&gt;&lt;li&gt;PubSubHubbub&lt;br /&gt;&lt;/li&gt;&lt;li&gt;AnyEvent&lt;/li&gt;&lt;li&gt;Remember the Milk / ToDo systems in general&lt;/li&gt;&lt;li&gt;Starcraft&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Can you guess which bits?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fortunately what I have in mind is much less complicated than all of these systems.  Ideally it needs to be programming language agnostic and so a spec or RFC is in order - followed quickly by a prototype in Perl. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hopefully the prototype will get some way to helping users find 'flow'. Stay tuned in 2010.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-8581575345370727992?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/8581575345370727992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=8581575345370727992' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8581575345370727992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8581575345370727992'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2010/01/goo-still-alive-and-kicking.html' title='The Goo - still alive and kicking'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-7333685230006932282</id><published>2008-10-05T18:56:00.004+02:00</published><updated>2008-10-05T19:31:18.297+02:00</updated><title type='text'>Perceptron = Goo + Blob = Glob</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/green-blob-722439.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 217px; height: 144px;" src="http://blog.thegoo.org/uploaded_images/green-blob-722424.jpg" alt="" border="0" /&gt;&lt;/a&gt;I'm working with Audrey Tang (of Pugs and Perl6 fame) on cleaning up the design of The Goo. One problem we identified is funky terminology which can act as a barrier to new developers.&lt;br /&gt;&lt;br /&gt;So today during a design discussion with Audrey I decided to say goodbye to the term '&lt;a href="http://blog.thegoo.org/2007/02/actitrons-perceptrons-ying-yang.html"&gt;perceptron&lt;/a&gt;' for the more descriptive term 'blob' - but perceptrons are slightly more complicated than blobs - so Audrey suggested 'glob' as in Goo + Blob = &lt;span style="font-weight: bold;"&gt;Glob&lt;/span&gt;. In Perl parlance a glob is a generic handle on a thing - which fits what I'm trying to model. What's more:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Glob&lt;/span&gt;: 1. a drop or globule of liquid. 2. a usually rounded quantity or lump of some plastic or moldable substance&lt;/blockquote&gt;So that decided it. A Perceptron is now known as a &lt;span style="font-weight: bold;"&gt;Glob&lt;/span&gt;™.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-7333685230006932282?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/7333685230006932282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=7333685230006932282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7333685230006932282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7333685230006932282'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2008/10/perceptron-goo-blob-glob.html' title='Perceptron = Goo + Blob = Glob'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-8280622534244939986</id><published>2008-05-16T14:57:00.005+02:00</published><updated>2008-09-19T17:35:31.240+02:00</updated><title type='text'>Gedit - The Goo's Editor</title><content type='html'>I've finally found a text editor that does syntax highlighting, word completion and starts quickly.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gnome.org/projects/gedit/"&gt;Gedit&lt;/a&gt; with the help of the &lt;a href="http://users.tkk.fi/%7Eotsaloma/gedit/"&gt;word completion plugin&lt;/a&gt; does &lt;a href="http://blog.thegoo.org/2006/07/completing-completer.html"&gt;what I'm looking for&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-8280622534244939986?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/8280622534244939986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=8280622534244939986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8280622534244939986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8280622534244939986'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2008/05/gedit-goos-editor.html' title='Gedit - The Goo&apos;s Editor'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-6109337187121696660</id><published>2008-02-26T14:42:00.002+02:00</published><updated>2008-02-26T14:57:36.513+02:00</updated><title type='text'>1 Medal = 500 Karma++</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/medal-727474.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 171px; height: 171px;" src="http://blog.thegoo.org/uploaded_images/medal-727465.jpg" alt="" border="0" /&gt;&lt;/a&gt;After every 500 points of &lt;a href="http://blog.thegoo.org/2007/08/group-karma_19.html"&gt;karma++&lt;/a&gt; you now receive a medal!&lt;br /&gt;&lt;br /&gt;I scored my first medal a couple of weeks ago. Now it's really starting to feel like playing a game - which is all part of the plan.&lt;br /&gt;&lt;br /&gt;I'm feeling progress being made --- which is one of the &lt;a href="http://blog.thegoo.org/2007/06/working-with-flow.html"&gt;preconditions to feeling "flow"&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-6109337187121696660?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/6109337187121696660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=6109337187121696660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6109337187121696660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6109337187121696660'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2008/02/1-medal-500-karma.html' title='1 Medal = 500 Karma++'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-1930073142594104255</id><published>2008-01-03T16:12:00.000+02:00</published><updated>2008-01-03T18:40:38.878+02:00</updated><title type='text'>Sensations Snookered? - The Careenium to the Rescue</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/snooker-738576.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/snooker-738571.jpg" alt="" border="0" /&gt;&lt;/a&gt;So I'm modelling conscious thoughts with 'perceptrons' and lower level thoughts with 'sensations' - which are fired automatically by 'receptors'. But at what point do sensations fire a perceptron?&lt;br /&gt;&lt;br /&gt;If you touch something &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;hot&lt;/span&gt; the sensation quickly gets upgraded to a perceptron - &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Ouch!&lt;/span&gt; Some receptors have a deservedly high priority - but what about more subtle sensations that need to coagulate and mingle before finally firing? - hmmm .... tricky.&lt;br /&gt;&lt;br /&gt;Douglas Hofstadter conjures an amazing metaphor in his book, "I am a Strange Loop" to describe this process. He likens the human brain to a frictionless snooker table where tiny balls, called sims (small interacting marbles) constantly career into each other. Some sims bounce off each other, while others may stick together and form larger 'simmballs'. He suggests that consciousess emerges from the simms amd simmballs crashing around what he coins the '&lt;span style="font-weight: bold;"&gt;careenium&lt;/span&gt;'.&lt;br /&gt;&lt;br /&gt;I like the idea! So does The Goo need a careenium? Well currently I'm programming a 'See' Sensation to find filenames in emails, comments, web pages etc. Take this for example: &lt;span style="font-weight: bold;"&gt;Login.pm&lt;/span&gt;. Most of you will recognise this as a filename. The "&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;" visual sensation, the mixed case, and the filename suffix (&lt;span style="font-weight: bold;"&gt;.pm&lt;/span&gt;) all combine to give this impression. But is that enough to fire a perceptron? Are there enough simms (i.e., sensations) for a simmball?&lt;br /&gt;&lt;br /&gt;If you're a Perl programmer you will "see" a Perl module thanks to the "&lt;span style="font-weight: bold;"&gt;.pm&lt;/span&gt;" suffix and your mental model of what it is to be a Perl module. But this still may not be enough for a perceptron to fire. If &lt;span style="font-weight: bold;"&gt;Login.pm&lt;/span&gt; appears in an email from your boss, however, he may be referring to the &lt;span style="font-weight: bold;"&gt;Login.pm&lt;/span&gt; module that &lt;span style="font-style: italic;"&gt;you&lt;/span&gt; wrote and suddenly there is a mental collision between your environment - the display of &lt;span style="font-weight: bold;"&gt;Login.pm&lt;/span&gt; in pixels on your screen and your internal simmball for &lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;Login.pm&lt;/span&gt;. Pop! And a perceptron is born -&gt; &lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;Login.pm&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The firing process, in this example, is a combination of your current context, your memory (the trail) and the sensory forces in your environment (communicated via receptors). There's lots to do so back to implementing but for version one I'll settle for a very simplistic &lt;span&gt;careenium&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-1930073142594104255?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/1930073142594104255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=1930073142594104255' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/1930073142594104255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/1930073142594104255'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2008/01/sensations-snookered-careenium-to.html' title='Sensations Snookered? - The Careenium to the Rescue'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-2027138074235597265</id><published>2007-11-30T08:02:00.001+02:00</published><updated>2007-11-30T08:31:07.603+02:00</updated><title type='text'>Sensations need Receptors</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/receptor-773760.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/receptor-773758.jpg" alt="" border="0" /&gt;&lt;/a&gt;I've  decided I need to model "sensations" as well as "perceptrons" but the problem now is what picks up a sensation? Here again psychology offers some helpful terminology: &lt;span style="font-weight: bold;"&gt;receptor&lt;/span&gt;. Just like the receptors in the back of your retina - some sensors fire automatically in response to a stimulus.  These low level sensors are important for classifying low level sensations (e.g., &lt;span style="color: rgb(255, 0, 0);"&gt;___ &lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;So practically speaking, in The Goo a Receptor generates Sensations which in combination with other Sensations may be picked up by a Sensor that may in turn "fire" a  Perceptron (e.g., I see a red line).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-2027138074235597265?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/2027138074235597265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=2027138074235597265' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2027138074235597265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2027138074235597265'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/11/sensations-need-receptors.html' title='Sensations need Receptors'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-4340664015288830698</id><published>2007-11-19T13:44:00.001+02:00</published><updated>2007-11-19T14:40:47.327+02:00</updated><title type='text'>Snipping The Gordian Knot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/knot-715700.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/knot-714677.jpg" alt="" border="0" /&gt;&lt;/a&gt;I recently painted myself into a corner with the design rule "everything must be a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;perceptron&lt;/span&gt;". The problem is that just like with human perception, events need to bubble up from their source until they reach a threshold and "fire". A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;perceptron&lt;/span&gt; is a perceptual event that has fired - but how do I model the preconditions for a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;perceptron&lt;/span&gt; to fire? I need something smaller than a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;perceptron&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Borrowing from psychology again:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Sensation&lt;/span&gt; is the first stage in the biochemical and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;neurologic&lt;/span&gt; events that begins with the impinging upon the receptor cells of a sensory organ, which then leads to a perception.&lt;/blockquote&gt;Sensational!&lt;br /&gt;&lt;br /&gt;So instead of tying the design in knots trying to model &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;perceptrons&lt;/span&gt; with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;perceptrons&lt;/span&gt; I've snipped the proverbial &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Gordian&lt;/span&gt; Knot and now lesser perceptual events are simply &lt;span style="font-weight: bold;"&gt;sensations &lt;/span&gt;that can chain &lt;span style="font-weight: bold;"&gt;sensors&lt;/span&gt; together to make a &lt;span style="font-weight: bold;" class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;perceptron&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-4340664015288830698?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/4340664015288830698/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=4340664015288830698' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/4340664015288830698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/4340664015288830698'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/11/snipping-gordian-knot.html' title='Snipping The Gordian Knot'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-8734075127825766966</id><published>2007-10-09T09:58:00.000+02:00</published><updated>2007-10-09T10:38:14.008+02:00</updated><title type='text'>Do, Delegate, Defer + Divide = Smoother Workflow?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/russian-dolls-782117.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/russian-dolls-782113.jpg" alt="" border="0" /&gt;&lt;/a&gt;The todo subsystem is at the heart of &lt;a href="http://thegoo.org/"&gt;The Goo&lt;/a&gt;. One of our ex-employees recently wrote:&lt;br /&gt;&lt;blockquote&gt;"The job is great however I thought being involved in such a large organization there would be better procedures/communication in place! I miss the goo - esp the tutorials. You guys are certainly on the right track there."&lt;br /&gt;&lt;/blockquote&gt;But there's more to come! After my &lt;a href="http://blog.thegoo.org/2007/09/goo-powered-by-perl.html"&gt;YAPC::EU presentation&lt;/a&gt;, Farley Balasuriya gave me some great feedback and said he'd recently seen similar ideas in 'Getting Things Done' by David Allen. I've since read the book and Allen makes some important suggestions - if the task takes less than 2 minutes &lt;span style="font-weight: bold;"&gt;Do It&lt;/span&gt; now - otherwise &lt;span style="font-weight: bold;"&gt;Delegate&lt;/span&gt; it to someone else or &lt;span style="font-weight: bold;"&gt;Defer&lt;/span&gt; it.&lt;br /&gt;&lt;br /&gt;So in the pursuit of &lt;a href="http://blog.thegoo.org/2007/06/atomic-todos.html"&gt;atomic todos&lt;/a&gt; I would add one more &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt; - &lt;span style="font-weight: bold;"&gt;Divide It &lt;/span&gt;up. If the task is too big it can be a &lt;a href="http://blog.thegoo.org/2007/06/working-with-flow.html"&gt;flow&lt;/a&gt;-stopper so it should be divided into smaller todos.  I'm currently designing how todos will appear on your mental horizon - and the fours Ds will help you to wade through them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-8734075127825766966?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/8734075127825766966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=8734075127825766966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8734075127825766966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8734075127825766966'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/10/do-delegate-defer-divide-smoother.html' title='Do, Delegate, Defer + Divide = Smoother Workflow?'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-6392883358068938995</id><published>2007-10-05T12:48:00.000+02:00</published><updated>2007-10-05T12:56:39.552+02:00</updated><title type='text'>giz - sticky editing</title><content type='html'>I'm going to release a small part of &lt;a href="http://thegoo.org"&gt;The Goo&lt;/a&gt; to &lt;a href="http://search.cpan.org"&gt;CPAN&lt;/a&gt; before the &lt;a href="http://conferences.yapceurope.org/lpw2007"&gt;London Perl Workshop&lt;/a&gt; in December.&lt;br /&gt;&lt;br /&gt;giz is an $EDITOR wrapper that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;works with your existing editor (e.g., vi, emacs, nano, pico, kwrite etc)&lt;/li&gt;&lt;li&gt;helps remember where your files are located - so you can afford to forget&lt;/li&gt;&lt;li&gt;injects a special comment into your Perl code to help with keyword completion&lt;/li&gt;&lt;li&gt;can be called from a url (giz://filename=your_filename)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-6392883358068938995?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/6392883358068938995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=6392883358068938995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6392883358068938995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6392883358068938995'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/10/giz-sticky-editing.html' title='giz - sticky editing'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-3065070348928153194</id><published>2007-09-08T08:32:00.000+02:00</published><updated>2007-09-08T08:35:33.194+02:00</updated><title type='text'>The Goo powered by Perl</title><content type='html'>I recently presented about how The Goo is powered by Perl at the YAPC::EU Conference in Vienna. Here are the slides:&lt;br /&gt;&lt;br /&gt;&lt;object type="application/x-shockwave-flash" data="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=105410&amp;doc=yapceu-2007-nigel-hamilton1676" width="425" height="348"&gt;&lt;param name="movie" value="http://s3.amazonaws.com/slideshare/ssplayer.swf?id=105410&amp;doc=yapceu-2007-nigel-hamilton1676" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Thanks to those who were there for the feedback and encouragement.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-3065070348928153194?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/3065070348928153194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=3065070348928153194' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3065070348928153194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3065070348928153194'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/09/goo-powered-by-perl.html' title='The Goo powered by Perl'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-5560853664902862354</id><published>2007-08-19T07:31:00.001+02:00</published><updated>2007-08-19T09:40:12.205+02:00</updated><title type='text'>Group Karma++</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/karma-757497.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/karma-757492.jpg" alt="" border="0" /&gt;&lt;/a&gt;It's a great feeling being in a &lt;a href="http://blog.thegoo.org/2007/03/perceptrons-feel-flow.html"&gt;state of flow&lt;/a&gt;. Sometimes you can get into a state of flow with a group of people, a kind of 'group flow'. This is where the team is working well and everyone is excitedly making progress while the technology is supporting their communication and ability to stay productive. I've been watching developments in the &lt;a href="http://pugscode.org/"&gt;Perl6 Pugs project&lt;/a&gt; and the &lt;a href="http://moritz.faui2k3.org/irclog/out.pl?channel=perl6;date=2007-08-18"&gt;IRC log&lt;/a&gt; shows moments when the group hit productivity gold and achieved &lt;span style="font-style: italic;"&gt;group flow&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;One of the &lt;a href="http://blog.thegoo.org/2007/06/working-with-flow.html"&gt;preconditions for flow&lt;/a&gt; is feeling progress being made. In the Perl6 pugs IRC log this is achieved by giving each other karma++. As you make commits to the pugs project you get a small pat on the back in the form of another point of karma++ - the more contributions you make the more karma++ you collect. You can see progress being made as the karma++ points tally up in the log.&lt;br /&gt;&lt;br /&gt;I've been designing the scoring system for The Goo and I think karma++ is a really important part of feeling progress being made. But to help achieve flow we also need small mentally manageable tasks - &lt;a href="http://blog.thegoo.org/2007/06/atomic-todos.html"&gt;atomic todos&lt;/a&gt;. So to help the system converge at smaller task sizes a user receives karma++ when they create a task - this should motivate them to create todos, and they receive karma++ when they complete a task too. When you view a person's context you see what channels they are tuned into and how much karma++ they have.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-5560853664902862354?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/5560853664902862354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=5560853664902862354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/5560853664902862354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/5560853664902862354'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/08/group-karma_19.html' title='Group Karma++'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-7960108916116843397</id><published>2007-08-10T10:36:00.000+02:00</published><updated>2007-08-10T11:29:38.813+02:00</updated><title type='text'>Sensors vs Censors</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/images-798325.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/images-798319.jpg" alt="" border="0" /&gt;&lt;/a&gt;I'm reading Marvin Minsky's, "The Emotion Machine" and he makes a strong case for the role of "censors" in expert cognition.&lt;br /&gt;&lt;br /&gt;Experts can arrive at the correct answer quicker. But how? Minsky suggests it's because the expert brain blocks unhelpful information and is not slowed down by useless processing. He refers to these automatic blocking agents as "censors". Censors, he suggests,  free the expert brain to think about the important stuff. An expert learns from the mistakes of the past and censors help to avoid them in the future.&lt;br /&gt;&lt;br /&gt;So far The Goo has been sucking in perceptrons via positive "sensors" but there is also a role for "censors" too. Spamassassin, for example, does a great job of filtering emails before they become email  perceptrons. Spamassassin acts as a blocking censor.&lt;br /&gt;&lt;br /&gt;But actively blocking events before they become perceptrons solves only part of the problem. There are still too many perceptrons coming in to stay in a state of "flow". They need to be channelled in light of your current mental context to prevent needless &lt;a href="http://blog.thegoo.org/2005/07/context-switching.html"&gt;context switching&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So channelling perceptrons is the next step ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-7960108916116843397?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/7960108916116843397/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=7960108916116843397' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7960108916116843397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7960108916116843397'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/08/sensors-vs-censors.html' title='Sensors vs Censors'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-3550070644688698048</id><published>2007-06-21T13:42:00.000+02:00</published><updated>2007-06-26T10:39:31.431+02:00</updated><title type='text'>Atomic ToDos</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/atomic-clock-712562.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/atomic-clock-712560.jpg" alt="" border="0" /&gt;&lt;/a&gt;I'm having fun designing how to make the ToDo part of &lt;a href="http://thegoo.org/"&gt;The Goo&lt;/a&gt; flow.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.thegoo.org/2007/06/working-with-flow.html"&gt;Flow&lt;/a&gt; happens when you can &lt;a href="http://blog.thegoo.org/2005/07/context-switching.html"&gt;context switch&lt;/a&gt; smoothly in the face of a wave of challenging incoming tasks. The Goo needs to make it easy for users to resolve a task quickly, reward them in some way and move onto the next one. But there is a fine line between being challenged and overpowered by a task. Some tasks, for example, stop us in our tracks because the &lt;a href="http://blog.thegoo.org/2006/04/tackling-set-up-time.html"&gt;set up time&lt;/a&gt; is too expensive.&lt;br /&gt;&lt;br /&gt;A ToDo task that is too unwieldy will break the state of flow. You might get stressed even thinking about where to start on a task. Stress is the flow killer!&lt;br /&gt;&lt;br /&gt;Generally at &lt;a href="http://trexy.com/"&gt;Trexy&lt;/a&gt; and &lt;a href="http://turbo10.com/"&gt;Turbo10&lt;/a&gt; we try to break all our projects down into mentally manageable ToDos - which means we minimise stress while still making headway. No ToDo is too small and we actively avoid "projects" and "deadlines".&lt;br /&gt;&lt;br /&gt;The trick is to break down a complex project into atomic ToDos --- indivisible, non-blocking, time slices of attention that get the job done.&lt;br /&gt;&lt;br /&gt;Hmmm. How can I force the system to converge at atomic ToDos?&lt;br /&gt;&lt;br /&gt;One way is to set a time limit per ToDo. How about a 'billable unit' to borrow a solicitor's term? Let's say five minutes.&lt;br /&gt;&lt;br /&gt;Now some tasks will take less than five minutes (e.g., increase font size of heading to 20px) while others may take longer (e.g., write blog entry) but the time limit will generally encourage a smaller task size.&lt;br /&gt;&lt;br /&gt;It also means that a user could acquire extra time over the course of the day if they 'beat the clock'. This helps to 'keep score' which is an important part of maintaining flow in computer games. User's should be rewarded in some way for beating the clock.&lt;br /&gt;&lt;br /&gt;OK. So this is the next step for The Goo's ToDo management - atomic, 5 minute ToDos - and a cumulative scoring system based on time. Let's see if this helps find the elusive flow ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-3550070644688698048?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/3550070644688698048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=3550070644688698048' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3550070644688698048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3550070644688698048'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/06/atomic-todos.html' title='Atomic ToDos'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-5656337954620025222</id><published>2007-06-20T22:01:00.000+02:00</published><updated>2007-06-20T22:51:19.627+02:00</updated><title type='text'>Working with "Flow"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/flow-782785.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/flow-782782.jpg" alt="" border="0" /&gt;&lt;/a&gt;Game designers know implicitly that "flow" is the mental state they want their players to be in: happy, productive and engrossed in their game.&lt;br /&gt;&lt;br /&gt;Wouldn't it be good if Microsoft Office could achieve the same effect?&lt;br /&gt;&lt;br /&gt;Well my virus-ridden XP machine is currently showing the blue screen of death - so for me this is an entirely rhetorical question - but I hope you get my gist. If I can get into a state of flow while playing Tetris why doesn't office software try and do the same?&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thegoo.org"&gt;The Goo&lt;/a&gt; is some of the way there but to be honest it can't reliably get me into a &lt;a href="http://blog.thegoo.org/2007/03/perceptrons-feel-flow.html"&gt;state of flow&lt;/a&gt;. What can The Goo learn from game design? Here are some features of flow mentioned in a presentation by Daniel Johnson from the University of Queensland:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Tasks that offer a chance of completion&lt;/li&gt;&lt;li&gt;Tasks that facilitate concentration&lt;/li&gt;&lt;li&gt;The task has clear goals&lt;/li&gt;&lt;li&gt;The task provides immediate feedback (the need for a score or energy bar)&lt;/li&gt;&lt;li&gt;The task leads to deep but effortless involvement (removes awareness of everyday life)&lt;/li&gt;&lt;li&gt;A task that facilitates a sense of control over one's actions&lt;/li&gt;&lt;li&gt;Concern for the self disappears during the task, yet paradoxically the sense of self emerges as stronger when the flow task is completed&lt;/li&gt;&lt;li&gt;The sense of duration of time is altered&lt;/li&gt;&lt;/ul&gt; OK. In light of this it's time for the &lt;a href="http://blog.thegoo.org/2007/03/new-interface-balancing-perceptrons-and.html"&gt;rudimentary user interface&lt;/a&gt; to go through &lt;a href="http://blog.thegoo.org/2005/12/darwinian-software-development.html"&gt;another evolution&lt;/a&gt; ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-5656337954620025222?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/5656337954620025222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=5656337954620025222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/5656337954620025222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/5656337954620025222'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/06/working-with-flow.html' title='Working with &quot;Flow&quot;'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-3795703392698672921</id><published>2007-06-12T18:33:00.000+02:00</published><updated>2007-06-12T19:08:59.348+02:00</updated><title type='text'>Bashing away at The Goo</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/bash-shell-793945.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/bash-shell-793943.png" alt="" border="0" /&gt;&lt;/a&gt;A goal of The Goo is to help stick Things together and for a long time I've been wanting to add all my shell commands into The Goo. Thanks to some quick help from &lt;a href="http://london.pm.org"&gt;London.pm&lt;/a&gt; I can now capture all my bash shell history with the following ~/.bashrc setting:&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;export PROMPT_COMMAND='history 1 | /home/search/goo/lib/Goo/Sensor/ShellHistory.pm'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This inserts a perceptron into the database  each time a command is executed and any 'things' in the argument list are automatically marked up. It also means the context is preserved between web based actions and shell actions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-3795703392698672921?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/3795703392698672921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=3795703392698672921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3795703392698672921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/3795703392698672921'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/06/bashing-away-at-goo.html' title='Bashing away at The Goo'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-6340980886057021351</id><published>2007-05-19T22:20:00.000+02:00</published><updated>2007-05-20T07:57:33.369+02:00</updated><title type='text'>Too Many Perceptrons?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/hands-723777.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/hands-723773.png" alt="" border="0" /&gt;&lt;/a&gt;In the last month over 70,000 perceptrons have flowed into The Goo.&lt;br /&gt;&lt;br /&gt;I know that sounds like a lot but it doesn't feel too bad. It's not like your email inbox is suddenly inundated with 70,000 messages. The perceptrons are spread more or less evenly through time, and they kind of wash over you, for want of a better description.&lt;br /&gt;&lt;br /&gt;Seeing wave after wave of perceptrons makes you feel slightly out of control but in a good way. All the perceptrons are flying in but once they go past it's reassuring to know they are frozen in the trail. Like events in a computer game some things can just fly by whilst others require special attention. The trail acts like a mental crutch collecting all the perceptrons.&lt;br /&gt;&lt;br /&gt;Meanwhile, between waves of perceptrons,  I've been bringing my cognitive science knowledge back up to date. Things have moved on since I studied 'cog sci' at the University of Queensland in the early 90's and I've really enjoyed reading Doug Hofstadter's, "I am a Strange Loop".&lt;br /&gt;&lt;br /&gt;I'm halfway through the book and can't find too much I disagree with so far. If indeed our consciousness is, as Hofstadter suggests, a kind of "strange loop" then as a computer scientist it's very tempting to think of ways to optimise the loop!&lt;br /&gt;&lt;br /&gt;All in all I still feel like I'm on the right trail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-6340980886057021351?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/6340980886057021351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=6340980886057021351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6340980886057021351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/6340980886057021351'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/05/too-many-perceptrons.html' title='Too Many Perceptrons?'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-2001510334538670578</id><published>2007-03-15T07:41:00.000+02:00</published><updated>2007-05-17T18:19:47.059+02:00</updated><title type='text'>Split Screen - Prior Art</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/memex-775231.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://blog.thegoo.org/uploaded_images/memex-775227.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Just found some prior art for a split screen - Vannevar Bush's Memex, 1945. I must be on the right &lt;a href="http://thegoo.org/trail.html"&gt;trail&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-2001510334538670578?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/2001510334538670578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=2001510334538670578' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2001510334538670578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2001510334538670578'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/03/split-screen-prior-art.html' title='Split Screen - Prior Art'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-7593303900744527148</id><published>2007-03-14T09:49:00.000+02:00</published><updated>2007-05-17T18:27:57.212+02:00</updated><title type='text'>New Interface - Balancing Perceptrons and Actitrons</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/my-memex-722369.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://blog.thegoo.org/uploaded_images/my-memex-722356.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is a  screenshot of the really rudimentary interface that handles "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;perceptrons&lt;/span&gt;" (on the left) and "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;actitrons&lt;/span&gt;" (on the right). This tries to retain the 50/50, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Ying&lt;/span&gt;/Yang, relationship between what you see and what you do when you're in a state of flow. The interface works with console based &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;browsers&lt;/span&gt; and graphical browsers.&lt;br /&gt;&lt;br /&gt;There is much more to be done on the interface but the essential 50/50 nature of the interplay between &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;perceptrons&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;actitrons&lt;/span&gt; will hopefully get the user into a state of "flow" quicker.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-7593303900744527148?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/7593303900744527148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=7593303900744527148' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7593303900744527148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/7593303900744527148'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/03/new-interface-balancing-perceptrons-and.html' title='New Interface - Balancing Perceptrons and Actitrons'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-607127706885910810</id><published>2007-03-01T12:55:00.000+02:00</published><updated>2007-03-01T13:31:17.339+02:00</updated><title type='text'>Perceptrons - Feel the Flow</title><content type='html'>Email &lt;a href="http://blog.thegoo.org/2007/02/actitrons-perceptrons-ying-yang.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;perceptrons&lt;/span&gt;&lt;/a&gt; are raining into The Goo. Great!&lt;br /&gt;&lt;br /&gt;But this is only part of the problem solved. What about &lt;a href="http://blog.thegoo.org/2005/07/context-switching.html"&gt;context switching&lt;/a&gt; and &lt;a href="http://blog.thegoo.org/2005/06/saving-mental-bandwidth.html"&gt;preventing buffer blowout&lt;/a&gt;?&lt;br /&gt;&lt;br /&gt;I can only help improve context switching if The Goo is aware of the context I'm in. Added to this the context itself must be mentally manageable. Ideally I only want 7+/-2 things to juggle at a time.&lt;br /&gt;&lt;br /&gt;Have you ever lost track of time in an "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;immersive&lt;/span&gt;" computer game? Computer game designers want you to feel "flow" as you context switch smoothly around the game. It's not a bad state to be in: your brain is working well, you're feeling good and you're getting stuff done. It feels smooth. It would be great if The Goo could help me get into, and stay in, a state of "flow".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/perceptron-actitron-model-724977.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/perceptron-actitron-model-723729.png" alt="" border="0" /&gt;&lt;/a&gt;The next phase is to capture the context I'm in by taking a snapshot of the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;perceptrons&lt;/span&gt; and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;actitrons&lt;/span&gt; in my buffer. See the thin green lines on top of the stick figure above. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;perceptrons&lt;/span&gt; that get through will be appended to the "tail" of the trail as time goes on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-607127706885910810?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/607127706885910810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=607127706885910810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/607127706885910810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/607127706885910810'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/03/perceptrons-feel-flow.html' title='Perceptrons - Feel the Flow'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-266956330550965421</id><published>2007-02-20T12:58:00.000+02:00</published><updated>2007-02-20T13:32:10.705+02:00</updated><title type='text'>First Sensor - Goo::Sensor::MailFolder</title><content type='html'>I'm spending two hours a day implementing the next part of The Goo: perceptrons and actitrons.&lt;br /&gt;&lt;br /&gt;I've decided on the layout of the interface and remarkably it works in the "links" console-based browser - no AJAX here!&lt;br /&gt;&lt;br /&gt;Today I wrote my first "sensor" that captures perceptrons from email folders. Implementation options included:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;scraping user email in webmin&lt;/li&gt;&lt;li&gt;fetchmail handler&lt;/li&gt;&lt;li&gt;.procmail forwarding&lt;/li&gt;&lt;/ul&gt;But each of these introduce another prerequisite and configuration complexity. CPAN came to the rescue with two handy modules: &lt;a href="http://search.cpan.org/%7Emarkov/Mail-Box-2.069/lib/Mail/Box.pod"&gt;Mail::Box&lt;/a&gt; and &lt;a href="http://search.cpan.org/%7Eroland/Schedule-Cron-0.97/Cron.pm"&gt;Schedule::Cron&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Currently a sensor POSTS perceptrons to a Goo::Server where they are recorded in a database. Each Goo::Sensor has a scan() method for searching its environment.&lt;br /&gt;&lt;br /&gt;The next sensors to come are: tasks, chat and RSS...&lt;br /&gt;&lt;br /&gt;I'll post a screen shot soon!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-266956330550965421?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/266956330550965421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=266956330550965421' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/266956330550965421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/266956330550965421'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/02/first-sensor-goosensormailfolder.html' title='First Sensor - Goo::Sensor::MailFolder'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-2247712650291510682</id><published>2007-02-12T07:33:00.000+02:00</published><updated>2007-02-12T08:20:33.073+02:00</updated><title type='text'>Modelling Perceptrons and Actirons</title><content type='html'>I use a hybrid database modelling methodology of &lt;a href="http://en.wikipedia.org/wiki/NIAM"&gt;ORM&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Entity-relationship_model"&gt;E-R&lt;/a&gt; and over the weekend I started to model what a Perceptron and an Actitron is and how they relate to the &lt;a href="http://thegoo.org/trail.html"&gt;Trail&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here are some of the points that came out of it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A "perceptron" is a unit of perception that is picked up by a "sensor".&lt;/li&gt;&lt;li&gt;A sensor is a software device for capturing perceptrons.&lt;/li&gt;&lt;li&gt;The sensor must send &lt;span style="font-weight: bold;"&gt;where&lt;/span&gt; the perceptron was captured, &lt;span style="font-weight: bold;"&gt;when&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;who&lt;/span&gt; the sensor operates for.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The perceptron may be &lt;span style="font-weight: bold;"&gt;observed&lt;/span&gt; but is not &lt;span style="font-weight: bold;"&gt;seen&lt;/span&gt; unless it goes via &lt;a href="http://blog.thegoo.org/2005/06/saving-mental-bandwidth.html"&gt;someone's short term memory buffer&lt;/a&gt; (7 +/- 2). &lt;/li&gt;&lt;li&gt;A sensor passes perceptrons to a user or group of users or another sensor.&lt;/li&gt;&lt;li&gt;An "actitron" is a unit of action which may be performed by a person or a sensor. &lt;/li&gt;&lt;li&gt;An &lt;a href="http://blog.thegoo.org/2006/10/new-action-dispatcher-targeting-things.html"&gt;action&lt;/a&gt; performed by a person is always "seen" - but this may not be the case for a sensor. &lt;/li&gt;&lt;li&gt;Over time a user's &lt;span style="font-weight: bold;"&gt;trail&lt;/span&gt; is filled with seen perceptrons and seen actitrons. &lt;/li&gt;&lt;li&gt;Actitrons can happen on Things. &lt;/li&gt;&lt;li&gt;A Thing is an object in your perceptual environment.&lt;/li&gt;&lt;/ul&gt;So what does this mean? Well by creating sensors your potential perceptual environment can be expanded (i.e., &lt;a href="http://blog.thegoo.org/2005/07/augmentation.html"&gt;see more&lt;/a&gt;).  Your own actions are remembered and can then be &lt;a href="http://blog.thegoo.org/2005/11/associator.html"&gt;temporally associated&lt;/a&gt; with other Things which means you can make lighter &lt;a href="http://blog.thegoo.org/2005/07/context-switching.html"&gt;context switches&lt;/a&gt; as time goes by (i.e., juggle more). It means you can also add &lt;a href="http://blog.thegoo.org/2006/04/horizon-of-care.html"&gt;future events&lt;/a&gt; into your trail by putting something in front of a sensor at the right time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-2247712650291510682?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/2247712650291510682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=2247712650291510682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2247712650291510682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/2247712650291510682'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/02/modelling-perceptrons-and-actirons.html' title='Modelling Perceptrons and Actirons'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-8272790717049707972</id><published>2007-02-01T19:21:00.000+02:00</published><updated>2007-02-06T08:09:50.770+02:00</updated><title type='text'>Actitrons + Perceptrons = Ying + Yang</title><content type='html'>I started writing a &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;SciFi&lt;/span&gt; novel where in the future there are two types of things: &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Perceptrons&lt;/span&gt; and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Actitrons&lt;/span&gt;. A &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;perceptron&lt;/span&gt; is a unit of perception that somebody perceives (apologies to AI guru, Marvin Minsky for pinching his term) and &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;actitrons&lt;/span&gt; are units of action.&lt;br /&gt;&lt;br /&gt;My &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;SciFi&lt;/span&gt; novel is on the &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;back burner&lt;/span&gt; but I think these ideas could be useful in designing the next part of The Goo. When we work we &lt;span onclick="BLOG_clickHandler(this)" class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;perceive&lt;/span&gt; things and then perform actions as a result. A lot of time is spent moving from perceiving to acting and going back again.&lt;br /&gt;&lt;br /&gt;Hopefully this diagram will help explain:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.thegoo.org/uploaded_images/perceptron-actitron-model-736847.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://blog.thegoo.org/uploaded_images/perceptron-actitron-model-735687.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-8272790717049707972?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/8272790717049707972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=8272790717049707972' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8272790717049707972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/8272790717049707972'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/02/actitrons-perceptrons-ying-yang.html' title='Actitrons + Perceptrons = Ying + Yang'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-116885716652510125</id><published>2007-01-15T11:12:00.000+02:00</published><updated>2007-03-09T07:35:20.768+02:00</updated><title type='text'>Seventh Heaven? Not quite.</title><content type='html'>At the start of the week every member of the team receives a "Pending Things Report" which shows the top ten pending Things. The problem is all the Things are set to care factor: 7. The care factor is not discriminating between what's not so important and what's really important. But the real problem is no one cares about the care factor - what is care factor 7 anyway?&lt;br /&gt;&lt;br /&gt;So I'm looking at a different way of ordering Things without the need for maintaining a care factor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-116885716652510125?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/116885716652510125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=116885716652510125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/116885716652510125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/116885716652510125'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/01/seven-heaven-not-quite.html' title='Seventh Heaven? Not quite.'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13066802.post-116884608164990074</id><published>2007-01-15T09:18:00.000+02:00</published><updated>2007-01-15T09:48:56.226+02:00</updated><title type='text'>Email is Br0keN</title><content type='html'>I started using email in 1990 and over the last 16 years I've progressively received more and more emails while sending less and less. In the last six months though, I've felt a change. The Russian "spam bots" are winning - exponentially so.&lt;br /&gt;&lt;br /&gt;I now receive way more spam than real emails and I feel we're heading towards a tipping point - &lt;a href="http://spamassassin.apache.org/"&gt;spamassassin&lt;/a&gt; does a valiant job of applying a &lt;a href="http://en.wikipedia.org/wiki/Holtzman_effect#Holtzman_Shield"&gt;Holtzam-esque&lt;/a&gt; shield but the slow, and crafty spam still gets through!  I think we're converging on the "Spam Singularity".&lt;br /&gt;&lt;br /&gt;The demise of email may not be such a bad thing --- I think there's more that can be done with a controlled hypertext system. A worthwhile message, for example, should always have a "&lt;a href="http://blog.thegoo.org/2007/01/drilling-down.html"&gt;what's next&lt;/a&gt;". I wonder what's next for email?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13066802-116884608164990074?l=blog.thegoo.org' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.thegoo.org/feeds/116884608164990074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=13066802&amp;postID=116884608164990074' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/116884608164990074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13066802/posts/default/116884608164990074'/><link rel='alternate' type='text/html' href='http://blog.thegoo.org/2007/01/email-is-br0ken.html' title='Email is Br0keN'/><author><name>Nigel Hamilton</name><uri>http://www.blogger.com/profile/07644220429236468029</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='08610576627037254744'/></author><thr:total>0</thr:total></entry></feed>