<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>thruflo</title>
    <link>http://thruflo.github.com</link>
    <description>thruflo</description>
    <pubDate>2009-08-19T06:35:47-07:00</pubDate>
    <lastBuildDate>2009-08-19T06:35:47-07:00</lastBuildDate>
    <webMaster>thruflo@googlemail.com</webMaster>
    
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/thruflo" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
        <title>Contiguous Persistence</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/990rGAhPBS8/contiguous-persistence</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/08/19/contiguous-persistence</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/08/19/contiguous-persistence.html"&gt;Contiguous Persistence&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;19 Aug 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;I lent a book not so long ago to a friend who, for the duration of this post, shall remain nameless.  It was &lt;a href="http://www.foundersatwork.com/"&gt;Founders at Work&lt;/a&gt;, a collection of interviews with the founders of tech startups.&lt;/p&gt;
&lt;p&gt;If there&amp;#8217;s one line of wisdom threaded through the book, it&amp;#8217;s summed up at the end by Michael Dell when asked what the most important quality in an entrepreneur is.  &amp;#8220;Persistence&amp;#8221; was his one word reply.  (I prefer the phrase &amp;#8220;fucking a terrier&amp;#8221; as in &amp;#8220;he&amp;#8217;s a fucking terrier&amp;#8221;).&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s a quality that I hugely admire in my nameless friend.  He has, more than anyone else I know, dedicated his life to the pursuit of a singular, ambition dream.  He also displays great persistence as a system architect, as many tempoary advocates of a hack can testify, having suffered the contempt of his withering look.&lt;/p&gt;
&lt;p&gt;However, the thing about persistence is it has to be contiguous.  You can&amp;#8217;t have gaps in the thread.  So while he&amp;#8217;s fucking a terrier at the micro problem level and obsessively persistent at the macro calling level, he&amp;#8217;s still unfulfilled because he lacks persistence at the middle project level.&lt;/p&gt;
&lt;p&gt;If he had persistence through and through, he&amp;#8217;d be in the book, rather than borrowing it.  Until then it&amp;#8217;s a case of while True: return None.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/990rGAhPBS8" height="1" width="1"/&gt;</description>
        <pubDate>2009-08-19T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/08/19/contiguous-persistence</feedburner:origLink></item>
    
      <item>
        <title>The Birth of Networked Representation</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/UhTLRxewB0A/the-birth-of-networked-representation</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/08/04/the-birth-of-networked-representation</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/08/04/the-birth-of-networked-representation.html"&gt;The Birth of Networked Representation&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;4th Aug 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;Very occasionally, on an evening, cooking, talking to your wife in the kitchen, you have an idea that, when you walk around it, over it and under it, when you look at it from all 360 * 360 degrees, strikes you again and again with its potential to change the world.&lt;/p&gt;
&lt;p&gt;A simple practical idea that resonates with the threads and memes you&amp;#8217;re consuming.  That&amp;#8217;s interwoven with the trends of your time and solves the problems of your time.&lt;/p&gt;
&lt;p&gt;This post is about one such idea.&lt;/p&gt;
&lt;p&gt;In the kitchen, chopping mushrooms, after a hard day&amp;#8217;s work and a thankfully slurped beer, discussing the UK citizenship test, explaining the difference between first-past-the-post and proportional representation.  In the middle of explaining that there&amp;#8217;s a chamber.  A big room with seats and that those seats are sat on by the people who then get to make the law.&lt;/p&gt;
&lt;p&gt;That under PR, if you get 15% of the vote, you get 15% of the seats.  But that under the existing system, in the UK and the US, you can come second in every constituency with 40% of the vote and end up with no seats at all.  And that&amp;#8217;s kind of as it&amp;#8217;s meant to be.  Certainly how it&amp;#8217;s evolved.  Because those MPs represent their constituency and their constituency is therefore represented.&lt;/p&gt;
&lt;p&gt;Then the flash of light.  Because mid way through the words, &amp;#8220;MPs represent the people from their location&amp;#8221; the thought occurs.  The major trend of the second half of the 20th century is the transition from a geographically grounded society to a networked one.  That we&amp;#8217;ve atomised and that society isn&amp;#8217;t about place.  It&amp;#8217;s about &lt;a href="http://www.ted.com/talks/seth_godin_on_the_tribes_we_lead.html"&gt;tribes&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And the dawning.  That&amp;#8217;s why people are disenfranchised.  That&amp;#8217;s why they don&amp;#8217;t vote.  They&amp;#8217;re not represented.  Because the representation system is out of date.&lt;/p&gt;
&lt;p&gt;So design the new system.  What would it be?  Networked representation.  A chamber, full of seats, where each bum on each seat is the leader of a tribe.  Where hip-hop sends their representative and so do the geeks and so do the bean counters and practitioners in advertising and so, were the room big enough, would the Ukrainian folk dancers and men in white hats.&lt;/p&gt;
&lt;p&gt;Keep going.  How do you pick the tribes?  Well this is what we do nowadays isn&amp;#8217;t it?  Track memes.  Monitor the web trends.  Equally we self organise.  Take the crudest way: pick the top 600 tags on &lt;a href="http://www.wefollow.com"&gt;wefollow&lt;/a&gt;.  Offer people the chance to choose one of those tags and vote for the representative for that tag.  Hell, skip that, just pick the most followed.  The top of the list.&lt;/p&gt;
&lt;p&gt;What chamber would we get?  Well we know.  We have those results now.  Here it is.  How does it compare as a government of all the talents?  A room full of old goats?&lt;/p&gt;
&lt;p&gt;And then you think.  I&amp;#8217;ve got to write this down.  This is one hell of a blog post.  Baby, do you mind if I write down an idea?  And she does, because she wanted to go for a walk whilst it was still light.  But you do it anyway because you&amp;#8217;ve got the buzz.  The catharsis that comes like a proustian rush when you stumble upon symbiotic gold.&lt;/p&gt;
&lt;p&gt;So you fire up the macbook and you try not to lose your thread when you&amp;#8217;re waiting for ever for it to start.  And you hit TextMate as soon as it&amp;#8217;s loaded and practice your opening lines while the thinking wheel spins.  Then it&amp;#8217;s there and you type and you try to follow the thread you followed, so you can communicate your little psychological journey.&lt;/p&gt;
&lt;p&gt;But then you pause and&amp;#8212;and this always happens to me&amp;#8212;I catch myself in floats of fancy thinking about how this could be big.  Dreaming about how to approach Seth Godin.  What to write in the email that&amp;#8217;ll never be read.  Until realism bites and you think, OK that&amp;#8217;s never going to happen but some people will read this and if only they&amp;#8217;d share the idea it could happen.&lt;/p&gt;
&lt;p&gt;If they just took the 15 seconds it would take to copy and paste and personally recommend the idea to their followers and if they in turn read it and they got to this point right at the end of the article and they thought yes, I&amp;#8217;m going to make this a movement.  This idea is too important.  I&amp;#8217;m going to share it.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/UhTLRxewB0A" height="1" width="1"/&gt;</description>
        <pubDate>2009-08-04T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/08/04/the-birth-of-networked-representation</feedburner:origLink></item>
    
      <item>
        <title>Taxing Resources</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/f_ljtbJqHts/taxing-resources</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/08/04/taxing-resources</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/08/04/taxing-resources.html"&gt;Taxing Resources&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;4th Aug 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;The 30%+ Apple takes on every purchase in the app store is a significant disincentive to sell through their platform.  Because it&amp;#8217;s a new service, a new deal, it&amp;#8217;s one that we&amp;#8217;re all too aware off and scrutinise before grudgingly making our cocoa devil&amp;#8217;s pact.&lt;/p&gt;
