<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The Fishbowl</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/" />
    <link rel="self" type="application/atom+xml" href="http://fishbowl.pastiche.org/atom.xml" />
    <id>tag:fishbowl.pastiche.org,2008-03-22://1</id>
    <updated>2008-11-19T19:54:31Z</updated>
    <subtitle>tail -f /dev/mind &gt; blog</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Open Source 4.1</generator>

<entry>
    <title>Quantum of Solace</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/11/16/quantum_of_solace/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1682</id>

    <published>2008-11-15T23:56:26Z</published>
    <updated>2008-11-19T19:54:31Z</updated>

    <summary>Quantum of Solace didn&apos;t have this gaping hole that made me want to throw something at the screen, but there was still something wrong with the way the movie was put together. You just never felt it was moving towards any kind of conclusion.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>To put my cards on the table from the outset. I didn't think <i>Casino Royale</i> was a very good movie. Don't get me wrong: Daniel Craig makes a really good James Bond, the character and series reboot was about two movies overdue and the movie was full of some great scenes; but in the end the whole was less than the sum of its parts, mostly because they screwed up the pacing.</p>

<p>Most movies share a common narrative shape. For example, most chick flicks are W-shaped: they go down (girl is alone), then they go up a bit (girl meets boy), then they go down again (girl and boy have a falling-out, usually due to some farcical misunderstanding), then they go up again at the end (boy dies in a tragic accident involving a banana skin and a pirana-filled swimming pool). Similarly, most action movies stick to the <a href="http://en.wikipedia.org/wiki/Act_structure_(Film)">traditional three-act structure</a>  of set-up, confrontation and climax. The cynical interpretation is that Hollywood is too lazy to come up with new ideas, but the pragmatic response would be that it works.</p>

<p><img alt="" src="http://fishbowl.pastiche.org/archives/pictures/standard-action-movie.png" width="464" height="305" class="mt-image-none" title="A standard action movie plot" /></p>

<p>There's nothing wrong with writing a movie that messes with the traditional narrative structure, but you <em>must have something worthwhile to replace it with</em>. If, for example, your movie kills off the main villain with an hour to go then inserts half an hour of dead air, you're going to have to deal somehow with danger that you're going to lose any suspense or excitement you've built up in your audience. Casino Royale didn't deal with it at all, and I just sat there looking at my watch thinking, “Yeah, it's obvious she's going to betray him, when do we get back to the action?”</p>

<p><img alt="" src="http://fishbowl.pastiche.org/archives/pictures/casino-royale.png" width="467" height="301" title="Casino Royale's Plot" /></p>

<p>I'd have given Casino Royale two and a half stars out of five: a four-star action movie dragged down to mediocrity by messed up plotting.</p>

<p>Quantum of Solace didn't have this gaping hole that made me want to throw something at the screen, but there was still something wrong with the way the movie was put together. You just never felt it was moving towards any kind of conclusion. In place of a build-up you had a series of action sequences that were thematically indistinguishable. When the climax arrived, it was almost a surprise: you had to double-take and say ”wow, this must be the last bit of the movie”.</p>

<p><img alt="" title="Quantum of Solace's Plot" src="http://fishbowl.pastiche.org/archives/pictures/quantum-of-solace.png" width="489" height="295" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>License Hacking</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/11/11/license_hacking/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1681</id>

    <published>2008-11-10T20:07:08Z</published>
    <updated>2008-11-11T18:39:03Z</updated>

    <summary>The Wikimedia Foundation prevailed upon the Free Software Foundation to release a new version of the FDL specifically giving Wikipedia (and wikipedia-like entities) a time-limited option to switch to the Creative Commons Attribution Share-Alike license</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>This is kind of weird.</p>


