cdent is currently certified at Master level.

Name: Chris Dent
Member since: 2000-05-10 14:52:43
Last Login: 2012-11-04 15:11:30

FOAF RDF Share This

Homepage: http://www.burningchrome.com/

Notes:

Oh, weird, I'm not sure what happened, I was wandering around the
internet and lo and behold, there I am at advogato.

These days I most work on TiddlySpace.

Although I have not been as in the flow of free software and
collaboration as I once was, my heart's still there. I'm still trying to find ways
to help myself and other people be less dumb and I believe that open software systems, granular addressability, persistent identifiers, the Church of Purple and the OnItâ„¢ can help make it happen.

Projects

Articles Posted by cdent

Recent blog entries by cdent

Syndication: RSS 2.0

Federation is Sad

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 MTC but also while learning about (and implementing an experiment of my own) distributed hash tables.

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.

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_.

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.

This makes my inner geek cringe: federation makes copies of things. This is wrong. Surely we should be distributing URIs? Copy by reference not by duplication!

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.

Keen!

Unfortunately people aren't excited to make this sort of thing work because:

  • they worry about latency
  • they are addicted to search
  • they are addicted to control

So they return to federation as the next (but distant!) best solution.

And that is sad.

Syndicated 2012-11-04 15:07:45 (Updated 2012-11-04 15:08:08) from cdent

30 Jul 2012 (updated 30 Jul 2012 at 22:12 UTC) »

20120730

Created tsapp to display, in a very basic way, the functionality available via the tsapp tool that I've been creating over the last few days. It worked really well.

There are a few issues but for the most part the concept seems sound and the implementation simple enough that it doesn't make my ZOMG complexity! Run! reaction kick in.

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 TiddlySpace is before using tsapp. But perhaps this is wrong, maybe tsapp is a vector for new (technically oriented) people to enter the ecosystem?

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.

It may be useful to compare what was created and what was discussed. 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 tsapp has no facility for pushing to "optional additional bags". You can proxy to those bags, but when tsapp push is run the content goes to just one bag. It may be worth considering a way to map assets to different bags (presumably by pathname).

The discussed app does both push and pull. The created app only does push. Implementing pull assumes there are situations where the server is authoritative for content. Either the local dir or a git repo ought to be authoritative. Also GET is the easiest of the methods, so curl can be used in a pinch.

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.

Syndicated 2012-07-30 19:47:47 (Updated 2012-07-30 21:33:12) from cdent

28 Jul 2012 (updated 28 Jul 2012 at 21:12 UTC) »

20120728

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.

The problem appears to be a mismatch between workarounds that packages like Python-MysqlDB do to cope with where OS X puts include files and new places where such things are in Xcode 4.4. In addition to installing the command line tools (from within the Xcode preferences (Downloads), my solution:

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 .

This could very well break a bunch of other stuff, but we'll see, it has my TiddlySpace dev environment working again.

Syndicated 2012-07-28 18:23:41 (Updated 2012-07-28 20:53:47) from cdent

sidebar

$(document).ready(function() {
var wholething = $('#text-html.section');
if (wholething.length == 0) return;

        var bag_name = 'theinformation_public';
        var host = 'http://theinformation.tiddlyspace.com/';
        $('')
            .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();
});

Syndicated 2012-07-28 17:01:31 (Updated 2012-07-28 17:02:33) from cdent

The Usefulness of Useless Knowledge - Brain Pickings

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.
The Usefulness of Useless Knowledge - Brain Pickings

This kind of serendipity is what I care about. Not the pursuit of solutions, but the pursuit of discovery.

Syndicated 2012-07-28 12:54:58 from cdent

491 older entries...

 

cdent certified others as follows:

  • cdent certified alan as Master
  • cdent certified squiggy as Apprentice
  • cdent certified mml as Journeyer
  • cdent certified hpa as Master
  • cdent certified corbet as Journeyer
  • cdent certified suso as Apprentice
  • cdent certified mjs as Master
  • cdent certified mdorman as Journeyer
  • cdent certified bucky as Apprentice
  • cdent certified Acapnotic as Journeyer
  • cdent certified andrei as Journeyer
  • cdent certified lilo as Journeyer
  • cdent certified zbir as Apprentice
  • cdent certified ahosey as Journeyer
  • cdent certified jwz as Master
  • cdent certified davem as Master
  • cdent certified johnsonm as Master
  • cdent certified jjw as Apprentice
  • cdent certified eknuth as Apprentice
  • cdent certified jlf as Apprentice
  • cdent certified jbowman as Apprentice
  • cdent certified jmason as Journeyer
  • cdent certified GJF as Apprentice
  • cdent certified dirtyrat as Apprentice
  • cdent certified esinclai as Apprentice
  • cdent certified gary as Apprentice

Others have certified cdent as follows:

  • suso certified cdent as Journeyer
  • squiggy certified cdent as Journeyer
  • mml certified cdent as Journeyer
  • zbir certified cdent as Journeyer
  • esinclai certified cdent as Journeyer
  • eknuth certified cdent as Journeyer
  • ahosey certified cdent as Journeyer
  • jlf certified cdent as Journeyer
  • jLoki certified cdent as Journeyer
  • rw2 certified cdent as Journeyer
  • jbowman certified cdent as Journeyer
  • jrf certified cdent as Journeyer
  • wetdog certified cdent as Journeyer
  • pjf certified cdent as Journeyer
  • jao certified cdent as Journeyer
  • jmason certified cdent as Journeyer
  • cwinters certified cdent as Master
  • chakie certified cdent as Master
  • hiddenpower certified cdent as Master
  • badvogato certified cdent as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

X
Share this page