<?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>Two Brain Cells &#187; Programming</title>
	<atom:link href="http://www.twobraincells.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.twobraincells.com</link>
	<description></description>
	<lastBuildDate>Thu, 18 Feb 2010 16:33:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Safari slows down your system more than Firefox</title>
		<link>http://www.twobraincells.com/2007/03/01/safari-slows-down-your-system-more-than-firefox/</link>
		<comments>http://www.twobraincells.com/2007/03/01/safari-slows-down-your-system-more-than-firefox/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 13:03:43 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2007/03/01/safari-slows-down-your-system-more-than-firefox/</guid>
		<description><![CDATA[Safari slows down your system more than Firefox does. I wonder if this is anything to do with the Safari memory leaks&#8230;
]]></description>
			<content:encoded><![CDATA[<p><a href="http://macenstein.com/default/archives/540"><strong>Safari slows down your system more than Firefox does.</strong></a> I wonder if this is anything to do with the <a href="http://webkit.org/blog/?p=20">Safari memory leaks</a>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2007/03/01/safari-slows-down-your-system-more-than-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Install again</title>
		<link>http://www.twobraincells.com/2007/02/28/install-again/</link>
		<comments>http://www.twobraincells.com/2007/02/28/install-again/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 10:18:47 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2007/02/28/install-again/</guid>
		<description><![CDATA[This screen (or something similar) comes at the end of all installations powered by the Installer VISE package, and has done for many versions past:

Click to enlarge.
If the installation has completed successfully, why would you ever need to &#8216;run the installer again&#8217;? I&#8217;m sure this was useful ten versions ago for some obscure reason, but [...]]]></description>
			<content:encoded><![CDATA[<p>This screen (or something similar) comes at the end of all installations powered by the <a href="http://www.mindvision.com/">Installer VISE</a> package, and has done for many versions past:</p>
<p><a class="imagelink" href="http://www.twobraincells.com/wp-content/uploads/2007/02/install_again.jpg" title="Install Again"><img id="image151" src="http://www.twobraincells.com/wp-content/uploads/2007/02/install_again.thumbnail.jpg" alt="Install Again" /></a><br />
<em>Click to enlarge.</em></p>
<p>If the installation has completed successfully, why would you ever need to &#8216;run the installer again&#8217;? I&#8217;m sure this was useful ten versions ago for some obscure reason, but now it&#8217;s just another weird UI holdover that serves to confuse your average user.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2007/02/28/install-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Idea Exchange Rate</title>
		<link>http://www.twobraincells.com/2006/11/08/the-idea-exchange-rate/</link>
		<comments>http://www.twobraincells.com/2006/11/08/the-idea-exchange-rate/#comments</comments>
		<pubDate>Wed, 08 Nov 2006 15:29:42 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Art]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Meta]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/11/08/the-idea-exchange-rate/</guid>
		<description><![CDATA[Inspired by this talk about ideas, I have created the Idea Exchange Rate.
As the site explains, since British ideas are &#8220;ten-a-penny&#8221;, and US ideas are &#8220;a-dime-a-dozen&#8221;, we can calculate an accurate exchange rate between British ideas and US ideas. I anticipate this becoming a very important metric for pan-Atlantic intellectual property negotiations.
]]></description>
			<content:encoded><![CDATA[<p>Inspired by <a href="http://www.twobraincells.com/2006/11/08/another-brilliant-idea/">this talk about ideas</a>, I have created the <strong><a href="http://www.ideaexchangerate.co.uk/">Idea Exchange Rate</a></strong>.</p>
<p>As the site explains, since British ideas are &#8220;ten-a-penny&#8221;, and US ideas are &#8220;a-dime-a-dozen&#8221;, we can calculate <strong>an accurate exchange rate between British ideas and US ideas</strong>. I anticipate this becoming a very important metric for pan-Atlantic intellectual property negotiations.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/11/08/the-idea-exchange-rate/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Programmer Personality Test</title>
		<link>http://www.twobraincells.com/2006/10/28/programmer-personality-test/</link>
		<comments>http://www.twobraincells.com/2006/10/28/programmer-personality-test/#comments</comments>
		<pubDate>Sat, 28 Oct 2006 09:07:50 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Humour]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Psychology]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/10/28/programmer-personality-test/</guid>
		<description><![CDATA[Programmer Personality Test. Like Myers-Briggs, but for programming style.
]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://www.doolwind.com/index.php?page=11">Programmer Personality Test</a></strong>. Like <a href="http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator">Myers-Briggs</a>, but for programming style.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/10/28/programmer-personality-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Real, for free</title>
		<link>http://www.twobraincells.com/2006/10/25/getting-real-for-free/</link>
		<comments>http://www.twobraincells.com/2006/10/25/getting-real-for-free/#comments</comments>
		<pubDate>Wed, 25 Oct 2006 21:49:41 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/10/25/getting-real-for-free/</guid>
		<description><![CDATA[37signals has made their Getting Real book (previously a $19 PDF download) freely available on the web. Lots of short, easily-digestible one-page essays about how to develop, market and release web apps with a lean and mean small team.
]]></description>
			<content:encoded><![CDATA[<p>37signals has made their Getting Real book (previously a $19 PDF download) <a href="http://gettingreal.37signals.com/toc.php">freely available</a> on the web. Lots of short, easily-digestible one-page essays about how to develop, market and release web apps with a lean and mean small team.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/10/25/getting-real-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSON syntax diagrams</title>
		<link>http://www.twobraincells.com/2006/10/23/json-syntax-diagrams/</link>
		<comments>http://www.twobraincells.com/2006/10/23/json-syntax-diagrams/#comments</comments>
		<pubDate>Mon, 23 Oct 2006 17:33:09 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/10/23/json-syntax-diagrams/</guid>
		<description><![CDATA[These diagrams describing the syntax of JSON are really tasty. Much easier to visually parse than BNF is.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://json.org/">These diagrams describing the syntax of JSON</a> are really tasty. Much easier to visually parse than <a href="http://en.wikipedia.org/wiki/Backus-Naur_Form">BNF</a> is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/10/23/json-syntax-diagrams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why CoreAudio is Hard</title>
		<link>http://www.twobraincells.com/2006/10/20/why-coreaudio-is-hard/</link>
		<comments>http://www.twobraincells.com/2006/10/20/why-coreaudio-is-hard/#comments</comments>
		<pubDate>Fri, 20 Oct 2006 07:03:25 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/10/20/why-coreaudio-is-hard/</guid>
		<description><![CDATA[Why CoreAudio is Hard A good explanation of why computer audio is still hard, and why we still need buffering and have latency, even in these days of full-screen 24 fps video.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://mikeash.com/blog/pivot/entry.php?id=24">Why CoreAudio is Hard</a> A good explanation of why computer audio is still hard, and why we still need buffering and have latency, even in these days of full-screen 24 fps video.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/10/20/why-coreaudio-is-hard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The difference between programmers and developers</title>
		<link>http://www.twobraincells.com/2006/10/10/the-difference-between-programmers-and-developers/</link>
		<comments>http://www.twobraincells.com/2006/10/10/the-difference-between-programmers-and-developers/#comments</comments>
		<pubDate>Tue, 10 Oct 2006 13:21:20 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/10/10/the-difference-between-programmers-and-developers/</guid>
		<description><![CDATA[What&#8217;s the difference between programmers and developers? (Spoiler: programmers are people who just code, while developers are people who code with an awareness of the overall final product they&#8217;re delivering and its real world context.)
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.hacknot.info/hacknot/action/showEntry?eid=90">What&#8217;s the difference between programmers and developers?</a> (Spoiler: programmers are people who just code, while developers are people who code with an awareness of the overall final product they&#8217;re delivering and its real world context.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/10/10/the-difference-between-programmers-and-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brass Lantern: Introducing Inform 7</title>
		<link>http://www.twobraincells.com/2006/05/03/brass-lantern-introducing-inform-7/</link>
		<comments>http://www.twobraincells.com/2006/05/03/brass-lantern-introducing-inform-7/#comments</comments>
		<pubDate>Wed, 03 May 2006 04:26:42 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Inform]]></category>
		<category><![CDATA[Interactive Fiction]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/05/03/brass-lantern-introducing-inform-7/</guid>
		<description><![CDATA[Introducing Inform 7. Stephen Granade at Brass Lantern gives a good introduction and overview of Inform 7. I think what I missed in my last post on the subject is that the natural language thing is more than just syntactic sugar; it actually introduces a whole new rules-based way of describing your game world to [...]]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://brasslantern.org/writers/howto/i7intro.html">Introducing Inform 7</a></strong>. Stephen Granade at <a href="http://brasslantern.org/" title="Brass Lantern, the adventure game website">Brass Lantern</a> gives a good introduction and overview of Inform 7. I think what I missed in my <a href="/2006/05/01/inform-7/" title="Inform 7 (Two Brain Cells)">last post on the subject</a> is that the natural language thing is more than just <a href="http://www.catb.org/jargon/html/S/syntactic-sugar.html" title="ESR's definition of 'syntactic sugar'">syntactic sugar</a>; it actually introduces a whole new rules-based way of describing your game world to the computer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/05/03/brass-lantern-introducing-inform-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Inform 7</title>
		<link>http://www.twobraincells.com/2006/05/01/inform-7/</link>
		<comments>http://www.twobraincells.com/2006/05/01/inform-7/#comments</comments>
		<pubDate>Mon, 01 May 2006 09:25:38 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Inform]]></category>
		<category><![CDATA[Interactive Fiction]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.twobraincells.com/2006/05/01/inform-7/</guid>
		<description><![CDATA[Graham Nelson has just released Inform 7. It&#8217;s a radically new frontend to the de facto standard of interactive fiction design tools, Inform.
The big difference? Instead of having to learn a special programming language, you can now use natural English sentences to describe your game to the computer. See the gallery for a walkthrough of [...]]]></description>
			<content:encoded><![CDATA[<p>Graham Nelson has just released <a href="http://www.inform-fiction.org/I7/Inform%207.html" title="Inform 7">Inform 7</a>. It&#8217;s a radically new frontend to the <em>de facto</em> standard of interactive fiction design tools, Inform.</p>
<p>The big difference? Instead of having to learn a special programming language, you can now use <strong>natural English sentences</strong> to describe your game to the computer. See the <a href="http://www.inform-fiction.org/I7/Gallery.html" title="Inform 7 demonstration gallery">gallery</a> for a walkthrough of its new features. It looks really impressive.</p>
<p><span id="more-26"></span></p>
<p><a href="http://en.wikipedia.org/wiki/Interactive_fiction" title="Wikipedia entry on Interactive fiction">Interactive fiction</a> (also known as the &#8216;text adventure&#8217;) is an art form that&#8217;s still going strong. Although the days when text adventures appeared on the game shop shelves are long gone, there&#8217;s a thriving internet community and even an <a href="http://www.ifcomp.org/" title="The Annual Interactive Fiction Competition">annual competition</a>.</p>
<p>I remember playing with Inform 6 years ago while I was at school. I was fascinated by the idea of creating my own text adventure, having enjoyed classics like <a href="http://en.wikipedia.org/wiki/Wishbringer">Wishbringer</a> and <a href="http://en.wikipedia.org/wiki/Sorcerer_%28computer_game%29">Sorcerer</a>. At that time, Inform consisted of a programming language, and a compiler which turned your &#8216;program&#8217; into a playable game.</p>
<p>Despite several attempts, I never really got that far with it. I remember getting stuck when I wanted to create a rubber duck that the player could both talk to, and carry around in his pocket. I&#8217;m sure it would have been possible, but I suspect it would have required some clever coding, and I was clearly trying to run before I could walk.</p>
<p>Anyway, the point is that there was a pretty big learning barrier to overcome before you could start creating anything. And even then you had to keep a lot of the information in your head (or on paper).</p>
<p>Inform 7 goes a long way to removing these barriers. First, it has a natural language parser instead of a formal programming language. Second, it has a whole set of new graphical tools for conceptually mapping out your game, and checking that it all makes sense.</p>
<p>So in Inform 7, you can literally type things like,</p>
<p><code>The Cabin contains a glass case. In the glass case is a collection of fishing rods.<br />
The case is closed, transparent, and openable.</code></p>
<p>From this, Inform will infer all of the necessary actions and properties of the case. The player will be able to OPEN and CLOSE the case, and they will be able to see the fishing rods even when the case is closed.</p>
<p>Now, this is all very neat. But is it really easier than learning a programming language? After all, the words &#8216;closed&#8217;, &#8216;transparent&#8217; and &#8216;openable&#8217; are obviously special Inform keywords. You have to learn them. Inform won&#8217;t magically understand any old adjective you throw in there.</p>
<p>Similarly, it&#8217;s not a perfect language parser. It will understand &#8220;something which is carried by the player&#8221;, but it won&#8217;t understand &#8220;something which the player carries&#8221;. Both of these are acceptable in English, but only one is acceptable to Inform, and you have to learn that rule.</p>
<p>For someone who&#8217;s used to programming, it doesn&#8217;t make a lot of sense to learn this &#8216;special English&#8217;, when you could just learn &#8216;proper Inform&#8217; instead, and write code that&#8217;s more concise. But for someone who&#8217;s <em>new</em> to programming, this natural language parser goes an <em>enormous</em> way towards making the system seem more friendly and more understandable. And I think it&#8217;s easy for existing programmers to underestimate the importance of that. In a way, rather than learning a completely new language with rigid syntax rules and alien keywords, you&#8217;re simply learning a new writing style in English, with its own conventions and preferred words. And that&#8217;s something you already know how to do.</p>
<p>I think Inform 7 could well open up the art form of interactive fiction to a whole new creative audience. And that can only be a good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twobraincells.com/2006/05/01/inform-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