<ul>
<li>The Wikimedia Foundation wants to hold a vote on whether to distribute Wikipedia under a Creative Commons license, but</li>
<li>All existing Wikipedia content is licensed under the CC-incompatible <span class="caps">GNU</span> Free Documentation License, and</li>
<li>Getting permission from all the contributors to change the license would be impossible, but</li>
<li>Most invocations of <span class="caps">GNU</span>/FSF licenses (including Wikipedia's) permit distribution under <em>any later version</em> of the given license, so</li>
<li>The Wikimedia Foundation <a href="http://wikimediafoundation.org/wiki/Resolution:License_update">prevailed upon the Free Software Foundation</a> to release a new version of the <span class="caps">FDL </span><a href="http://www.gnu.org/licenses/fdl-1.3-faq.html">specifically giving Wikipedia (and wikipedia-like “Massive Multiauthor Collaboration Sites”) a time-limited option</a> to switch to the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution Share-Alike license</a>.</li>
</ul>



<p>It's a clever hack. On a practical level it seems justified given it would be impossible to relicense under any other means. On the other hand, I don't really think it's something that anyone would have had in mind when they placed their work under the <span class="caps">FDL.</span></p>

<p><strong>Update:</strong> While I still have the same reservations, I can understand where this move is coming from. For quite some time the <span class="caps">GNU FDL </span>was the only Copyleft license available that was not specific to software. As such, many people (Wikipedia included) adopted it instead of having to take the trouble to draft their own license.</p>

<p>This move is a recognition on the part of the <span class="caps">FSF </span>that the Creative Commons is a more appropriate license for many of these works. This situation is easy enough to resolve for single-author works or works where copyright was <a href="http://www.gnu.org/licenses/why-assign.html">more carefully controlled</a>. The new exception gives more complicated projects the opportunity to say “we chose the <span class="caps">FDL </span>by default, but if the Creative Commons had existed back then we'd have chosen that instead”.</p>]]>
        
    </content>
</entry>

<entry>
    <title>WiTFi</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/16/witfi/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1680</id>

    <published>2008-10-16T09:31:28Z</published>
    <updated>2008-10-16T09:45:34Z</updated>

    <summary>The upshot of all this, getting WiFi to cover my entire apartment has been a constant battle, one that I&apos;ve had to solve with no less than five different wireless devices creating three different networks, two in the 2.4GHz band and one up in the heady 5GHz spectrum.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>My apartment is long and thin. Living areas at one end. Study at the other. Kitchen is in the middle. Thick walls and white goods seem happy to soak up any signal I try to pass from one end of the apartment to the other. On top of that, overlooking the city seems to mean being bombarded by everybody's radio interference.</p>

<p>The upshot of all this, getting WiFi to cover my entire apartment has been a constant battle, one that I've had to solve with no less than five different wireless devices creating three different networks, two in the 2.4GHz band and one up in heady 5GHz-land. Even with all these electromagnetic waves slowly frying Donna’s and my brains, the signal is <em>still</em> pretty dodgy on occasion.</p>

<p>Tonight we were walking home across the harbour bridge and Donna challenged me to look up the origin of the term “<a href="http://en.wikipedia.org/wiki/Dorothy_Dixer">Dorothy Dixer</a>”, Australian political slang for a pre-arranged softball question from one minister to another from the same party. I pulled out my iPhone, and had got the answer from Google before I thought “Hey, wait a minute. Why does the phone say I'm on WiFi when I should be on 3G?”</p>

<p>Lo and behold, I checked my settings and I was connected to one of my own 802.11g networks. A few more metres walking down the bridge and I was back on 3G, the magical line-of-sight to my router broken by the Western corner of my apartment block.</p>

<p><img alt="wifi-signal-wtf.jpg" src="http://fishbowl.pastiche.org/archives/pictures/wifi-signal-wtf.jpg" width="458" height="379" class="mt-image-none" style="" /></p>

<p>So, in summary:</p>

<p><strong>Places my WiFi signal can not reach:</strong> five metres away at the other end of my own apartment.</p>

<p><strong>Places my WiFi signal can reach:</strong> three quarters of the way across the sodding harbour bridge.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Zombie Attack</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/14/zombie_attack/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1679</id>

    <published>2008-10-14T03:45:13Z</published>
    <updated>2008-10-14T03:50:27Z</updated>

    <summary>A Softer World, on planning for a zombie attack.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="personal" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p><img alt="I had all kinds of plans in case of a zombie attack… I just figured I'd be on the other side." src="http://fishbowl.pastiche.org/archives/pictures/softerworld-zombie.jpg" width="720" height="261" class="mt-image-none" style="" /></p>

<p>(from <a href="http://www.asofterworld.com/index.php?id=342">A Softer World</a>)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Operation Two-Notch</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/08/operation_twonotch/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1678</id>

    <published>2008-10-07T19:26:33Z</published>
    <updated>2008-10-07T21:02:15Z</updated>

    <summary>Left to my own devices, I will consume more calories than my body requires, and thus over the course of time gain weight. Whether this is caused by habit or is wired into my physiology is a moot point: the evidence shows that in the absence of other forces, that&apos;s what I will do. My solution, the only one that has ever worked for me, is to create a second force that works to tip the balance the other way. </summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p><img alt="Here is my belt." src="http://fishbowl.pastiche.org/archives/pictures/operation-two-notch.jpg" width="480" height="315"  title="My trusty belt"/></p>

<ol style="list-style-type: upper-alpha"><li>Where I’ve spent much of the last three years</li><li>Where I’ve more frequently been slipping to</li><li>Where I am now</li><li>Where I will be in a week or two</li></ol>

<p>Before you tell me, yes I know diets don’t work. You’ll quickly put back on everything you lost (and then some) after the diet is over. The only thing that really works is changing to a more healthy lifestyle.</p>

<p>This is both true, and missing the bigger picture.</p>

<p>Left to my own devices, I will consume more calories than my body requires and thus over the course of time gain weight. Whether this is caused by habit or is wired into my physiology is a moot point: the evidence shows that in the absence of other forces, that’s what I will do. My solution, the only one that has ever worked for me, is to create a second force that works to tip the balance the other way. </p>

<p>Creating that force is pretty easy: develop an awareness of how much you are consuming<sup>1</sup>, track your weight over the same time period, and feed those two variables back into your routine. This is the principle behind pretty much every diet out there not of the “eat only brazil nuts and beef jerky” variety, and while your mileage may vary, it’s what works for me. So long as the feedback is in place I can manage my weight. In its absence I revert to form.</p>

<p>What's really dumb is how I <em>forgot</em> this. I had everything nicely under control for a while, then somewhere in the middle of moving across to the other side of the country I fell out of my system and back into habit. Combine that with a couple of bouts of depression that I probably should have sought treatment for, and that left me feeling largely apathetic about my own existence for most of two years, and there was really no incentive for me to pick it all up again.</p>

<p>Somehow, I managed to convince myself that this meant the accepted wisdom was right and that diets don’t work, rather than reaching the obvious conclusion that if you stop caring about something, <em>of course</em> you'll fall back into old habits. Then there was the whole “You’ve turned 30 now, your metabolism has started to slow down, it’ll be so much harder now…” self-deception.</p>

<p>Which was all rubbish. I’d convinced myself it was hard, so it was hard. Once I got over that mental hurdle, so far it hasn't been that hard at all.</p>

<p><sup>1</sup> The first time I did this I went the whole calorie-counting route. Now I just rank each meal/snack between 0 points (a piece of fruit) and 3 (an all-night beer bender). This seems to work fine and it's a hell of a lot easier to remember when I sober up.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Empty Boxes: a business idea</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/03/empty_boxes_a_business_idea/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1677</id>

    <published>2008-10-03T00:17:30Z</published>
    <updated>2008-10-03T00:24:43Z</updated>

    <summary>The customer gets the joy of having a package delivered (and an excuse to get up from their desk and chat with the receptionist) without the expense or hassle of actually buying anything.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="rambling aimlessly" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>To begin with, a website. Customers sign up with their name, work address and credit card number. Periodically but randomly, the site will mail empty cardboard boxes of various shapes, sizes and livery to the customer, care of their office.</p>

<p>The customer gets the joy of having a package delivered (and an excuse to get up from their desk and chat with the receptionist) without the expense or hassle of actually buying anything.</p>

<p>Later you can introduce a letter service, mailing out hand-written <em>lorem ipsum</em>.  Outsource the penmanship through <a href="http://www.etsy.com/">Etsy</a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>…and all places are alike to me</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/01/and_all_places_are_alike_to_me/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1676</id>

    <published>2008-10-01T11:59:28Z</published>
    <updated>2008-10-01T12:03:42Z</updated>

    <summary>Then he goes out to the Wet Wild Woods or up the Wet Wild Trees or on the Wet Wild Roofs, waving his wild tail and walking by his wild lone.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="personal" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="kipling" label="kipling" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>(<a href="http://www.boop.org/jan/justso/cat.htm">Kipling</a>)</p>

<blockquote><p>…and from that day to this, Best Beloved, three proper Men out of five will always throw things at a Cat whenever they meet him, and all proper Dogs will chase him up a tree. But the Cat keeps his side of the bargain too. He will kill mice and he will be kind to Babies when he is in the house, just as long as they do not pull his tail too hard. But when he has done that, and between times, and when the moon gets up and night comes, he is the Cat that walks by himself, and all places are alike to him. Then he goes out to the Wet Wild Woods or up the Wet Wild Trees or on the Wet Wild Roofs, waving his wild tail and walking by his wild lone.</p></blockquote>]]>
        
    </content>
