<?xml version="1.0"?>
<rss version="2.0.">
  <channel>
    <title>Advogato blog for timbl</title>
    <link>http://www.advogato.org/person/timbl/</link>
    <description>Advogato blog for timbl</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 17 May 2008 17:20:32 GMT</pubDate>
    <item>
      <pubDate>Tue, 30 Oct 2007 23:58:12 GMT</pubDate>
      <title>30 Oct 2007</title>
      <link>http://www.advogato.org/person/timbl/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/timbl/diary.html?start=0</guid>
      <description>&lt;p&gt;...wanted to refer in a paper to a "level-breaker" ...&#xD;
found my &lt;a&#xD;
href="http://www.w3.org/2000/10/swap/log"&gt;use&lt;/a&gt; of it was&#xD;
the second Google hit, I'd probably just started using the&#xD;
term without really defining it. So why not define it in a&#xD;
blog on my new Advogato account? &#xD;
&#xD;
&lt;p&gt; &lt;p&gt;The first &lt;a&#xD;
href="http://tvtropes.org/pmwiki/pmwiki.php/Main/LevelBreaker"&gt;hit&#xD;
&lt;/a&gt; was &#xD;
in the TV Tropes wiki defining it as &lt;cite&gt;An event in the&#xD;
script or an uneven portrayal that wrecks the intended&#xD;
emotional tenor of a scene or an entire piece.&lt;/cite&gt;.&#xD;
In software architecture, though, it is a pattern in which a&#xD;
well-defined clean layered architecture actually in practice&#xD;
had to be disrupted for, sometimes, good reason.&#xD;
&#xD;
&lt;p&gt;&#xD;
The URI bar in a browser is level breaker. It shows you the&#xD;
workings. The web architecture says you should be able to&#xD;
just browse in the hypertext document space, following&#xD;
links, but &#xD;
never explicitly aware of the URIs themselves.&#xD;
In fact, you need to be able to check on the URI.&#xD;
To decide whether to trust it.  When things go wrong, to see&#xD;
who is to blame.&#xD;
&lt;p&gt;&#xD;
A TCP/IP socket API which allowed one to see details of the&#xD;
TCP window, or detaiuls of the Ethernet back-off level,&#xD;
would be a level-breaker.&#xD;
&lt;p&gt;&#xD;
Level breakers often mess things up in theory.  &#xD;
A level-breaker which allows a programming language to peek&#xD;
at its own stack might suddenly make it theoretically a very&#xD;
different language.&#xD;
But it might be really useful at times. Especially when&#xD;
things go wrong.&#xD;
&lt;p&gt;&#xD;
I'll probably think of a bunch of better examples of useful&#xD;
level-breakers when I hit "Post". Slife.&#xD;
&lt;p&gt;&#xD;
Provenance is a useful level-breaker when a Semantic Web&#xD;
data browser allows you to ask which document produced the&#xD;
fact that you are just reading, and about to base an&#xD;
important decision on.&#xD;
&#xD;
 </description>
    </item>
  </channel>
</rss>