&lt;p&gt;But it&amp;#8217;s worth remembering that we operate within just such a system every day of our lives.  Taxation is an equivalent disincentive and operates at a similar margin.  Imagine what would happen if Apple announced they were no longer going to take their cut.  All sorts of in-app micro-purchase revenue models would be unlocked and developers would flock to the iPhone in even larger numbers.&lt;/p&gt;
&lt;p&gt;Now imagine what would happen if the UK announced it was suspending taxes on profit to become a 0% tax zone.  But why waste my time with that thought, you might ask.  Surely it&amp;#8217;s a pipe dream.  Who&amp;#8217;s going to pay for the dustmen?  Well there is another way to generate revenue for the state.  You can tax resource consumption instead of taxing profits.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s make it a dichotomy.  Taxing profits and not resources provides a disincentive to create value (because you get penalised for it) and doesn&amp;#8217;t provide any disincentive to using and abusing resources like, say, people&amp;#8217;s lives and the environment.  Whereas spin that on its head and tax resources and what do you get?  You remove the disincentive to create value and create a disincentive to raping the planet.  The young Turks eyeing the dragon&amp;#8217;s den will be directly financially motivated to devise schemes that make the absolute most of the world&amp;#8217;s resources.&lt;/p&gt;
&lt;p&gt;As the system stands, the dog eat dog individualism of the market tends to short term-ism.  To get from there to a world of &lt;a href="http://blogs.harvardbusiness.org/haque/2009/02/constructive_capitalism.html"&gt;constructive capitalism&lt;/a&gt;, we need to change the rules of the game and tax is our game changing weapon.  Yes, with this approach, we lose the self-policing simplicity of taxing profits.  But look around you.  Utilities are metered and charged.  Bin bags are counted.  Carbon credits are traded.&lt;/p&gt;
&lt;p&gt;We already measure consumption exhaustively.  So let&amp;#8217;s tax it.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/f_ljtbJqHts" height="1" width="1"/&gt;</description>
        <pubDate>2009-08-04T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/08/04/taxing-resources</feedburner:origLink></item>
    
      <item>
        <title>Self-optimised Criticality</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/v1qMs_uAOPE/self-optimised-criticality</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/07/19/self-optimised-criticality</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/07/19/self-optimised-criticality.html"&gt;Self-optimised Criticality&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;17th Jul 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;I was talking to &lt;a href="http://twitter.com/evangineer"&gt;Mamading Ceesay&lt;/a&gt; recently about the &lt;a href="http://www.gallup.com/consulting/worldpoll/111220/Free-Limited-Version-Gallup-WorldView.aspx"&gt;Gallup World Poll&lt;/a&gt;, which tells us that what people really want is a good job.  He pointed out that it was interesting people equate fulfilling work with a decent job: are there not other ways to be satisfied?&lt;/p&gt;