</entry>

<entry>
    <title>Nothing is too trivial to test</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/10/01/nothing_is_too_trivial_to_test/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1675</id>

    <published>2008-10-01T05:24:47Z</published>
    <updated>2008-10-01T05:44:27Z</updated>

    <summary>While writing it, I pretty much convinced myself that this code was so simple there was really no point writing unit tests, but as I got close to checking the code in I realised that the first thing my code-reviewer would ask was “where’s the test?”</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="java" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="coding" label="coding" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="javablogs" label="javablogs" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>It was <em>really trivial</em> code. A wrapper around a HashMap (dictionary) to temporarily cache some values that were getting too expensive to calculate every time. While writing it, I pretty much convinced myself that this code was so simple there was really no point writing unit tests, but as I got close to checking the code in I realised that the first thing my code-reviewer would ask was “where’s the test?”</p>

<p>So I wrote a test. And it failed. It failed because I'd made a <em>really dumb typo</em> in the constructor of one of the nested classes I was using as cache keys, writing <code>this.username = (user == null) ? null : username</code> instead of <code> this.username = (user == null) ? null : user.getName()</code>. This simple mistake meant my cache would be at best useless, and far more often entirely inaccurate.</p>

<p>Lessons for the day, there are two:</p>


<ol>
<li>Nothing is too trivial to test</li>
<li>Even the mere threat of a code-review leads to better code</li>
</ol>

]]>
        
    </content>
