<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for cdent</title>
    <link>http://www.advogato.org/person/cdent/</link>
    <description>Advogato blog for cdent</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Tue, 21 May 2013 03:48:31 GMT</pubDate>
    <item>
      <pubDate>Sun, 4 Nov 2012 15:10:28 GMT</pubDate>
      <title>Federation is Sad</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=495</link>
      <guid>http://cdent.tiddlyspace.com/bags/cdent_public/tiddlers/Federation%20is%20Sad</guid>
      <description>&lt;div&gt;I spent a brief amount of time recently checking up on the state of so-called federation on the web. In part this was while thinking about &lt;a href="MTC" &gt;MTC&lt;/a&gt; but also while learning about (and implementing an experiment of my own) distributed hash tables.&lt;br/&gt;&lt;br/&gt;The web, at large, is distributed. Content is in this giant graph with many nodes. A URI identifies some atom of content in the graph. Some atoms link to others. This simple model has expanded information exchange enormously. The last twenty years or so has had a lot of zOMG.&lt;br/&gt;&lt;br/&gt;At various times throughout those twenty years, sometimes some branches of the graph have more nodes than others, creating an apparent imbalance. These days Facebook has a lot of the nodes. While technically this does not violate the distributed nature of the web, it adjusts the human experience to such an extent that some people can think of Facebook _as the web_.&lt;br/&gt;&lt;br/&gt;To combat this people come up with the idea of federation: create content somewhere and copy it to one or more other places. For example create a message on status.net and have it duplicated on twitter and facebook.&lt;br/&gt;&lt;br/&gt;This makes my inner geek cringe: federation makes copies of things. This is wrong. Surely we should be distributing &lt;a href="URIs" &gt;URIs&lt;/a&gt;? Copy by reference not by duplication!&lt;br/&gt;&lt;br/&gt;If that happened you can imagine a considerably more distributed web: Rather than publishing something to a service, you simply put it into a distributed hash table network storage service, and get back a URI. You don't know where the content is, only that it is out there somewhere. Then you give the URI to systems that can display or otherwise manipulate the content, by reference.&lt;br/&gt;&lt;br/&gt;Keen!&lt;br/&gt;&lt;br/&gt;Unfortunately people aren't excited to make this sort of thing work because:&lt;br/&gt;&lt;br/&gt;&lt;ul&gt;&lt;li&gt; they worry about latency&lt;/li&gt;&lt;li&gt; they are addicted to search&lt;/li&gt;&lt;li&gt; they are addicted to control&lt;/li&gt;&lt;/ul&gt;&lt;br/&gt;So they return to federation as the next (but distant!) best solution.&lt;br/&gt;&lt;br/&gt;And that is sad.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 30 Jul 2012 20:11:42 GMT</pubDate>
      <title>20120730</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=494</link>
      <guid>http://cdent.tiddlyspace.com/bags/cdent_public/tiddlers/20120730</guid>
      <description>&lt;div&gt;Created &lt;a href="http://tsapp.tiddlyspace.com" &gt;tsapp&lt;/a&gt; to display, in a very basic way, the functionality  available via the &lt;code&gt;tsapp&lt;/code&gt; tool that I've been creating over the last few days. It worked &lt;em&gt;really&lt;/em&gt; well.&lt;br/&gt;&lt;br/&gt;There are a few &lt;a href="https://github.com/cdent/tsapp/issues" &gt;issues&lt;/a&gt; but for the most part the concept seems sound and the implementation simple enough that it doesn't make my &lt;strong&gt;ZOMG complexity! Run!&lt;/strong&gt; reaction kick in.&lt;br/&gt;&lt;br/&gt;One open question: Should it allow user registration and space creation? At first glance this seems a step too far, we'd want people to have understood what &lt;a href="http://tiddlyspace.com/bags/cdent_public/tiddlers/TiddlySpace" &gt;TiddlySpace&lt;/a&gt; is before using &lt;code&gt;tsapp&lt;/code&gt;. But perhaps this is wrong, maybe &lt;code&gt;tsapp&lt;/code&gt; is a vector for new (technically oriented) people to enter the ecosystem?&lt;br/&gt;&lt;br/&gt;Another issue is how to deal with an app that is designed to be included or uses "extra" bags. Is special support for that needed? Or can that be worked around.&lt;br/&gt;&lt;br/&gt;It may be useful to compare what was created and what &lt;a href="http://tiddlyspace.com/bags/cdent_public/tiddlers/tsapp" &gt;was discussed&lt;/a&gt;. The discussion described the form of an app and the process of app creation. The form of an app is mostly the same between the two. The major difference is that at the moment &lt;code&gt;tsapp&lt;/code&gt; has no facility for &lt;em&gt;pushing&lt;/em&gt; to "&lt;em&gt;optional&lt;/em&gt; additional bags". You can proxy to those bags, but when &lt;code&gt;tsapp push&lt;/code&gt; is run the content goes to just one bag. It &lt;em&gt;may&lt;/em&gt; be worth considering a way to map assets to different bags (presumably by pathname).&lt;br/&gt;&lt;br/&gt;The discussed app does both &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pull&lt;/code&gt;. The created app only does &lt;code&gt;push&lt;/code&gt;. Implementing &lt;code&gt;pull&lt;/code&gt; assumes there are situations where the server is authoritative for content. Either the local dir or a git repo ought to be authoritative. Also &lt;code&gt;GET&lt;/code&gt; is the easiest of the methods, so &lt;code&gt;curl&lt;/code&gt; can be used in a pinch.&lt;br/&gt;&lt;br/&gt;The discussed app planned "reliable algorithmic transformation" of paths to allow content both local and remote. The built app goes for a much simpler solution, that seems to cover most common cases. So, in fact the "overkill" solution was the simple one. Largely because WSGI is awesome.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 28 Jul 2012 19:11:57 GMT</pubDate>
      <title>20120728</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=493</link>
      <guid>http://cdent.tiddlyspace.com/bags/cdent_public/tiddlers/20120728</guid>
      <description>&lt;div&gt;I have upgrade my notebook to Mountain Lion and in the process seem to have rather messed up my development environment for Python. Haven't yet figured out where I went wrong, but merely upgrading Xcode does not fix it.&lt;br/&gt;&lt;br/&gt;The problem appears to be a mismatch between workarounds that packages like &lt;code&gt;Python-MysqlDB&lt;/code&gt; do to cope with where OS X puts include files and new places where such things are in &lt;code&gt;Xcode 4.4&lt;/code&gt;. In addition to installing the command line tools (from within the Xcode preferences (Downloads), my solution:&lt;br/&gt;&lt;br/&gt;&lt;pre&gt;cd /System/Library/Frameworks/Python.framework/Versions/2.7/include