&lt;p&gt;The next night, a Friday on the sofa nursing a cold, I watched &lt;a href="http://vimeo.com/3204792"&gt;this talk by Umair Haque&lt;/a&gt;.  I had been reading &lt;a href="http://blogs.harvardbusiness.org/haque/2009/07/manifesto_2.html"&gt;his response&lt;/a&gt; to the comments on his &lt;a href="http://blogs.harvardbusiness.org/haque/2009/07/today_in_capitalism_20_1.html"&gt;Generation M Manifesto&lt;/a&gt; and spotted a link purporting to explain what &amp;#8220;doing meaningful stuff that matters&amp;#8221; means in detail.&lt;/p&gt;
&lt;h4&gt;Constructive capitalism&lt;/h4&gt;
&lt;p&gt;In his talk, Haque contrasts two types of capitalism.  The first, bad, 20th century type, he equates with conflict.  Companies focused so hard on winning that they forget to compete.  The second type, the poster children of the 21st century, are companies that have stopped waging war on each other and, instead, focus their energies on innovating and creating new markets.  Competing in the pure sense of trying to make better products, as opposed to competing by selling more mediocre ones.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m not an economist and there&amp;#8217;s a lot of depth in Haque&amp;#8217;s analysis.  However, both his talk and my discussion with Mamading sparked the same thought about competition that I thought worth sharing.  Haque  wants to spark a discussion, pointing out that, of all the responses, &amp;#8220;none offered any substantive criticism of the essential ideas in the Manifesto&amp;#8221;.  So, caveat emptor, here goes.&lt;/p&gt;
&lt;h4&gt;Self-optimised criticality&lt;/h4&gt;
&lt;p&gt;Self-optimised criticality is a concept introduced to me by &lt;a href="http://en.wikipedia.org/wiki/Stuart_Kauffman"&gt;Stuart Kauffman&lt;/a&gt; in his books &lt;a href="http://books.google.co.uk/books?id=FxvENHL0qzYC&amp;amp;printsec=frontcover"&gt;At Home in the Universe&lt;/a&gt; and &lt;a href="http://books.google.co.uk/books?id=ZUMrZrJ4M1EC&amp;amp;printsec=frontcover"&gt;Investigations&lt;/a&gt;.  For him, it&amp;#8217;s the natural state of living systems and an aspect of a new way of understanding evolution.  What it means is that species tend towards what he calls the &amp;#8220;edge of chaos&amp;#8221;.  This is where they are as close to going pop as they can be whilst still hanging on in there.&lt;/p&gt;
&lt;p&gt;He&amp;#8217;s talking genetically.  The edge of chaos is where species are as open as they can be to accommodate genetic change whilst still maintaining the genetic stability to reap the gains of an advantageous mutation.  Kauffman suggests this trait, the tendency to self-optimise to the critical state on the edge of chaos, is ubiquitous.  It is, he believes, a law.&lt;/p&gt;
&lt;p&gt;Now, there&amp;#8217;s an obvious parallel between organisms in an ecosystem and companies in a market.  However, it&amp;#8217;s important to be careful applying concepts by analogy.  Yet regardless of the care with which the concept could be applied a priori, I see it every day as a clear empirical fact.&lt;/p&gt;
&lt;h4&gt;The edge of profitability&lt;/h4&gt;
&lt;p&gt;At &lt;a href="http://www.largeblue.com"&gt;Large Blue&lt;/a&gt;, we pitch for work against other agencies.  We do our best to differentiate and value our services and build our reputation but if we price too high, we don&amp;#8217;t win the work.  The terms on which we do business are largely out of our hands.  We know what we have to do to be competitive and that&amp;#8217;s the level at which we pitch.&lt;/p&gt;
&lt;p&gt;If this is, and I suggest it is, competition as practiced by the majority of (certainly b2b) companies, what&amp;#8217;s the aggregate result?  The invisible hand does its job of driving down prices and, as a consequence, we self-optimise to the edge of profitability: as close to bankruptcy as we can operate whilst still servicing the payroll each month.&lt;/p&gt;
&lt;h4&gt;External events&lt;/h4&gt;
&lt;p&gt;In the biological world, optimisation leads to vulnerability to external events.  For example, species that evolve specialisms for a specific environment are vulnerable to that environment changing.  This is equally true for companies.  Optimised to the edge of bankruptcy, they&amp;#8217;re vulnerable to a change in the financial environment, as clearly shown by the current financial crisis.&lt;/p&gt;
&lt;p&gt;This crisis is one of the main themes of Haque&amp;#8217;s manifesto.  In the talk I watched, he blamed the bad, old type of capitalism for the complex credit derivatives and sub prime investments that caused the crisis.  He also strongly defends the need for competition, explaining his critique of these bad old ways largely in terms of stifling competition.  However, if competition tends to make companies self-optimise to the edge of chaos, how will a change of focus back to competing by creating meaningful, authentic value affect the likelihood of another crisis?&lt;/p&gt;
&lt;p&gt;I can understand that companies that adopt a constructive mindset are likely to out compete their more jurassic competitors.  However fast forward to a new orthodoxy, when all companies are focused on creating real value.  What then?  They&amp;#8217;ll be just as vulnerable to external events as they are now.&lt;/p&gt;
&lt;h4&gt;Mitigating the effects&lt;/h4&gt;
&lt;p&gt;So, if companies will always be vulnerable to external events, how do we stop this ruining people&amp;#8217;s lives?  People who, Gallup tell us, just want to be used effectively and do satisfying work.&lt;/p&gt;
&lt;p&gt;I know this is a question Mamading&amp;#8217;s been considering and I wonder, are you?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/v1qMs_uAOPE" height="1" width="1"/&gt;</description>
        <pubDate>2009-07-19T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/07/19/self-optimised-criticality</feedburner:origLink></item>
    
      <item>
        <title>Solving the Wrong Problems</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/Ry6-Zqhs4cE/solving-the-wrong-problems</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/30/solving-the-wrong-problems</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/30/solving-the-wrong-problems.html"&gt;Solving the Wrong Problems&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;30 June 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s amazing how often I find myself solving the wrong problem.  As you may see from &lt;a href="/2009/06/28/trustmetrics-on-appengine.html"&gt;my last post&lt;/a&gt;, over the last few days, I&amp;#8217;ve been trying to wrestle &lt;a href="http://trustlet.org"&gt;trust metric calculations&lt;/a&gt; onto App Engine.  However it turns out that for one reason after another that it just isn&amp;#8217;t practical (the solution I outlined in the post, &lt;a href="http://tav.espians.com"&gt;Tav&lt;/a&gt; points out, is trivially game-able).&lt;/p&gt;
&lt;p&gt;So the penny drops and it&amp;#8217;s back to the drawing board.  All the time I&amp;#8217;ve invested figuring out which model entities can go in which entity group and how we can maitnain db consistency and so on is simply a waste.&lt;/p&gt;
&lt;p&gt;In the same conversation, both Tav and I were wrestling with the same conundrum on a more generic level.  If we can&amp;#8217;t calculate real metrics should we be creating the architecture to be able to do so?  Or should we just work within the restrictions?  What should we be trying to achieve?&lt;/p&gt;
&lt;p&gt;Self starting productivity is a constant battle to &lt;a href="/2009/06/12/narrative-and-time-management.html"&gt;stay in the narrative&lt;/a&gt; and solve the right problems.  When do you &lt;a href="http://startuplessonslearned.blogspot.com/2009/06/pivot-dont-jump-to-new-vision.html"&gt;pivot&lt;/a&gt; and when do you stay the course?&lt;/p&gt;
&lt;p&gt;Some days I wish I knew.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/Ry6-Zqhs4cE" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-30T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/30/solving-the-wrong-problems</feedburner:origLink></item>
    
      <item>
        <title>Scalable Trust Metrics in the Google Appengine Data Store</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/xkZ_s52OIXI/trustmetrics-on-appengine</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/28/trustmetrics-on-appengine</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/28/trustmetrics-on-appengine.html"&gt;Scalable Trust Metrics in the Google Appengine Data Store&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;28th June 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;&lt;em&gt;This is a dump of my thoughts on how to use Google App Engine for the back end of &lt;a href="http://trustmap.plexnet.org"&gt;Trustmap&lt;/a&gt;.  I&amp;#8217;m no expert on data and this may not make much sense if you&amp;#8217;re not me.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From a data store perspective, a user&amp;#8217;s immediate trustmap looks like:&lt;/p&gt;