</entry>

<entry>
    <title>Everything that is wrong with Facebook apps in one screenshot</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/23/everything_that_is_wrong_with_1/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1674</id>

    <published>2008-09-23T03:52:55Z</published>
    <updated>2008-09-23T05:30:17Z</updated>

    <summary>Throw a spaghetti cat at your friends!</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="facebook" label="facebook" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="thingsthatsuck" label="things-that-suck" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p><img alt="Hey Charles, check out the newest actions we've added to SuperPoke!! Now you can throw a spaghetti cat at, do a walk of shame or get a fake tan with your friends!" src="http://fishbowl.pastiche.org/archives/pictures/facebook-superpoke-app.png" width="527" height="62" class="mt-image-none" style="" /></p>

<p>(<a href="http://fishbowl.pastiche.org/2008/09/18/everything_that_is_wrong_with/">Previously</a> and <a href="http://fishbowl.pastiche.org/2008/02/08/facebook_for_dummies/">apropos of</a>)</p>

<p><strong>Bonus content:</strong> Everything that is wrong with Facebook advertisements in one screenshot</p>

<p><img alt="Click me and I'll show you a good time in Australia" src="http://fishbowl.pastiche.org/archives/pictures/facebook-ads-example.png" width="174" height="250" class="mt-image-none" style="" /></p>]]>
        
    </content>
</entry>

<entry>
    <title>Spring is Sprung</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/23/spring_is_sprung/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1673</id>

    <published>2008-09-22T23:05:06Z</published>
    <updated>2008-10-02T05:22:33Z</updated>

    <summary>Then the language changes, often around the time the outside investors show up. The people who are downloading and using your software are no longer your community, they&apos;re the ones who are taking your code without giving anything back. They&apos;re the free-loaders.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="java" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="javablogs" label="javablogs" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="spring" label="spring" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>The news today, 190 days before April 1st, is that <a href="http://www.theserverside.com/news/thread.tss?thread_id=50727">SpringSource has changed their policy for distributing patch releases</a>. From now on, they will only be making patch releases available to non-paying customers up to three months after the release of the major version being patched.</p>