su mv python2.7 python2.7.orig
sudo ln -s \
  /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 .
&lt;/pre&gt;&lt;br/&gt;This could very well break a bunch of other stuff, but we'll see, it has my &lt;a href="TiddlySpace" &gt;TiddlySpace&lt;/a&gt; dev environment working again.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 28 Jul 2012 17:11:23 GMT</pubDate>
      <title>sidebar</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=492</link>
      <guid>http://theinformation.tiddlyspace.com/bags/theinformation_public/tiddlers/sidebar</guid>
      <description>&lt;pre&gt;$(document).ready(function() {
var wholething = $('#text-html.section');
if (wholething.length == 0) return;

        var bag_name = 'theinformation_public';
        var host = 'http://theinformation.tiddlyspace.com/';
        $('&lt;div&gt;&lt;strong&gt;&lt;a href="http://www.advogato.org/" &gt;Home&lt;/a&gt;&lt;/strong&gt;&lt;form method="GET" action="/hsearch"&gt;&lt;input placeholder="weak search" name="q" value="bag:totw_public "/&gt;&lt;/form&gt;&lt;ul/&gt;&lt;/div&gt;')
            .appendTo('body');

    if (typeof(io) === 'undefined') {
        console.log('nosocket');
    }

    var socketuri = 'http://tiddlyspace.com:8081'
    , atdiv = $('#recents')
    var atbox = new Tiddlers(atdiv,
            socketuri,
            host + 'tiddlers?',
            ['recipe/' + bag_name],
            {sizer: 15});
    atbox.start();
});&lt;/pre&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 28 Jul 2012 13:12:47 GMT</pubDate>
      <title>The Usefulness of Useless Knowledge - Brain Pickings</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=491</link>
      <guid>http://cdent-bkm.tiddlyspace.com/bags/cdent-bkm_public/tiddlers/The%20Usefulness%20of%20Useless%20Knowledge%20-%20Brain%20Pickings</guid>
      <description>&lt;div&gt;&lt;blockquote&gt;Out of this useless activity there come discoveries which may well prove of infinitely more importance to the human mind and to the human spirit than the accomplishment of the useful ends for which the schools were founded.&lt;br/&gt;&lt;/blockquote&gt;&lt;a href="http://www.brainpickings.org/index.php/2012/07/27/the-usefulness-of-useless-knowledge/" &gt;The Usefulness of Useless Knowledge - Brain Pickings&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;This kind of serendipity is what I care about. Not the pursuit of solutions, but the pursuit of discovery.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2012 22:13:17 GMT</pubDate>
      <title>This is for everyone</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=490</link>
      <guid>http://cdent.tiddlyspace.com/bags/cdent_public/tiddlers/This%20is%20for%20everyone</guid>
      <description>&lt;div&gt;timbl &lt;a href="https://twitter.com/timberners_lee/status/228960085672599552" &gt;live tweeted&lt;/a&gt; from the Olympics opening ceremony:&lt;br/&gt;&lt;br/&gt;&lt;blockquote&gt; This is for everyone&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;It was the culmination of a long montage on the advancements and power of communication in recent history.&lt;br/&gt;&lt;br/&gt;I suspect that it was meant as a statement of hope, a kind of blessing, but to me it was warning: "Don't blow it."&lt;br/&gt;&lt;br/&gt;Don't let the corporates have it, this is for everyone.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2012 20:12:47 GMT</pubDate>
      <title>p419</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=489</link>
      <guid>http://theinformationq.tiddlyspace.com/bags/theinformationq_public/tiddlers/p419</guid>
      <description>&lt;div&gt;Infinite probability is good, not bad. Meaningless disorder to be challenged, not feared. Language maps a boundless world of objects and sensations and combinations onto a finite space. The world changes, always mixing the static with the ephemeral, and we know that language changes, not just from edition to edition of the &lt;em&gt;Oxford English Dictionary&lt;/em&gt; but from one moment to the next, and from person to the next. Everyone's language is different. We can be overwhelmed or we can be emboldened.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2012 20:12:47 GMT</pubDate>
      <title>p417</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=488</link>
      <guid>http://theinformationq.tiddlyspace.com/bags/theinformationq_public/tiddlers/p417</guid>
      <description>&lt;div&gt;"The more we 'communicate' the way we do, the more we create a &lt;em&gt;hellish&lt;/em&gt; world," wrote the Parisian philosopher &lt;span&gt;&#x2014;&lt;/span&gt; also a historian of cybernetics &lt;span&gt;&#x2014;&lt;/span&gt; &lt;a href="Jean-Pierre" &gt;Jean-Pierre&lt;/a&gt; Dupuy&lt;br/&gt;&lt;br/&gt;&lt;blockquote&gt; I take "hell" in its theological sense, i.e., a place which is void of &lt;em&gt;grace&lt;/em&gt; &lt;span&gt;&#x2014;&lt;/span&gt; the undeserved, unnecessary, surprising, unforeseen. A paradox is at work here: ours is a world about which we pretend to have more and more &lt;em&gt;information&lt;/em&gt; but which seems to us increasingly devoid of meaning.&lt;br/&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2012 20:12:47 GMT</pubDate>
      <title>p409</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=487</link>
      <guid>http://theinformationq.tiddlyspace.com/bags/theinformationq_public/tiddlers/p409</guid>
      <description>&lt;div&gt;It is a symptom of omniscience. It is what the critic Alex Ross calls the Infinite Playlist, and he sees how mixed is the blessing: "anxiety in place of fulfillment, an addictive cycle of craving and malaise. No sooner has one experience begun than the thought of what else is out there intrudes." The embarrassment of riches. Another reminder that information is not knowledge, and knowledge is not wisdom.&lt;/div&gt;</description>
    </item>
    <item>
      <pubDate>Fri, 27 Jul 2012 20:12:47 GMT</pubDate>
      <title>p404</title>
      <link>http://www.advogato.org/person/cdent/diary.html?start=486</link>
      <guid>http://theinformationq.tiddlyspace.com/bags/theinformationq_public/tiddlers/p404</guid>
      <description>&lt;div&gt;There is a whiff of nostalgia in this sort of warning, along with an undeniable truth: that in the pursuit of knowledge, slower can be better. Exploring the crowded stacks of musty libraries has its own rewards. Reading &lt;span&gt;&#x2014;&lt;/span&gt; even browsing &lt;span&gt;&#x2014;&lt;/span&gt; an old book can yield sustenance denied by a database search. Patience is a virtue. Gluttony a sin.&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