&lt;pre&gt;
class Trustmap(db.Model):
    user = db.KeyProperty()
    context = db.StringProperty()
    users = db.ListProperty(db.Key)
&lt;/pre&gt;
&lt;p&gt;This allows a query that shows who &lt;span class="literal"&gt;user&lt;/span&gt; trusts in &lt;span class="literal"&gt;context&lt;/span&gt;:&lt;/p&gt;
&lt;pre&gt;
&amp;gt;&amp;gt;&amp;gt; tm = Trustmap.all().filter('user =', user).filter('context =', context).get()
&amp;gt;&amp;gt;&amp;gt; tm.users
[... list of users...]
&lt;/pre&gt;

&lt;p&gt;This allows people to tag other people, much like you can use delicious to tag URLs.  However, as with delicious, this query simply returns the information put into the system.  There&amp;#8217;s no added value.&lt;/p&gt;
&lt;p&gt;Our aim with @trustmap is to provide that added value by calculating trust metrics for each supplied context.  The idea being that if I trust &lt;span class="literal"&gt;user&lt;/span&gt; for &lt;span class="literal"&gt;context&lt;/span&gt; then I also implicitly trust who &lt;span class="literal"&gt;user&lt;/span&gt; trusts for &lt;span class="literal"&gt;context&lt;/span&gt;, albeit less than I trust &lt;span class="literal"&gt;user&lt;/span&gt; himself.&lt;/p&gt;
&lt;p&gt;Take the following network:&lt;/p&gt;
&lt;pre&gt;
       G       H      
         \   /        
           A          
         /   \        
       B       C      
     /   \   /   \    
   D       E       F  