<ul>
<li>Three months after the release of a major version of Spring, it will no longer have patch releases made available publicly</li>
<li>All fixes will continue to be committed to the public source repository and</li>
<li>paying customers will have access to later point-releases, but</li>
<li>those releases will not be tagged publicly</li>
</ul>



<p>On the face of things, this seems more than a little petty. The most common reason for having an End of Life policy is to save money supporting old versions, but given these releases are being made anyway, how much time and money are you saving by <em>not tagging something in <span class="caps">CVS</span></em>?</p>

<p>It makes more sense when you consider that the reasoning is not to save money but to make it. This decision is aimed at people like <a href="http://www.atlassian.com/software/confluence">us</a><sup>1</sup>. People who who through the necessity of having to ship software can't keep up with the bleeding edge, and certainly can't afford to upgrade a major component of our application every three months, but at the same time haven't felt the need to buy enterprise-level support.</p>

<p>You can't begrudge people their right to make a bit of cash, especially when your pay-cheque comes from selling software built on top of their library. Still, it doesn't feel entirely right either.</p>

<p>I think the problem is that "professional open source" <em>changes the language</em> of open source software.</p>

<p>To a young open source project, downloads are king. You proudly proclaim on your website “Downloaded over 100,000 times this month.” People who use your software are your community, the reason for your project existing in the first place. And you know that some admittedly small percentage of those users will answer a few questions on the forums, or suggest a cool new feature, or even contribute a patch. Then when you quit your day job to run the project, the size of the community is what gives you a market into which to sell your support and consulting.</p>

<p>Then the language changes, often around the time the outside investors show up. The people who are downloading and using your software are no longer your community, they're the ones who are <em>taking</em> your code without giving anything back. They're the <em>free-loaders</em>. Or, to quote <a href="http://www.theserverside.com/news/thread.tss?thread_id=50727#269472">Rod Johnson in the Server Side thread</a>:</p>

<blockquote><p>SpringSource continues to expose our open source code, which costs us millions of dollars annually to develop. This policy does affect users who think that open source is a way for them to get extended maintenance of high quality enterprise software for free, without them lifting a finger. </p></blockquote>

<p>You are doing work, and you deserve to get paid for that work <em>especially</em> if someone else is making a profit off your back. It's a perfectly valid point of view. It's the point of view behind every commercial software release. But it's the language of a commercial vendor talking about piracy, or a shareware author about why so few people register. It's a π radian turn from the reason you originally chose the Apache or <span class="caps">BSD </span>license for your project rather than, say, <a href="http://www.mysql.com/about/legal/licensing/">dual-licensing under the <span class="caps">GPL</span></a>.</p>

<p>The obvious response is a semi-fork. The source is still there and still Apache-licensed, so if the community is interested they can maintain an <code>alt-spring</code> <a href="http://svnbook.red-bean.com/en/1.1/ch07s05.html">vendor branch</a> and tag off new releases themselves every so often. If demand for patch releases is high enough this will happen almost inevitably, so long as SpringSource keep their promise to keep everything in public <span class="caps">CVS.</span></p>

<p><sup>1</sup> I do not speak for Atlassian.</p>]]>
        
    </content>
</entry>

<entry>
    <title>A Work of Fiction</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/22/a_work_of_fiction/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1672</id>

    <published>2008-09-22T01:16:57Z</published>
    <updated>2008-10-02T05:22:38Z</updated>

    <summary>If I was going to write a political thriller, chapter two would go something like this:

</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="personal" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="politics" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="conspiracy" label="conspiracy" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="fiction" label="fiction" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="politics" label="politics" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="satire" label="satire" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>If I was going to write a political thriller, chapter two would go something like this:</p>

<p>¶</p>

<p>“Gentlemen…”</p>

<p>All present look up at the man standing at the head of the large boardroom table, their conversations trailing off. One looks to his neighbour and rolls his eyes, silently mouthing “Oh God. A speech.” Another coughs pointedly.</p>

<p>“…and lady.” the speaker continues smoothly. “To say that we stand at a turning-point in history would be a cliché, but nonetheless it would be true. We can all see the signs. Dark days are ahead but we all stand in a perfect position to weather the storm and see our way out the other side.”</p>

