<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://robust.cs.unm.edu/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Robust-first Computing Wiki - concepts</title>
        <description></description>
        <link>https://robust.cs.unm.edu/</link>
        <lastBuildDate>Mon, 20 Apr 2026 03:16:23 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://robust.cs.unm.edu/lib/exe/fetch.php?media=wiki:logo.png</url>
            <title>Robust-first Computing Wiki</title>
            <link>https://robust.cs.unm.edu/</link>
        </image>
        <item>
            <title>neutral_dynamics</title>
            <link>https://robust.cs.unm.edu/doku.php?id=concepts:neutral_dynamics&amp;rev=1419745403</link>
            <description>&lt;pre&gt;
@@ -13,9 +13,9 @@
  For the benefit of non-programmers, we note immediately that the distinction between &amp;quot;spontaneous&amp;quot; and &amp;quot;programmed&amp;quot; machine behavior is not fixed and absolute, but malleable and contextual.  It is partly a matter of choice, of our adopted definitions and interpretations and interfaces, just as the concept of a //virtual machine// allows us to reinterpret a hardware+software combination as being a new kind of hardware.  As programmers, we are free to conceptualize the hardware-software boundary wherever it provides the most leverage for us to accomplish our goals. 
  
  So in the general philosophical case, the definition of neutral dynamics depends not only upon the programmable machine, but also upon us, the machine&amp;#039;s programmer --- as well as upon our mutual surroundings, and upon the phase of the fabled double moon of Ivvaric III, and so on.  But we let all that go, because our present concerns are grounded and practical.  As programmers, we want to familiarize ourselves with typical neutral dynamics --- to recognize them when we see them, and gain some experience dealing with them --- to make more effective use of the machines we encounter in our environment.
  
- The most elegant hack is not necessarily the fastest piece of code, nor the smallest.  The most elegant hack is the one that best integrates the job to be done into the neutral dynamics of the machine.
+ The most elegant hack is not necessarily the fastest piece of code to write or to run, nor the smallest.  The most elegant hack is the one that best integrates the job to be done into the neutral dynamics of the machine.
  
  ===== The neutral dynamics of classical computing =====
  
  So, then: //What is the behavior of a computer without a program?//  Well, for a classical, traditional computer, typically the answer is: **Nothing**, or **Waiting For Program**.  Before being programmed, a traditional computer sits waiting, frozen.  Its neutral dynamics is a static fixed point; it is computing the identity function; its state-versus-time phase plot is just one single dot.
@@ -23,9 +23,9 @@
  And such static neutral dynamics is certainly one sensible option.  The program tells the computer **everything** it should do, we reason, so without a program the machine can do **nothing**.  Being in a single completely determined &amp;#039;**Reset**&amp;#039; state makes our job as programmers easier --- at least to get started.
  
  But such fixed-point neutral dynamics is far from the only possible case.  If it is our will to learn the time of day, for example, and we happen upon a person that seems likely to know, we can run the &amp;#039;Excuse me, have you got the time?&amp;#039; program upon that person, and quite likely achieve our goal.  Whatever that person was up to before we exerted our will upon them --- crossing the street, buying an apple, daydreaming until the bus comes --- it was **something**.
  
- And in any case, classical computers with static neutral dynamics are getting harder to find.  When you power up a typical new machine today, it //tries to program you//.  It tries to get you going answering questions, giving your name and this and that and god forbid your credit card number, and like a pushy house guest it immediately wants your wifi password to start sucking great gobs of who knows what through your internet connection.  Programmers often have to do quite a bit of work to gain the upper hand in such who&amp;#039;s-programming-whom shoving matches.
+ And in any case, classical computers with static neutral dynamics are getting harder to find.  When you power up a typical new machine today, it //tries to program you//.  It tries to get you going answering questions, giving your name and this and that and god forbid your credit card number, and like a pushy house guest it immediately wants your wifi password to start sucking great gobs of who knows what through your internet connection.  Programmers often have to do quite a bit of work to gain the upper hand in such who&amp;#039;s-programming-whom wrestling matches.
  
  ===== Neutral dynamics in the Movable Feast Machine =====
  
  A Movable Feast Machine is an array of //sites//, each like a box in a piece of graph paper.  At any given moment, each of those sites may be empty or may contain one //atom//.  Each atom is an instance of some type of //element//, and over time the atom will spontaneously behave in a manner characteristic of its type.

&lt;/pre&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 28 Dec 2014 05:43:23 +0000</pubDate>
        </item>
    </channel>
</rss>
