<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Harry Johnston&#039;s Blog</title>
	<atom:link href="http://harryjohnston.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://harryjohnston.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 18 Jan 2012 04:16:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='harryjohnston.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Harry Johnston&#039;s Blog</title>
		<link>http://harryjohnston.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://harryjohnston.wordpress.com/osd.xml" title="Harry Johnston&#039;s Blog" />
	<atom:link rel='hub' href='http://harryjohnston.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Political Slogans</title>
		<link>http://harryjohnston.wordpress.com/2011/11/16/political-slogans/</link>
		<comments>http://harryjohnston.wordpress.com/2011/11/16/political-slogans/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 06:03:04 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=300</guid>
		<description><![CDATA[Some context for overseas readers: the Green Party has suffered some embarrassment recently after it was revealed that Green Party members, including the partner of the co-leaders executive assistant, were involved in vandalizing around 700 National Party billboards by adding satirical &#8220;slogans&#8221; such as &#8220;because the rich deserve more&#8221; and &#8220;drill it! mine it! sell [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=300&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some context for overseas readers: the Green Party has suffered some embarrassment recently after it was revealed that Green Party members, including the partner of the co-leaders executive assistant, were involved in vandalizing around 700 National Party billboards by adding satirical &#8220;slogans&#8221; such as &#8220;because the rich deserve more&#8221; and &#8220;drill it! mine it! sell it!&#8221;</p>
<p>Both childish and unethical, of course, but I thought the &#8220;slogans&#8221; themselves were kind of amusing.  So, along the same lines&#8230;</p>
<p>VOTE FOR THE GREENS because &#8230;</p>
<p>&#8230; trees are people too</p>
<p>&#8230; the economy isn&#8217;t going to ruin itself!</p>
<p>&#8230; you hated your science teacher, right?</p>
<p>VOTE FOR LABOUR because &#8230;</p>
<p>&#8230; New Zealand needs more debt</p>
<p>&#8230; we did OK last time, right?  Right?</p>
<p>VOTE FOR MANA because &#8230;</p>
<p>&#8230; Pakeha should just bugger off</p>
<p>&#8230; there are too many white &lt;expletive deleted&gt; in Parliament</p>
<p>&#8230; the Greens aren&#8217;t crazy enough</p>
<p>VOTE FOR ACT because &#8230;</p>
<p>&#8230; Maori should just bugger off</p>
<p>&#8230; National isn&#8217;t crazy enough</p>
<p>VOTE FOR NEW ZEALAND FIRST because &#8230;</p>
<p>&#8230; we made MMP what it is today!</p>
<p>VOTE FOR THE PIRATE PARTY because &#8230;</p>
<p>&#8230; have we got the coolest name, or what?</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/300/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=300&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/11/16/political-slogans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>The United Nations and Palestine &#8211; A Missed Opportunity?</title>
		<link>http://harryjohnston.wordpress.com/2011/11/09/the-united-nations-and-palestine-a-missed-opportunity/</link>
		<comments>http://harryjohnston.wordpress.com/2011/11/09/the-united-nations-and-palestine-a-missed-opportunity/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 19:19:40 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[israel]]></category>
		<category><![CDATA[palestine]]></category>
		<category><![CDATA[unitednations]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=292</guid>
		<description><![CDATA[I&#8217;m sure everyone is aware that Palestine has applied for full member status in the United Nations.  At present, to the best of my understanding, this seems unlikely to happen.  Under current circumstances, it probably wouldn&#8217;t be helpful if it did.  But I can&#8217;t help wonder whether the UN is missing an opportunity here. What [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=292&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m sure everyone is aware that Palestine has applied for full member status in the United Nations.  At present, to the best of my understanding, this seems unlikely to happen.  Under current circumstances, it probably wouldn&#8217;t be helpful if it did.  But I can&#8217;t help wonder whether the UN is missing an opportunity here.</p>
<p>What if they were to offer full membership subject to the condition that the Palestinians accept a UN-negotiated treaty with Israel?  Negotiations between Israel and the Palestinians have been unproductive, but negotiations between the UN and Israel need not be.  (Of course, the UN would first have to accept that the Green Line is not a particularly useful starting point, which might be politically unpalatable to many member nations.)</p>
<p>Any such treaty would be significantly more favorable to Israel than the Palestinian negotiators have ever been willing to consider.  They probably wouldn&#8217;t get East Jerusalem, and Israel wouldn&#8217;t be accepting the return of any refugees.  Even so, it would be a difficult offer to turn down when the prize is United Nations recognition of a Palestinian State.</p>
<p>Would this have worked?  Maybe not &#8211; but I don&#8217;t suppose we&#8217;ll ever know for sure.  I think it would have been worth a try.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/292/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/292/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/292/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=292&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/11/09/the-united-nations-and-palestine-a-missed-opportunity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>Stallman on Jobs</title>
		<link>http://harryjohnston.wordpress.com/2011/10/11/stallman-on-jobs/</link>
		<comments>http://harryjohnston.wordpress.com/2011/10/11/stallman-on-jobs/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 20:40:17 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=285</guid>
		<description><![CDATA[I&#8217;ve just read this article about a blog entry Richard Stallman recently posted on the subject of Steve Jobs&#8217; sad death.  Leaving aside Mr. Stallman&#8217;s social gaffe, I just have one thing to add, on the subject of Mr. Jobs&#8217; so-called &#8220;malign influence&#8221; on computing: Pot.  Kettle.  Black.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=285&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just read <a title="Why FSF Founder Richard Stallman is Wrong on Steve Jobs" href="http://www.readwriteweb.com/enterprise/2011/10/why-fsf-founder-richard-stallm.php">this article</a> about a blog entry Richard Stallman recently posted on the subject of Steve Jobs&#8217; sad death.  Leaving aside Mr. Stallman&#8217;s social gaffe, I just have one thing to add, on the subject of Mr. Jobs&#8217; so-called &#8220;malign influence&#8221; on computing:</p>
<p>Pot.  Kettle.  Black.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=285&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/10/11/stallman-on-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>Preventing executables from requiring UAC elevation</title>
		<link>http://harryjohnston.wordpress.com/2011/09/23/preventing-executables-from-requiring-uac-elevation/</link>
		<comments>http://harryjohnston.wordpress.com/2011/09/23/preventing-executables-from-requiring-uac-elevation/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 19:53:41 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=281</guid>
		<description><![CDATA[I&#8217;ve just found this great tip over at Stack Overflow. In Windows Vista and later, an application can be coded to require UAC elevation.  If you try to run it as a non-administrator, you get asked for an administrator username and password, and if you don&#8217;t provide them the application doesn&#8217;t start.  That&#8217;s all very [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=281&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just found this <a title="Stack Overflow: Can I stop an executable from requesting UAC elevation?" href="http://stackoverflow.com/questions/7086978/can-i-stop-an-executable-from-requesting-uac-elevation">great tip</a> over at Stack Overflow.</p>
<p>In Windows Vista and later, an application can be coded to require UAC elevation.  If you try to run it as a non-administrator, you get asked for an administrator username and password, and if you don&#8217;t provide them the application doesn&#8217;t start.  That&#8217;s all very well, but some developers set this flag when it isn&#8217;t really needed (I&#8217;m looking at you, beepa) which locks out all non-administrators.</p>
<p>This isn&#8217;t usually a big problem on a home machine, because you probably have an administrator account even if you don&#8217;t use it for everyday activities.  In a teaching lab, however, as in many other contexts, it&#8217;s fatal; the students don&#8217;t know the administrator password (or at least I devoutly hope they don&#8217;t!) and obviously we&#8217;re not going to tell them what it is.</p>
<p>It turns out that this is as simple as setting an environment variable.  Set __compat_layer to RunAsInvoker, and Windows will ignore the application manifest.  You could set this globally via group policy, or write a simple wrapper program around specific applications that need it.  (Of course, if an application really does require administrator privilege it may fail in strange and unexpected ways, so take care.)</p>
<p>Hope this helps &#8211; and Norbert, if you&#8217;re reading this, thank you.  Knowing about this is going to come in very handy.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=281&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/09/23/preventing-executables-from-requiring-uac-elevation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>United Airlines replaces flight manuals with iPads</title>
		<link>http://harryjohnston.wordpress.com/2011/08/25/united-airlines-replaces-flight-manuals-with-ipads/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/25/united-airlines-replaces-flight-manuals-with-ipads/#comments</comments>
		<pubDate>Wed, 24 Aug 2011 20:40:18 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=273</guid>
		<description><![CDATA[See this article from the New Zealand Herald. (Original picture courtesy Evan-Amos, Wikimedia Commons.)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=273&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>See <a title="Airline ditches flight manuals for iPads" href="http://www.nzherald.co.nz/technology/news/article.cfm?c_id=5&amp;objectid=10747192">this article</a> from the New Zealand Herald.</p>
<p><a href="http://harryjohnston.files.wordpress.com/2011/08/ipad-flight-manual.jpg"><img class="alignnone size-medium wp-image-274" title="Flight manual on an iPad" src="http://harryjohnston.files.wordpress.com/2011/08/ipad-flight-manual.jpg?w=245&#038;h=300" alt="Flight manual on an iPad" width="245" height="300" /></a></p>
<p>(Original picture courtesy <a title="Wikipedia Commons User: Evan-Amos" href="http://commons.wikimedia.org/wiki/User:Evan-Amos">Evan-Amos</a>, Wikimedia Commons.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/273/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/273/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/273/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=273&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/25/united-airlines-replaces-flight-manuals-with-ipads/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>

		<media:content url="http://harryjohnston.files.wordpress.com/2011/08/ipad-flight-manual.jpg?w=245" medium="image">
			<media:title type="html">Flight manual on an iPad</media:title>
		</media:content>
	</item>
		<item>
		<title>Freedom Software</title>
		<link>http://harryjohnston.wordpress.com/2011/08/19/freedom-software/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/19/freedom-software/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 09:14:31 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=259</guid>
		<description><![CDATA[OK, now that I&#8217;ve outed myself as anti-GPL, I guess I may as well go ahead and publish my rant on the phrase &#8220;free software&#8221;. I guess I&#8217;ve got no more credibility to lose as far as the FSF goes anyway. The phrase &#8220;free software&#8221; has exactly one correct grammatical meaning, and guess what, it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=259&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>OK, now that I&#8217;ve <a title="Well And Truly Told Off" href="http://harryjohnston.wordpress.com/2011/08/19/well-and-truly-told-off/">outed myself</a> as anti-GPL, I guess I may as well go ahead and publish my rant on the phrase &#8220;free software&#8221;. I guess I&#8217;ve got no more credibility to lose as far as the FSF goes anyway.</p>
<p>The phrase &#8220;free software&#8221; has exactly one correct grammatical meaning, and guess what, it <em>isn&#8217;t</em> the one the Free Software Foundation keeps on pushing.</p>
<p>Software can of course be free as in &#8220;costing nothing&#8221;.  [All definitions are from NZ Pocket OED, 1988.]</p>
<p>Can it be free as in &#8220;power of acting without constraint of necessity or fate&#8221;?  No.  [1]</p>
<p>Can it be free as in &#8220;not a slave&#8221;?  Well, only in the trivial sense [1] that no software is a slave, since the word only applies to people.</p>
<p>Can it be free as in &#8220;not under the control of another [other than the software itself]&#8220;?  Again, no. [1]</p>
<p>Well, I don&#8217;t want to go through the entire list of definitions (it takes up an entire column) but you get the idea.  Some of the definitions can be applied to software, such as &#8220;available to all&#8221; but they don&#8217;t match the meaning of &#8220;free software&#8221; as defined by the FSF either.</p>
<p>And of course using the phrase &#8220;free software&#8221; with the FSF&#8217;s meaning causes endless confusion with the (more correct) meaning of the word &#8220;free&#8221;.</p>
<p>So, what should we call GPL and other similarly licensed software?  My vote (so to speak) is for &#8220;freedom software&#8221;.  This isn&#8217;t exactly euphonious, but at least it isn&#8217;t confusing and it means what it says &#8211; software that supports freedom.  (Even if it seems to me to be an odd kind of freedom for people to worry about.)</p>
<p>The upshot is that I&#8217;ve decided to start using &#8220;freedom software&#8221; instead of &#8220;free software&#8221;.  I&#8217;m hoping it won&#8217;t be necessary to explain myself too often.  I invite you to join me. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="padding-left:30px;">Harry.</p>
<p>[1] Except for an AI, I suppose, but that&#8217;s not really the point.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/259/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/259/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/259/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=259&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/19/freedom-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>Well And Truly Told Off</title>
		<link>http://harryjohnston.wordpress.com/2011/08/19/well-and-truly-told-off/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/19/well-and-truly-told-off/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 09:09:17 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=254</guid>
		<description><![CDATA[See this comment by the moderator and founder of Groklaw.  Ouch.  The original post I was commenting on is here. I really don&#8217;t think I was being silly.  I&#8217;m perhaps not incredibly well informed on the subject matter, but well enough (I&#8217;d have thought) to have a valid viewpoint.  I certainly wasn&#8217;t trolling &#8211; I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=254&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>See <a title="Groklaw Comment" href="http://www.groklaw.net/comment.php?mode=display&amp;sid=20110815131443415&amp;title=Tivo+problem+real%2C+RMS+strawman+argument+not+so+much&amp;type=article&amp;order=&amp;hideanonymous=0&amp;pid=931743#c931759">this comment</a> by the moderator and founder of Groklaw.  Ouch.  The original post I was commenting on <a title="The Mobile Earthquake - GPL Compliance, Google Acquisitions, etc." href="http://www.groklaw.net/article.php?story=20110815131443415#c931760">is here</a>.</p>
<p>I really don&#8217;t think I was being silly.  I&#8217;m perhaps not incredibly well informed on the subject matter, but well enough (I&#8217;d have thought) to have a valid viewpoint.  I certainly wasn&#8217;t trolling &#8211; I hope those on the other sites/newsgroups I frequent would agree that while I may occasionally be lighthearted, I never argue dishonestly.</p>
<p>My feelings are hurt, to be honest.</p>
<p>I&#8217;ve suggested that my comments be removed, so I&#8217;m going to put them all here instead.  If anyone can explain to me how I might have presented my opinions less offensively, please feel free to comment.  These are not chronological but in thread order.</p>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>GPL Feature Creep</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Monday, August 15 2011 @ 07:03 PM EDT</td>
</tr>
<tr>
<td valign="top">FWIW, GPL &#8220;feature creep&#8221; is a genuine concern for some of us.</p>
<p>&#8230; first they came for the kernel plugins, and I didn&#8217;t speak out because I don&#8217;t write kernel plugins. Then they came for the WordPress extensions, and I didn&#8217;t speak out because I don&#8217;t write WordPress extensions. Then they came for the apps and there was noone left to speak out for me &#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Explaining the analogy</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Tuesday, August 16 2011 @ 09:17 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;Surely we all agree an app developer for Linux is _not_ bound to distribute under the GPL&#8221;</p>
<p>Maybe, but once upon a time is was widely agreed that a kernel plugin developer wasn&#8217;t bound to distribute under the GPL either. If the freedom software community has changed their minds about that, what will they change their minds about next year?</p>
<p>Another example is the way changes made in GPLv3 impacted TiVo. RMS wasn&#8217;t shy about admitting that this was deliberate. TiVo was following the license, but it got screwed over anyway. Personally if I was selling something based on open source software from a third party, I&#8217;d feel a lot safer with a BSD license.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Explaining the analogy</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Tuesday, August 16 2011 @ 09:54 PM EDT</td>
</tr>
<tr>
<td valign="top">Oh, by the way, I don&#8217;t *really* think anyone is ever going to claim that you&#8217;re not allowed to run non-GPL-compatible apps on a GPL operating system. I&#8217;m just exaggerating for effect. (On the other hand, if RMS could find a way to make that illegal, I&#8217;m sure he&#8217;d be keen to do so.)</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Explaining the analogy</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 08:32 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;And if I remember correctly from all the talking at the time, TiVo did something he *thought* the GPL already stopped them doing [...]&#8220;</p>
<p>That&#8217;s fair enough from the FSF perspective, but from TiVo&#8217;s perspective, what they were doing was perfectly reasonable. Then the rules got changed from underneath them.</p>
<p>&#8220;[...] he&#8217;s not willing to compromise with people who start with unreasonable positions [...]&#8220;</p>
<p>Ummm &#8230; thing is, from my POV, he&#8217;s the one taking an unreasonable (and irrational) position. And somehow (again from my POV) &#8220;infecting&#8221; lots and lots of other programmers with it &#8230; perhaps I&#8217;m wrong, and they&#8217;d have come up with the same idea themselves, but it smells to me of a cult of personality.</p>
<p>Anyway, we&#8217;re getting off topic. If you want to continue the discussion, feel free to visit <a>my blog post</a> on the same subject.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Tivo problem real, RMS strawman argument not so much</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 08:46 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;I appreciate your explanation of the analogy, assuming the same Anonymous is involved on all posts.&#8221;</p>
<p>Yes, I just haven&#8217;t gotten around to creating an account. I can be found <a href="../2011/08/19/gpl-considered-harmful/"> here</a>.</p>
<p>&#8220;However I can&#8217;t understand what excuse you feel this gives for gratuitously bashing RMS,&#8221; [...]</p>
<p>I didn&#8217;t think I was. His position seems clear enough: non-open-source software (and also Tivo-ized software) is evil and should be eliminated. If this seems like an exaggeration, I apologise, but that&#8217;s my best understanding of his beliefs.</p>
<p>&#8220;Tivo suffered no retroactive penalty, as you seem to complain.&#8221;</p>
<p>They&#8217;re no longer able to use the latest versions of any software that has migrated to GPLv3, including security updates. The impact of this is mitigated by the fact Linux itself hasn&#8217;t done so, although there remains the risk that it might do so in future. IIRC, TiVo was obliged to formally warn investors that GPLv3 presented a risk to their business, although I don&#8217;t know whether there was any actual loss to stock value.</p>
<p>&#8220;You are free to use (or license) BSD software as you wish.&#8221;</p>
<p>And I would encourage businesses to do so. That&#8217;s all I&#8217;m saying.</p>
<p>&#8220;clever minds keeping the letter and not the spirit of the GPL.&#8221;</p>
<p>The problem is that the &#8220;spirit of the GPL&#8221; isn&#8217;t terribly clear to many of us. I for one wouldn&#8217;t have been able to guess in advance that anyone would object to what TiVo was doing.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>And that explains alot</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Tuesday, August 16 2011 @ 09:29 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;It is very interesting that some people are so afraid of the GPL, and yet no one is forcing them to use it (or even to use software that is covered by the GPL).&#8221;</p>
<p>The point is that we have (I think) legitimate concerns. No, we aren&#8217;t forced to use it, and my advice is not to do so for anything important.</p>
<p>&#8220;Frankly, it is none of their business.&#8221;</p>
<p>If we need to decide whether to use GPL code in a particular context, it is certainly our business to be aware of any issues it might cause.</p>
<p>&#8220;Ergo, they must simply want to rip off someone else&#8217;s code without contributing back.&#8221;</p>
<p>Personally, I would want people to contribute code for the good of mankind, rather than in order to promote what seems to me a rather odd philosophical viewpoint. Nobody is going to force you to do so, but if you do, please don&#8217;t get defensive if some people don&#8217;t want to use your code as a result.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Odd philosophical viewpoint&#8230;</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 08:49 PM EDT</td>
</tr>
<tr>
<td valign="top">Not to the best of my knowledge. Have you ever heard of a scientist complaining that a company used the knowledge in a scientific paper to build a product but didn&#8217;t distribute a copy of the paper along with the product?</p>
<p>(I think I&#8217;m missing your point.)</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Odd philosophical viewpoint&#8230;</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 11:49 PM EDT</td>
</tr>
<tr>
<td valign="top">Seriously, I don&#8217;t see any connection or analogy between the copyleft philosophy and the philosophy of science. I&#8217;m not trying to be difficult, I just don&#8217;t get it. &#8211; Harry</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Re: I don&#8217;t understand</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Tuesday, August 16 2011 @ 09:51 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;It is very simple to negotiate a GPL license. Read the license, do it like they say, and bingo. You are good to go.&#8221;</p>
<p>The problem is that what you are or are not allowed to do seems to keep slowly changing over time. TiVo obeyed the license, but they got screwed over anyway by the changes in GPLv3. The folks developing kernel plugins and WordPress extensions didn&#8217;t think the GPL would require them to release source, but, well, copyright law is stranger than you might expect, so they got screwed over too.</p>
<p>BSD licensing, in contrast, seems to be easily understood and stable.</p>
<p>&#8220;I think it would be *somewhat* harder if you wanted to use a piece of Microsoft or Oracle or Apple Code.&#8221;</p>
<p>Sure, but they have a sensible reason to protect their code. The GPL requirements, from my perspective, are just selfishness. (Not my original point, and not worth discussing IMO, but since you mention it.)</p>
<p>&#8220;All you Anti-GPL shills want is to be able to STEAL the code. Like with BSD.&#8221;</p>
<p>Others have already pointed out that STEAL is a silly word to use in this context. But, in any case, I&#8217;m not suggesting that anyone should use GPL code without following the license. I&#8217;m suggesting that (where possible) folk should avoid using GPL code, in favour of BSD or similar licenses.</p>
<p>Personally, I would prefer that people used the BSD license instead of GPL when releasing their own code to the public, but nobody is going to force you to do so. It&#8217;s your choice. But please don&#8217;t get rude about it (&#8220;shill&#8221;???) when, as a result, some of us recommend against using your code.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Re: I don&#8217;t understand</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 09:00 PM EDT</td>
</tr>
<tr>
<td valign="top">&#8220;TiVo *gamed* the licence. They did something they *knew* to be against the spirit of the licence, &#8220;</p>
<p>I disagree. They didn&#8217;t *understand* the spirit of the license, which is a quite different thing.</p>
<p>I for one would not have guessed in advance that anyone would object to TiVo&#8217;s approach, and keep in mind that many GPL developers (such as Linus) don&#8217;t.</p>
<p>&#8220;Recommending BSD over GPL is, from my perspective, just selfishness.&#8221;</p>
<p>I accept this as a fact, but cannot comprehend the thought processes that lead you to feel this way. Is my opinion equally opaque to you? (I think it is very similar to most BSD-license developers; I disapprove of duplication of effort, and BSD is the best way to avoid that.)</p>
<p>I think we&#8217;re getting off topic. Please feel free to go to <a> my blog post</a> on the subject if you want to continue a discussion with me, although I&#8217;ll also be checking in here for a few more days.</td>
</tr>
</tbody>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
<tr>
<td><strong>Re: I don&#8217;t understand</strong></td>
</tr>
<tr>
<td>Authored by: Anonymous on Thursday, August 18 2011 @ 11:56 PM EDT</td>
</tr>
<tr>
<td valign="top">It seems to me that it is a lawyer&#8217;s job to understand the letter of a contract, not the spirit of it.</p>
<p>Of course, I don&#8217;t work for TiVo. I&#8217;ve never even owned one. So I certainly don&#8217;t know whether they were acting in bad faith or not &#8211; but it seems to me that you are jumping to the conclusion that they were, with no particular evidence, and I don&#8217;t understand why. &#8211; Harry</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=254&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/19/well-and-truly-told-off/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>The Doomsday Argument and Life Before Birth</title>
		<link>http://harryjohnston.wordpress.com/2011/08/19/the-doomsday-argument-and-life-before-birth/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/19/the-doomsday-argument-and-life-before-birth/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 02:01:17 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=250</guid>
		<description><![CDATA[Warning: naive philosophical logic-chopping ahead. &#8211; Harry I first ran across the doomsday argument many years ago (under another name, if I remember correctly) in the novel Manifold: Time by Steven Baxter.  It&#8217;s one of those interesting ideas &#8211; it&#8217;s obviously nonsense, but it&#8217;s very hard to pin down exactly where the reasoning fails.  At [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=250&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>Warning: naive philosophical logic-chopping ahead. &#8211; Harry</em></p>
<p>I first ran across the doomsday argument many years ago (under another name, if I remember correctly) in the novel <em>Manifold: Time</em> by Steven Baxter.  It&#8217;s one of those interesting ideas &#8211; it&#8217;s obviously nonsense, but it&#8217;s very hard to pin down exactly where the reasoning fails.  At the time I think I pretty much dismissed it, but it appeared again in an online article a year or two back and I&#8217;ve been musing about it on and off ever since.  It turns out to be even more interesting than I thought, because once you <em>do</em> pin down the logical flaw, you realize that it depends on a metaphysical assumption.  This means that, arguably, the Doomsday Argument is the first ever experimental test of a metaphysical idea, which I find fascinating.</p>
<p>For those unfamiliar with the Doomsday Argument, the short version is that, using Bayesian statistics, you can take the fact that you were born now (rather than, say, a thousand years into the future) and use it to predict that the human race is almost certain to become extinct in the near future.  For more information, I&#8217;d recommend <a title="The Anthropic Principle" href="http://www.anthropic-principle.com/">this site</a> by Professor Nick Bostrom of Oxford University.  There is also a Wikipedia entry but personally I found it disorganized and confusing.</p>
<p>So where do I think the flaw lies?  Well, the DA requires you to reason like this: if the human race is not about to become extinct, what was the probability of my being born now rather than at some point in the future?  The subjective nature of this question is essential to the argument &#8211; you can&#8217;t, for example, imagine being a visiting alien pointing to someone and saying &#8220;what was the probability of such-and-such a person [or people] being born now?&#8221;.  It just doesn&#8217;t work that way.</p>
<p>Now, that question <em>sounds</em> reasonable.  But consider this: is it really meaningful to ask whether you might have been born at a different time?  What, exactly, does the question actually <em>mean</em>?  If somebody were born in 3000AD with your exact genetic code, would that person be you?  I argue that (s)he would not, because your experiences and memories are at least as critical to your identity as your genetic code.  Even identical twins are not the same person.</p>
<p>It should also be kept in mind that the chances of a person being born with an identical genetic code to you at some point in the future are unaffected by whether or not you were in fact born now.  So if you would consider a person born with your genetic code in 3000AD <em>instead of</em> now to be yourself, you would have to also consider a person born with your genetic code in 3000AD <em>as well as</em> now as being yourself.  In which case there would have been two yous.  So to speak. [1]</p>
<p>At first glance, this would seem to handily refute the Doomsday Argument, but there&#8217;s a catch.  What about your soul?  If we suppose that people have souls, and that these souls already exist in some sense before a person is born, then suddenly the DA works again &#8211; you can ask &#8220;what were the odds that I [i.e., my soul] would be placed in the world at this time, rather than a thousand years in the future?&#8221; perfectly meaningfully.</p>
<p>It is, at this point, very tempting to assert that if humanity does not become extinct in the near future that would disprove the existence of the soul.  This would however be dishonest, for several reasons: for one, my reasoning only applies if souls are (so to speak) created ahead of time, which is not necessarily the case; for another, the DA might have one or more other flaws (I believe Professor Bostrom discusses some possibilities in detail, though I must admit I haven&#8217;t actually read the book); and finally and perhaps most fatally, the DA also requires you to suppose that your soul is placed in the world at random, which I think according to most religions is unlikely to be the case.</p>
<p>Despite these caveats, I personally find this situation fascinating &#8230; as I may have said before.  If you&#8217;ve gotten this far without giving up in dismay, bless you, and I hope I haven&#8217;t bored you completely to tears!  My next post should be back to normally scheduled programming. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p style="padding-left:30px;">Harry.</p>
<p>[1] English really isn&#8217;t a very suitable language for discussing this sort of hypothesis, is it?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/250/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/250/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/250/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=250&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/19/the-doomsday-argument-and-life-before-birth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>GPL Considered Harmful</title>
		<link>http://harryjohnston.wordpress.com/2011/08/19/gpl-considered-harmful/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/19/gpl-considered-harmful/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 00:29:07 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=245</guid>
		<description><![CDATA[&#8230; first they came for the kernel plugins, and I didn&#8217;t speak out because I don&#8217;t write kernel plugins. Then they came for the WordPress extensions, and I didn&#8217;t speak out because I don&#8217;t write WordPress extensions. Then they came for the apps and there was noone left to speak out for me &#8230;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=245&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>&#8230; first they came for the kernel plugins, and I didn&#8217;t speak out because I don&#8217;t write kernel plugins. Then they came for the WordPress extensions, and I didn&#8217;t speak out because I don&#8217;t write WordPress extensions. Then they came for the apps and there was noone left to speak out for me &#8230; <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/245/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/245/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/245/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=245&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/19/gpl-considered-harmful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
		<item>
		<title>Safe Computing: Integer Arithmetic</title>
		<link>http://harryjohnston.wordpress.com/2011/08/19/safe-computing-integer-arithmetic/</link>
		<comments>http://harryjohnston.wordpress.com/2011/08/19/safe-computing-integer-arithmetic/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 00:25:42 +0000</pubDate>
		<dc:creator>harryjohnston</dc:creator>
				<category><![CDATA[And While I'm Dreaming I'd Like a Pony]]></category>
		<category><![CDATA[safecomputing]]></category>

		<guid isPermaLink="false">http://harryjohnston.wordpress.com/?p=222</guid>
		<description><![CDATA[A few quick notes to set the scene.  Firstly, the need for safe integer arithmetic was pointed out in the CWE list and there&#8217;s an excellent example here.   I&#8217;m going to use C-like syntax for my examples because it&#8217;s the language I&#8217;m most familiar with, although the same principles apply to other languages.  Finally, I&#8217;ll [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=222&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A few quick notes to set the scene.  Firstly, the need for safe integer arithmetic was pointed out in <a title="2011 CWE/SANS Top 25 Most Dangerous Software Errors" href="http://harryjohnston.wordpress.com/2011/07/01/2011-cwesans-top-25-most-dangerous-software-errors/">the CWE list</a> and there&#8217;s an excellent example <a title="Black Hat Amazon code question part 2" href="http://msmvps.com/blogs/alunj/archive/2010/07/31/1775060.aspx">here</a>.   I&#8217;m going to use C-like syntax for my examples because it&#8217;s the language I&#8217;m most familiar with, although the same principles apply to other languages.  Finally, I&#8217;ll be using 16-bit arithmetic most of the time because it makes it easier to demonstrate overflow without using inconveniently large numbers.  Where appropriate it will be necessary to imagine that the code is running on a 16-bit system so that the 16-bit values are not automatically widened to 32 bits or more.</p>
<p>I&#8217;m going to use new keywords for integer variable types: int&lt;n&gt; to indicate a signed integer n bits wide, e.g., int32 for a 32-bit signed integer; and nat&lt;n&gt; to indicate an unsigned integer, e.g., nat32 for a 32-bit unsigned integer.  In mathematics, <a title="Wikipedia - Natural Numbers" href="http://en.wikipedia.org/wiki/Natural_numbers">natural numbers</a> are the positive integers, sometimes (as in this case) including zero, and I find &#8220;unsigned int&#8221; unnecessarily long-winded and abbreviations like &#8220;uint&#8221; ugly.</p>
<p>Making integer arithmetic safe is simple in principle and can be summed up briefly: all integer arithmetic must either produce the right answer or cause execution to stop.  I&#8217;ll leave vague exactly what &#8220;stop&#8221; means because it depends on context, but the same sort of mechanisms already used to deal with a divide-by-zero are probably suitable.</p>
<p>In the following example, execution will stop on the second line:</p>
<pre>nat16 a = 65535;
nat16 b = a + 1;</pre>
<p>Execution will also stop on the second line in this example:</p>
<pre>nat16 a = 32767;
int16 b = a + 1;</pre>
<p>More subtly, this also needs to cause execution to stop:</p>
<pre>nat16 a = 32768;
int16 b = a;</pre>
<p>Technically an assignment isn&#8217;t arithmetic, but it still needs to be safe. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>We need to detect underflow as well as overflow:</p>
<pre>nat16 a = 5;
nat16 b = a - 10;</pre>
<p>This is a bit trickier:</p>
<pre>nat16 a = 32768;
nat16 b = 32768;
nat16 c = (a + b) / 2;</pre>
<p>The correct answer is 32768, which will fit into the nat16 type, but the intermediate value of 65536 won&#8217;t.  Whether you will get the right answer depends on what type the compiler uses when working out the expression.  In some cases (such as C in a 32-bit environment) the language specification will guarantee that the code succeeds; in other cases, I would suggest that the compiler be permitted to either succeed or to stop at its own convenience.  The only thing it shouldn&#8217;t be allowed to do is decide that the answer is zero.  (Unfortunately, that&#8217;s exactly what will happen with most real-world compilers!)</p>
<p>On occasion the programmer needs to allow an overflow to occur, so the language  should define a way to do that.  There are a number of options.  The simplest and most elegant would be to introduce a keyword:</p>
<pre>nat16 a = 65535;
nat16 b = lenient a + 1; // b will be set to zero</pre>
<p>One problem: this code then wouldn&#8217;t compile if the compiler didn&#8217;t know about the keyword.  Perhaps a pragma, then:</p>
<pre>nat16 a = 65535;
#pragma lenient
nat16 b = a + 1; // b will be set to zero
#pragma strict</pre>
<p>Yet another alternative would be to require the compiler to ensure that an overflow in an intermediate calculation won&#8217;t stop execution if the final result is still correct:</p>
<pre>nat16 a = 65535;
nat16 b = (a + 1) &amp; 65535;</pre>
<p>However, I&#8217;m not sure this approach is feasible in general, i.e., for more complicated expressions.</p>
<p>On a side note, it might also be desirable to simplify the rules determining the types used in expressions, including a straightforward mechanism for the programmer to override the defaults.  I don&#8217;t think I should discuss that now, but I&#8217;ll try to write about it later in a separate post.</p>
<p>Now it is of course possible for a compiler to do all the above using the standard x86 instruction set &#8211; it just needs to check the carry or overflow flag as appropriate after each step.  Why doesn&#8217;t this happen?  Nowadays, backwards compatibility would be a problem, but presumably the original issue was performance, and I suspect this is still a concern, particularly where branch instructions would be necessary.  (The INTO instruction is presumably quite efficient, but there is no corresponding INTC instruction for unsigned arithmetic.)</p>
<p>It shouldn&#8217;t be too hard for the CPU to come to our aid here.  For unsigned arithmetic, I think the best approach would be introduce a separate overflow bit for each register, rather than (or as well as) having carry and overflow flags.  Writing the register to memory would trigger a software interrupt (or equivalent) if the overflow bit is set, as would using the register in any other inappropriate way.</p>
<p>Also, instructions for writing only part of a register to memory (the low byte, for example) should generate a software interrupt if the remainder of the register is not zero.</p>
<p>For example, on a 16-bit processor and using a hopefully self-explanatory syntax:</p>
<pre>move 65535 -&gt; a0     # register a0 is set to 65535 and the a0 overflow bit is cleared.
move a0 -&gt; nat8 x    # write a0 to 8-bit memory location x;
                     # this causes a software exception because a0 doesn't fit in 8 bits.
add 1 -&gt; a0          # a0 is now zero and the a0 overflow bit is set.
move a0 -&gt; nat16 y   # this causes a software exception, because the overflow bit is set.
add a0 -&gt; a1         # add the value of a0 to a1;
                     # this causes a software exception because the a0 overflow bit is set.

move 65535 -&gt; a0    # a0 is set to 65535 and the a0 overflow bit is cleared.
move 65535 -&gt; a1    # a1 is set to 65535 and the a1 overflow bit is cleared.
add 1 -&gt; a0         # a0 is set to zero and the a0 overflow bit is set.
addc a0, 0 -&gt; a1    # the a0 overflow bit is added to a1;
                    # the a0 overflow bit is now clear;
                    # a1 is now zero and the a1 overflow bit is set.
move a0 -&gt; nat16 x  # zero is written to the sixteen-bit memory location.
move a1 -&gt; nat16 y  # this causes a software exception.
clc a1              # but, if we were to clear the a1 overflow bit first ...
move a1 -&gt; nat16 y  # then this would succeed.</pre>
<p>Hopefully, this is clear.  There are details that need filling in, but I think nothing difficult.</p>
<p>Signed arithmetic is much the same, except for one edge case.  There are at least three different ways of distinguishing between signed and unsigned arithmetic; the simplest is distinct arithmetic instructions:</p>
<pre>move 255 -&gt; a0       # register a0 is set to 255 and the a0 overflow bit is cleared.
move a0 -&gt; nat8 x    # this will write 255 to the 8-bit memory location x.
move a0 -&gt; int8 x    # this causes a software exception because 255 doesn't fit in
                     # an 8-bit signed variable.  Note that this is a different
                     # instruction code to the above instruction.
adds 32767 -&gt; a0     # a0 is now 33022 (meaning -32514) and the a0 overflow bit is set.
move a0 -&gt; int16 y   # this causes a software exception because the a0 overflow bit is set.
move a0 -&gt; nat16 y   # so does this.

move 65535 -&gt; a0   # a0 is set to 65535 and the a0 overflow bit is cleared.
move 32767 -&gt; a1   # a1 is set to 32767 and the a1 overflow bit is cleared.
add 1 -&gt; a0        # a0 is set to zero and the a0 overflow bit is set.
addcs a0, 0 -&gt; a1  # the a0 overflow bit is added to a1 using signed arithmetic;
                   # the a0 overflow bit is now clear;
                   # a1 is now 32768 (meaning -32768) and the a1 overflow bit is set.
move a0 -&gt; nat16 x  # zero is written to the sixteen-bit memory location.
move a1 -&gt; int16 y  # this causes a software exception.
clc a1              # but, if we were to clear the a1 overflow bit first ...
move a1 -&gt; int16 y  # then this would succeed.</pre>
<p>I mentioned an edge case.  This is adding a signed number to an unsigned number.  Consider this code:</p>
<pre>nat32 total;
void add_to_total(int32 x)
{
  total = total + x;
}</pre>
<p>Simple enough, but &#8230; do you do the addition with signed or unsigned arithmetic?  You can&#8217;t use unsigned arithmetic because x may be negative.  But you can&#8217;t always convert total to int32, either; it may be too large.</p>
<p>One solution would be to convert to int64, but this is inefficient if the processor is 32 bits.  Another is to rewrite the code:</p>
<pre>void add_to_total(int32 x)
{
  if (x &gt; 0) total = total + (nat32)x;
  if (x &lt; 0) total = total - (nat32)(-x);
}</pre>
<p>But now we&#8217;re introducing branches, which is also inefficient.</p>
<p>My suggestion is to introduce a new type, int33 (as well as int9, int17, and int65) which is that extra bit longer.  These types would only be valid as intermediate values in expressions, not as variables.  The code then becomes:</p>
<pre>void add_to_total(int32 x)
{
  total = (int33)total + x;
}</pre>
<p>The compiler is then free to deal with this in the best way available to it in the given instruction set.  Note that by requiring the programmer to explicitly request this special treatment, we avoid inefficiency in cases where the programmer expects total to always be small enough to convert to int32.  In these cases it might be wise for the compiler to generate a warning unless the programmer explicitly says this is OK:</p>
<pre>void add_to_total(int32 x)
{
  total = (int32)total + x;
}</pre>
<p>Going back to the CPU, there are several ways a new design could help the compiler out in implementing int33.  The simplest would be to give the arithmetic registers a dedicated sign bit, so that register values are always int33 (or int65, or int129).  This would require separate instructions for loading signed and unsigned values from memory (so the CPU knows whether to sign-extend) but since this is already required when loading values smaller than the register size this probably isn&#8217;t a big issue.</p>
<p>I hope this is all clear enough.  Please email me or leave a comment if you have any questions.</p>
<p style="padding-left:30px;">Harry.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/harryjohnston.wordpress.com/222/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/harryjohnston.wordpress.com/222/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/harryjohnston.wordpress.com/222/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=harryjohnston.wordpress.com&amp;blog=11006839&amp;post=222&amp;subd=harryjohnston&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://harryjohnston.wordpress.com/2011/08/19/safe-computing-integer-arithmetic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/1616c7e4fab23f6e014ee11d75408bba?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">harryjohnston</media:title>
		</media:content>
	</item>
	</channel>
</rss>