<p>“…from our new headquarters in Dubai.”</p>

<p>“Don’t you mean Beijing?”</p>

<p>The speaker winces at the interruptions.</p>

<p>“Maybe. Perhaps the American Empire has had its day, but its spirit will live on. For what is more the essence of the American Way than American Capitalism, wherever in the world it might take seed?</p>

<p>“The last decade has been very good for us.” He glances around the table, picking out the eyes of his audience. “You got the deregulation you wanted. You got to write the energy policy for the world’s biggest consumer of oil. You got immunity from prosecution. You got your no-bid contracts, and the few billion we lost behind the couch cushions in Iraq. We <em>all</em> got tax breaks. And we came <em>so close</em> on Social Security. You could almost taste…”</p>

<p>A collective sigh of muttered regret ripples around the table.</p>

<p>“…all that money could have been in our hands…”</p>

<p>“…we could have taken any risk we liked with it because…”</p>

<p>“…because no politician would let poor old Mom and Pop lose their retirement.”</p>

<p>Again, the speaker waits for the conversation to die down.</p>

<p>“To that end I would like to propose a toast. To a man who sadly couldn’t be here today, but through whom we were able to advance ourselves in ways even we never would have dreamed we could get away with a mere decade ago. Ladies and gentlemen, I give you the forty-third President of the United States.”</p>

<p>“Hear hear.” Glasses clink.</p>

<p>“And there lies our dilemma, my friends. In an ideal world we could choose a successor cut from the same cloth. In an ideal world we would be able to choose a new President who understands the value of appointing friends to high places. Who understands that executive power is there to be exercised without restriction. Who believes in a pragmatic approach to civil rights and the constitution. Who believes that giving us the keys to the economy isn’t the best option, it’s the <em>only</em> option. Who isn’t afraid to use our country’s military to our advantage. Who can do the folksy thing with the people. Someone who is happy with distractions like abortion and gay marriage, while leaving the important decisions to us.”</p>

<p>“Maybe someone who could make better speeches, though?”</p>

<p>“Well yes, that would help. Still, we realised over a year ago that with the popularity of the current President there was no way we could push a worthy successor through the nomination process. So what are we left with now? A Mormon, an egomaniac and”, his mouth curls with disgust. “a reformer. Up to now we’ve been pushing Mister Ego as the best of a bad bunch, but who here feels confident that we can even get the guy elected, let alone be sure he’ll do what he’s told afterwards?”</p>

<p>The table responds with murmurs and shaking heads.</p>

<p>“Well, my friends, I think we have found a solution. Brian?”</p>

<p>A young man steps forward. Smartly dressed. Hungry. Probably on the books as a ‘campaign consultant’. He drops a thick stack of manila folders onto the table, the thud resonating through the thick wood.</p>

<p>“These are Senator McCain’s medical records. Before you ask, you don’t want to know how I got them or how I am going to make the important parts disappear before the end of the week. All you need to know is on the one-sheet that my assistant is handing out.”</p>

<p>No sound at the table but the rustling of paper, a silence broken by a loud southern accent.</p>

<p>“Jesus Christ. Why is this boy even running?”</p>

<p>“What does any man, any ambitious man really want when faced with that kind of news? Immortality. A justification for decades of public service. The Forty-Fourth Presidency of the United States of America.” They can hear the string of capital letters in the young man’s voice. “He’s been stewing ever since we screwed him out of the nomination in 2000. At this point, he’d do anything for that one last moment of glory.”</p>

<p>“Do you think he’ll play ball?”</p>

<p>“He already is. We give him the nomination, we deliver him the election. He’ll do what we say during the campaign, and…”</p>

<p>The southern drawl completes his sentence “…and we get to pick the Vice President.”</p>]]>
        
    </content>
</entry>