&lt;/pre&gt;
&lt;p&gt;A trusts B in a specific context and B trusts D and E.  So according to the trust metric approach above, A can be said to implicitly trust D and E because A trusts B.&lt;/p&gt;
&lt;p&gt;Now, our challenge is to store this information on Google Appengine, following the appengine paradigm of super fast reads.  What are the issues?&lt;/p&gt;
&lt;h4&gt;Appengine Restrictions&lt;/h4&gt;
&lt;p&gt;Appengine is great because it&amp;#8217;s real, live and functioning and provides a scalable data store that doesn&amp;#8217;t slow down when it gets full of rows.  It also provides memcache, a great little webapp framework and automated deployment.&lt;/p&gt;
&lt;p&gt;However, it comes with a whole bunch of caveats and restrictions.  Notably:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;requests need to be completed within a specific time (atm 30 secs)&lt;/li&gt;
	&lt;li&gt;requests need to, on average, not consume anything like 30 seconds worth of &lt;span class="caps"&gt;CPU&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;max of 1MB data in any one db.put operation&lt;/li&gt;
	&lt;li&gt;transactions have to be within entity groups&lt;/li&gt;
	&lt;li&gt;limited background processing&lt;/li&gt;
	&lt;li&gt;limited remote &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;pure python only&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Also, when appengine apps scale towards relatively high usage, db operations error more frequently (or so I&amp;#8217;m told &lt;a href="http://code.google.com/events/io/sessions/AppEngineNittyGritty.html"&gt;here&lt;/a&gt;).&lt;/p&gt;
&lt;h4&gt;The Naive Approach&lt;/h4&gt;
&lt;p&gt;The naive approach is to simply iterate through trustmaps when querying.  Silly pseudocode being:&lt;/p&gt;
&lt;pre&gt;
zero_degrees = []
one_degree = []
two_degrees = []
...
zero_degrees = trustmap
for user in zero_degrees:
    one_degree += user.trustmap
for user in one_degree:
    two_degrees += user.trustmap
...
return zero_degrees + one_degree + two_degrees
&lt;/pre&gt;
&lt;p&gt;This has the benefit of being simple and working with just the &lt;span class="literal"&gt;Trustmap&lt;/span&gt; model class from above.  However, it&amp;#8217;s very quickly preclusively expensive and slow to calculate.  If a user has, on average 1000 people in their trustmap for a context and we calculate 2 degrees of separation, we get 1,000 * 1,000 * 1,000 = 1,000,000,000 calculations.&lt;/p&gt;
&lt;h4&gt;Keeping a Lid on the Calculations&lt;/h4&gt;
&lt;p&gt;There are two factors that influence the number of calculations: the number of people in a trustmap for a context and the degrees of separation.  One way of keeping the numbers down (tx to &lt;a href="http://twitter.com/happyseaurchin"&gt;David Pinto&lt;/a&gt; for the advice) is to prescribe a small maximum for the former, say max 5 people per context.  This would make the max calcs for 2 degrees of separation to 5 * 5 * 5 = 125.&lt;/p&gt;
&lt;p&gt;However, whilst an intriguing &amp;#8216;creative constraint&amp;#8217; I have the feeling people might want to trust more people than that for important tags.  Say you&amp;#8217;re a casting manager keeping track of a lot of dancers, you might want to trust more than 5 people for #chorus.  Or a marketeer might want to trust a long list for distribution.  Conclusion: setting a max per context is a good limiter but needs to be unobtrusively higher than 5.  Say 30 or 100 or 500.&lt;/p&gt;
&lt;p&gt;The second weapon is limiting the degrees of separation.  We want to add value but we need to avoid calculations.  How would just one degree of separation work out?  Say with a maximum of 99 users per context?  That&amp;#8217;s a maximum of 10,000 trustmaps affected by one change.  Can we handle that?&lt;/p&gt;
&lt;h4&gt;Computed Trustmap&lt;/h4&gt;
&lt;p&gt;Let&amp;#8217;s assume that, instead of building the results on query, we&amp;#8217;re going to build them when data is written.  One approach is to flag up which trustmaps need to be recalculated in response to an add (i.e.: when a user trusts) or remove (when a user untrusts) event.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s imagine we have a new class::&lt;/p&gt;
&lt;pre&gt;
class ComputedTrustmap(db.Model):
    user = db.KeyProperty()
    context = db.StringProperty()
    users = db.ListProperty(db.Key)
&lt;/pre&gt;
&lt;p&gt;Imagine that the left hand side of the network diagramme above doesn&amp;#8217;t exist and that we&amp;#8217;re at the point when A decides to trust B for a specific context.  What changes?&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;A&amp;#8217;s trustmap&lt;/li&gt;
	&lt;li&gt;A&amp;#8217;s computed trustmap&lt;/li&gt;
	&lt;li&gt;G &amp;amp; H&amp;#8217;s computed trustmaps&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;A&amp;#8217;s trustmap changes because A has added a user to it.  A&amp;#8217;s computed trustmap has changed because A now trusts B&amp;#8217;s users for context and G and H&amp;#8217;s change because they trust A and thus should have A&amp;#8217;s trustmap in their computed trustmaps.&lt;/p&gt;
&lt;h4&gt;Calculate What?&lt;/h4&gt;
&lt;p&gt;Having worked out which trustmaps / computed trustmaps are affected, we have two routes.  The first would be to recalculate the affected trustmaps, along the lines of the &amp;#8216;naive&amp;#8217; logic above.  However, this seems like overkill because, after all, the majority of those trustmaps is going to be just the same.&lt;/p&gt;
&lt;p&gt;The second approach is to make the specific changes to the trustmaps required by the event.  Let&amp;#8217;s look at what those would be in this case:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;we need to add B to A&amp;#8217;s trustmap&lt;/li&gt;
	&lt;li&gt;we need to add B&amp;#8217;s trustmap to A&amp;#8217;s computed trustmap&lt;/li&gt;
	&lt;li&gt;we need to add B to G &amp;amp; H&amp;#8217;s computed trustmaps&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;How would this work in practice?  Say we have an initial request handler (or a synchronous function called by the request handler).  The first operation, adding B to A&amp;#8217;s trustmap is trivial.  How about the second operation, adding B&amp;#8217;s trustmap to A&amp;#8217;s computer trustmap?&lt;/p&gt;
&lt;p&gt;The complexity of the second operation comes from the need to sort a computed trustmap.  The logic is as follows.  If you query a users&amp;#8217; trustmap for a context, the first results should be the people that user trusts directly (from their direct trustmap), followed by the people that user trusts indirectly (from the computed trustmap).  However the people from the computed trustmap should also be ordered so that someone trusted indirectly twice (i.e.: by two people in the direct trustmap) should come before someone trusted once, and so on.&lt;/p&gt;
&lt;p&gt;Now, we&amp;#8217;re going to sort the computed trustmap by &lt;span class="literal"&gt;key_name&lt;/span&gt;, as this allows for efficient batching.  So one solution might be to have multiple &lt;span class="literal"&gt;ComputedTrustmap&lt;/span&gt; entities for a &lt;span class="literal"&gt;user&lt;/span&gt; and a &lt;span class="literal"&gt;context&lt;/span&gt; that have different &lt;span class="literal"&gt;priorities&lt;/span&gt;.  That way, when adding (or removing) a user from the computed trustmap, the pseudocode logic would be:&lt;/p&gt;
&lt;pre&gt;
&amp;gt;&amp;gt;&amp;gt; query = ComputedTrustmap.all().filter('user =', user).filter('context =', context)
&amp;gt;&amp;gt;&amp;gt; ctm = query.filter('users =', trusted_user).get()
&amp;gt;&amp;gt;&amp;gt; if ctm: # move trusted_user from this entity to the entity with the next highest priority
&amp;gt;&amp;gt;&amp;gt; else: # add trusted_user to the entity with the lowest priority
&lt;/pre&gt;
&lt;p&gt;(The key [ahem] to efficient batched querying would then be to put the priority in the entity key, after the user and context ala:&lt;/p&gt;
&lt;pre&gt;
keyname = u'%s/%s/%s' % (user, context, priority)
&lt;/pre&gt;

&lt;p&gt;A query like:&lt;/p&gt;
&lt;pre&gt;
ComputedTrustmap.all().filter('user =', user).filter('context =', context).order('__key__')
&lt;/pre&gt;

&lt;p&gt;Would then return a list of matching entities, in order of priority, each with a list of indirectly trusted users.)&lt;/p&gt;
&lt;p&gt;Now, the routine, set out in four lines of pseudocode above, for adding (or removing) a user from the computed trustmap adds a bit of faff but is still limited by the maximum number of people per context.  In contrast, the issue with the third operation, adding B to G &amp;amp; H&amp;#8217;s computed trustmaps, is that whilst we can limit the maximum number of people a user can trust for a context, we can&amp;#8217;t limit the number of people who trust a user.&lt;/p&gt;
&lt;p&gt;For example, how many users would trust Seth Godin for a relevant context?  So when Seth occasionally makes a change, thousands or more people may require their computed trustmaps to be updated.  This means that whilst the second operation could perhaps have been done within the scope of an initial request handler, the third operator has to have the capacity to be iterated through by a background process.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ll need to store a snapshot of the users who need to have B added to their computed trustmaps.  So we get a class like:&lt;/p&gt;
&lt;pre&gt;
class DirtyUsers(dm.model):
    users = db.ListProperty(db.Key)
    context = db.StringProperty()
    action = db.StringProperty() # 'add' | 'remove'
    user = db.KeyProperty()
    ...
&lt;/pre&gt;
&lt;p&gt;We then iterate in a worker to:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span class="literal"&gt;action(user)&lt;/span&gt; to computed trustmap (following the logic outlined above)&lt;/li&gt;
	&lt;li&gt;updated / delete the DirtyUsers entity to keep track of the computed trustmaps remaining to update&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ok, so far so good, we&amp;#8217;ve got a mechanism of making just the relevant changes in response to an event.  However, this approach introduces a further problem: the possibility of the trustmaps getting out of sync.&lt;/p&gt;
&lt;h4&gt;Sync&lt;/h4&gt;
&lt;p&gt;The problem is that, because we only ever change what needs to be changed, if, for some reason, a change isn&amp;#8217;t made, the trustmap and thus all future calculations based upon it will be erroneous.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s look at the specifics.  We have two sets of &amp;#8216;puts&amp;#8217;.  The first:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;add B to A&amp;#8217;s trustmap&lt;/li&gt;
	&lt;li&gt;add B&amp;#8217;s trustmap to A&amp;#8217;s computed trustmap&lt;/li&gt;
	&lt;li&gt;store DirtyUsers entity for context, action and user&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The second as outlined above:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;&lt;span class="literal"&gt;action(user)&lt;/span&gt; to computed trustmap (following the logic outlined above)&lt;/li&gt;
	&lt;li&gt;updated / delete the DirtyUsers entity to keep track of the computed trustmaps remaining to update&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Now we can, if we want, use a transaction for the first set.  The DirtyUsers entity, and A&amp;#8217;s Computed Trustmap can all have A&amp;#8217;s Trustmap entity as parent and thus belong to the same entity group.  However, whether we do that or not, we can&amp;#8217;t update the DirtyUsers entity in the same transaction as the ComputedTrustmap entities in the worker iterations.&lt;/p&gt;
&lt;p&gt;However, we do have a &amp;#8216;get out of jail&amp;#8217; mechanism for these computations: if it goes wrong, re-calculate everything.  If we store the original action (A trusts B for context) on the DirtyUsers entity we can then have an occasional background process that scans for very old unprocessed DirtyUsers and, if they seem suspicious, delete them and file all the affected trustmaps for re-calculation.&lt;/p&gt;
&lt;p&gt;Thoughts?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/xkZ_s52OIXI" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-28T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/28/trustmetrics-on-appengine</feedburner:origLink></item>
    
      <item>
        <title>The Missing Business Model for Content Producers</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/otcJyOessbM/the-missing-business-model</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/22/the-missing-business-model</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/22/the-missing-business-model.html"&gt;The Missing Business Model for Content Producers&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;22nd Jun 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;I went to a &lt;a href="http://www.c21media.net/shop/detail.asp?area=109&amp;amp;article=50134"&gt;Social Media Forum&lt;/a&gt; today, where Justin Judd, the &lt;span class="caps"&gt;CEO&lt;/span&gt; of &lt;a href="http://www.i-rights.co.uk"&gt;i-Rights&lt;/a&gt; spelled out that there are just three business models for online content:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. &amp;#8220;I Pay&amp;#8221;&lt;/strong&gt;: where content is given away for free (like, say, &lt;a href="http://www.green.tv"&gt;green.tv&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. &amp;#8220;You Pay&amp;#8221;&lt;/strong&gt;: where content is sold by subscription or transaction.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. &amp;#8220;Someone Else Pays&amp;#8221;&lt;/strong&gt;: where content is swathed in advertising.&lt;/p&gt;
&lt;p&gt;But the truth of the matter is that there is another option, &lt;a href="/2009/06/09/tav-describes-pecus.html"&gt;squeezed in between the second and the third way&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/otcJyOessbM" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-22T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/22/the-missing-business-model</feedburner:origLink></item>
    
      <item>
        <title>Six Questions to Ask When Evaluating a New Business Idea</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/mmZMiQOM8IE/six-questions</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/21/six-questions</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/21/six-questions.html"&gt;Six Questions to Ask When Evaluating a New Business Idea&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;21st June 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;h4&gt;1. Is it innovative?&lt;/h4&gt;
&lt;p&gt;Is it novel? Does it create real value?  Where does that value come from?  &lt;a href="/2009/05/30/how-social-media-unlocks-value.html"&gt;#&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;2. Is it as simple as it can be?&lt;/h4&gt;
&lt;p&gt;Have you isolated the very core of the idea?  Can you make it simpler to build?  Simpler to use?&lt;/p&gt;
&lt;h4&gt;3. Is it backwards compatible?&lt;/h4&gt;
&lt;p&gt;Does it import existing data?  Integrate with existing services?  Leverage existing habits?  &lt;a href="http://www.joelonsoftware.com/articles/fog0000000054.html"&gt;#&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;4. Is it extensible?&lt;/h4&gt;
&lt;p&gt;Is it a platform?  Can others build on it?  Will it become woven into the fabric of the future? &lt;a href="http://www.feld.com/wp/archives/2008/05/no-api-you-suck.html"&gt;#&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;5. Is it defensible?&lt;/h4&gt;
&lt;p&gt;Have you left room for a competitor?  Can you defend your space against a team that&amp;#8217;s ten times as big?&lt;/p&gt;
&lt;h4&gt;6. Is it sustainable?&lt;/h4&gt;
&lt;p&gt;Will you still create value once you&amp;#8217;ve scaled, moved on, retired?&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/mmZMiQOM8IE" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-21T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/21/six-questions</feedburner:origLink></item>
    
      <item>
        <title>Narrative &amp; Time Management</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/Bht4Q4U5qVI/narrative-and-time-management</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/12/narrative-and-time-management</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/12/narrative-and-time-management.html"&gt;Narrative &amp;amp; Time Management&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;12 June 2009 &amp;#8211; Oxford, UK&lt;/p&gt;
&lt;p&gt;Effective time management is about setting priorities and meeting deadlines?  It&amp;#8217;s about organising your day and minimising the time you waste?&lt;/p&gt;
&lt;p&gt;Wrong.  These are tiny marginal factors that barely affect it.&lt;/p&gt;
&lt;p&gt;When you look back on a life, or part of it, you convert it to a linear narrative.  The same with history.  We invented the wheel and writing and the printing press and then the Internet and &amp;#8230;&lt;/p&gt;
&lt;p&gt;However, when you live a life, it&amp;#8217;s not linear.  Neither is history.  The world went from the printing press to the Internet via slavery and two world wars.&lt;/p&gt;
&lt;p&gt;Effective time management is about staying in the narrative.  It&amp;#8217;s about making sure that you&amp;#8217;re investing your time in the centre of the future story.  Not into a footnote.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/Bht4Q4U5qVI" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-12T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/12/narrative-and-time-management</feedburner:origLink></item>
    
      <item>
        <title>Tav Describes Pecus</title>
        <link>http://feedproxy.google.com/~r/thruflo/~3/ARa_fbpCr-I/tav-describes-pecus</link>
        <guid isPermaLink="false">http://thruflo.github.com/2009/06/09/tav-describes-pecus</guid>
        <description>&lt;h1&gt;&lt;a href="/2009/06/09/tav-describes-pecus.html"&gt;Tav Describes Pecus&lt;/a&gt;&lt;/h1&gt;
&lt;p class="meta"&gt;9th June 2009 &amp;#8211; London, UK&lt;/p&gt;
&lt;p&gt;Following some recent discussions on the &lt;a href="http://groups.google.com/group/esp"&gt;esp Google Group&lt;/a&gt;, &lt;a href="http://tav.espians.com"&gt;Tav&lt;/a&gt; emailed in this clairification of Pecus.  I thought I&amp;#8217;d reproduce the email here as it relates to my previous post &lt;a href="/its-about-actualisation.html"&gt;It&amp;#8217;s about Actualisation&lt;/a&gt; and &lt;a href="http://trustmap.plexnet.org"&gt;Plexnet Trustmap&lt;/a&gt;, and means there&amp;#8217;s a permalink to the documentation.&lt;/p&gt;
&lt;p&gt;Over to Tav&amp;#8230;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;In the long long ago (late 1999), Pecus came into being as an internal currency to manage resources/rewarding within &lt;span class="caps"&gt;ESP&lt;/span&gt;. It was an actually an acronym for &amp;#8220;Plex Economic Currency Units&amp;#8221; and was meant to be a 21st century reflection of the Latin pecu &amp;#8212; the origin of the Latin word for money/wealth, pecunia.&lt;/p&gt;
&lt;p&gt;This was tied into a trust-based organisational structure &amp;#8212; which would soon after go onto become what is today referred to as &amp;#8220;Trust Maps&amp;#8221;. And, quite separate from all of this were our efforts in the field of gift economies.&lt;/p&gt;
&lt;p&gt;We were creating a media client called &amp;#8220;Espra&amp;#8221; which intended to have an &amp;#8220;aggregated micropayments&amp;#8221; service. The idea being that you would listen/watch/read using Espra and every couple of weeks it&amp;#8217;d go &amp;#8220;Hey dude, it seems that you&amp;#8217;ve been enjoying all this great shit &amp;#8212; would you like to give something back?&amp;#8221; and you&amp;#8217;d give it say &amp;pound;30 and it&amp;#8217;d split that up according to what you&amp;#8217;ve been reading/watching/listening/etc.&lt;/p&gt;
&lt;p&gt;You can see related discussions here:&lt;br /&gt;
&lt;a href="http://web.archive.org/web/20010818140920/lists.espra.net/pipermail/espra-dev/2001-February/date.html"&gt;http://web.archive.org/web/20010818140920/lists.espra.net/pipermail/espra-dev/2001-February/date.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now, several iterations later, we get to 2007 &amp;#8212; the 24weeks Iteration. By this time the concept of Pecus had gone through various iterations and the overall economic model had become a tad bit more complex: &lt;a href="http://wiki.espians.com/Image:Toman_ecology.png"&gt;http://wiki.espians.com/Image:Toman_ecology.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As a firm believer in the existence of &amp;#8220;simplicity beyond complexity&amp;#8221;, I wasn&amp;#8217;t too happy with this. And one of the main things I did &amp;#8212;during the second half of 2007 and early 2008 &amp;#8212; was work on simplifying this model.&lt;/p&gt;
&lt;p&gt;And, as a result we have the current redefinition of Pecus &amp;#8212; Personal EConomic Units &amp;#8212; which has nothing at all to do with currencies! Pecus are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
Personally branded. That is, we&amp;#8217;d have @nslater pecus, @evangineer pecus, @saul pecus, etc.
&lt;/li&gt;
&lt;li&gt;
Public (for reasons of transparency) units of accounting relative to an individual&amp;#8217;s brand.
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That&amp;#8217;s it!! It&amp;#8217;s so simple that a 16 year old could implement it in less than a day. Quite ironic, since that&amp;#8217;s exactly what Tim Jenks (then 16) did back in 1999 &amp;#8212; the very first bit of code that was written in Espian history &amp;#8212; with the difference being that back then it wasn&amp;#8217;t personally branded and was global instead.&lt;/p&gt;
&lt;p&gt;So what&amp;#8217;s so great about Pecus? The idea is simply that as people go through their lives, they give away their branded pecus to the individuals who&amp;#8217;ve provided something that&amp;#8217;s been beneficial to them.&lt;/p&gt;
&lt;p&gt;This can be explicit. For example, some of you will find yourself in the tav-branded Pecu allocations I made earlier this year: &lt;a href="http://tav.espians.com/pecu-allocations-by-tav.html"&gt;http://tav.espians.com/pecu-allocations-by-tav.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Or, it can be implicit. For example, you may want to give one of your Pecus every time you watch a YouTube video &amp;#8212; perhaps you have it set to automatically give out 3 Pecus if you watch a YouTube right to the end! Same for anything you might read, watch, listen to, etc.&lt;/p&gt;
&lt;p&gt;A pseudo-structure of a Pecu allocation might look something like:&lt;/p&gt;
&lt;pre&gt;
Pecu {
  from, # who is doing the allocation?
  to,     # who is it being allocated to?
  for,    # what the allocation for?
  comment, # optional field providing a comment
  amount,    # the amount of pecus being given
  valid_until # can be set to 'lifetime' or a future date
}
&lt;/pre&gt;
&lt;p&gt;In short, Pecus simply provide a public accounting of the people (and the things they&amp;#8217;ve provided) that you&amp;#8217;ve found beneficial in your life.&lt;/p&gt;
&lt;p&gt;Together with Trust Maps &amp;#8212; this can be pretty damn useful already! For example, one could look at all the YouTube videos that people in a given Trust Map of yours have given Pecus to. The possibilities are endless.&lt;/p&gt;
&lt;p&gt;But the real brilliance of Pecus comes with the notion of Pecu Payouts. This is a bit like dividend payouts in a company: &lt;a href="http://en.wikipedia.org/wiki/Dividend"&gt;http://en.wikipedia.org/wiki/Dividend&lt;/a&gt; &amp;#8212; a bit like having non-voting shares in a person!&lt;/p&gt;
&lt;p&gt;Like Pecus, Pecu Payouts will also be completely public and transparent. The idea is that people can choose to do &amp;#8220;payouts&amp;#8221; across their Pecu allocations whenever they please.&lt;/p&gt;
&lt;p&gt;For example, let&amp;#8217;s say that I&amp;#8217;ve made the following Pecu allocations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
James Arthur: 4,000 pecus
&lt;/li&gt;
&lt;li&gt;
Sean B. Palmer: 4,000 pecus
&lt;/li&gt;
&lt;li&gt;
Danny Bruder: 2,000 pecus
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, in total, I&amp;#8217;ve allocated 10,000 tav-branded Pecus.&lt;/p&gt;
&lt;p&gt;Now, if I decide to do a payout of say &amp;pound;800, this would be split according to the portion/share the individuals have been allocated, i.e.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
James Arthur: &amp;pound;320
&lt;/li&gt;
&lt;li&gt;
Sean B. Palmer: &amp;pound;320
&lt;/li&gt;
&lt;li&gt;
Danny Bruder: &amp;pound;160
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, not only would I have publicly acknowledged the way I&amp;#8217;ve benefited from those 3 individuals, but I&amp;#8217;d have rewarded them with a payout too!&lt;/p&gt;
&lt;p&gt;As to why people might be motivated to actually do payouts &amp;#8212; I&amp;#8217;m sure Jim Carrico will have lots of references in favour of Gift Economies &amp;#8212; and the article by James that was referenced earlier makes a fairly decent argument: &lt;a href="http://www.thruflo.com/2009/04/29/its-about-actualisation.html"&gt;http://www.thruflo.com/2009/04/29/its-about-actualisation.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The way that I tend to pitch it is that people care more about social status than money (lots of research out there to back this up). And those who&amp;#8217;re &amp;#8220;successful&amp;#8221; and doing Pecu Payouts will find themselves invited to the cool parties whilst those that don&amp;#8217;t won&amp;#8217;t&amp;#8230;&lt;/p&gt;
&lt;p&gt;Myself, once the Plexnet is up and running, will be making Pecu Payouts of 50% of everything I make.&lt;/p&gt;
&lt;p&gt;The beauty of the system is that it&amp;#8217;s totally voluntary &amp;#8212; that is, there is no enforced costs. And the fact that there are no micropayments gets around the obstacles like the mental transaction costs that Shirky is talking about. If anything, it&amp;#8217;s aggregated micropayments.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ve also come up with ways in which we can do Pecus without having to be subject to regulation by the Financial Services Authority &amp;#8212; but I&amp;#8217;ll save that for a later post.&lt;/p&gt;
&lt;p&gt;Now, let&amp;#8217;s look at 3 simple scenarios:&lt;/p&gt;
&lt;p&gt;1. Bruder has thousands upon thousands of fans who love his music &amp;#8212; but besides concerts, he doesn&amp;#8217;t get any reward for giving away his work for free on the internet. With Pecus and Pecu Payouts, it&amp;#8217;s not inconceivable that he gets on average &amp;pound;0.50 from say 8,000 of his fans on average every month &amp;#8212; enough to live comfortably. It won&amp;#8217;t be the same fans every month &amp;#8212; and there&amp;#8217;ll be varying amounts every month. But the point is, he can focus on creating great work instead of doing shit deals with labels to just do what he loves! A form of micro patronage for the 21st century! It&amp;#8217;s not inconceivable for any of us to find a few thousand people who are willing to support what we&amp;#8217;re doing.&lt;/p&gt;
&lt;p&gt;2. Gloria goes to Gambia and helps build a school for the kids in a village there. Usually this would be considered a philanthropic act. Besides the experience of doing it, she&amp;#8217;d get no direct financial benefit from doing this. Now imagine a scenario with Pecus. Say those kids, thankful for having a decent school, give her 1000 Pecus each. Besides as a sign of kudos, those Pecus will initially be worthless &amp;#8212; but how about in 15 years time? Those kids would&amp;#8217;ve grown up &amp;#8212; especially thanks to having had an education &amp;#8212; and some of them would be in a position to do Pecu Payouts. Now, all of a sudden, Gloria is getting &lt;strong&gt;rewarded&lt;/strong&gt; for her act!&lt;/p&gt;
&lt;p&gt;3. A bunch of kids start playing a game every morning that as a side effect gets the local streets cleaned! In places like London this would normally be paid for by Council Taxes. Instead, the kids just get given Pecus by the locals &amp;#8212; some of whom do Pecu Payouts. The kids get to have some fun, do something beneficial for the local community and the usual bureaucracies of local government gets completely bypassed!&lt;/p&gt;
&lt;p&gt;In short, Pecus can totally transform the nature of our global economy. Turn it from one focused on extraction into one which benefits us all and enables everyone to be doing what they love!&lt;/p&gt;
&lt;p&gt;But the real beauty is how Pecus &amp;#8212; being so simple &amp;#8212; compose really nicely with all of the other Plex ideas.&lt;/p&gt;
&lt;p&gt;For example, combining Pecus with Trust Maps and Plex Democracy, we get Plex Challenges. This brings the beauty of capitalism &amp;#8212; competition &amp;#8212; into the Plex Economy in a healthy way. Plex Challenges are basically context-specific and time-limited competitions (e.g. 24weeks). Everyone can put forward Pecu allocations towards those that &amp;#8220;best&amp;#8221; fulfill certain Conditions, e.g. &amp;#8220;A Logo for the Plexnet&amp;#8221;.&lt;/p&gt;
&lt;p&gt;With &amp;#8220;best&amp;#8221; being decided using the mechanisms of Plex Democracy &amp;#8212; explained here: &lt;a href="http://www.openideaproject.org/irclogs/browse/esp/2009/06/07#20-26-56"&gt;http://www.openideaproject.org/irclogs/browse/esp/2009/06/07#20-26-56&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s only one winner &amp;#8212; which is the stark reality of capitalism, even if we do our best to mask it &amp;#8212; and the only stipulation of the Plex Challenges is that the produced work goes into the Public Domain (the Commons). The nice thing about this is that it limits competition to specific elements and thus promotes innovation whilst constantly improving the Commons.&lt;/p&gt;
&lt;p&gt;The whole Plex Economic model is structured to create win-win-win scenarios as opposed to the current mode of win-lose. Anyways, I am starting to ramble &amp;#8212; I hope I&amp;#8217;ve explained Pecus enough&amp;#8230; it&amp;#8217;s&lt;br /&gt;
really quite simple&amp;#8230;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/thruflo/~4/ARa_fbpCr-I" height="1" width="1"/&gt;</description>
        <pubDate>2009-06-09T00:00:00-07:00</pubDate>
      <feedburner:origLink>http://thruflo.github.com/2009/06/09/tav-describes-pecus</feedburner:origLink></item>
    
  </channel>
</rss>
