<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Its The Rules</title>
	<atom:link href="http://blog.itstherules.co.uk/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.itstherules.co.uk</link>
	<description>Ben Hoskins Blog</description>
	<lastBuildDate>Wed, 18 Aug 2010 19:16:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>I&#8217;d Like An Alternative For How Code Gets Built Please!</title>
		<link>http://blog.itstherules.co.uk/archives/264</link>
		<comments>http://blog.itstherules.co.uk/archives/264#comments</comments>
		<pubDate>Sat, 14 Aug 2010 12:30:22 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=264</guid>
		<description><![CDATA[I&#8217;ve been thinking a lot about writing build scripts for code recently, and have come to a few conclusions. So, I&#8217;ve never really liked writing code in xml. It&#8217;s normally verbose, akward, and counter-intuitive. There, I&#8217;ve said it. It&#8217;s a very unpopular point of view, and has caused a number of arguments in the past [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking a lot about writing build scripts for code recently, and have come to a few conclusions.</p>
<p>So, I&#8217;ve never really liked writing code in xml. It&#8217;s normally verbose, akward, and counter-intuitive. There, I&#8217;ve said it.</p>
<p>It&#8217;s a very unpopular point of view, and has caused a number of arguments in the past (techies are very passionate, and entrenched, in certain design choices).</p>
<p>Xml is a great as a way of describing data (and is indeed the reason it was made) and is thus rightly applied to web services, web pages, and some levels of configuration, but <em>not for writing code</em>.<br />
Incidentally, this is why I&#8217;d always prefer a code solution if I was applying the dependency injection pattern, say guice or picocontainer.</p>
<p>Build scripts (the active word there being &#8216;scripts&#8217;) are a strange beast; normally procedural with calls to modules, which, actually, you&#8217;d like to be more object oriented if possible.  You also would want minimal if/else, foreach support, despite what old school build folks tell you.<br />
For example, I recently wanted to generate a bunch of war files that had very similar web.xml&#8217;s but had a few values different.  I eventually went with a CSV file, fmpp template merging, and using the for task in antcontrib which called out to a macrodef on ANT.<br />
That was fairly involved, and required more modifications to my basic ANT install than I&#8217;d like.  I&#8217;m also kinda wondering how I&#8217;d achieve that with something like MVN&#8230;  This could&#8217;ve been done in 5 lines of code if it was easy enough to stitch together in code.</p>
<p>This made me really think about what do I actually want from a build system.</p>
<p><strong>My Wish List For An Ideal Build System<br />
</strong></p>
<ul>
<li>Convention over configuration is great if the convention is one that I can understand.  I&#8217;d like the default to be conventional with overrides.  When using ANT I always write coarse grain targets in the build file; make, test, save, and my default &#8216;ant&#8217; master target has these three as dependencies</li>
<li>Easily configurable for different environments.</li>
<li>Dependencies dealt with.  Something MVN is good at, but not excellent at.  I normally have 2 build scripts; one for the module/project only, and another to also build dependencies, so I can explicitly choose.<br />
Ideally, I&#8217;d like to run one build, and it would work out if it had to re-build the dependencies or not.</li>
<li>Not to write code in xml.  The best solution I know of for a primarily procedural, with some object oriented / pseudo OO thrown in if needed, is JavaScript (sorry python).  Its also has a bonus in that its the most popular coding language in the world.  It&#8217;s also the language that brought me back to coding when I was in my early 20s (so I&#8217;ve got a soft spot for it)</li>
<li>Re-use all the plugins already made for other build solutions</li>
<li>Consistent through all the languages I choose to write in</li>
<li>Concise, and understandable.</li>
</ul>
<p>This is all very fine waffling about this, but here&#8217;s perhaps an example of what this would look like.  I&#8217;m going to use a recent ANT example, only because I haven&#8217;t used a MVN example to hand &#8211; last time I used it was about a year ago.  A MVN example, after dependencies, would run at about the same amount of lines:<br />
<pre><pre>&lt;project name=&quot;module&quot; default=&quot;module&quot;&gt;
 &lt;property file=&quot;../Commons/environments/${env.COMPUTERNAME}.properties&quot; /&gt;
 &lt;property file=&quot;../Commons/build.properties&quot; /&gt;
 &lt;property file=&quot;build.properties&quot; /&gt;
 &lt;import file=&quot;../Commons/common.xml&quot; /&gt;

&lt;target name=&quot;module&quot; depends=&quot;make.module,test.module,save.module&quot;/&gt;
&lt;target name=&quot;make.module&quot; depends=&quot;clean.module&quot;&gt;
 &lt;make module=&quot;${module.directory}&quot; jarname=&quot;${module.jar}&quot; source=&quot;src&quot; targetdir=&quot;made&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;make.classpath&gt;&lt;classpath&gt;&lt;path refid=&quot;module.classpath&quot;/&gt;&lt;/classpath&gt;&lt;/make.classpath&gt;
 &lt;/make&gt;
 &lt;make module=&quot;${module.directory}&quot; jarname=&quot;${module.test.jar}&quot; source=&quot;test&quot; targetdir=&quot;made&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;make.classpath&gt;&lt;classpath&gt;&lt;pathelement location=&quot;${module.made.directory}/${module.jar}&quot;/&gt;&lt;path refid=&quot;module.classpath&quot;/&gt;&lt;pathelement location=&quot;${junit.jar}&quot; /&gt;&lt;pathelement location=&quot;${mockito.jar}&quot; /&gt;&lt;/classpath&gt;&lt;/make.classpath&gt;
 &lt;/make&gt;
&lt;/target&gt;

&lt;target name=&quot;test.module&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;test jarname=&quot;${module.made.directory}/${module.test.jar}&quot;&nbsp;&nbsp;basedir=&quot;${module.directory}&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;test.classpath&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;classpath&gt;&lt;pathelement location=&quot;${module.made.directory}/${module.test.jar}&quot;/&gt;&lt;pathelement location=&quot;${module.made.directory}/${module.jar}&quot;/&gt;&lt;path refid=&quot;module.classpath&quot;/&gt;&lt;pathelement location=&quot;${junit.jar}&quot; /&gt;&lt;pathelement location=&quot;${mockito.jar}&quot; /&gt;&lt;/classpath&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/test.classpath&gt;
 &lt;/test&gt;
&lt;/target&gt;

 &lt;target name=&quot;save.module&quot;&gt;
 &lt;save targetdir=&quot;${module.dist.directory}&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;save.fileset&gt;&lt;fileset dir=&quot;${module.made.directory}&quot; includes=&quot;${module.jar}&quot;/&gt;&lt;/save.fileset&gt;
 &lt;/save&gt;
 &lt;/target&gt;

 &lt;target name=&quot;clean.module&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;init.dir dir=&quot;${module.made.directory}&quot;/&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;init.dir dir=&quot;${module.dist.directory}&quot;/&gt;
 &lt;/target&gt;

 &lt;path id=&quot;module.classpath&quot;&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location=&quot;${website.dist.directory}/${website.jar}&quot;/&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location=&quot;${website.model.dist.directory}/${website.model.jar}&quot;/&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location=&quot;${servlet-api.jar}&quot; /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;pathelement location=&quot;${neodatis.jar}&quot; /&gt;
 &lt;/path&gt;
&lt;/project&gt;
</pre></pre><br />
Now, the proposed JavaScript build solution:<br />
<pre><pre>flavour=java
name=&#039;module&#039;
load(&#039;common_properties.js&#039;)
depends=[website, website_model, servlet_api, neodatis]
tests_also_depend_on=[mockito]
</pre></pre><br />
Nicer? Obviously, you&#8217;d have a register of variables for the library files you&#8217;d want to use.  And if you&#8217;d like it a little more explicit as to what the convention would be&#8230;<br />
<pre><pre>flavour=java
name=&#039;module&#039;
load(&#039;common_properties.js&#039;)
depends=[website, website_model, servlet_api, neodatis]
tests_also_depend_on=[mockito]
master=[make, test, save]
</pre></pre><br />
I&#8217;m seriously thinking about starting to write something like this.  I think it&#8217;ll be way more intuitive than the current Java specific build scripting solutions that are out there.</p>
<p>How would I handle that multiple wars example previously?<br />
<pre><pre>flavour=java
name=&#039;module&#039;
load(&#039;common_properties.js&#039;)
depends=[website, website_model, servlet_api, neodatis]
tests_also_depend_on=[mockito]
wars = function() {
&nbsp;&nbsp; var csv = csv(&#039;wars.csv&#039;)
&nbsp;&nbsp; for (var line in csv.lines) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var template=merge_template(&#039;web.xml.ftl&#039;, map(csv.headers, line))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;war(line[&#039;name&#039;], template)
&nbsp;&nbsp; }
}
after_master=[wars]
</pre></pre><br />
If you then had a requirement to use this &#8216;wars&#8217; function in more than one place, you could put it into an auto-loaded global functions, obviously pulling out the specific values to generic value.</p>
<p>The other bits that aren&#8217;t really talked about in the example, and that you don&#8217;t need to mention in every build:</p>
<ul>
<li>There would be a harness that would run the master array of functions</li>
<li>Why <em>should I</em> always add my testing libraries to the classpath?  I&#8217;ll normally always use one lib for this (TestNG or JUnit for Java) and typically never mix and match</li>
<li>There would also be an included file that would declare all the dependency variables.  This would be added to for project/other module dependencies</li>
<li>The war, map, and csv functions would be globally declared</li>
<li>There would be one convention file which would allow you to say what your own convention would be for, say, file structure (i.e. source folders, where you want to generate the built code to, where the distribution folder is etc)</li>
</ul>
<p>How this could be implemented? As a proposal, you could use rhino in order to expose all the stuff written for ANT and MVN, and write a thin wrapper function to &#8216;de-uglyify&#8217; it.  I wouldn&#8217;t make the same mistake as some other build scripting solutions and would tidy up / map some of the counter-intuitive calls to MVN/ ANT </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/264/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile and SOA &#8211; A Practical &#8216;How Could&#8230;&#8217; Guide</title>
		<link>http://blog.itstherules.co.uk/archives/259</link>
		<comments>http://blog.itstherules.co.uk/archives/259#comments</comments>
		<pubDate>Mon, 09 Aug 2010 11:16:39 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=259</guid>
		<description><![CDATA[I&#8217;ve decided to add a little more discipline around my blog entries, as they&#8217;ve become sporadic of late, and have been looking around for topics that would be of use based on some of the stuff I&#8217;ve done before. The idea is that I&#8217;ll stick up some titles of potential blog postings, and people can [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve decided to add a little more discipline around my blog entries, as they&#8217;ve become sporadic of late, and have been looking around for topics that would be of use based on some of the stuff I&#8217;ve done before.</p>
<p>The idea is that I&#8217;ll stick up some titles of potential blog postings, and people can comment on what one they&#8217;d like to see first, or indeed can comment on titles in this space they&#8217;d like to see  (if no-one votes I&#8217;ll simply start working my way down the list).</p>
<p>Here goes:</p>
<ul>
<li>How could Tests possibly lighten the load?</li>
<li>How can you remain Agile and govern a SOA strategy (what&#8217;s good enough)?</li>
<li>The gaps are catching us out.  What are the potential gaps when using Agile and SOA?</li>
<li>How could a team work together when SOA is in play in an organisation? (cross-functional / functional teams)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/259/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I don&#8217;t normally blog about money</title>
		<link>http://blog.itstherules.co.uk/archives/253</link>
		<comments>http://blog.itstherules.co.uk/archives/253#comments</comments>
		<pubDate>Wed, 04 Aug 2010 21:28:15 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=253</guid>
		<description><![CDATA[Its a fair statement to say that I am fairly typical in the UK in that I have never really cared about money, or more precisely, money as an end goal, or the ability to use it to bend people to your will. I know a lot of people who feel the same way. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Its a fair statement to say that I am fairly typical in the UK in that I have never really cared about money, or more precisely, money as an end goal, or the ability to use it to bend people to your will.<br />
I know a lot of people who feel the same way.</p>
<p>I&#8217;m bothered whether I can eat, but that&#8217;s about it.  I actually care more about being cerebrally challenged. It&#8217;s also fair to say that I won the birth lottery and come from a country where I don&#8217;t really need to care about starving; though I have lived in and visited a few where that is a distinct possibility.</p>
<p>It is, however, very heartwarming to read the following article http://www.bbc.co.uk/news/world-us-canada-10870361 where these guys, who have made a big chunk of money (&gt; 1 Billion), have decided they want to give away more than 50% of their cash to charity.</p>
<p>Some might say &#8216;well, boohoo, they only have 500m instead of 1bn&#8217; but not me.</p>
<p>Today is a day where I&#8217;ve left my cynical/practical (delete as appropriate) head on the bench and take this act of giving on face value.</p>
<p>Well done Bill Gates.</p>
<p>p.s. He&#8217;s also on track to eradicate malaria in 5 years.  That is absolutely mind-boggingly astounding.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/253/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototype / scriptaculous iPad dragdrop hack</title>
		<link>http://blog.itstherules.co.uk/archives/241</link>
		<comments>http://blog.itstherules.co.uk/archives/241#comments</comments>
		<pubDate>Thu, 01 Jul 2010 08:41:38 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=241</guid>
		<description><![CDATA[I was really pleased when I got an iPad from the states a few months back. I was really miffed that my app using prototype / scriptaculous didn&#8217;t dragdrop out of the box. I looked around to see if anyone else had fixed the lib, to no avail, so I finally spent some of my [...]]]></description>
			<content:encoded><![CDATA[<p>I was really pleased when I got an iPad from the states a few months back.</p>
<p>I was really miffed that my app using prototype / scriptaculous didn&#8217;t dragdrop out of the box.</p>
<p>I looked around to see if anyone else had fixed the lib, to no avail, so I finally spent some of my wee small hours time hacking the library to support this.</p>
<p>The subtle differences in the API:</p>
<ul>
<li>its &#8220;touchstart&#8221;, &#8220;touchend&#8221;, &#8220;touchmove&#8221; not &#8220;mousedown&#8221;, &#8220;mouseup&#8221;, &#8220;mousemove&#8221;</li>
</ul>
<ul>
<li>To work out if touch is supported use (just found out this isn&#8217;t supported in android):<br />
<pre>var supports = (&#039;createTouch&#039; in document)</pre>
</li>
<li>There is no concept of a current pointer when your finger isn&#8217;t on the screen, so when you drop, you have to use the previous pointer (luckily already tracked in the dragdrop lib)</li>
<li>There is an array of touches on the iPad (for different fingers etc), so event.pageX is event.touches[0].pageX</li>
</ul>
<p>dragdrop.js and prototype.js files attached</p>
<p><a href="http://blog.itstherules.co.uk/wp-content/uploads/2010/07/prototype.js">prototype.js</a><br />
<a href="http://blog.itstherules.co.uk/wp-content/uploads/2010/07/dragdrop.js">dragdrop.js</a></p>
<p>The bits that don&#8217;t work yet: the drag seems to be greedy right now, so I can&#8217;t activate links in the draggable.  Need to look at the webkitdragdrop.js lib to see how they handled that.</p>
<p>Thanks Thomas Fuchs, for scriptaculous in the first place, and secondly for the iPad demo which i ripped to bits to work out how it was put together.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/241/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Epicenter Dublin Update</title>
		<link>http://blog.itstherules.co.uk/archives/237</link>
		<comments>http://blog.itstherules.co.uk/archives/237#comments</comments>
		<pubDate>Wed, 23 Jun 2010 13:28:35 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=237</guid>
		<description><![CDATA[Hi Folks, It appears that the link to the epicenter session is now down. The excerpt for the session was as follows: How A Little Bit of Philosophy Can Affect The Products You Build I will be presenting a look at StoryBoard, a planning tool with a little bit of a difference. I will be [...]]]></description>
			<content:encoded><![CDATA[<p>Hi Folks,</p>
<p>It appears that the link to the epicenter session is now down.</p>
<p>The excerpt for the session was as follows:</p>
<p><em><strong>How A Little Bit of Philosophy Can Affect The Products You Build</strong></p>
<p>I will be presenting a look at StoryBoard, a planning tool with a little bit of a difference.<br />
I will be explaining the overall technical approach of distributed, self-contained, collaborative web-applications, built by applying a few simple, adaptable philosophies to produce great results.<br />
A few of which are:<br />
- &#8220;Do The Simplest Thing That Could Possibly Work&#8221; shouldn&#8217;t mean barely useable<br />
- Write fewer, more elegant features, which are used more often<br />
- Intuition can be taught, if the conventions are simple enough (a.k.a. people aren&#8217;t dumb)</p>
<p>more to follow as part of the session&#8230;</em></p>
<p>The PDF version of the slides from the session <a href="http://blog.itstherules.co.uk/wp-content/uploads/2010/06/HowALittleBitOfPhilosophyCanAffectTheProductsYouBuild.pdf">HowALittleBitOfPhilosophyCanAffectTheProductsYouBuild</a> doesn&#8217;t include speaker notes, so please let me know if you need any more details around the session.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/237/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Epicenter Dublin</title>
		<link>http://blog.itstherules.co.uk/archives/232</link>
		<comments>http://blog.itstherules.co.uk/archives/232#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:44:25 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=232</guid>
		<description><![CDATA[I&#8217;ve had the distinct honour of being asked to talk at epicenter ireland next week.  Details of my session can be found here: http://epicenter.ie/2010.html?zone_id=20&#38;mode=agenda&#38;session=193#session]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had the distinct honour of being asked to talk at epicenter ireland next week.  Details of my session can be found here:</p>
<p><a title="Epicenter Dublin 2010" href="http://epicenter.ie/2010.html?zone_id=20&amp;mode=agenda&amp;session=193#session" target="_blank">http://epicenter.ie/2010.html?zone_id=20&amp;mode=agenda&amp;session=193#session</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/232/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Concordion: spec inherited the right kind of way</title>
		<link>http://blog.itstherules.co.uk/archives/229</link>
		<comments>http://blog.itstherules.co.uk/archives/229#comments</comments>
		<pubDate>Mon, 31 May 2010 11:16:21 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=229</guid>
		<description><![CDATA[I love simplicity, and hate boredom.  Anyone who knows me will echo that. I love some aspects of simplicity in http://www.concordion.org/ One of which is the way the test fixtures are not subservient to the spec. Fitnesse totally does the reverse of that; and it makes it very complex (remember complex = bad) with classpath [...]]]></description>
			<content:encoded><![CDATA[<p>I love simplicity, and hate boredom.  Anyone who knows me will echo that.</p>
<p>I love some aspects of simplicity in http://www.concordion.org/</p>
<p>One of which is the way the test fixtures are not subservient to the spec.<br />
Fitnesse totally does the reverse of that; and it makes it very complex (remember complex = bad) with classpath setups etc.</p>
<p>So, as an illustration, we had a bunch of different channels (telephony jargon for web, mobile web, SMS, voice, mobile apps etc) to test recently, but they fundamentally all had the same spec (i.e. settle my balance, view call log etc).</p>
<p>Sure they all had different implementations, but the behaviour of the channels were fundamentally the same.</p>
<p>We were able to setup a project in eclipse with only the specification which was written (basically html files with some concordion markup) and then inherit this in all the other channel fixtures we were using to test.</p>
<p>The beauty of concordion is that it uses a JUnit runner to load the html descriptor and execute the fixtures.<br />
This means we were able to write different implementations of the fixtures behind the scenes, and write only one description of behaviour.<br />
Try doing that in another framework&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/229/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And I didn&#8217;t need any loaves and fishes&#8230;</title>
		<link>http://blog.itstherules.co.uk/archives/227</link>
		<comments>http://blog.itstherules.co.uk/archives/227#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:25:41 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=227</guid>
		<description><![CDATA[On Saturday I fed 19 people for £12. A good meal too! No miracle or loaves and fishes, I used rice and noodles instead&#8230;]]></description>
			<content:encoded><![CDATA[<p>On Saturday I fed 19 people for £12. A good meal too! No miracle or loaves and fishes, I used rice and noodles instead&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/227/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sleepwalking / Somnambulism / Automatism</title>
		<link>http://blog.itstherules.co.uk/archives/224</link>
		<comments>http://blog.itstherules.co.uk/archives/224#comments</comments>
		<pubDate>Thu, 25 Mar 2010 20:10:05 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=224</guid>
		<description><![CDATA[I used to suffer badly from sleepwalking. It&#8217;s a strange thing to do; after the fact you remember what you did (and it seems strange in retrospect).  However, when you&#8217;re doing it, everything seems perfectly normal. The strangeness of your perception of the situation seems to be naturally, and nonchalantly, accepted by your brain. I [...]]]></description>
			<content:encoded><![CDATA[<p>I used to suffer badly from sleepwalking.</p>
<p>It&#8217;s a strange thing to do; after the fact you remember what you did (and it seems strange in retrospect).  However, when you&#8217;re doing it, everything seems perfectly normal.<br />
The strangeness of your perception of the situation seems to be naturally, and nonchalantly, accepted by your brain.</p>
<p>I once cost my sister £150 because I thought I was going for a walk in the woods, stopping by a picnic area for a drink with friends.<br />
In reality I had walked downstairs from the bar she was managing, broken through a locked door (of which I didn&#8217;t have the key) and poured myself a drink.  Where did the cost come in? Weeeell, when I got through the door the alarm went off, and it cost £75 to reset this with alarm company.  And I went walking in the woods with friends twice that evening.</p>
<p>I&#8217;ve since been able to train my brain, and wake myself up whenever I notice the signs (is that really a tree, or a door I&#8217;ve just broken through?).</p>
<p>However, what I&#8217;ve realised is that my brain (and possibly others too) is very good at telling stories to fill in the blanks well enough to actually alter the perception of what I see in front of me.  And I don&#8217;t think I&#8217;m alone.  It really fascinates me that the brain does this, and does this quite regularly.</p>
<p>I&#8217;ve been actively trying to lessen this effect, but I&#8217;ve also seen this happen with people in a communication starved environment; people make stuff up based on fleeting observation.  How do I know?  I&#8217;ve seen it happen a bunch of times.</p>
<p>And I&#8217;ve just done it in the last 3 days&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/224/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatism out!</title>
		<link>http://blog.itstherules.co.uk/archives/222</link>
		<comments>http://blog.itstherules.co.uk/archives/222#comments</comments>
		<pubDate>Fri, 19 Feb 2010 10:54:41 +0000</pubDate>
		<dc:creator>ben</dc:creator>
				<category><![CDATA[Uncategorisable]]></category>

		<guid isPermaLink="false">http://blog.itstherules.co.uk/?p=222</guid>
		<description><![CDATA[Its time to wake up&#8230;]]></description>
			<content:encoded><![CDATA[<p>Its time to wake up&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.itstherules.co.uk/archives/222/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