<entry>
    <title>On Computer Games as Interactive Fiction</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/21/on_computer_games_as_interacti/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1671</id>

    <published>2008-09-20T14:29:54Z</published>
    <updated>2008-09-20T14:53:06Z</updated>

    <summary>This year I had the pleasure of experiencing one of the coolest moments I can recall playing a game, one that actually left me wandering through the house saying &quot;that was so fucking cool&quot;, and confusing my girlfriend whose taste in games runs more to beating the crap out of me in Soul Calibur.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="rambling aimlessly" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="bioshock" label="bioshock" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="games" label="games" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>I don't get the chance to play many computer games. I still buy and enjoy them, but the combination of me (a) having to make a significant effort to single-task on a game for any length of time (b) being <i>incredibly bad at them</i>, leaves me to keep gaming as an expensive and somewhat wasteful hobby.</p>

<p>Still, this year I had the pleasure of experiencing one of the coolest moments I can recall playing a game, one that actually left me wandering through the house saying "that was so fucking cool", and confusing my girlfriend whose taste in games runs more to beating the crap out of me in Soul Calibur. I'm not going to drop any spoilers here, but suffice to say if you've played at least three quarters of the way through <a href="http://www.2kgames.com/bioshock/">Bioshock</a>, you know exactly the scene I'm talking about.</p>

<p>Bugger it, I'm going to go with the spoilers. At least a little bit. It's hard to make my point any other way.</p>

<p>After long hours of play in this game, you discover that you've been played all along, that you're a puppet with no free will. Perhaps to make the point more emphatically, you discover this in a cut-scene during which you have no control over your character. The big irony, however, comes when your avatar has supposedly regained his free will but you (the player) are still following the pre-ordained plot on a wire right through to the choice of three scripted endings which differ only based on whether you chose to be a full-time, occasional, or abstinent baby-killer.</p>

<p>The grand achievement of the game is that this doesn't matter. The writers have <a href="http://tvtropes.org/pmwiki/pmwiki.php/Main/LampshadeHanging">hung a gigantic lampshade</a> on the rigid plots of games that offer only the illusion of free will, but the story is so well told that you don't care, and instead develop a healthy fear of golf clubs and objectivist philosophy.</p>

<p>Telling a compelling story is hard. Telling a compelling interactive story is harder, because for every choice you give the player that's now <i>two</i> compelling stories you have to tell, each of them carefully balanced so neither decision damages the gameplay (having a viable alternative path is called <i>replay value</i> in reviews).</p>]]>
        
    </content>
</entry>

<entry>
    <title>Mother&apos;s Maiden Name</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/19/mothers_maiden_name/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1670</id>

    <published>2008-09-19T03:33:06Z</published>
    <updated>2008-10-02T21:53:21Z</updated>

    <summary>I&apos;ve always wondered how this became accepted practice. For decades we&apos;ve warned people not to use easily guessable passwords—dates of birth, names of children or pets—but somehow this is acceptable for password recovery?</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="security" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="security" label="security" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p><a href="http://www.25hoursaday.com/weblog/2008/09/19/TheProblemWithEveryImplementationOfAForgotYourPasswordFeatureIveSeenOnline.aspx">Dare Obasanjo on the hacking of Sarah Palin's Yahoo! account</a> via the "forgot my password" feature.</p>

<blockquote><p>The fundamental flaw of pretty much every password recovery feature I've found online is that what they consider "secret" information actually isn't thanks to social networking, blogs and even Wikipedia. Yahoo! Mail password recovery relies on asking you your date of birth, zip code and country of residence as a proof of identity. Considering that this is the kind of information that is on the average Facebook profile or MySpace page, it seems ludicrous that this is all that stops someone from stealing your identity online.</p></blockquote>

<p>I've always wondered how this became accepted practice. For decades we've warned people not to use easily guessable passwords—dates of birth, names of children or pets—but somehow this is acceptable for password recovery? </p>

<p>The fundamental paradox of password recovery is that the recovery channel <em>must</em> be at least as secure as the original password, because ultimately that's what it is: an alternative to your password. And since you'll be using the recovery far less often than you might use the password, your chance of remembering any secret with even password-grade security when you finally get around to needing it has to be pretty slim.</p>

<p>(For the record, I always leave recovery questions blank, or if forced I come up with something random then immediately forget it.)</p>

<p>I wrote <a href="http://fishbowl.pastiche.org/archives/docs/PasswordRecovery.pdf">a guide to password recovery</a> back in 2002 that might still be worth a read.</p>]]>
        
    </content>
</entry>

