<?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>VirtualChaos - Nadeem's blog</title>
	<atom:link href="http://www.virtualchaos.co.uk/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.virtualchaos.co.uk/blog</link>
	<description>I thought what I'd do was, I'd pretend I was one of those deaf mutes ... or should I?</description>
	<lastBuildDate>Thu, 29 Jul 2010 12:11:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8230;For Hecuba</title>
		<link>http://www.virtualchaos.co.uk/blog/2010/07/29/for-hecuba/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2010/07/29/for-hecuba/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 07:41:27 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Poetry]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=540</guid>
		<description><![CDATA[

O, what a rogue and peasant slave am I!
Is it not monstrous that this player here,
But in a fiction, in a dream of passion,
Could force his soul so to his own conceit
That from her working all his visage wann'd,
Tears in his eyes, distraction in's aspect,
A broken voice, and his whole function suiting
With forms to his [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<pre>
O, what a rogue and peasant slave am I!
Is it not monstrous that this player here,
But in a fiction, in a dream of passion,
Could force his soul so to his own conceit
That from her working all his visage wann'd,
Tears in his eyes, distraction in's aspect,
A broken voice, and his whole function suiting
With forms to his conceit? and all for nothing!
For Hecuba!

...  Hamlet: Act 2 : Scene 2
</pre>
</blockquote>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/Poetry" rel="tag">Poetry</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2010/07/29/for-hecuba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get people to pay for content</title>
		<link>http://www.virtualchaos.co.uk/blog/2010/06/27/how-to-get-people-to-paying-for-content/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2010/06/27/how-to-get-people-to-paying-for-content/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 12:36:02 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[content]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=538</guid>
		<description><![CDATA[


Forrester Research analyst James McQuivey says people have never paid for content and never will. What they have paid for &#8212; and will pay for &#8212; is access to content. The lesson for product strategists: make more content available, on more devices, in the most convenient ways possible.

	access, content
]]></description>
			<content:encoded><![CDATA[<p>
<object width="480" height="285"><param name="movie" value="http://www.youtube.com/v/tkjvn2IbFUk&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tkjvn2IbFUk&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="285"></embed></object>
</p>
<p>Forrester Research analyst James McQuivey says people have never paid for content and never will. What they have paid for &#8212; and will pay for &#8212; is access to content. The lesson for product strategists: make more content available, on more devices, in the most convenient ways possible.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/access" rel="tag">access</a>, <a class="tag_technorati" href="http://technorati.com/tag/content" rel="tag">content</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2010/06/27/how-to-get-people-to-paying-for-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Education is a global religion</title>
		<link>http://www.virtualchaos.co.uk/blog/2010/06/27/education-is-a-global-religio/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2010/06/27/education-is-a-global-religio/#comments</comments>
		<pubDate>Sun, 27 Jun 2010 12:25:08 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[p2pu]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=537</guid>
		<description><![CDATA[



Charles Leadbeater went looking for radical new forms of education &#8212; and found them in the slums of Rio and Kibera, where some of the world&#8217;s poorest kids are finding transformative new ways to learn. And this informal, disruptive new kind of school, he says, is what all schools need to become.

This is a very [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<!--copy and paste--><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/CharlesLeadbeater_2010S-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/TedTalks-1609.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=892&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=charles_leadbeater_on_education;year=2010;theme=how_we_learn;theme=new_on_ted_com;theme=unconventional_explanations;event=TEDSalon+London+2010;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/CharlesLeadbeater_2010S-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/TedTalks-1609.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=892&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=charles_leadbeater_on_education;year=2010;theme=how_we_learn;theme=new_on_ted_com;theme=unconventional_explanations;event=TEDSalon+London+2010;"></embed></object>
</p>
<blockquote><p>
Charles Leadbeater went looking for radical new forms of education &#8212; and found them in the slums of Rio and Kibera, where some of the world&#8217;s poorest kids are finding transformative new ways to learn. And this informal, disruptive new kind of school, he says, is what all schools need to become.
</p></blockquote>
<p>This is a very useful short talk by <a href="http://www.charlesleadbeater.net/home.aspx">Charles Leadbeater</a>, there&#8217;s a wonderfully poignant moment in the talk when he makes the assertion that &#8220;<em>Well, education is a global religion. And education, plus technology, is a great source of hope.</em>&#8221; which struck me as a rather profound statement. With so much of the worlds population unable to access education through &#8220;traditional&#8221; means we are now seeing the rise of grass roots led, transformative, and potentially highly disruptive new forms of education.</p>
<p>How do you get learning to people when there are no teachers? As Charles suggests you have to find ways of getting learning to people through technology, people and places that are different. That&#8217;s part of the rationale behind what some of us are trying to achieve through projects like <a href="http://www.p2pu.org">The Peer 2 Peer University</a>. </p>
<p>Charles also makes a very important point about the difference between push and pull models of education:</p>
<blockquote><p>
When you go to places like this what you see is that education in these settings works by pull, not push. Most of our education system is push. I was literally pushed to school. When you get to school, things are pushed at you, knowledge, exams, systems, timetables<br />
If you want to attract people like Juanderson who could, for instance, buy guns, wear jewelry, ride motorbikes and get girls through the drugs trade, and you want to attract him into education, having a compulsory curriculum doesn&#8217;t really make sense.
</p></blockquote>
<p>He&#8217;s also right in identifying that the reason education fails to reinvent itself is that it focuses on formal solutions that will sustain the existing institutions and establishment:find a way to do what we today better. The problem with this, of course, is that is simply doesn&#8217;t scale:</p>
<p>
<blockquote>
 Almost all our effort goes in this box, sustaining innovation in formal settings, getting a better version of the essentially Bismarckian school system that developed in the 19th century. And as I said, the trouble with this is that, in the developing world there just aren&#8217;t teachers to make this model work. You&#8217;d need millions and millions of teachers in China, India, Nigeria and the rest of developing world to meet need. And in our system, we know that simply doing more of this won&#8217;t eat into deep educational inequalities, especially in inner-cities and former industrial areas.<br/><br/></p>
<p>So that&#8217;s why we need three more kinds of innovation. We need more reinvention. And all around the world now you see more and more schools reinventing themselves
</p></blockquote>

	<a class="tag_technorati" href="http://technorati.com/tag/education" rel="tag">education</a>, <a class="tag_technorati" href="http://technorati.com/tag/p2pu" rel="tag">p2pu</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2010/06/27/education-is-a-global-religio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Invictus</title>
		<link>http://www.virtualchaos.co.uk/blog/2010/06/21/invictus/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2010/06/21/invictus/#comments</comments>
		<pubDate>Mon, 21 Jun 2010 11:44:59 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Poetry]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=536</guid>
		<description><![CDATA[

Out of the night that covers me,
Black as the pit from pole to pole,
I thank whatever gods may be
For my unconquerable soul.

In the fell clutch of circumstance
I have not winced nor cried aloud.
Under the bludgeonings of chance
My head is bloody, but unbowed.

Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet [...]]]></description>
			<content:encoded><![CDATA[<blockquote>
<pre>
Out of the night that covers me,
Black as the pit from pole to pole,
I thank whatever gods may be
For my unconquerable soul.

In the fell clutch of circumstance
I have not winced nor cried aloud.
Under the bludgeonings of chance
My head is bloody, but unbowed.

Beyond this place of wrath and tears
Looms but the Horror of the shade,
And yet the menace of the years
Finds and shall find me unafraid.

It matters not how strait the gait,
How charged with punishments the scroll,
I am the master of my fate:
I am the captain of my soul.

     -- William Ernest Henley
</pre>
</blockquote>
<p>From time to time we all need a little inspiration.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/Poetry" rel="tag">Poetry</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2010/06/21/invictus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Derek Sivers: How to start a movement</title>
		<link>http://www.virtualchaos.co.uk/blog/2010/04/03/derek-sivers-how-to-start-a-movement/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2010/04/03/derek-sivers-how-to-start-a-movement/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 17:22:48 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=535</guid>
		<description><![CDATA[
Wonderful, brilliantly concise, 3 minute TED Talk by Derek Sivers.
&#8220;If you really care about starting a movement, have the courage to follow and show others how to follow, and when you find a lone nut doing something great have the guts to be the first one to stand up and join in.&#8221;

	inspiration, ted-talk
]]></description>
			<content:encoded><![CDATA[<p align="center"><!--copy and paste--><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/DerekSivers_2010U-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DerekSivers-2010U.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=814&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=derek_sivers_how_to_start_a_movement;year=2010;theme=the_rise_of_collaboration;theme=new_on_ted_com;theme=the_creative_spark;event=TED2010;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/DerekSivers_2010U-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DerekSivers-2010U.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=814&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=derek_sivers_how_to_start_a_movement;year=2010;theme=the_rise_of_collaboration;theme=new_on_ted_com;theme=the_creative_spark;event=TED2010;"></embed></object></p>
<p>Wonderful, brilliantly concise, 3 minute TED Talk by Derek Sivers.</p>
<blockquote><p>&#8220;If you really care about starting a movement, have the courage to follow and show others how to follow, and when you find a lone nut doing something great have the guts to be the first one to stand up and join in.&#8221;</p></blockquote>

	<a class="tag_technorati" href="http://technorati.com/tag/inspiration" rel="tag">inspiration</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2010/04/03/derek-sivers-how-to-start-a-movement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Death Note a modern take on Plato&#8217;s Gyges Ring</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/10/19/death-note-a-modern-take-on-platos-gyges-ring/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/10/19/death-note-a-modern-take-on-platos-gyges-ring/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 21:01:45 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[Manga]]></category>
		<category><![CDATA[Philosophy]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=534</guid>
		<description><![CDATA[In a discourse in Plato&#8217;s The Republic, the integrity of man is questioned and, perhaps, ultimately deemed to be fundamentally flawed: The Ring of Gyges is a mythical talisman that grants its owner the power to become invisible at will. Using the story of the ring, Plato&#8217;s Republic, explores whether a typical man would remain [...]]]></description>
			<content:encoded><![CDATA[<p>In a discourse in Plato&#8217;s<em> <a href="http://en.wikipedia.org/wiki/Plato%27s_Republic">The Republic</a></em>, the integrity of man is questioned and, perhaps, ultimately deemed to be fundamentally flawed:<a href="http://en.wikipedia.org/wiki/Ring_of_Gyges"> The Ring of Gyges</a> is a mythical talisman that grants its owner the power to become invisible at will. Using the story of the ring, Plato&#8217;s Republic, explores whether a typical man would remain moral if he did not have to fear the consequences of his own actions, and that no man is so virtuous that he could resist the rings temptation or avoid becoming morally bankrupt by using its power. If morality is a social construct where we act out of necessity, then what happens if those social sanctions are removed, or you come to believe that they no longer apply to you? In the Republic, Glaucon made the argument:</p>
<blockquote><p>Suppose now that there were two such magic rings, and the just put on one of them and the unjust the other; no man can be imagined to be of such an iron nature that he would stand fast in justice. No man would keep his hands off what was not his own when he could safely take what he liked out of the market, or go into houses and lie with any one at his pleasure, or kill or release from prison whom he would, and in all respects be like a god among men. Then the actions of the just would be as the actions of the unjust; they would both come at last to the same point. And this we may truly affirm to be a great proof that a man is just, not willingly or because he thinks that justice is any good to him individually, but of necessity, for wherever any one thinks that he can safely be unjust, there he is unjust. For all men believe in their hearts that injustice is far more profitable to the individual than justice, and he who argues as I have been supposing, will say that they are right. If you could imagine any one obtaining this power of becoming invisible, and never doing any wrong or touching what was another&#8217;s, he would be thought by the lookers-on to be a most wretched idiot, although they would praise him to one another&#8217;s faces, and keep up appearances with one another from a fear that they too might suffer injustice.</p></blockquote>
<p>This is, and always has been, an interesting thought experiment. It&#8217;s one that I&#8217;ve wrestled with in the past, what would I do if I could do anything I wanted to, if there were no consequences? <em>If power corrupts, then does absolute power corrupt absolutely</em>? Would I be able to stop myself? Would any of us? H.G. Wells also explored this in <a href="http://en.wikipedia.org/wiki/The_Invisible_Man">The Invisible Man</a>, as his character <a href="http://en.wikipedia.org/wiki/Griffin_%28The_Invisible_Man%29">Griffin</a> is transformed from a gifted young scientist, to a megalomaniac planning world domination. Perhaps the only memorable line from the movie Hollow Man, an adaption inspired by Wells work, was Sebastian&#8217;s (Kevin Bacon) observation:</p>
<blockquote><p>&#8220;You know what, Matt? It&#8217;s amazing what you can do &#8230; when you don&#8217;t have to look yourself in the mirror any more&#8221;</p></blockquote>
<p>As I said, its a fascinating idea, and one that I&#8217;ve been forced to dwell on again whilst watching the brilliant anime series: <a href="http://en.wikipedia.org/wiki/Death_note">Death Note</a>, one of the most unique and mind-blowing anime in recent history.</p>
<p><a href="http://www.amazon.co.uk/Death-Note-Complete-Box-Set/dp/B002AF4BSA/"><img src="http://ecx.images-amazon.com/images/I/51ym9RYuiuL._SL500_AA240_.jpg" align="right"/></a>It&#8217;s the tale of a young man, <a href="http://en.wikipedia.org/wiki/Light_Yagami">Light Yagami</a>, a brilliant young student, with perfect grades, perfect record, perfect looks etc. he&#8217;s a decent upstanding young man. All of that changes when a shinigami ( god of death ) drops his Death Note into Light&#8217;s schoolyard, where the young man stumbles across the enigmatic looking book and reads the instructions in it, the primary rule being: <em>The human whose name is written in this note shall die</em>. Light is initially skeptical thinking it to be a joke, but after experimenting with it he realises that the Death Note is real. Light, in a very real sense, becomes a living incarnation of the Gyges discourse, a seemingly flawless character, who is given the power to kill anyone in the world, and seizes upon this to create a new utopia with his god like power. He begins by entering the names of criminals into the Death Note:  murderers, rapists, serial killers, child molesters etc. his belief is that the world would be better without them.</p>
<p>As thousands of criminals begin to die suddenly around the world, the number of inexplicable deaths captures the attention of interpol and the mysterious detective known only as &#8216;<a href="http://en.wikipedia.org/wiki/L_%28Death_Note%29">L</a>&#8216;. It&#8217;s hard to describe L without falling back on cliches but he is a mysterious, enigmatic, eccentric genius. He has a strong sense of justice, yet his methods are sometimes as morally questionable as Lights. It&#8217;s the battle of wits that ensues between these two protagonists that makes this series such compelling viewing.</p>
<p>Light can only kill someone if he has seen their face and can visualise it as he writes their real name in the notebook, the more he kills the more he believes himself to be a God- eventually Light becomes more than just a self-styled God, he amasses a huge following under the moniker of &#8216;Kira&#8217; ( which in typical Japanese is pronounced similarly to the english word &#8220;killer&#8221; ), and soon he begins to kill anyone that threatens his plans, including FBI agents and others that are attempting to discover his identity. L, however, deduces that Kira can kill people without laying a finger on them provided he has seen their face and knows their real name. Light recognises L as his greatest nemesis and so a cat and mouse battle between the two begins. Each racing desperately to discover the others true identity first &#8211; coming second means death. The suspense is exhilarating.</p>
<p>I highly recommend Death Note, it&#8217;s utterly brilliant: its dark, morally ambiguous and yet full of humour. It&#8217;s great, thought provoking entertainment.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Anime" rel="tag">Anime</a>, <a class="tag_technorati" href="http://technorati.com/tag/Manga" rel="tag">Manga</a>, <a class="tag_technorati" href="http://technorati.com/tag/Philosophy" rel="tag">Philosophy</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/10/19/death-note-a-modern-take-on-platos-gyges-ring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Karen Armstrong: Let&#8217;s revive the golden rule</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/10/02/karen-armstrong-lets-revive-the-golden-rule/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/10/02/karen-armstrong-lets-revive-the-golden-rule/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 12:29:12 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Religion]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=532</guid>
		<description><![CDATA[



Being told I have to stay at home and rest is always difficult for me, I get bored very easily, so I thought I&#8217;d lye in bed and catch up with some feeds &#8211; when I came across the above talk. I&#8217;ve written about Karen Armstrong and the Golden Rule before, it was heartwarming to [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/KarenArmstrong_2009G-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/KarenArmstrong-2009G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=647&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=karen_armstrong_let_s_revive_the_golden_rule;year=2009;theme=media_that_matters;theme=is_there_a_god;theme=speaking_at_tedglobal2009;theme=ted_prize_winners;theme=new_on_ted_com;event=TEDGlobal+2009;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/dynamic/KarenArmstrong_2009G-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/KarenArmstrong-2009G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=647&#038;introDuration=16500&#038;adDuration=4000&#038;postAdDuration=2000&#038;adKeys=talk=karen_armstrong_let_s_revive_the_golden_rule;year=2009;theme=media_that_matters;theme=is_there_a_god;theme=speaking_at_tedglobal2009;theme=ted_prize_winners;theme=new_on_ted_com;event=TEDGlobal+2009;"></embed></object>
</p>
<p>
Being told I have to stay at home and rest is always difficult for me, I get bored very easily, so I thought I&#8217;d lye in bed and catch up with some feeds &#8211; when I came across the above talk. I&#8217;ve written about <a href="http://www.virtualchaos.co.uk/blog/2008/03/21/a-charter-for-compassion/">Karen Armstrong and the Golden Rule before</a>, it was heartwarming to listen to her talk, she has so much passion and faith and hope for a better world, which I find inspiring. I know some people will argue about the practicalities of the <a href="http://charterforcompassion.org/">Charter for Compassion</a> which Karen is talking about. For me though, as a sentiment, as an ideal, or even as a hope I think its a beautifully simple and wonderful idea.
</p>
<p>But it requires a change in each of us, which makes me wonder whether I&#8217;m strong enough to make that change.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/Religion" rel="tag">Religion</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/10/02/karen-armstrong-lets-revive-the-golden-rule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beyond Web 2.0 &#8211; How RDFa can help democratise data on the web</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/09/18/beyond-web-2-0-how-rdfa-can-help-democratise-data-on-the-web/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/09/18/beyond-web-2-0-how-rdfa-can-help-democratise-data-on-the-web/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 07:36:12 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[rdfa semantic-web]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=529</guid>
		<description><![CDATA[



Publishing to the web has never been easier, with the proliferation of content management systems, online blogging platforms, microblogging, and more. However, publishing data is either the preserve of organizations prepared to manage their own IT, or requires individuals to sign up for one web 2.0 service after another.
RDFa provides a straightforward means by which [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/-fko_UCGCIs&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-fko_UCGCIs&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
</p>
<blockquote><p>
Publishing to the web has never been easier, with the proliferation of content management systems, online blogging platforms, microblogging, and more. However, publishing data is either the preserve of organizations prepared to manage their own IT, or requires individuals to sign up for one web 2.0 service after another.</p>
<p>RDFa provides a straightforward means by which data can be published as easily as a web-page can, and the implications are enormous.</p>
<p>From large organizations to the individual blogger, anyone can now publish data by simply placing extra markup in their pages, putting individuals back in control of their own data.</p>
<p>Instead of burying their data in an ever growing array of online services, individuals will now simply publish once, and allow third-party services to consume their information &#8212; from profile information to items for sale, from film reviews to favorite recipes, your web-pages become your API.</p>
<p>By allowing everyone to have an API, RDFa creates the possibility of a new generation of applications that will operate across our data.
</p></blockquote>

	<a class="tag_technorati" href="http://technorati.com/tag/rdfa+semantic-web" rel="tag">rdfa semantic-web</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/09/18/beyond-web-2-0-how-rdfa-can-help-democratise-data-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dan Pink on the surprising science of motivation</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/08/28/dan-pink-on-the-surprising-science-of-motivation/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/08/28/dan-pink-on-the-surprising-science-of-motivation/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 11:00:14 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=527</guid>
		<description><![CDATA[



Career analyst Dan Pink examines the puzzle of motivation, starting with a fact that social scientists know but most managers don&#8217;t: Traditional rewards aren&#8217;t always as effective as we think. Listen for illuminating stories &#8212; and maybe, a way forward.

A very useful and thought provoking talk, Dan does well in describing the difference between intrinsic [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/DanielPink_2009G-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=618" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/DanielPink_2009G-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DanielPink-2009G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=618"></embed></object>
</p>
<blockquote><p>
Career analyst Dan Pink examines the puzzle of motivation, starting with a fact that social scientists know but most managers don&#8217;t: Traditional rewards aren&#8217;t always as effective as we think. Listen for illuminating stories &#8212; and maybe, a way forward.
</p></blockquote>
<p>A very useful and thought provoking talk, Dan does well in describing the difference between intrinsic and extrinsic motivation, and if nothing else it should force you pause and reflect for a moment on what actually motivates you.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/08/28/dan-pink-on-the-surprising-science-of-motivation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Philip Zimbardo prescribes a healthy take on time</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/07/19/philip-zimbardo-prescribes-a-healthy-take-on-time/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/07/19/philip-zimbardo-prescribes-a-healthy-take-on-time/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 15:34:45 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=526</guid>
		<description><![CDATA[

Psychologist Philip Zimbardo says happiness and success are rooted in a trait most of us disregard: the way we orient toward the past, present and future. He suggests we calibrate our outlook on time as a first step to improving our lives

Interestingly enough having recently re-read George Lakoff’s Metaphors We Live By , Zimbardo&#8217;s perspective [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/PhilZimbardo_2009U-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/PhilZimbardo-2009U.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=582" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/PhilZimbardo_2009U-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/PhilZimbardo-2009U.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=582"></embed></object></p>
<blockquote><p>
Psychologist Philip Zimbardo says happiness and success are rooted in a trait most of us disregard: the way we orient toward the past, present and future. He suggests we calibrate our outlook on time as a first step to improving our lives
</p></blockquote>
<p>Interestingly enough having recently re-read <a href="http://www.amazon.co.uk/Metaphors-We-Live-G-Lakoff/dp/0226468011/">George Lakoff’s Metaphors We Live By</a> , Zimbardo&#8217;s perspective seem&#8217;s to make a lot sense.  Lakoff&#8217;s book also opens with a lengthy discussion of how the ways we talk about time influence the decisions that we make: time is money, time is a resource, time is moving, etc. he also goes on to discuss how much our mindset, which is shaped by culture, affects our decisions. Not entirely sure how comfortable I am with Zimbardo&#8217;s thesis on the optimal temporal mix, although at first glance it seems to make perfect sense:</p>
<blockquote><p>
So, very quickly, what is the optimal time profile? High on past-positive. Moderately high on future. And moderate on present-hedonism. And always low on past-negative and present-fatalism. So the optimal temporal mix is what you get from the past &#8212; past-positive give you roots. You connect your family, identity and your self. What you get from the future is wings to soar to new destinations, new challenges. What you get from the present hedonism is the energy, the energy to explore yourself, places, people, sensuality.<br/><br />
Any time perspective in excess has more negatives than positives. What do futures sacrifice for success? They sacrifice family time. They sacrifice friend time. They sacrifice fun time. They sacrifice personal indulgence. They sacrifice hobbies. And they sacrifice sleep. So it affects their health. And they live for work, achievement and control. I&#8217;m sure that resonates with some of the TEDsters.
</p></blockquote>
<p>Zimbardo seemed to be rushing along very fast which is probably why its taking time to fully appreciate his ideas, yet there is something that resonates deeply within me. What do others think?<br />

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/07/19/philip-zimbardo-prescribes-a-healthy-take-on-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Combining, minimising and distributing JavaScripts</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/07/19/combining-minimising-and-distributing-javascripts/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/07/19/combining-minimising-and-distributing-javascripts/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 15:09:06 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rdfquery]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=525</guid>
		<description><![CDATA[
I&#8217;ve spent some time recently writing ant scripts to generate documentation, combine and minimise multiple javascript files into a single download. I thought I&#8217;d share what I have, in case others find it useful or can suggest better ways of doing what I&#8217;m trying to accomplish.


Combining multiple JS files into a single file

Here&#8217;s a simple [...]]]></description>
			<content:encoded><![CDATA[<p>
I&#8217;ve spent some time recently writing ant scripts to generate documentation, combine and minimise multiple javascript files into a single download. I thought I&#8217;d share what I have, in case others find it useful or can suggest better ways of doing what I&#8217;m trying to accomplish.
</p>
<p>
<strong>Combining multiple JS files into a single file</strong></p>
<p>
Here&#8217;s a simple ant task that concatenates several files into a single file. The version.txt is a file that simple contains a version number in it i.e. &#8216;0.5&#8242;. </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;combine&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Concatenating Files&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;concat</span> <span class="re0">destfile</span>=<span class="st0">&quot;./dist/uncompressed/mydistribution-${VERSION}.js&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;file1.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;file2.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;file3.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;file4.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;file5.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/concat<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2"><span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>
<strong>Minimising using YUI Compressor</strong></p>
<p> You&#8217;ll need to download the latest version of the <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a>. All I&#8217;ve provided is a simple ant wrapper around it, and example of how to use it:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;LIB_DIR&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./lib&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;YUI&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${LIB_DIR}/yui-compressor/yuicompressor-2.4.2.jar&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;java</span> <span class="re0">jar</span>=<span class="st0">&quot;${YUI}&quot;</span> <span class="re0">fork</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">failonerror</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">line</span>=<span class="st0">&quot;&#8211;type js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">line</span>=<span class="st0">&quot;-o ${outputFile}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;${inputFile}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/java<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2"><span class="sc3"><span class="coMULTI">&lt;!&#8211; using the above &#8211;&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;minimise&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;inputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./dist/uncompressed/mydistribution-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;outputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./dist/minimised/mydistribution.min-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;/antcall<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>It&#8217;s worth noting that by default the YUI Compressor both minimises and obfuscates code, this is because the process of obfuscation also significantly reduces the size of the script since it substitutes your nice variable names with single letter variables. If you do not want this behaviour then you can add the &#8216;&#8211;nomunge&#8217; directive as an arg line above .
</p>
<p><strong>Generating JS Documention</strong></p>
<p> For this to work you&#8217;ll need to download the latest version of <a href="http://code.google.com/p/jsdoc-toolkit/">JSDOC Toolkit</a>. In the example below im enumerating each file I want documentation generated for, you could just as easily point it at a directory.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;doc&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;generates documentation for core rdfQuery&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="coMULTI">&lt;!&#8211; jsdoc-toolkit ant taks is currently broken, so we directly run &#8211;&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Generating Documentation:&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;java</span> <span class="re0">jar</span>=<span class="st0">&quot;${JSDOC_TOOLKIT_DIR}/jsrun.jar&quot;</span> <span class="re0">fork</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">failonerror</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;${JSDOC_TOOLKIT_DIR}/app/run.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;-t=${JSDOC_TOOLKIT_DIR}/templates/jsdoc&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;-d=./dist/documentation/&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;file1.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;file2.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;file3.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/java<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><strong>Packaging a distribution</strong></p>
<p>Here we want to simply create a single, easily downloadable zip file which contains the combined javascripts, a minimised version of this, and all the api documentation.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"> &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;dist&quot;</span><span class="re2">&gt;</span></span> &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;zip</span> <span class="re0">destfile</span>=<span class="st0">&quot;./dist/mydistribution-${VERSION}.zip&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;./dist/uncompressed/&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;*.js&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;./dist/uncompressed/&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;./dist/minimised/&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;*.js&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;./dist/minimised/&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;./dist/documentation/&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;**/**&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;./dist/documentation/&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/zip<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p><strong>Putting it altogether</strong></p>
<p>
Here&#8217;s a real example of how you can combine the above together. I&#8217;ve copied the <a href="http://code.google.com/p/rdfquery/source/browse/trunk/build.xml">build.xml that I added to the rdfQuery</a> project below.:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;?xml</span> <span class="re0">version</span>=<span class="st0">&quot;1.0&quot;</span><span class="re2">?&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;project</span> <span class="re0">name</span>=<span class="st0">&quot;rdfquery&quot;</span> <span class="re0">basedir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">default</span>=<span class="st0">&quot;all&quot;</span><span class="re2">&gt;</span></span> &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;loadfile</span> <span class="re0">property</span>=<span class="st0">&quot;VERSION&quot;</span> <span class="re0">srcfile</span>=<span class="st0">&quot;version.txt&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;Version to build&quot;</span> <span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;filterchain<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;striplinebreaks</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/filterchain<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/loadfile<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;DOCS_DIR&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./docs&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;API documentation&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;DIST_DIR&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./dist&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;LIB_DIR&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;./lib&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;JSDOC_TOOLKIT_DIR&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${LIB_DIR}/jsdoc-toolkit/&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;YUI&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${LIB_DIR}/yui-compressor/yuicompressor-2.4.2.jar&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="coMULTI">&lt;!&#8211; Names for output &#8211;&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;JS&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${DIST_DIR}/js/&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;property</span> <span class="re0">name</span>=<span class="st0">&quot;JS_MIN&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${DIST_DIR}/minimised/&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;all&quot;</span> <span class="re0">depends</span>=<span class="st0">&quot;init, doc, dist&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;doc&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;generates documentation for core rdfQuery&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="coMULTI">&lt;!&#8211; jsdoc-toolkit ant taks is currently broken, so we directly run &#8211;&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Generating Documentation:&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;java</span> <span class="re0">jar</span>=<span class="st0">&quot;${JSDOC_TOOLKIT_DIR}/jsrun.jar&quot;</span> <span class="re0">fork</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">failonerror</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;${JSDOC_TOOLKIT_DIR}/app/run.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;-t=${JSDOC_TOOLKIT_DIR}/templates/jsdoc&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;-d=${DOCS_DIR}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.uri.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.xmlns.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.datatype.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.curie.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.rdf.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.rdfa.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;jquery.rules.js&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/java<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;dist&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;combine&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;minimise&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;zip</span> <span class="re0">destfile</span>=<span class="st0">&quot;${DIST_DIR}/jquery.rdfquery-${VERSION}.zip&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;${JS}&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;*.js&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;${JS}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;${JS_MIN}&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;*.js&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;${JS_MIN}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;zipfileset</span> <span class="re0">dir</span>=<span class="st0">&quot;${DOCS_DIR}&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;**/**&quot;</span> <span class="re0">prefix</span>=<span class="st0">&quot;${DOCS_DIR}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp;<span class="sc3"><span class="re1">&lt;/zip<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;combine&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;combines js files into three different files representing the three different packages for distribution&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Building rdfQuery Core Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;concat</span> <span class="re0">destfile</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.core-${VERSION}.js&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.uri.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.xmlns.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.datatype.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.curie.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.rdf.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/concat<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Building rdfQuery RDFa Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;concat</span> <span class="re0">destfile</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.rdfa-${VERSION}.js&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;${JS}/&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.rdfquery.core-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.rdfa.js&quot;</span> <span class="re2">/&gt;</span></span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/concat<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Building rdfQuery Rules Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;concat</span> <span class="re0">destfile</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.rules-${VERSION}.js&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;${JS}/&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.rdfquery.rdfa-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;fileset</span> <span class="re0">dir</span>=<span class="st0">&quot;.&quot;</span> <span class="re0">includes</span>=<span class="st0">&quot;jquery.rules.js&quot;</span> <span class="re2">/&gt;</span></span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/concat<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;minimise&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Minimising rdfQuery Core Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Minimising rdfQuery RDFa Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Minimising rdfQuery Rules Distribution&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;inputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.core-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;outputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS_MIN}/jquery.rdfquery.core.min-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/antcall<span class="re2">&gt;</span></span></span> &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;inputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.rdfa-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;outputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS_MIN}/jquery.rdfquery.rdfa.min-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/antcall<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;antcall</span> <span class="re0">target</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;inputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS}/jquery.rdfquery.rules-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;param</span> <span class="re0">name</span>=<span class="st0">&quot;outputFile&quot;</span> <span class="re0">value</span>=<span class="st0">&quot;${JS_MIN}/jquery.rdfquery.rules.min-${VERSION}.js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/antcall<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;minimiseJSFile&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;java</span> <span class="re0">jar</span>=<span class="st0">&quot;${YUI}&quot;</span> <span class="re0">fork</span>=<span class="st0">&quot;true&quot;</span> <span class="re0">failonerror</span>=<span class="st0">&quot;true&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">line</span>=<span class="st0">&quot;&#8211;type js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">line</span>=<span class="st0">&quot;-o ${outputFile}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;arg</span> <span class="re0">value</span>=<span class="st0">&quot;${inputFile}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;/java<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;clean&quot;</span> <span class="re0">description</span>=<span class="st0">&quot;&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;echo</span> <span class="re0">message</span>=<span class="st0">&quot;Deleting distribution and API documentation&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;delete</span> <span class="re0">dir</span>=<span class="st0">&quot;${DIST_DIR}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;delete</span> <span class="re0">dir</span>=<span class="st0">&quot;${DOCS_DIR}&quot;</span><span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; </div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;target</span> <span class="re0">name</span>=<span class="st0">&quot;init&quot;</span> <span class="re0">depends</span>=<span class="st0">&quot;clean&quot;</span><span class="re2">&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;mkdir</span> <span class="re0">dir</span>=<span class="st0">&quot;${DIST_DIR}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;mkdir</span> <span class="re0">dir</span>=<span class="st0">&quot;${DIST_DIR}/js&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;mkdir</span> <span class="re0">dir</span>=<span class="st0">&quot;${DIST_DIR}/minimised&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="sc3"><span class="re1">&lt;mkdir</span> <span class="re0">dir</span>=<span class="st0">&quot;${DOCS_DIR}&quot;</span> <span class="re2">/&gt;</span></span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="sc3"><span class="re1">&lt;/target<span class="re2">&gt;</span></span></span></div>
</li>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;/project<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
<p>Summary</p>
<p>I hope others find this useful. There are a number of obivious improvements that can be made but I hope it serves to illustrate the general principles. Let me know you all think</p>

	<a class="tag_technorati" href="http://technorati.com/tag/ant" rel="tag">ant</a>, <a class="tag_technorati" href="http://technorati.com/tag/javascript" rel="tag">javascript</a>, <a class="tag_technorati" href="http://technorati.com/tag/rdfquery" rel="tag">rdfquery</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/07/19/combining-minimising-and-distributing-javascripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rdfQuery 1.0 released</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/07/19/rdfquery-10-released/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/07/19/rdfquery-10-released/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 14:16:50 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[rdfquery]]></category>
		<category><![CDATA[Talis]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=524</guid>
		<description><![CDATA[
I travelled down to Oxford last weekend to attend the rdfQuery Dazzle event. Fairly early on we decided that one of the things we wanted to achieve was to get v1.0 of rdfQuery released. This involved a fair bit work, not only did we need to get unit tests working across all the major browsers, [...]]]></description>
			<content:encoded><![CDATA[<p>
I travelled down to Oxford last weekend to attend the <a href="http://swig.networkedplanet.com/dazzle.html">rdfQuery Dazzle</a> event. Fairly early on we decided that one of the things we wanted to achieve was to get v1.0 of rdfQuery released. This involved a fair bit work, not only did we need to get unit tests working across all the major browsers, but we also wanted to fix some of the existing bugs and get documentation written. I spent the bulk of the weekend restructuring the unit test suite so the 1100 unit tests we have could be run together. I also introduced an ant script to make it easy to generate documentation, as well as create distributions. <a href="http://www.jenitennison.com/blog/">Jeni</a> and <a href="http://twitter.com/kal_ahmed">Kal</a> managed to get all the api documentation written, and got rdfQuery working in IE7, IE8, Firefox and Safari. It was a great effort by everyone involved.
</p>
<p>We also spent time talking about some of the Ontology support that Jeni is thinking of adding to rdfQuery, which could be very useful. We also wanted to get some closer integration with the Talis Platform, so I&#8217;ve also been working on adding Changeset support. All in all it was a great weekend.</p>
<p>You can download and learn more about rdfQuery <a href="http://code.google.com/p/rdfquery/">here</a>.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/rdfquery" rel="tag">rdfquery</a>, <a class="tag_technorati" href="http://technorati.com/tag/Talis" rel="tag">Talis</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/07/19/rdfquery-10-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring &#8230;</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/07/19/were-hiring/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/07/19/were-hiring/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 13:00:06 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Talis]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=523</guid>
		<description><![CDATA[We are currently recruiting for a number of different positions at Talis, amongst these are several openings to join our development teams. Rob has already discussed the Web Application Technical Lead role, and I&#8217;ll like to mention that we are also looking for Senior Developers to join both our Platform and Education divisions.

Senior Software Developer [...]]]></description>
			<content:encoded><![CDATA[<p>We are currently recruiting for a <a href="http://www.talis.com/careers">number of different positions</a> at <a href="http://www.talis.com">Talis</a>, amongst these are several openings to join our development teams. <a href="http://www.dynamicorange.com/blog">Rob</a> has already <a href="http://dynamicorange.com/2009/07/15/were-hiring/">discussed the Web Application Technical Lead</a> role, and I&#8217;ll like to mention that we are also looking for Senior Developers to join both our <a href="http://www.talis.com/platform">Platform</a> and <a href="http://blogs.talis.com/education/">Education</a> divisions.
</p>
<p><strong>Senior Software Developer Education</strong></p>
<p>
It is the vision of our Education Division to connect faculties, students and educators together using technology, with the aim of creating joined up learning environments and providing seamless access to education resources and pedagogical expertise. We are currently working on delivering <a href="http://blogs.talis.com/aspire/">Talis Aspire</a> into a number of Higher Education institutions here in the UK and abroad. Aspire is built entirely upon our semantic web platform, and is one of the few truly native linked data applications. Whilst the underlying technology is important, we have to balance this with an excellent user experience. If you are interested in being an early part of publishing large amounts of data on the semantic web? And building truly compelling software that provides an excellent user experience for millions of users, then you might be interested in applying. The job spec provides more details, we only ask that when applying you try to answer <em>two</em> of three questions below:</p>
<ol>
<li>Discuss the different types of automated testing that are needed to maintain high quality<br />
software. What kinds of programming language are best suited to each type of testing? What<br />
automated techniques could be used to test web based applications and user interfaces? And<br />
how can code design and refactoring be affected by choice of language?</li>
<li>When working with data that you do not own, there are no guarantees about the cardinality of<br />
fields or the presence of data you might want to consider mandatory. Traditional approaches to<br />
working with data from elsewhere have relied on cleaning, validating and then importing data<br />
into an application’s own database. The Semantic Web allows data to be shared at runtime.<br />
What techniques or strategies could be employed within an application to handle unreliable or<br />
unexpected data when sharing databases with other applications at runtime?</li>
<li>Web applications are often composed of multiple interoperating systems, connected by APIs or<br />
other endpoints, and deployed across multiple environments. As usage patterns change, the<br />
application may need to scale rapidly, whilst maintaining performance and reliability levels.<br />
How can applications be designed to allow for such scaling?</li>
</ol>
<p><strong>Senior Platform Developer</strong></p>
<p>
Our Platform division is always looking for experienced developers to join the team. The <a href="http://www.talis.com/careers/documents/senior_platform_developer.pdf">job spec</a> for this role provides far more details but when applying we ask that you try and answer at least two of the following three questions:</p>
<ol>
<li>The Web can be modelled as a network of nodes labelled with URLs and connected by directed arcs. Suppose we want to find all the URLs linked to and from any given URL, and all the URLs that are linked from any two given URLs. What kind of data structures might be suitable for representing and querying a network with 10^8 nodes each having between 10 and 50 arcs?</li>
<li>Discuss the different types of automated testing that are needed to maintain high quality software. What kinds of programming language are best suited to each type of testing? What techniques could be used for testing asynchronous processes and for processes that operate over large volumes of data? Are there any situations that you wouldn&#8217;t test?</li>
<li>Large-scale systems composed of many cooperating application servers often need to share and cache configuration. Suppose any server can initiate changes that need to be reflected in real time to the other application servers in the cluster. What strategies could you use for coordinating this kind of behaviour and how are they tolerant to various failure conditions?</li>
</ol>
<p>Finally I think Rob summed it up best when he said: <em>All in all though, we’re looking for great people to come and help us do great stuff. Get in touch!</em></p>

	<a class="tag_technorati" href="http://technorati.com/tag/Talis" rel="tag">Talis</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/07/19/were-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDriver</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/06/14/webdriver/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/06/14/webdriver/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 16:56:28 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[selenium]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=522</guid>
		<description><![CDATA[

Faster than a speeding bullet! Easier to maintain than something that&#8217;s really easy to maintain! Reliable! That&#8217;s what we want from our tests, but how do we get there? This presentation covers key strategies and patterns for writing test suites using WebDriver, a developer focused tool for web application testing similar in spirit to Selenium [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="445" height="364"><param name="movie" value="http://www.youtube.com/v/tGu1ud7hk5I&#038;hl=en&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tGu1ud7hk5I&#038;hl=en&#038;fs=1&#038;color1=0x234900&#038;color2=0x4e9e00&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="445" height="364"></embed></object></p>
<blockquote><p>
Faster than a speeding bullet! Easier to maintain than something that&#8217;s really easy to maintain! Reliable! That&#8217;s what we want from our tests, but how do we get there? This presentation covers key strategies and patterns for writing test suites using WebDriver, a developer focused tool for web application testing similar in spirit to Selenium RC. We&#8217;ll cover why it was written, the problems it addresses and how to integrate it into your projects and testing process.
</p></blockquote>
<p>This talk presented by Simon Stewart, creator of WebDriver, still serves as a useful introduction to the tool, even though the talk itself is a couple of years old and WebDriver has moved on since then.</p>
<p>
I&#8217;ve been experimenting with <a href="http://code.google.com/p/webdriver/">WebDriver</a> as an alternative to <a href="http://seleniumhq.org/">Selenium/Selenium RC</a>, although it is worth bearing in mind that both <a href="http://google-opensource.blogspot.com/2009/05/introducing-webdriver.html">projects are merging</a>. I&#8217;m enjoying getting to grips with WebDriver and am finding that the tight integration between WebDriver and each of the browsers it automates is much faster than Selenium, since it uses the mechanism most appropriate for controlling that browser. For example in Firefox, WebDriver is implemented as an extension, whereas in IE, WebDriver makes use of IE&#8217;s Automation controls. In addition to Firefox and IE, WebDriver also supports the following:</p>
<ul>
<li>Safari 3 on OSX</li>
<li>iPhone</li>
<li>Selenium Emulation</li>
</ul>
<p>It&#8217;s the Selenium Emulation I&#8217;d like to touch upon here, what this basically means is that the Java version of WebDriver provides an implementation of the existing Selenium API, and therefore can an be dropped in as a substitute for the Selenium Driver. Here&#8217;s an example of how you&#8217;d do this:</p>
<p><div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// You may use any WebDriver implementation. Firefox is used here as an example</span></div>
</li>
<li class="li1">
<div class="de1">WebDriver driver = <span class="kw2">new</span> FirefoxDriver<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="co1">// A &quot;base url&quot;, used by selenium to resolve relative URLs</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> baseUrl = <span class="st0">&quot;http://www.google.com&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Create the Selenium implementation</span></div>
</li>
<li class="li1">
<div class="de1">Selenium selenium = <span class="kw2">new</span> WebDriverBackedSelenium<span class="br0">&#40;</span>driver, baseUrl<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Perform actions with selenium</span></div>
</li>
<li class="li1">
<div class="de1">selenium.<span class="me1">open</span><span class="br0">&#40;</span><span class="st0">&quot;http://www.google.com&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">selenium.<span class="me1">type</span><span class="br0">&#40;</span><span class="st0">&quot;name=q&quot;</span>, <span class="st0">&quot;cheese&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">selenium.<span class="me1">click</span><span class="br0">&#40;</span><span class="st0">&quot;name=btnG&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// And get the underlying WebDriver implementation back. This will refer to the</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// same WebDriver instance as the &quot;driver&quot; variable above.</span></div>
</li>
<li class="li1">
<div class="de1">WebDriver driverInstance = <span class="br0">&#40;</span><span class="br0">&#40;</span>WebDriverBackedSelenium<span class="br0">&#41;</span> selenium<span class="br0">&#41;</span>.<span class="me1">getUnderlyingWebDriver</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>This allows for WebDriver and Selenium to live side-by-side, and provides developers with a simple mechanism for a managed migration from the existing Selenium API to WebDriver. I&#8217;m still experimenting with it but I have to admit I really like it simplicity.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/selenium" rel="tag">selenium</a>, <a class="tag_technorati" href="http://technorati.com/tag/Testing" rel="tag">Testing</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/06/14/webdriver/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yusuf Islam, the Cat of Old</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/06/11/yusuf-islam-the-cat-of-old/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/06/11/yusuf-islam-the-cat-of-old/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 21:22:57 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=521</guid>
		<description><![CDATA[
You ever had one of those days when you get home from work, your tired, but you carry on working because there always seems far more to do than time to do it in? you feel like you want to find a way of picking yourself up out of whatever temporary rut you feel yourself [...]]]></description>
			<content:encoded><![CDATA[<p>
You ever had one of those days when you get home from work, your tired, but you carry on working because there always seems far more to do than time to do it in? you feel like you want to find a way of picking yourself up out of whatever temporary rut you feel yourself in? Well yesterday was like that I think I must have stopped around 11ish. Rather than hit the sack I made myself some tea ( courtesy of <a href="http://www.zachbeauvais.com/">Zach</a> ), and started to flick through channels. I&#8217;ve noticed that I have a tendency to do that, a lot! there&#8217;s nothing you actually want to watch, so you just flick through until something vaguely interesting catches your eye. And something did, I stopped on BBC Four and caught the last few minutes of  Alan Yentob&#8217;s Interview with Yusuf Islam (formerly known as Cat Stevens), from 2006.
</p>
<p>I&#8217;d never seen the full interview before, and yet the image I was confronted with on the screen, of this bearded man playing this acoustic guitar and singing in this beautifully melodic voice just made me want to listen (at the 45 minute mark). It was curious I suppose that I&#8217;d tuned in just in time to listen to Alan Yentob ask him the question&#8221;:</p>
<blockquote><p>
&#8220;After all those years of resistance you&#8217;ve now picked up the guitar again. Do you think you have allowed yourself to sort of take a position you didnt feel this literalism about Islam which a lot of people find difficult to accept. Some people might say to that extent you&#8217;ve been brainwashed perhaps?&#8221;</p>
<p>Yusuf Islam:<br />
&#8220;The positions that I took previously, I held fast to them because I believed them to be true. However, one only has to look at history, it wasn&#8217;t long ago when we discover, guess what, the guitar was probably introduced to Europe, through Spain by the Muslims. Now I&#8217;m saying, hang on, What? you know&#8230; and thats a reality. When I learned something better I moved, and that&#8217;s what you&#8217;ve got to do. I think we must not, ever, take the position that we know it all. God may show you something you never knew yesterday,we&#8217;ve got to be ready for that&#8221; &#8230;</p>
<p>Alan Yentob:<br />
&#8220;Is there a message in these songs as you pick up this guitar again?&#8221;</p>
<p>Yusuf Islam:<br />
&#8220;There is certainly a change in the wind and the way in which there is now a chance for a new understanding of the moderate middle path of Islam because the extremes have been exposed. A lot of people have missed the whole point, including some Muslims, who have gone off on some kind of..their own..strategy of trying to improve the world through some kind of devious means that has nothing to do with Islam, and yet is supposed to be in the name of Islam. The word Islam itself comes from the word &#8216;peace&#8217; now that is the heart and soul of this religion. I discovered that, I&#8217;ve done that journey and perhaps I can help others to feel a bit more assured that in fact a lot of Muslims in this world, the vast majority just want to live a happy life and be at peace with the rest of the world&#8221;
</p></blockquote>
<p>I think there&#8217;s something wonderfully uplifting in his words, and in his music. His sentiments are nothing new to many muslims yet sadly social the perception of Islam and Muslims seems to be growing more and more negative as the actions of an extremist minority are used to label all Muslims are radicals. In fact I remember storming off in a rage as I watched the European election results and listened to Nick Griffin, the leader of the BNP, explain that stopping the spread of radical Islam was one of the reasons people had voted for him.
</p>
<p>After the interview ended the BBC aired a hour long &#8216;BBC Four Session&#8217; featuring Yusuf singing a number of his songs, both old and new, from a concert in Porchester Hall several years ago. I stayed up and watched the show and found myself being moved more and more by his songs and their message. I even ended up downloading several of his recent albums on iTunes as I watched the performance on tv &#8211; although I&#8217;m not sure if my colleagues appreciated that  since I was humming, and singing along to them as I worked in the office today <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>
Rather than pick up the laptop and work this evening, I decided to see if I could find that interview and watch it all, sadly BBC iPlayer doesn&#8217;t have it, however it does still have the &#8216;<a href="http://www.bbc.co.uk/iplayer/episode/b007d8r4/BBC_Four_Sessions_Yusuf_Islam/">BBC Four Session &#8211; Yusuf Islam</a>&#8216; which is available to watch &#8211; it&#8217;s a wonderful concert, an inspired performance which I certainly recommend. </p>
<p>After searching on Google I did eventually find the Interview, there&#8217;s a copy hosted on Google Video ( disclaimer: it&#8217;s hosted by an organisation called &#8216;Turn To Islam&#8217;. I have no idea what this organisation is, I simply wanted to link to the video). I&#8217;m glad I watched it all Yusuf describes his early life, his celebrity status, his, his conversion to islam, and his return to performing. Perhaps the most moving part of the interview is when he describes his battle with tuberculosis &#8211; which will resonate with anyone who has ever found themselves lying in a hospital bed reflecting on their life, and where they are headed, particularly when he says <em>&#8220;.. in that hospital I developed some insights which then later fed into my music &#8230; into my journey&#8221;</em> &#8230; a poignant sentiment that touched me deeply given my own experience.
</p>
<p>
<embed width="570" height="480" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" menu="false" quality="best" wmode="" src="http://video.google.com/googleplayer.swf?docId=7767065682886453985"/>
</p>
<p>Yusuf Islam is an amazing man, who truly inspires.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/inspiration" rel="tag">inspiration</a>, <a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/06/11/yusuf-islam-the-cat-of-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jin-Roh: The Wolf Brigade</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/05/25/jin-roh-the-wolf-brigade/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/05/25/jin-roh-the-wolf-brigade/#comments</comments>
		<pubDate>Mon, 25 May 2009 18:25:35 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=520</guid>
		<description><![CDATA[It&#8217;s not often I watch an anime, or any movie, that not only moves me but forces me to ask questions about society and our shared humanity. Jin-Roh is a title that has hovered around my awareness for years but I&#8217;ve never gotten around to watching it, at least not until today. It&#8217;s an exquisite [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.co.uk/Jin-Roh-DVD/dp/B000RWDY4K/"><img src="http://ecx.images-amazon.com/images/I/41jZc7tTaWL._SL500_AA240_.jpg" align="right" /></a>It&#8217;s not often I watch an anime, or any movie, that not only moves me but forces me to ask questions about society and our shared humanity. Jin-Roh is a title that has hovered around my awareness for years but I&#8217;ve never gotten around to watching it, at least not until today. It&#8217;s an exquisite work that transcends genre.</p>
<p>The story is complex and full of depth and some strong characterization, this a very serious movie; so for those who Ilike your robots and bikini girls, with hyper-guns and the whoosh of rapid-fire manga, this is probably not for you! This movie is thoughtful and contemplative &#8230; and will leave you feeling introspective.</p>
<p>The story is set in an alternate reality in which Japan has emerged from the second world war as Totalitarian society&#8230; <em>The population riots, a group called the Sect creates havoc, and the armored Special Unit of the Capitol Police Organization (CAPO) plots to acquire more power. A soldier named Fuse, who was once one of the most formidable men in the Special Unit, agonizes over the death of a young girl who worked for the Sect and in doing so he becomes a neurotic mess intent on befriending the dead girl&#8217;s sister.</em></p>
<p>The opening ten minutes of the movie hooks you,  it begins with a chase  under the streets of a rioting city in whic two groups, Sect and the CAPO, which represent two diametrically opposed points of view come into violent conflict. Away from the riots, and killing, a heavily armed trooper hunts and corners a mule, a young girl carrying explosives for use against the police forces. The rest of movie is revolves entirely around the question of why the soldier does not shoot her, its a question that occupies the lead character, his co-workers and us as the audience as we watch him and wonder we can&#8217;t let go of her self imposed death. This is a slow serious story, about suicide bombings, and blindly following orders, and humanity&#8217;s growth or lack of growth.
</p>
<p>What surprised me the most was how much this story borrowed heavily from the tale of Little Red Riding Hood, it&#8217;s difficult to go into examples with ruining the rest of the story, however the female terrorists who carry bombs for the Sect are known as &#8220;Red Riding Hoods,&#8221; and Kei, reads a bloody version of the tale to Fuse throughout the film. The dialogue is fully of ethical question and moralistic observations, consantly question what it means to be human, for example when Fuse superior observes:</p>
<p>
<blockquote>&#8220;We aren&#8217;t men disguised as dogs. We&#8217;re wolves disguised as men.&#8221;</p></blockquote>
<p>and he also when another of his superiors makes observation with regards to society:</p>
<p>
<blockquote>.&#8221;.. apparently some animals when they dominate a group kill all the offspring of the other males under them, sometimes organisations do the same&#8221;</p></blockquote>
<p>In my opinion Jin-Roh is a true masterpiece, and anyone who watches it will not be disappointed.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Anime" rel="tag">Anime</a>, <a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/05/25/jin-roh-the-wolf-brigade/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Anime Reviews: Afro Samurai Resurrection, plus more.</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/05/25/anime-reviews-afro-samurai-resurrection-plus-more/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/05/25/anime-reviews-afro-samurai-resurrection-plus-more/#comments</comments>
		<pubDate>Mon, 25 May 2009 11:19:36 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anime]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=519</guid>
		<description><![CDATA[Afro Samurai:ResurrectionLast September I reviewed Afro Samurai which was one of the best anime&#8217;s I&#8217;d seen in a long time. By the end of the first movie Afro had avenged his father and found a life of peace. In this sequel that peace is shattered by the arrival of a woman from his past (Sio, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.co.uk/exec/obidos/ASIN/B001RNXYYS/"><img src="http://ecx.images-amazon.com/images/I/51i0H4mVGTL._SL500_AA240_.jpg" align="right"/></a><br/><strong>Afro Samurai:Resurrection</strong><br/>Last September I reviewed <a href="http://www.virtualchaos.co.uk/blog/2008/09/14/some-quick-anime-reviews/">Afro Samurai</a> which was one of the best anime&#8217;s I&#8217;d seen in a long time. By the end of the first movie Afro had avenged his father and found a life of peace. In this sequel that peace is shattered by the arrival of a woman from his past (Sio, voiced by Lucy Liu) who is intent in schooling Afro in the same brutal lessons he dealt those who stood in his way as he searched for the number one headband.  In a revenge fuelled attack, Sio steals the number 1 headband as well as the skull of Afro&#8217;s dead father. With this she intends to resurrect Afro&#8217;s late father and torture him. This movie sees Afro restart his journey, he must first find the Number Two Headband so that he can earn the right to challenge Sio. Samuel L. Jackson reprises his role as Afro and again provides the voice of &#8216;Ninja Ninja&#8217; Afro&#8217;s imaginary who symbolizes his inner feelings and always acts as the voice of Afro&#8217;s conscience.<br/><br />
Like the original series, Afro Samurai provides some great action with plenty of gore and limbs flying around the place, as well as the usual bittersweet, and often tragic drama that asks some pretty profound morale questions. The visual style of the animation is stunning, as is the  musical score, which was performed once again by RZA of the Wu-Tang Clan. It&#8217;s a great continuation of one the best anime series I&#8217;ve seen in a long time.</p>
<p><a href="http://www.amazon.co.uk/exec/obidos/ASIN/B000O1O6KA/"><img src="http://ecx.images-amazon.com/images/I/517s2%2BRQv4L._SL500_AA240_.jpg" align="right" /></a><br/><strong>Hellsing &#8211; The Collection</strong><br/>The Hellsing Organization is a supernatural collective dedicated to protecting mankind from a war that rages in the Earth&#8217;s shadows in which humanity is only a pawn. Able to keep the dark forces at bay for so long, Hellsing has recently been coming across artificially spawned vampires so powerful that they can do nothing to stop them. So, the Organization calls in Alucard, a rogue vampire who combats this army of the undead with Seras Victoria, a female companion he rescued from death by vampirising. Whilst I found this series entertaining, and I did enjoy it a lot. It didn&#8217;t really feel like it had any depth. The series tries to build an aura of mystery surrounding Alucard and yet never really succeeds in explaining why such a powerful vampire decided to become a servant to a human master. Everyone should also also realise fairly quickly that &#8216;Alucard&#8217; is an anagram of &#8216;Dracula&#8217;.</p>
<p><a href="http://www.amazon.co.uk/exec/obidos/ASIN/B00149XOW2/"><img src="http://ecx.images-amazon.com/images/I/51-Oe8JMXwL._SL500_AA240_.jpg" align="right"/></a><br/><strong>Mysterious Cities of Gold</strong><br/>Ok, so this isn&#8217;t really what I&#8217;d class as anime, but it is animation <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  I recall how much in enjoyed this series as a child and couldn&#8217;t resist purchasing it when it became available last year. It&#8217;s take a while to watch it all, and I can report that it is still as wonderful now as it was then. For those who have never seen this or even heard of it, I recommend it thoroughly. This series comes from an era when story telling was paramount, watching it again I was surprised at how the series, although humorous and fun, required more maturity on the part of the audience than the sort of vacuous cartoons kids seem to watch these days. Plus I&#8217;ve always loved the opening score &#8230;</p>
<p align="center">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/LbVNZ-cghz0&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/LbVNZ-cghz0&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

	<a class="tag_technorati" href="http://technorati.com/tag/Anime" rel="tag">Anime</a>, <a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/05/25/anime-reviews-afro-samurai-resurrection-plus-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8230; i&#8217;m married :)</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/05/19/im-married/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/05/19/im-married/#comments</comments>
		<pubDate>Tue, 19 May 2009 08:48:11 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=518</guid>
		<description><![CDATA[
Many people have been mailing me and asking why I haven&#8217;t blogged in a few months, and where I have been. Well in short I took a month off to get married to Sadia   We are both very happy  . I&#8217;ve started putting pictures of our wedding into a set on flickr [...]]]></description>
			<content:encoded><![CDATA[<p>
Many people have been mailing me and asking why I haven&#8217;t blogged in a few months, and where I have been. Well in short I took a month off to get married to Sadia <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  We are both very happy <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> . I&#8217;ve started putting pictures of our wedding into a set on flickr <a href="http://www.flickr.com/photos/kiyanwang/sets/72157618115183253/">here</a>, as well as some general scenic shots taken around Kashmir into a different set <a href="http://www.flickr.com/photos/kiyanwang/sets/72157617303088713/">here</a>. I have around 3,500 photos to organise and upload so you&#8217;ll have to bear with me <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Here&#8217;s a couple from the wedding pictures set:
</p>
<p align="center">
<a href="http://www.flickr.com/photos/kiyanwang/3534475338/sizes/l/in/set-72157618115183253/"><img src="http://farm3.static.flickr.com/2140/3534475338_382dabfc31_m.jpg" /></a><br />
<br/><br />
<a href="http://www.flickr.com/photos/kiyanwang/3534484076/sizes/l/in/set-72157618115183253/"><img src="http://farm3.static.flickr.com/2256/3534484076_02dea8015d_m.jpg" /></a></p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/05/19/im-married/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Seth Godin on the tribes we lead</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/05/19/seth-godin-on-the-tribes-we-lead/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/05/19/seth-godin-on-the-tribes-we-lead/#comments</comments>
		<pubDate>Tue, 19 May 2009 08:27:12 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Talis]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=517</guid>
		<description><![CDATA[



Seth Godin argues the Internet has ended mass marketing and revived a human social unit from the distant past: tribes. Founded on shared ideas and values, tribes give ordinary people the power to lead and make big change. He urges us to do so.


This is a great talk by Seth Godin,  here&#8217;s how he [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/SethGodin_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/SethGodin-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=538" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/SethGodin_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/SethGodin-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=538"></embed></object>
</p>
<blockquote><p>
Seth Godin argues the Internet has ended mass marketing and revived a human social unit from the distant past: tribes. Founded on shared ideas and values, tribes give ordinary people the power to lead and make big change. He urges us to do so.
</p></blockquote>
<p>
This is a great talk by <a href="http://www.sethgodin.com/sg/">Seth Godin</a>,  here&#8217;s how he describes Tribes &#8230;
</p>
<blockquote><p>
 What tribes are, is a very simple concept that goes back 50 thousand years. It&#8217;s about leading and connecting people and ideas. And it&#8217;s something that people have wanted forever. Lots of people are used to having a spiritual tribe, or a church tribe, having a work tribe, having a community tribe. But now, thanks to the internet, thanks to the explosion of mass media, thanks to a lot of other things that are bubbling through our society around the world, tribes are everywhere.<br/></p>
<p>The internet was supposed to homogenize everyone by connecting us all. Instead what it&#8217;s allowed is silos of interest. So you&#8217;ve got the red-hat ladies over here. You&#8217;ve got the red-hat triathletes over there. You&#8217;ve got the organized armies over here. You&#8217;ve got the disorganized rebels over here. You&#8217;ve got people in white hats making food. And people in white hats sailing boats. The point is that you can find Ukrainian folk dancers. And connect with them &#8230; You can tell when you&#8217;re running into someone in a tribe. And it turns out that it&#8217;s tribes, not money, not factories, that can change our world, that can change politics, that can align large numbers of people. Not because you force them to do something against their will. But because they wanted to connect &#8230; That what we do for a living now, all of us, I think, is find something worth changing, and then assemble tribes that assemble tribes that spread the idea and spread the idea. And it becomes something far bigger than ourselves.<br/>
</p></blockquote>
<p>
The talk resonates deeply with me at the moment particularly given that I&#8217;m currently thinking long and hard about what leadership actually means, how to build teams, what to look for when recruiting people, how to ensure everyone feels that they are empowered and that their contributions are valued. However the more I think about it the more I&#8217;m beginning to believe that whilst its possible to create an environment in which people can have the freedom to affect change it ultimately requires the individual to first believe in what they are doing, to have committed to it and to the people around them. They will then  want to move things forward, improve things, affect real change and want to break the status quo. Seth crystallizes this sentiment beautifully in this talk when he says &#8230;
</p>
<blockquote><p>
What all these people have in common is that they are heretics. That heretics look at the status quo and say, This will not stand. I can&#8217;t abide this status quo. I am willing to stand up and be counted and move things forward. I see what the status quo is. I don&#8217;t like it. That instead of looking at all the little rules and following each one of them, that instead of being what I call a sheepwalker, somebody who&#8217;s half asleep, following instructions, keeping their head down, fitting in, every once in a while someone stands up and says, &#8220;Not me.&#8221; Someone stands up and says, &#8220;This one is important. We need to organize around it.&#8221; And not everyone will. But you don&#8217;t need everyone. You just need a few people (Laughter) who will look at the rules, realize they make no sense, and realize how much they want to be connected.<br/><br />
 &#8230; <br/><br />
You don&#8217;t need permission from people to lead them. But in case you do, here it is. They&#8217;re waiting, we&#8217;re waiting for you to show us where to go next. So here is what leaders have in common. The first thing is, they challenge  the status quo. They challenge what&#8217;s currently there. The second thing is, they build a culture. A secret language, a seven second handshake. A way of knowing that you&#8217;re in or out. They have curiosity. Curiosity about people in the tribe. Curiosity about outsiders. They&#8217;re asking questions. They connect people to one another. Do you know what people want more than anything? They want to be missed. They want to be missed the day they don&#8217;t show up. They want to be missed when they&#8217;re gone. And tribe leaders can do that. It&#8217;s fascinating because all tribe leaders have charisma. But you don&#8217;t need charisma to become a leader. Being a leader gives you charisma. If you look and study the leaders who have succeeded,  that&#8217;s where charisma comes from, from the leading. Finally, they commit. They commit to the cause. They commit to the tribe. They commit to the people who are there.
</p></blockquote>
<p>
This is a great, passionate and deeply profound talk and I recommend everyone take the time to watch it.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/Talis" rel="tag">Talis</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/05/19/seth-godin-on-the-tribes-we-lead/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifes too short &#8211; write fast code!</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/03/19/lifes-too-short-write-fast-code/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/03/19/lifes-too-short-write-fast-code/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 08:56:37 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=516</guid>
		<description><![CDATA[

ABSTRACT
This is the second talk that follows-up on the 14 best practices from YSlow and &#8220;High Performance Web Sites&#8221;. The first talk presented three new best practices: Split the Initial Payload, Load Scripts Without Blocking, and Don&#8217;t Scatter Inline Scripts.
The most important of these is loading external scripts without blocking other downloads and preventing page [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/52gL93S3usU&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/52gL93S3usU&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<blockquote><p>
ABSTRACT</p>
<p>This is the second talk that follows-up on the 14 best practices from YSlow and &#8220;High Performance Web Sites&#8221;. The first talk presented three new best practices: Split the Initial Payload, Load Scripts Without Blocking, and Don&#8217;t Scatter Inline Scripts.</p>
<p>The most important of these is loading external scripts without blocking other downloads and preventing page rendering. One complication is this may introduce undefined symbol errors if inlined code uses symbols from the external scripts. Luckily, there are several techniques to workaround this problem. That and other topics will be covered in this presentation of three more best practices:</p>
<p>* Coupling Asynchronous Scripts<br />
* Use Iframes Sparingly<br />
* Flush the Document Early
</p></blockquote>
<p><a href="http://www.amazon.co.uk/gp/product/0596529309/"><img src="http://ecx.images-amazon.com/images/I/518a1LAmqqL._SL500_AA240_.jpg" align="right" /></a>Much of this talk discusses material from Steve&#8217;s book, <em>High Performance Websites: Essential Knowledge for Front-End Engineers</em>. The talk is full of great advice, I found the discussion around loading scripts both synchronously and asynchronously and the performance gains that can be achieved. However this has to be combing with understanding that you also have to couple scripts together in order to preserver the order they are loaded in, as well as understanding that by default loading external scripts blocks download of other elements on the page. Steve discusses a number of techniques that can address these issues as well as the pros and cons associated with each. His discussion around John Resigs idea of using <em>degrading script tags</em> is extremely useful.</p>
<p>This is a hugely useful tech talk and a must for anyone doing serious Javascript development.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Development" rel="tag">Development</a>, <a class="tag_technorati" href="http://technorati.com/tag/javascript" rel="tag">javascript</a>, <a class="tag_technorati" href="http://technorati.com/tag/Tech+Talk" rel="tag">Tech Talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/03/19/lifes-too-short-write-fast-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tim Berners-Lee: The next Web of open, linked data</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/03/16/tim-berners-lee-the-next-web-of-open-linked-data/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/03/16/tim-berners-lee-the-next-web-of-open-linked-data/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 09:09:22 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linked-data]]></category>
		<category><![CDATA[semantic-web]]></category>
		<category><![CDATA[sir_tim_berners_lee]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=515</guid>
		<description><![CDATA[

20 years ago, Tim Berners-Lee invented the World Wide Web. For his next project, he&#8217;s building a web for open, linked data that could do for numbers what the Web did for words, pictures, video: unlock our data and reframe the way we use it together.

This is an inspiring talk by Tim that goes to [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=484" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/TimBerners-Lee_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/TimBerners-Lee-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=484"></embed></object></p>
<blockquote><p>
20 years ago, Tim Berners-Lee invented the World Wide Web. For his next project, he&#8217;s building a web for open, linked data that could do for numbers what the Web did for words, pictures, video: unlock our data and reframe the way we use it together.
</p></blockquote>
<p>This is an inspiring talk by Tim that goes to the heart of the work that we are doing at <a href="http://www.talis.com">Talis</a> with our <a href="http://www.talis.com/platform">Platform</a> and the new generation of products we are building on the platform, such as <a href="http://www.talis.com/aspire">Talis Aspire</a> and <a href="http://www.talis.com/prism">Talis Prism</a>.
</p>
<blockquote>
<pre>
    "Data is relationships!"

    "The really important thing about data is that the more  things
       that you have to connect together the more powerful it is."
</pre>
</blockquote>
<p>
A wonderfully simple and succinct way of describing the importance of <a href="http://linkeddata.org/">Linked Data</a>. It&#8217;s a great talk and well worth watching.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/linked-data" rel="tag">linked-data</a>, <a class="tag_technorati" href="http://technorati.com/tag/semantic-web" rel="tag">semantic-web</a>, <a class="tag_technorati" href="http://technorati.com/tag/sir_tim_berners_lee" rel="tag">sir_tim_berners_lee</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/03/16/tim-berners-lee-the-next-web-of-open-linked-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;The Sixth Sense&#8221; &#8211; Wearable Tech</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/03/12/the-sixth-sense-wearable-tech/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/03/12/the-sixth-sense-wearable-tech/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 09:00:09 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gesture-interface]]></category>
		<category><![CDATA[interaction-design]]></category>
		<category><![CDATA[user-interfaces]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=514</guid>
		<description><![CDATA[

This demo &#8212; from Pattie Maes&#8217; lab at MIT, spearheaded by Pranav Mistry &#8212; was the buzz of TED. It&#8217;s a wearable device with a projector that paves the way for profound interaction with our environment. Imagine &#8220;Minority Report&#8221; and then some!

Think Microsoft Surface without the table! This is amazing. The basic idea is that [...]]]></description>
			<content:encoded><![CDATA[<p><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/PattieMaes_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/PattieMaes-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=481" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/PattieMaes_2009-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/PattieMaes-2009.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=481"></embed></object></p>
<blockquote><p>
This demo &#8212; from Pattie Maes&#8217; lab at MIT, spearheaded by Pranav Mistry &#8212; was the buzz of TED. It&#8217;s a wearable device with a projector that paves the way for profound interaction with our environment. Imagine &#8220;Minority Report&#8221; and then some!
</p></blockquote>
<p>Think Microsoft Surface without the table! This is amazing. The basic idea is that this device can augment our reality by providing information about objects we interact with in the real world. This immediate access to information at all times reminds me of Cory Doctorow&#8217;s book &#8220;Down and out in the Magic Kingdom&#8221;. </p>

	<a class="tag_technorati" href="http://technorati.com/tag/gesture-interface" rel="tag">gesture-interface</a>, <a class="tag_technorati" href="http://technorati.com/tag/interaction-design" rel="tag">interaction-design</a>, <a class="tag_technorati" href="http://technorati.com/tag/user-interfaces" rel="tag">user-interfaces</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/03/12/the-sixth-sense-wearable-tech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anime Reviews &#8230;</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/02/22/anime-reviews/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/02/22/anime-reviews/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 14:46:55 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Anime]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=513</guid>
		<description><![CDATA[Seem to have watched a lot of anime over the last few months. Here&#8217;s a couple of brief reviews:
Guyver: The Bioboosted ArmourThis new 26 part collection is a modern makeover  of the original classic 1980&#8217;s anime series. Based on Yoshiki Takaya&#8217;s popular manga. The remake boasts a wonderful soundtrack with stunningly stylized animation and [...]]]></description>
			<content:encoded><![CDATA[<p>Seem to have watched a lot of anime over the last few months. Here&#8217;s a couple of brief reviews:</p>
<p><a href="http://www.amazon.co.uk/Guyver-Bioboosted-Armor-Complete-Collection/dp/B0018QGBEO/"><img src="http://ecx.images-amazon.com/images/I/51OSpXEnphL._SL500_AA240_.jpg" align="right"/></a><strong>Guyver: The Bioboosted Armour</strong><br/>This new 26 part collection is a modern makeover  of the original classic 1980&#8217;s anime series. Based on Yoshiki Takaya&#8217;s popular manga. The remake boasts a wonderful soundtrack with stunningly stylized animation and character designs as well as amped-up levels of violence and gore. I wasn&#8217;t entirely sure what I&#8217;d think of this series, I loved the classic series which was way ahead of its time and was hugely skeptical of this remake. The Guyver tells the story of Sho Fukamachi, a normal everyday teenager who accidentally comes into contact with a power bio-weapon called a Guyver unit. To his surprise and horror, this mysterious unit takes over Sho&#8217;s body and transforms him into an incredibly powerful mechanized warrior. With his newfound powers, Sho must protect the people he cares about from the sinister Chronos Corporation and their army of monsters (called Zoanoids) who will stop at nothing to retrieve the Guyver for their own devices and eliminate anyone who knows of it&#8217;s existence. I have to admit, I really enjoyed this series!!</p>
<p><a href="http://www.amazon.co.uk/Akira-Ultimate-Collection-Nozomu-Sasaki/dp/B00009MGHU"><img src="http://ecx.images-amazon.com/images/I/5105XYT703L._SL500_AA240_.jpg" align="right" /></a><strong>Akira</strong><br/>I first watched Akira when I was only eleven years old, it was the first anime movie I had ever seen and changed my perception of &#8216;cartoons&#8217; forever. Even today the animation doesn&#8217;t look dated at all largely due to the attention to every conceivable detail. Set in 2019, the film richly imagines the new metropolis of Neo-Tokyo, which is designed from huge buildings down to the smallest details of passing vehicles or police uniforms. The movie centers around the relationship between two disaffected orphan teenagers: the slight, somewhat timid and resentful Tetsuo and confident, breezy Kanada. Both of them are members of biker gang, but trouble grows when Tetsuo start to resent the way Kanada always has to rescue him. Meanwhile, a group of scientists, military men and politicians wonder what to do with a collection of withered children who possess enormous psychic powers, especially the mysterious, rarely seen Akira, whose awakening might well have caused the end of the old world. Tetsuo is visited by the children, who trigger the growth of psychic and physical powers that might make him a superman or a super-monster. You can read a detailed summary of the plot <a href="http://en.wikipedia.org/wiki/Akira_(film)">here</a>. Akira is one of the most critically acclaimed of all anime titles and since its release in 1988 has been massively important in influencing the entire genre. I watch it from time to time and never seem to tire of it.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Anime" rel="tag">Anime</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/02/22/anime-reviews/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2009 an update &#8230;</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/02/22/2009-an-update/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/02/22/2009-an-update/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 13:20:07 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linked-data]]></category>
		<category><![CDATA[omnius]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[rdfa]]></category>
		<category><![CDATA[Talis]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=512</guid>
		<description><![CDATA[During a conversation with a certain cat loving friend of mine earlier on in the week it was suggested to me that its been a while since I&#8217;ve blogged anything other than short pieces highlighting bits of news or content out there on the web. She&#8217;s absolutely right. So here&#8217;s an update on 2009 so [...]]]></description>
			<content:encoded><![CDATA[<p>During a conversation with a certain cat loving friend of mine earlier on in the week it was suggested to me that its been a while since I&#8217;ve blogged anything other than short pieces highlighting bits of news or content out there on the web. She&#8217;s absolutely right. So here&#8217;s an update on 2009 so far, and what the next few months hold &#8230;</p>
<p>The last three or four months have been particularly busy for me.  I took a long holiday before Christmas in order to give myself time to reflect on everything that happened in 2008. As far as year&#8217;s go it pretty much sucked! I had a lot of personal stuff to deal with most of it around coping, or failing to cope, with the deaths of a number of people who were close to me &#8211; including my father. I&#8217;m pretty good at burying myself in work as a way of not having to deal with other things unfortunately that only works for so long, in fact I&#8217;m surprised I actually got to the end of the year before finally accepting that things were broken inside. I&#8217;m lucky though, I have a lot people around me who keep an eye on me, and care enough to give me a kick when I need it &#8211; and they did. I was convinced to switch off from work and everything related to work and focus on dealing with the things that I knew I needed to.My hiatus over christmas was spent with my family trying to understand everything that had happened last year which inevitably meant finally accepting that I needed to grieve.</p>
<blockquote>
<pre>
I sometimes hold it half a sin
To put in words the grief I feel;
For words, like Nature, half reveal
And half conceal the Soul within.

     from In Memorium, Alfred Lord Tennyson
</pre>
</blockquote>
<p>
So I wanted to firmly place the events of 2008 in the past and move forwards again. 2008 was painful and difficult yet I also enjoyed a number of personal and professional successes. In 2009 I want build on those successes, and leave the past firmly where it is.</p>
<p>In terms of my personal life there are already some big changes I&#8217;m in making but I&#8217;ll leave discussing that for another day, suffice to say that I think I&#8217;m happier now than I have been in years <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .
</p>
<p>Professionally I was appointed <a href="http://www.talis.com/xiphos">Head of Development for our Xiphos Division at Talis</a>. I&#8217;m still trying to settle into the role which brings its own challenges <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . However leading up to christmas our division had successfully entered into piloting  a new product called <a href="http://www.talis.com/aspire/">Aspire</a> at Plymouth University and since then it&#8217;s also been deployed as part of a wider pilot at Sussex University. Functionally Aspire is a resource lists product that helps lecturers and students make best use of the educational material for their courses. Technically Aspire is a <a href="http://linkeddata.org/">Linked Data</a> application built directly on top of our <a href="http://www.talis.com/platform/">Talis Platform</a>, a platform that provides the infrastructure for building Semantic Web applications. I&#8217;m loving the work, its technically very challenging there&#8217;s so many different things that need to be considered. Lots of people and organisations are talking about the semantic web but there&#8217;s only a relatively small number of organisations that are actually building real world products and solutions using these technologies &#8211; products and solutions that are actually targeted at end users &#8211; for me this is primarily why the work is both exciting and hugely rewarding.</p>
<p>Building Aspire is forcing us to innovate and explore ideas and possibilities that we might not have otherwise considered. A case in point is the way in which we have embedded RDFa into the our list page and our editing tool manipulates this model directly within the HTML DOM simplifying the process. This is discussed in a <a href="http://www.w3.org/2001/sw/sweo/public/UseCases/Talis/">W3C Case Study</a>,  and was commented upon <a href="http://ivan-herman.name/2009/01/14/a-different-usage-of-rdfa/">by Ivan Hermann last month</a>. Much of the work we are doing at the moment is around adding more features to Aspire during our beta phase. Whilst part of this will be around specific features aimed at users, we are also looking at linking to other data sets and exploring what we else can do within this ecosystem of rich semantic data.</p>
<p>Finally, I mentioned on several occasions last year about work I was doing in my own time around building a tool that aided in visualising and exploring the socio-semantic web. That work got shelved towards the end of 2008 largely because I couldn&#8217;t focus on it with everything else that was going on. However a new year, a new beginning means that project now has a new lease of life &#8230; and it finally has a name: <strong>Omnius</strong>. It&#8217;s named after a <a href="http://en.wikipedia.org/wiki/Omnius">thinking machine from the Legends of Dune series</a> which I was re-reading around the time I was thinking about a name for this project. I had actually wanted to call it <a href="http://en.wikipedia.org/wiki/Erasmus_(Dune)">Erasmus</a> but that name had already been taken on google code ( and erasmus_browser  sounded sucky! ). <a href="http://code.google.com/p/omnius/">I&#8217;ve created home for this project on google code</a>, I&#8217;ll be adding more information very soon. However please remember I am only working on this during my spare time, for me its both a hobby and an interesting technical (and UX) diversion &#8230; it hasn&#8217;t yet turned into an obsession so the rate at which I&#8217;ll be adding to it is limited in terms of the time I&#8217;m able to devote to it <img src='http://www.virtualchaos.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>&#8230; so watch this space.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/linked-data" rel="tag">linked-data</a>, <a class="tag_technorati" href="http://technorati.com/tag/omnius" rel="tag">omnius</a>, <a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>, <a class="tag_technorati" href="http://technorati.com/tag/rdfa" rel="tag">rdfa</a>, <a class="tag_technorati" href="http://technorati.com/tag/Talis" rel="tag">Talis</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/02/22/2009-an-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Palestinian Perspective: What the world looks like from the West Bank</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/02/22/the-palestinian-perspective-what-the-world-looks-like-from-the-west-bank/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/02/22/the-palestinian-perspective-what-the-world-looks-like-from-the-west-bank/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 11:24:38 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=511</guid>
		<description><![CDATA[

ABSTRACT
When I first visited the Palestinian territories, I was afraid I would have to hide my identity as an American and possibly wear a headscarf. To my surprise, I was warmly welcomed exactly as I was, and after more than two years living and working there, it remains one of my favorite spots on earth. [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/oSkevV-CoO4&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/oSkevV-CoO4&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<blockquote><p>
ABSTRACT</p>
<p>When I first visited the Palestinian territories, I was afraid I would have to hide my identity as an American and possibly wear a headscarf. To my surprise, I was warmly welcomed exactly as I was, and after more than two years living and working there, it remains one of my favorite spots on earth. The people are charming and generous, the landscape is gorgeous, and the parties, concerts, and beer gardens in Ramallah are world-class.</p>
<p>But behind all this looms the conflict, the occupation, and violence. Since September 2000, more than 5,500 Palestinians and 1,100 Israelis have been killed. A series of walls, fences, roadblocks, checkpoints, army bases, and settlements keep the Palestinians in the West Bank under an almost constant state of siege and strangle the economy of many towns and villages, including Bethlehem. Gaza has been turned into an open-air prison whose desperate inmates can only get vital supplies through smuggling tunnels &#8212; which also transport weapons that Palestinian militants use to target Israeli civilians.</p>
<p>Using photographs, stories, and statistics, this presentation colors in the Palestinian experience, with all its complexity and contradictions, as it is rarely shown on the news or in books. It is a fascinating world of beauty and terror, of hospitality and homicide, of the absurd and the sublime constantly together &#8212; a microcosmic view of a little-understood human story with global implications.</p>
<p>Speaker: Pamela Olson<br />
Pamela Olson graduated from Stanford in 2002 with a major in physics. She lived in Ramallah, West Bank, for a year and a half beginning in the summer of 2004 and worked as a journalist for the Palestine Monitor. She interviewed the first elected female mayor in the West Bank, witnessed the 2005 Disengagement from inside the Gaza Strip, and served as the foreign press coordinator for Dr. Mustafa Barghouthi&#8217;s Presidential campaign against Mahmoud Abbas in January 2005. She later worked for a year at the Institute for Defense Analyses in Washington, DC. She is now writing a book about her time in the West Bank called Fast Times in Palestine.
</p></blockquote>
<p>This was an unusual subject for a Google Tech Talk, part of me thinks it might have been more appropriate under the authors@google series, largely to head off the kind of flame wars this topic seems to illicit. That being said it is an incredibly moving talk about life in the West Bank. There are parts of her talk that fill me with hope and others that fill me with despair. Her description of the west bank as a huge &#8216;open air prison&#8217; is a heart breaking image.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Personal" rel="tag">Personal</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/02/22/the-palestinian-perspective-what-the-world-looks-like-from-the-west-bank/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drop-in JavaScript Performance</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/02/15/drop-in-javascript-performance/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/02/15/drop-in-javascript-performance/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 11:20:50 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=510</guid>
		<description><![CDATA[


Browsers are continually upgrading &#8211; providing new features from the latest specifications. We&#8217;ll look at modern JavaScript and DOM techniques that you can easily drop in to your applications for instant speed-ups.

This is a great tech talk by John Resig that covers features in upcoming browsers such as new javascript engines in the major browsers, [...]]]></description>
			<content:encoded><![CDATA[<p align="center">
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/bsad6dr8Kzo&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bsad6dr8Kzo&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<blockquote><p>
Browsers are continually upgrading &#8211; providing new features from the latest specifications. We&#8217;ll look at modern JavaScript and DOM techniques that you can easily drop in to your applications for instant speed-ups.
</p></blockquote>
<p>This is a great tech talk by <a href="http://ejohn.org/">John Resig</a> that covers features in upcoming browsers such as new javascript engines in the major browsers, audio and video tagging in FF3.1 and Opera 10, total ACIDIII Compliance in Safari 4 as well as desktop integration; dramatically better performance in IE8 over IE7 etc.</p>
<p>We&#8217;ve started doing  a lot of RIA work using JavaScript at Talis so understanding how to write cross browser, performant scripts its  a must. This talk is great food for thought for anyone who wants to understand modern browser architecture and benefit from some great tips.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/javascript" rel="tag">javascript</a>, <a class="tag_technorati" href="http://technorati.com/tag/Tech+Talk" rel="tag">Tech Talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/02/15/drop-in-javascript-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linked Data and Scientific Publishing</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/02/08/linked-data-and-scientific-publishing/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/02/08/linked-data-and-scientific-publishing/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 11:47:29 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linked-data]]></category>
		<category><![CDATA[semantic-web]]></category>
		<category><![CDATA[ted-talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=509</guid>
		<description><![CDATA[Tim Berners-Lee gave a talk at TED2009 on Linked Data. The slides for the talk can be found here. TED have not made this talk available for viewing yet. However part of the focus of the talk was around linking raw scientific data with existing linked data sets already out there. I&#8217;ll post a link [...]]]></description>
			<content:encoded><![CDATA[<p>Tim Berners-Lee gave a talk at <a href="http://conferences.ted.com/TED2009/">TED2009</a> on Linked Data. The slides for the talk can be found <a href="http://www.w3.org/2009/Talks/0204-ted-tbl/#(1)">here</a>. TED have not made this talk available for viewing yet. However part of the <a href="http://www.w3.org/2009/Talks/0204-ted-tbl/#(18)">focus of the talk</a> was around linking raw scientific data with existing linked data sets already out there. I&#8217;ll post a link to the talk when and if it becomes available.</p>
<p>What is good to see though is how closely this aligns to the work that our Xiphos division is doing and the ideas that we are experimenting with.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/linked-data" rel="tag">linked-data</a>, <a class="tag_technorati" href="http://technorati.com/tag/semantic-web" rel="tag">semantic-web</a>, <a class="tag_technorati" href="http://technorati.com/tag/ted-talk" rel="tag">ted-talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/02/08/linked-data-and-scientific-publishing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing Innovation Networks on Life&#8217;s Origins and Evolution</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/01/30/designing-innovation-networks-on-lifes-origins-and-evolution/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/01/30/designing-innovation-networks-on-lifes-origins-and-evolution/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 20:26:54 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[Tech Talk]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=508</guid>
		<description><![CDATA[

Highly innovative organizations face a constant challenge to process a flood of good ideas, both generated by employees and submitted from outside. In the wake of Google&#8217;s Tenth Birthday Competition, this talk describes how innovation networks apply principles found in life&#8217;s origins and evolution to &#8220;processing innovation.&#8221; Debates about how novelty emerged in the origin [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/bCukhYknLh8&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bCukhYknLh8&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<blockquote><p>
Highly innovative organizations face a constant challenge to process a flood of good ideas, both generated by employees and submitted from outside. In the wake of Google&#8217;s Tenth Birthday Competition, this talk describes how innovation networks apply principles found in life&#8217;s origins and evolution to &#8220;processing innovation.&#8221; Debates about how novelty emerged in the origin of life and its evolution toward complexity demand revising assumptions that we&#8217;ve taken for granted. Steven Jay Gould said that &#8220;Darwinism&#8221; misrepresents Darwin.<br/></p>
<p>A more complete interpretation of Darwin&#8217;s theory of evolution could inspire new problem-solving methods with a range of practical applications, from multi-agent systems able to learn and improve their performance to cross-disciplinary decision support systems designed to address environmental sustainability challenges. Objective. To discuss nine principles of innovation networks and the problem-solving method they support.
</p></blockquote>
<p>
A very interesting talk! It also reminded loosely about some of the ideas discussed in <a href="http://www.virtualchaos.co.uk/blog/2008/03/06/swarm-creativity-feels-like-a-kind-of-magic/">Swarm Creativity</a>.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Google" rel="tag">Google</a>, <a class="tag_technorati" href="http://technorati.com/tag/innovation" rel="tag">innovation</a>, <a class="tag_technorati" href="http://technorati.com/tag/Tech+Talk" rel="tag">Tech Talk</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/01/30/designing-innovation-networks-on-lifes-origins-and-evolution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why PHP Won</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/01/21/why-php-won/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/01/21/why-php-won/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 22:37:43 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=507</guid>
		<description><![CDATA[
An excellent article by Eric Reis over on his blog in which he talks about &#8220;why PHP won&#8221; in his web application development over other (web scripting) languages:


As a language, it&#8217;s inelegant. Its object-orientation support is &#8220;much improved&#8221; &#8211; which is another way of saying it&#8217;s been horrendous for a long time. Writing unit tests [...]]]></description>
			<content:encoded><![CDATA[<p>
An <a href="http://startuplessonslearned.blogspot.com/2009/01/why-php-won.html">excellent article by Eric Reis</a> over on his blog in which he talks about &#8220;why PHP won&#8221; in his web application development over other (web scripting) languages:
</p>
<blockquote><p>
As a language, it&#8217;s inelegant. Its object-orientation support is &#8220;much improved&#8221; &#8211; which is another way of saying it&#8217;s been horrendous for a long time. Writing unit tests or mock objects in PHP is an exercise in constant frustration. And yet I keep returning to PHP as a development platform, as have most of my fellow startup CTOs. This post is about why.
</p></blockquote>
<p>
Its an interesting piece in which Eric chooses to describe PHP&#8217;s success in terms of what a new language might have to do better in order to challenge PHP&#8217;s popularity/success, in short he suggests the following:</p>
<ul>
<li>Speed of iteration (a good write/test/debug cycle)</li>
<li>Better mapping of outputs to inputs</li>
<li>A similar standard library</li>
<li>A better OOP implementation</li>
</ul>
<p>
I have to confess I found myself agreeing with Eric. His piece is well worth reading!</p>

	<a class="tag_technorati" href="http://technorati.com/tag/Development" rel="tag">Development</a>, <a class="tag_technorati" href="http://technorati.com/tag/PHP" rel="tag">PHP</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/01/21/why-php-won/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Obama&#8217;s Inauguration Speech</title>
		<link>http://www.virtualchaos.co.uk/blog/2009/01/21/obamas-inauguration-speech/</link>
		<comments>http://www.virtualchaos.co.uk/blog/2009/01/21/obamas-inauguration-speech/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 22:03:09 +0000</pubDate>
		<dc:creator>nadeem.shabir</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[Political]]></category>

		<guid isPermaLink="false">http://www.virtualchaos.co.uk/blog/?p=506</guid>
		<description><![CDATA[


I&#8217;m always wary of politicians, and political speeches, and yet Obama&#8217;s inauguration speech left me feeling hopeful &#8230; I guess only time will tell though.

	inspiration, Political
]]></description>
			<content:encoded><![CDATA[<p align="center">
<embed src="http://services.brightcove.com/services/viewer/federated_f8/1137883380" bgcolor="#FFFFFF" flashVars="videoId=8610531001&#038;playerId=1137883380&#038;viewerSecureGatewayURL=https://console.brightcove.com/services/amfgateway&#038;servicesURL=http://services.brightcove.com/services&#038;cdnURL=http://admin.brightcove.com&#038;domain=embed&#038;autoStart=false&#038;" base="http://admin.brightcove.com" name="flashObj" width="486" height="412" seamlesstabbing="false" type="application/x-shockwave-flash" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed>
</p>
<p>I&#8217;m always wary of politicians, and political speeches, and yet Obama&#8217;s inauguration speech left me feeling hopeful &#8230; I guess only time will tell though.</p>

	<a class="tag_technorati" href="http://technorati.com/tag/inspiration" rel="tag">inspiration</a>, <a class="tag_technorati" href="http://technorati.com/tag/Political" rel="tag">Political</a>
]]></content:encoded>
			<wfw:commentRss>http://www.virtualchaos.co.uk/blog/2009/01/21/obamas-inauguration-speech/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
