<?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>Loper OS</title>
	<atom:link href="http://www.loper-os.org/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.loper-os.org</link>
	<description>Because Computing Doesn&#039;t Have to Suck.</description>
	<lastBuildDate>Thu, 26 Aug 2010 21:33:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Seven Laws of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=284</link>
		<comments>http://www.loper-os.org/?p=284#comments</comments>
		<pubDate>Thu, 26 Aug 2010 21:33:17 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=284</guid>
		<description><![CDATA[My apologies to all readers who were inconvenienced by the multi-page  layout.
All of the Laws, slightly re-worded [1], are here once  more.  To view the original pages, click on the numerals.
A sanely designed personal computer system:
I &#8211; Obeys operator
The  operator shall retain full   control of the machine at all times.  [...]]]></description>
			<content:encoded><![CDATA[<p>My apologies to all readers who were inconvenienced by the multi-page  layout.</p>
<p>All of the Laws, slightly re-worded [1], are here once  more.  To view the original pages, click on the numerals.</p>
<p>A sanely designed personal computer system:</p>
<hr /><strong><a href="../?p=215">I</a> &#8211; Obeys</strong><em><strong> </strong></em>operator</p>
<p><em>The  operator shall retain full   control of the machine at all times.  In particular, the handling of the </em><em>keyboard, </em><em>mouse, and other human interface devices must  take absolute priority over all other  processing.  The operator shall  have  the ability to issue commands and receive immediate confirmation of said  commands at all times, regardless of  system load.<br />
</em></p>
<hr /><strong><a href="../?p=249">II</a> &#8211; Forgives</strong> mistakes</p>
<p><em>Information which entered the machine through  deliberate operator  action  shall never be destroyed or otherwise rendered inaccessible  except  as a  result of deliberate </em><em>operator </em><em>action to that  end.  No </em><em>operator </em><em>action shall  lead to the destruction  of information unless said  destruction is the  explicit and sole purpose of the action.  If all  non-volatile storage  space that could hold full undo-information for</em><em> operator</em><em>-initiated  actions is exhausted, the operator </em><em>shall  be informed  immediately and given  the opportunity to explicitly erase unwanted data  or connect additional  storage devices, thus preventing unintentional  information loss.</em></p>
<hr /><strong><a href="../?p=231">III</a> &#8211; Retains</strong> knowledge</p>
<p><em>Volatile storage devices (i.e. RAM)  shall serve exclusively as  read/write cache for non-volatile storage devices.  From the perspective  of all software except for the operating system, the machine must  present a single address space which can be considered non-volatile.  No  computer system obeys this law which takes longer to fully recover its  state from a disruption of its power source than an electric lamp would.<br />
</em></p>
<hr /><strong><a href="../?p=256">IV</a> &#8211; Preserves</strong> meaning<br />
<em> </em></p>
<p><em>Compilation is to be considered a form of caching, and  thus shall  happen solely behind the scenes, like all other forms of caching. (See  the Third Law.) </em><em>The  machine is to accept no externally-introduced executable code except in  the form </em><em>preferred </em><em> for making modifications (i.e.  source.)   All executable code visible during any kind of debugging  session or accessible to the operator in any other way shall also  be exclusively of this form.  <a href="http://www.loper-os.org/?p=55">Nothing residing at any lower  levels of abstraction shall be semantically relevant to the machine&#8217;s  operation.  In effect, the machine behaves exactly like a &#8220;hardware  interpreter&#8221; of a high-level programming language.</a></em><em> Note that  what the silicon  actually does to achieve this is irrelevant so long as  no programmer  need ever be made aware of just how it does it.</em></p>
<hr /><strong><a href="../?p=267">V</a> &#8211; Survives</strong> disruptions</p>
<p><em>If  the machine encounters an error condition requiring the operator&#8217;s  intervention, the state of the now-halted process prior to this  event shall be preserved, and the operator given an opportunity to  correct  the error using an interactive debugger and resume execution from the  saved-and-corrected state.  The debugger shall display the code which  generated the condition &#8212; and any other executable code on the system,  upon request.  All of the code shall be viewable and editable in the  form preferred for modification. (See the Fourth Law.)</em></p>
<hr /><strong><a href="../?p=273">VI</a> &#8211; Reveals</strong> purpose</p>
<p><em>All  of the information contained inside the machine&#8217;s storage  array (see the Third Law), whether  executable or not, shall be accessible at all times for inspection and  modification by the operator, in the form preferred for  modification.  The operator shall have the ability to modify the  functionality of any executable code within the system without cycling  power or performing any similar ritual.  No modification of any kind  shall be able to render the means for undoing said modification (the  keyboard and a spare instance of the built-in debugger) inoperable.</em></p>
<hr /><strong><a href="../?p=278">VII</a> &#8211; Serves</strong> loyally</p>
<p><em>The  machine shall never tell a lie to the operator.  <a href="http://glyf.livejournal.com/46589.html">It  shall obey all orders  given to it through the human interface devices,  without attempting to  pass judgement on their legality or morality.  The  machine shall not  put the interests of any third party (including  society in the  abstract) above those of its operator</a>.</em></p>
<hr />[1] In particular, the distinction between &#8220;user&#8221; and &#8220;programmer&#8221; is  an artifact of our presently barely-programmable and barely-usable  computing systems.  I would like to use the neutral word &#8220;operator&#8221;  instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=284</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Seventh Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=278</link>
		<comments>http://www.loper-os.org/?p=278#comments</comments>
		<pubDate>Wed, 25 Aug 2010 00:00:18 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=278</guid>
		<description><![CDATA[The machine shall never tell a lie to the user/programmer. [1]  It shall obey all orders given to it through the human interface devices, without attempting to pass judgement on their legality or morality.  The machine shall not put the interests of any third party (including society in the abstract) above those of its user/programmer. [...]]]></description>
			<content:encoded><![CDATA[<p><em>The machine shall never tell a lie to the user/programmer. [1]  It shall obey all orders given to it through the human interface devices, without attempting to pass judgement on their legality or morality.  The machine shall not put the interests of any third party (including society in the abstract) above those of its user/programmer. </em></p>
<p>If you don&#8217;t understand why, read <a href="http://glyf.livejournal.com/46589.html">this</a>.  Then read it again.</p>
<blockquote><p><a href="http://glyf.livejournal.com/46589.html"><em>&#8220;The &#8216;you don&#8217;t own your computer&#8217; paradigm is not merely wrong.  It is  violently, </em><em>disastrously</em> wrong, and the consequences of this error  are likely to be felt for generations to come, unless steps are taken  to prevent it.&#8221;</a></p></blockquote>
<p>On first glance, this law would appear to follow from the <a href="http://www.loper-os.org/?p=273">Sixth Law</a> &#8212; a computer which is thoroughly inspectable and modifiable could hypothetically be cleansed of all undesirable (owner-betraying) functionality.  However, I think that this would be much the same as saying that a mine field is a great place to dance if you&#8217;ve remembered to bring a metal detector.</p>
<p><span style="text-decoration: underline;">Personal computer operating   systems known to obey this law:</span></p>
<p>For the most part, all of the non-Microsoft offerings.  This is changing.  Distributing a computer system compliant with this law may soon be against the laws of your country &#8211; if it isn&#8217;t yet.  <em>[*]<br />
</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>[1] One example of such a lie: &#8220;though this bit resides on the disk which you own, you cannot flip it.&#8221;</p>
<p>See also <a href="http://www.gnu.org/philosophy/can-you-trust.html">Richard Stallman&#8217;s classic essay on the subject.</a></p>
<p>Also recall that <a href="http://crysp.uwaterloo.ca/courses/cs489/F07-lectures/local/www.acm.org/classics/sep95/">if there is any reason to doubt the loyalty of one component of the system, there is reason to doubt all of them.</a></p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=278</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sixth Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=273</link>
		<comments>http://www.loper-os.org/?p=273#comments</comments>
		<pubDate>Tue, 24 Aug 2010 23:30:57 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=273</guid>
		<description><![CDATA[All of the information contained inside the machine&#8217;s storage array (see the Third Law), whether executable or not, shall be accessible at all times for inspection and modification by the user/programmer, in the form preferred for modification.  The user/programmer shall have the ability to modify the functionality of any executable code within the system without [...]]]></description>
			<content:encoded><![CDATA[<p><em>All of the information contained inside the machine&#8217;s storage array (see the <a href="http://www.loper-os.org/?p=231">Third Law</a>), whether executable or not, shall be accessible at all times for inspection and modification by the user/programmer, in the form preferred for modification.  The user/programmer shall have the ability to modify the functionality of any executable code within the system without cycling power or performing any similar ritual.  No modification of any kind shall be able to render the means for undoing said modification (the keyboard and a spare instance of the built-in debugger) inoperable.</em></p>
<p><span style="text-decoration: underline;">Personal computer operating   systems known to obey this law:</span></p>
<p><a href="http://en.wikipedia.org/wiki/Elektronika_BK"><strong>1</strong></a> (and many others) <em>[*]<br />
</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>Any 1980s micro  equipped with a ROM debugger technically qualifies, though not usefully.</p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=273</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fifth Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=267</link>
		<comments>http://www.loper-os.org/?p=267#comments</comments>
		<pubDate>Tue, 24 Aug 2010 23:15:02 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=267</guid>
		<description><![CDATA[If the machine encounters an error condition requiring the user&#8217;s manual intervention, the state of the now-halted process prior to this event shall be preserved, and the user given an opportunity to correct the error using an interactive debugger and resume execution from the saved-and-corrected state.  The debugger shall display the code which generated the [...]]]></description>
			<content:encoded><![CDATA[<p><em>If the machine encounters an error condition requiring the user&#8217;s manual intervention, the state of the now-halted process prior to this event shall be preserved, and the user given an opportunity to correct the error using an interactive debugger and resume execution from the saved-and-corrected state.  The debugger shall display the code which generated the condition &#8212; and any other executable code on the system, upon request.  All of the code shall be viewable and editable in the form preferred for modification. (See the <a href="http://www.loper-os.org/?p=256">Fourth Law</a>.)</em></p>
<p><span style="text-decoration: underline;">Personal computer operating   systems known to obey this law:</span></p>
<p><a href="http://en.wikipedia.org/wiki/Lisp_machine"><strong>1</strong></a> <em>[*]<br />
</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>If you intend to comment to say that this is impossible, spare your keyboard the wear &#8211; because my copy of Symbolics Open Genera does this <strong>today</strong><em>.</em></p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=267</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fourth Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=256</link>
		<comments>http://www.loper-os.org/?p=256#comments</comments>
		<pubDate>Tue, 24 Aug 2010 23:00:53 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=256</guid>
		<description><![CDATA[Compilation is to be considered a form of caching, and thus shall happen solely behind the scenes, like all other forms of caching. (See: the Third Law.) The machine is to accept no externally-introduced executable code except in the form preferred  for making modifications (i.e. source.)   All executable code visible during any kind of [...]]]></description>
			<content:encoded><![CDATA[<p><em>Compilation is to be considered a form of caching, and thus shall happen solely behind the scenes, like all other forms of caching. (See: the <a href="http://www.loper-os.org/?p=231">Third Law</a>.) </em><em>The machine is to accept no externally-introduced executable code except in the form </em><em>preferred </em><em> for making modifications (i.e. source.)   All executable code visible during any kind of debugging session or accessible to the user/programmer in any other way shall also be exclusively of this form.  <a href="http://www.loper-os.org/?p=55">Nothing residing at any lower levels of abstraction shall be semantically relevant to the machine&#8217;s operation.  In effect, the machine behaves exactly like a &#8220;hardware interpreter&#8221; of a high-level programming language.</a></em><em> Note that what the silicon  actually does to achieve this is irrelevant so long as no programmer  need ever be made aware of just how it does it.</em></p>
<p><span style="text-decoration: underline;">Personal computer operating   systems known to obey this law:</span></p>
<p><strong>0</strong> (but possibly <a href="http://www.colorforth.com/S40.htm">SEAForth</a>) <em>[*]<br />
</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>If you think this is nonsensical, see if <a href="http://www.loper-os.org/?p=37">this</a>, <a href="http://www.loper-os.org/?p=46">this</a>, or <a href="http://www.loper-os.org/?p=55">this</a> will change your mind.  The depth of the lowest semantically-relevant level of complexity in a system <em>matters.</em></p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=256</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Third Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=231</link>
		<comments>http://www.loper-os.org/?p=231#comments</comments>
		<pubDate>Tue, 24 Aug 2010 20:56:40 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=231</guid>
		<description><![CDATA[Volatile storage devices (i.e. RAM) shall serve exclusively as read/write cache for non-volatile storage devices.  From the perspective of all software except for the operating system, the machine must present a single address space which can be considered non-volatile.  No computer system obeys this law which takes longer to fully recover its state from a [...]]]></description>
			<content:encoded><![CDATA[<p><em>Volatile storage devices (i.e. RAM) shall serve exclusively as read/write cache for non-volatile storage devices.  From the perspective of all software except for the operating system, the machine must present a single address space which can be considered non-volatile.  No computer system obeys this law which takes longer to fully recover its state from a disruption of its power source than an electric lamp would.<br />
</em></p>
<p><span style="text-decoration: underline;">Personal computer operating  systems known to obey this law:</span></p>
<p><a href="http://en.wikipedia.org/wiki/Palm_OS"><strong>1</strong></a> <em>[*]<br />
</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>When you make a deliberate change to the system, the change stays made:  this is the basic reliability we expect of paper and pencil.  And of almost every other tool, save for our computers!</p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=231</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Second Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=249</link>
		<comments>http://www.loper-os.org/?p=249#comments</comments>
		<pubDate>Tue, 24 Aug 2010 18:50:01 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=249</guid>
		<description><![CDATA[Information which entered the machine through deliberate  user action  shall never be destroyed or otherwise rendered inaccessible except  as a  result of deliberate user action to that end.  No user action shall  lead to the destruction of information unless said destruction is the  explicit and sole purpose of the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Information which entered the machine through deliberate  user action  shall never be destroyed or otherwise rendered inaccessible except  as a  result of deliberate user action to that end.  No user action shall  lead to the destruction of information unless said destruction is the  explicit and sole purpose of the action.  If all non-volatile storage  space that could hold full undo-information for user-initiated  actions is exhausted, the user shall be informed immediately and given  the opportunity to explicitly erase unwanted data or connect additional  storage devices, thus preventing unintentional information loss.</em></p>
<p><span style="text-decoration: underline;">Personal computer operating  systems known to obey this law:</span></p>
<p><a href="http://en.wikipedia.org/wiki/Archy"><strong>1 (possibly)</strong></a> <em>[*]</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>Requires <a href="http://en.wikipedia.org/wiki/Orthogonal_persistence">orthogonal   persistence.</a></p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=249</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Law of Sane Personal Computing</title>
		<link>http://www.loper-os.org/?p=215</link>
		<comments>http://www.loper-os.org/?p=215#comments</comments>
		<pubDate>Tue, 24 Aug 2010 17:26:11 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Hot Air]]></category>
		<category><![CDATA[Philosophy]]></category>
		<category><![CDATA[SoftwareSucks]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=215</guid>
		<description><![CDATA[Assuming physically-intact hardware, the user shall retain full  control of the machine at all times.  In particular, the handling of the keyboard, mouse, and other human interface devices must take absolute priority over all other  processing.  The user shall have the ability to issue commands and receive immediate confirmation of said commands at [...]]]></description>
			<content:encoded><![CDATA[<p><em>Assuming physically-intact hardware, the user shall retain full  control of the machine at all times.  In particular, the handling of the </em><em>keyboard, </em><em>mouse, and other human interface devices must take absolute priority over all other  processing.  The user shall have the ability to issue commands and receive immediate confirmation of said commands at all times, regardless of  system load.<br />
</em><br />
<span style="text-decoration: underline;">Personal computer operating systems known to obey this law:</span></p>
<p><strong>0</strong> (<a href="http://en.wikipedia.org/wiki/Qnx">possibly <strong>1</strong></a>)  <em>[*]</em></p>
<p><span style="text-decoration: underline;">Notes and observations:</span></p>
<p>Right now, the only part of a standard PC which behaves this way is the power switch.  And I have seen exceptions even here.</p>
<p>To be continued.</p>
<p><em>[*] Corrections are welcome.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=215</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8220;The Internet of the Future&#8221;</title>
		<link>http://www.loper-os.org/?p=208</link>
		<comments>http://www.loper-os.org/?p=208#comments</comments>
		<pubDate>Wed, 11 Aug 2010 20:33:23 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[NonLoper]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=208</guid>
		<description><![CDATA[This picture was posted in a number of places several years ago, but has largely vanished into undeserved obscurity.  With some effort, I unearthed it and now re-post it here.  (If anyone knows its permanent home, please let me know.)
If reports on the latest volley fired in the Net Neutrality Wars are filed under &#8220;meaningless [...]]]></description>
			<content:encoded><![CDATA[<p>This picture was posted in a number of places several years ago, but has largely vanished into undeserved obscurity.  With some effort, I unearthed it and now re-post it here.  (If anyone knows its permanent home, please let me know.)</p>
<p>If reports on the <a href="https://www.eff.org/deeplinks/2010/08/google-verizon-netneutrality">latest volley fired in the Net Neutrality Wars</a> are filed under <em>&#8220;meaningless political bickering, can safely ignore&#8221;</em> in your head, perhaps this will help you put things in perspective:</p>
<div class="wp-caption aligncenter" style="width: 605px"><a href="http://www.loper-os.org/wp-content/netad.jpg"><img class=" " title="The Non-Neutral Internet: Over 2000 Web Sites!" src="http://www.loper-os.org/wp-content/netad.jpg" alt="" width="595" height="406" /></a><p class="wp-caption-text">&quot;The Internet of the Future&quot; (click for full size)</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=208</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Tim Daly on Symbolics Lisp Machines</title>
		<link>http://www.loper-os.org/?p=202</link>
		<comments>http://www.loper-os.org/?p=202#comments</comments>
		<pubDate>Fri, 06 Aug 2010 16:12:58 +0000</pubDate>
		<dc:creator>Stanislav</dc:creator>
				<category><![CDATA[Lisp]]></category>
		<category><![CDATA[NonLoper]]></category>
		<category><![CDATA[Symbolics]]></category>

		<guid isPermaLink="false">http://www.loper-os.org/?p=202</guid>
		<description><![CDATA[Tim Daly on Symbolics and the elimination of the Compile-Pray-Debug Cycle:

&#8220;The Symbolics machine (its kittens all the way down&#8230;) gave me the insight that one of the most important parts of programming is the time it takes to &#8220;close the loop&#8221;. Start from the point of failure, find the failure in source code, fix the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://article.gmane.org/gmane.comp.java.clojure.user/34272">Tim Daly on Symbolics and the elimination of the Compile-Pray-Debug Cycle:</a></p>
<blockquote>
<p style="padding-left: 30px;"><em>&#8220;The Symbolics machine (its kittens all the way down&#8230;) gave me the insight that one of the most important parts of programming is the time it takes to &#8220;close the loop&#8221;. Start from the point of failure, find the failure in source code, fix the failure, recompile, and re-execute. Measure the time that takes. Call this cycle the <a href="http://en.wikipedia.org/wiki/OODA_loop">OODA loop (after the military acronym)</a>.</em></p>
<p style="padding-left: 30px;"><em>On a Symbolics machine, the OODA loop takes seconds. In Java it can take many minutes to an hour or more. Common lisp on stock hardware takes about a factor of 10 less than Java. Your OODA loop time may vary.</em></p>
<p style="padding-left: 30px;"><em>But the important point is that this OODA loop is a vital measure of how productive a language and its environment can be. By any measure, the Symbolics lisp machine was exceptional.&#8221;</em></p>
</blockquote>
<p>In <a href="http://www.paulgraham.com/onlisp.html"><em>On Lisp</em></a>, Paul Graham likens the traditional compile/pray/debug cycle suffered by programmers to having a conversation with a friend orbiting in outer space, several light-minutes away. Whereas using a Lisp-style <a href="http://en.wikipedia.org/wiki/REPL">REPL</a> &#8211; especially in the form it takes under Symbolics Genera &#8211; is like having a normal face-to-face conversation. This results in <em>qualitative </em>differences in just what kind of conversations you are able and willing to have.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.loper-os.org/?feed=rss2&amp;p=202</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