<entry>
    <title>Everything that is wrong with YouTube comments in one screenshot</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/18/everything_that_is_wrong_with/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1669</id>

    <published>2008-09-18T06:21:18Z</published>
    <updated>2008-10-02T05:20:56Z</updated>

    <summary>I have no words.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="personal" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="someoneiswrongontheinternet" label="someone is wrong on the Internet" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="youtube" label="youtube" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p><img alt="mattbootry: you could sell oil to the arabs with an ad like that; frilloz4: the arabs are the ones with the oil stupid" src="http://fishbowl.pastiche.org/archives/pictures/youtube-comments.png" width="352" height="101" class="mt-image-none" /></p>

<p>(<a href="http://www.youtube.com/watch?v=wHjieD6CTYs">source</a>)</p>]]>
        
    </content>
</entry>

<entry>
    <title>Beep Beep (Part Two)</title>
    <link rel="alternate" type="text/html" href="http://fishbowl.pastiche.org/2008/09/12/beep_beep_part_two/" />
    <id>tag:fishbowl.pastiche.org,2008://1.1668</id>

    <published>2008-09-12T11:30:34Z</published>
    <updated>2008-09-12T12:44:09Z</updated>

    <summary>Nowadays, Microsoft is looking to advertising because their brand is taking a beating from every front, and a clever advertising campaign is what you&apos;re supposed to do when you need to shore up your position. But Microsoft&apos;s biggest enemy is its own boring ubiquity. If their products spoke for themselves, Microsoft could just get away with buying another Rolling Stones song.</summary>
    <author>
        <name>Charles Miller</name>
        <uri>http://fishbowl.pastiche.org/</uri>
    </author>
    
        <category term="nerd" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="advertising" label="advertising" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="beatingadeadhorse" label="beating-a-dead-horse" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="microsoft" label="microsoft" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://fishbowl.pastiche.org/">
        <![CDATA[<p>Meanwhile, the world is <a href="http://www.reddit.com/r/technology/comments/7107p">looking on with quiet bemusement</a> on Microsoft’s Seinfeld advertisements.</p>

<p>Most advertising falls into two categories. Either I want to tell the world something it doesn’t don't know yet, or I just want to associate my brand with some kind of memorable, positive image and hope that next time people walk into a store they think “Ooh, I couldn’t half do with a Coke”.</p>

<p>For a company like Microsoft with no new product to announce, the second path would seem to be the way to go. But Microsoft is not like any other company, at least not like any that feels the need to advertise. Tomorrow, nine out of ten computer users will sit down in front of a Microsoft product. To most of those people Windows is the computer, IE is the web, and if the years I spent doing desktop support is still a good reflection of the real world, that metal and plastic box with the on-off switch on it is the “hard drive”<sup>1</sup>.</p>

<p>Any advertising Microsoft does has to compete with their own crushing ubiquity. Any positive image they associate with their brand during the evening news is going to be a tiny blip compared to the six hours that same viewer will spend using Word on XP the next day. That amount of familiarity breeds a good deal of contempt. How do make a monopoly palatable? Nobody really knows, so Microsoft veers between feel-good “our software helped Little Johnny become a classical pianist”, clumsy dinosaur metaphors, and 90’s stand-up comedians.</p>

<p>The last time Microsoft successfully marketed itself was over a decade ago, but they did so when all the ducks were lined up for them. There was nothing special about the pedestrian and obvious ‘Start’ campaign, but Windows ’95 was an undeniably compelling advance over its predecessor, Apple was lost at sea, and Linux was still only to be contemplated by nerds like me.</p>

<p>Nowadays, Microsoft is looking to advertising because their brand is taking a beating from every front, and a clever advertising campaign is what you're supposed to do when you need to shore up your position. But Microsoft's biggest enemy is its own boring unavoidable self. If their products spoke for themselves, Microsoft could just get away with buying another Rolling Stones song.</p>

<p><sup>1</sup> Whenever you feel your opinion on software productivity, <span class="caps">DRM,</span> Mac vs PC vs Linux… or pretty much anything regularly discussed on the Internet has any chance of being meaningfully debated in the wider world, it helps to point at your computer and say to yourself: “the rest of the world calls that the hard drive”</p>]]>
        
    </content>
</entry>

</feed>
