<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no">
  <title>Jonathan Lange</title>
  <updated>2009-01-07T09:11:01Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>Jonathan Lange</name>
    <email>jml@mumak.net</email>
  </author>
  <id>http://mumak.net/planet/atom.xml</id>
  <link href="http://mumak.net/planet/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://mumak.net/planet/" rel="alternate"/>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-3244935703367291650</id>
    <link href="http://code.mumak.net/2009/01/emacs-keybinding-of-dvorak-death.html" rel="alternate" type="text/html"/>
    <title>Emacs keybinding of (Dvorak) death</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">From the Emacs help<br/><blockquote>C-x C-- runs the command text-scale-adjust, which is an interactive autoloaded<br/>Lisp function.<br/><br/>It is bound to C-x C-+, C-x C--, C-x C-=, C-x C-0.<br/><br/>(text-scale-adjust &amp;optional INC)<br/><br/>Increase or decrease the height of the default face in the current buffer.<br/><br/>The actual adjustment made depends on the final component of the<br/>key-binding used to invoke the command, with all modifiers removed:<br/><br/>   +, =   Increase the default face height by one step<br/>   -      Decrease the default face height by one step<br/>   0      Reset the default face height to the global default<br/></blockquote>C-x C-- is really, really close to C-x C-s on a Dvorak keyboard. If ever you hit it by accident, hit C-x C-0 to get your Emacs looking right.</div>
    </summary>
    <updated>2009-01-05T01:42:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-5034401072115434921</id>
    <link href="http://life.mumak.net/2009/01/bug-in-my-organizational-system.html" rel="alternate" type="text/html"/>
    <title>Bug in my organizational system</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'm back in Sydney and well and truly into a working mindset. I might talk about some of the stuff that happened over the holidays, but first I have a bug to report in my own organizational system.<br/><br/>At the moment, all of my projects and next actions live together, I make no distinction between work actions and non-work actions. I'm starting to find this a pain, because it means that when I'm "at work" there are all of these next actions on my lists that I can't do in good conscience, which slows down decision making as I mentally filter the list.<br/><br/>I also wonder whether working from home makes this bug more of a pain.<br/><br/>The fix might be as simple as adding a "work" context to my system. I'd love to know what you think.</div>
    </summary>
    <updated>2009-01-05T00:56:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-7754792349327657619</id>
    <link href="http://code.mumak.net/2008/12/your-code-sucks-and-i-hate-you.html" rel="alternate" type="text/html"/>
    <title>Your Code Sucks and I Hate You</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've just uploaded my OSDC 2008 paper, titled <a href="http://mumak.net/stuff/your-code-sucks.html">Your Code Sucks and I Hate You</a>. It's about the social dynamics of code review.<br/><br/>Tell me what you think.</div>
    </summary>
    <updated>2008-12-24T01:34:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2372907038060681600</id>
    <link href="http://life.mumak.net/2008/12/find-me-word.html" rel="alternate" type="text/html"/>
    <title>Find me a word</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">... which means, a logical sounding explanation for doing something that you would do anyway. Or a phrase.<br/><br/>For example,<br/><br/>"Oh, I always buy the yellow ones," he said, "they're better at catching flies." But actually, he buys them because that's what his mum always bought when he was a kid.</div>
    </summary>
    <updated>2008-12-20T09:47:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-3262179610308061765</id>
    <link href="http://code.mumak.net/2008/12/explaining-version-control-to-non.html" rel="alternate" type="text/html"/>
    <title>Explaining Version Control to Non-Programmers</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://life.mumak.net/2008/12/version-control.html">As I mentioned</a> on <a href="http://life.mumak.net/">my other blog</a>, I really struggle to explain version control to non-programmers. In particular, I don't know how to communicate just how <span style="font-style: italic;">cool</span> it is.<br/><br/><a href="http://randsinrepose.com">Rands</a> has a go at it by explaining that it's all about <a href="http://www.randsinrepose.com/archives/2006/03/23/capturing_context.html">capturing context</a>. How do you explain Bazaar (or anything other version control) to the people you meet?</div>
    </summary>
    <updated>2008-12-15T21:57:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-313752122400514008</id>
    <link href="http://life.mumak.net/2008/12/version-control.html" rel="alternate" type="text/html"/>
    <title>Version Control</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">You probably know by now that I work on <a href="http://launchpad.net">Launchpad</a>, and that I help make  Launchpad and the version control tool <a href="http://bazaar-vcs.org">Bazaar</a> play nicely together.<br/><br/>But if you aren't a programmer, neither of those sites are going to help you much in your never-ending quest to understand what it is I do all day. Certainly, I've always had trouble explaining version control to the uninitiated.<br/><br/><a href="http://randsinrepose.com">Rands</a> (aka Michael Lopp, author of <span style="font-style: italic;">Managing Humans</span>) describes <a href="http://www.randsinrepose.com/archives/2006/03/23/capturing_context.html">version control as capturing context</a>. If you still don't get it, ask questions here.</div>
    </summary>
    <updated>2008-12-15T07:27:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-8435163724923250746</id>
    <link href="http://code.mumak.net/2008/10/stacked-branches-and-new-world.html" rel="alternate" type="text/html"/>
    <title>Stacked branches and the new world</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A few months ago, we rolled out a version of Launchpad that supports and encourages <span style="font-style: italic;">stacked branches</span>. This means medium to large size projects are be able to use Launchpad for hosting their code. I wrote this post shortly before the roll-out, but never got around to blogging it. Hope you enjoy it.<br/><br/><span style="font-weight: bold;">The Problem</span><br/>As far as code goes, Launchpad thinks in terms of individual Bazaar branches. Each of these Bazaar branches stands alone, isolated from other branches. Further, each of these branches has the full history of whatever project they are a branch of.<br/><br/>That means that every time you push a branch up to Launchpad, you have to push the <span style="font-style: italic;">entire history</span> of your project. That's not a problem for small projects, but for large projects it's simply unacceptable. It takes well over an hour for me to push up a branch of Bazaar, for example.<br/><br/>On our side, we simply don't have the space to store hundreds of copies of the full history of every Free Software project in the world.<br/><br/><span style="font-weight: bold;">The Shape of the Solution</span><br/>The answer to both of these problems is to share history information between branches. That way, when you push a new branch, you would only have to push up the data that's unique to that branch, the changes that you've made locally. Similarly, we'd only need to store those changes, rather than another full copy of the history.<br/><br/><span style="font-weight: bold;">Shared Repositories?</span><br/>Experienced users of Bazaar might be wondering why we didn't just use shared repositories. A repository is like a big bucket full of Bazaar revisions. A repository can be made a shared repository, and branches can be made to get their revisions from <span style="font-style: italic;">that</span> repository, rather than from their own. This works fine in many circumstances, but for a public service like Launchpad, it's not good enough.<br/><br/>First, people can put poison the bucket. If you can push up a branch, you can write to the shared repository. If you can write to a shared repository at all, then you can write to <span style="font-style: italic;">any</span> revision in that shared repository. This means  malicious users could poison any repository that they can push to. If we had a shared repository per project, then malicious users could push up branches that change a project's history.<br/><br/>A shared repository per person, per project is not so bad, but it's not so good either. In that model, users would have to push up the full history of a project the first time they contributed a project. <span style="font-style: italic;">Blech.</span> The last thing we want to do is penalize someone for contributing to a new project. Launchpad is supposed to make it easy for you to get started.<br/><br/><span style="font-weight: bold;">Stacked Branches</span><br/>A stacked branch is a branch that only has a little bit of its own history. The rest of its history lives in another branch, what we call the <span style="font-style: italic;">stacked-on branch</span> (I don't like the name, but all the better ones are taken). The Bazaar team has been working on making Bazaar support stacked branches for much of this year.<br/><br/>Stacked branches are exactly what Launchpad needs to get you pushing your branches up quickly. When you push up a stacked branch, you only need write access to the repository of <span style="font-style: italic;">that branch</span>, you only need to read the stacked-on branch. This eliminates the poisoning problem, and allows revisions to be shared safely between branches.<br/><br/><span style="font-weight: bold;">How We Do It<span style="font-weight: bold;"><span style="font-weight: bold;"/></span></span><br/>For each project with a development focus (Launchpad's jargon for an official trunk), Launchpad has a policy file that tells Bazaar that new branches should be stacked on that development focus.<br/><br/>So, you make a branch from trunk, do a bit of hacking locally, commit a few revisions and push it up to Launchpad as your own branch, say lp:~jml/tribunal/awesome-new-feature. When you push, Bazaar asks Launchpad where it should stack the branch, and Launchpad says lp:~jml/tribunal/trunk. Bazaar then pushes only the new revisions I've added to my "awesome-new-feature" branch.<br/><br/>We do a lot of stuff behind the scenes to make sure the branches work over HTTP, bzr+ssh, SFTP and to make sure that mirrored branches work just as well as hosted branches and so on. I hope that most of this is invisible to you, and that you simply notice that pushing big branches to Launchpad suddenly got a lot faster.<br/><br/><span style="font-weight: bold;">The Future</span><br/>By making it possible to quickly push big branches to Launchpad, we've entered a new era. Projects like Bazaar and Launchpad itself can start actually hosting their branches on Launchpad. For other projects (like Twisted, Python or even GNOME), hosting branches on Launchpad is now an option that can be seriously considered.<br/><br/>For my part, stacked branches are already changing the way I work. I'm now using the product that I helped build each and every day as part of my job. Further, my colleagues and my boss are also using it. This quickly exposes rough edges and raises obvious ideas for improvement in the rest of the Code site. It also helps me see which bugs are the really important ones.<br/><br/>More importantly, it's reminded me that Launchpad actually is pretty cool. I'm using it more, and looking forward to the day when I can really, genuinely say that Launchpad is a joy to use.</div>
    </summary>
    <updated>2008-12-15T05:42:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2894494274939922336</id>
    <link href="http://life.mumak.net/2008/12/two-in-row.html" rel="alternate" type="text/html"/>
    <title>Two in a Row</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've just done something that's rare for me: I've read two non-fiction books in a row.<br/><br/>The first is <span style="font-style: italic;">The Reason for God</span>, by Tim Keller. This is a very good book that opens with a quote from Darth Vader and then quickly settles into calm reason that actually <span style="font-style: italic;">listens</span> to both sides of the argument. This quote from the book is a great summary of something I believe very strongly:<br/><blockquote>Believers should acknowledge and wrestle with doubts--not only their own but their friends' and neighbors'. [...] Only if you struggle long and hard with objections to your faith will you be able to provide grounds for your beliefs to skeptics, including yourself, that are plausible rather than ridiculous or offensive. And, [...] such a process will lead you, even after you come to a position of strong faith, to respect and understand those who doubt.<br/></blockquote>If you want to get a good idea of my approach to questions of faith, religion and what not without me boring you to tears about it, then find some way to read the introduction to this book.<br/><br/>I have some criticisms of the book, which I'll save up for another post. For now, let's just say it's very good. If you are going to read <span style="font-style: italic;">any</span> book about Christianity in 2009, this should probably be it.<br/><br/>The other book is <span style="font-style: italic;">Managing Humans</span>, by Michael Lopp. It's a bunch of essays about being a manager in Silicon Valley. Some of the essays skated quite close to the bleedingly obvious (particularly the meeting ones), but are helpful since they remind you to get some perspective. Others aren't relevant to me, since I'm no-one's manager or because I don't live in the Valley. Still, I think I'll want to read through it again in a couple of years time for that perspective and to be re-told the core message: the people are the business, and they are humans like me.</div>
    </summary>
    <updated>2008-12-15T00:52:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-3576194687288583721</id>
    <link href="http://code.mumak.net/2008/12/anonymized-irc.html" rel="alternate" type="text/html"/>
    <title>Anonymized IRC?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-family: arial;">Crazy idea: a chat server which anonymized the nicks of all users, changing them around at frequent intervals. The server would require authentication, but the results of that authentication are kept secret from other users.<br/><br/>Would it be interesting? Would it work?<br/></span></div>
    </summary>
    <updated>2008-12-14T04:52:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-6172055165893467204</id>
    <link href="http://code.mumak.net/2008/12/everything-you-always-wanted-to-know.html" rel="alternate" type="text/html"/>
    <title>Everything You Always Wanted to Know About Twisted</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A couple of months ago, all of the Launchpad developers met in London to have an Epic. Some of us wrote technical papers which we presented at the conference.<br/><br/>My paper was an <a href="http://mumak.net/stuff/twisted-intro.html">introduction to Twisted</a>, co-written with Michael Hudson and aimed specifically at the Launchpad developers, who are often wary of Twisted's magical powers and raw animal charisma. The paper got published in a neat booklet (thanks Matt!), and the talk went fairly well. Since the paper is actually a fairly generic introduction, I thought it might be worth in the <a href="http://mumak.net/stuff">Stuff and Nonsense</a> section.<br/><br/>It assumes that you know how to write Python code, that you know roughly what an event loop is, and that you are comfortable with network programming in general. When you are finished, you should know enough about Twisted to start investigating how you can use it to solve your specific problems.<br/><br/>It doesn't cover Failures or returning Deferreds from callbacks or errbacks, which is a fairly serious gap. If you think the paper is good and you'd like to see these gaps filled, email me, or comment on this post. Otherwise, let me know what you think!</div>
    </summary>
    <updated>2008-12-14T04:20:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-8894527168149840449</id>
    <link href="http://code.mumak.net/2008/12/repost.html" rel="alternate" type="text/html"/>
    <title>Repost</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've reposted my old <span style="font-style: italic;"><a href="http://mumak.net/stuff/twisted-disconnect.html">How to disconnect in Twisted, really</a></span> article to the <a href="http://mumak.net/stuff">Stuff and Nonsense</a> section of my website. Enjoy.</div>
    </summary>
    <updated>2008-12-14T03:25:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2339968578411966473</id>
    <link href="http://life.mumak.net/2008/12/summer-in-city.html" rel="alternate" type="text/html"/>
    <title>Summer in the City</title>
    <summary>I haven't posted for a bit and I don't intend to post again for a while. I'm comfortable with my thinking being sub-coherent for now.</summary>
    <updated>2008-12-13T02:26:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-840859122235620648</id>
    <link href="http://life.mumak.net/2008/12/swords-in-australia.html" rel="alternate" type="text/html"/>
    <title>Swords in Australia?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I was toying around with an idea for a short fantasy-genre story called "A guy with a sword" last night and thinking about how (if at all) it should be influenced by my own Australian nature.<br/><br/>But then I was thinking, have swords ever been a big deal here? Are there any records of men dueling each other from the early days of the colony? In fact, has anyone in Australia ever been killed with an actual sword?</div>
    </summary>
    <updated>2008-12-07T05:46:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-6732181294056610356</id>
    <link href="http://life.mumak.net/2008/12/ive-had-cold-this-week-and-im-getting.html" rel="alternate" type="text/html"/>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've had a cold this week and I'm getting the cough I get after I get colds of this kind. My right arm feels like it has been twisted backwards in my right arm socket. The days are getting warmer and muggier and the nights aren't cold enough to let me sleep.<br/><br/>But that's all ripples on the surface. Beneath the churn is an ocean that's unaffected. I'd say a calm ocean, but that would be lying. If we had to stretch the metaphor further (and I feel we must), then I'd say there's at least some <a href="http://en.wikipedia.org/wiki/Thermohaline_circulation">thermohaline circulation</a> going on down there.<br/><br/>Reflecting on a year in Sydney, I realize that the words spoken by all my friends last year were true. It is a big place that's hard to get around. It is difficult to make friends here, even in church. I'm still trying to figure out what this means for next year.<br/><br/>In other news, I've finished reading <i>The Illuminatus! Trilogy</i>. I like it a lot, but I can't help but feel that it's a shallower knock-off of <i>Infinite Jest</i>, even if it was published twenty years before it.</div>
    </summary>
    <updated>2008-12-06T23:34:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-1904055894459668684</id>
    <link href="http://life.mumak.net/2008/11/not-strictly-memetacular.html" rel="alternate" type="text/html"/>
    <title>Not strictly memetacular</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">So, the idea behind the page 56 thing is to get the book <span style="font-style: italic;">nearest</span> you, not the smartest one or the one you're reading or the one with the best line. That's what -- oh my, a car crash -- <a href="http://life.mumak.net/2008/11/page-56.html">my last post</a> was about. Still, I came across this in <span style="font-style: italic;">The Illuminatus! Trilogy</span> last night, and thought you might be interested:<br/><br/><blockquote>Besides, he had already formed his own theory about Fernando Poo: he was convinced that BUGGER--Blowhard's Unreformed Gangsters, Goons, and Espionage Renegades, an international conspiracy of criminals and double agents, led by the infamous and mysterious Eric "the Red" Blowhard--was behind it all.</blockquote><br/><br/>"He" is 00005, a British secret agent. As best as I can tell so far, he's a fairly minor character. Seen <span style="font-style: italic;">Quantum of Solace</span> yet? What did you think?</div>
    </summary>
    <updated>2008-11-28T06:44:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-8332329122593217564</id>
    <link href="http://life.mumak.net/2008/11/page-56.html" rel="alternate" type="text/html"/>
    <title>Page 56</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">The fifth sentence reads:<br/><blockquote>The roof of the hall was already burning brightly, the roaring flames painting faces bloody.</blockquote>From Poul Anderson's <span style="font-style: italic;">The Broken Sword</span>.</div>
    </summary>
    <updated>2008-11-27T04:56:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-494902350833814213</id>
    <link href="http://life.mumak.net/2008/11/blah-blah-blah.html" rel="alternate" type="text/html"/>
    <title>Blah blah blah</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've been thinking a lot about getting myself an iPhone. Of course, Telstra is an ass, so I'd have to spend almost a thousand dollars to get out of my current contract -- Apple can wait. <br/><br/>Read <i>Lord of Light</i> again recently; it's a great book and you should too, if you can. Started on <i>The Illuminatus Trilogy</i>. Speaking of the Illuminati (which I rarely do out loud, hidden watchers you see), they are making a film out of Dan Brown's <i>Angels and Demons</i>. I guess it shouldn't surprise me since the first one was hilarious -- "just the way the pagans would have wanted".<br/><br/>I kind of had to read <i>Lord of Light</i>, since the book I read before that was <i>The Broken Sword</i> by Poul Anderson. Well above average fantasy, of the kind you can't make any more because of <big><b>Tolkien</b></big>. You can't switch from stylized Nordic fantasy filled with Saxon verse straight to <i>The Illuminatus Trilogy</i>, hence the Zelazny.<br/><br/>Incidentally, due to cirumstances, I now believe that <i>Infinite Jest</i> uses the phrase "immantentizing the Eschaton". This belief feels erroneous, but it's there like an ill-fitting jacket that you can't get rid of since you need something to keep you warm and you can't bear the pressure of having to choose another one.<br/><br/>Lindfield is boring me a lot. That and circumstances (different from the <i>IJ</i>-possiby-erroneous-belief-inducing ones) will probably mean I'll be moving again. I hate moving. If you hear about a place to move to, let me know. Ideally it would be a share house with interesting and friendly people at roughly my age group.<br/><br/>I'm really looking forward to Christmas. I'm sick of 2008 and am willing to take my chances with a different year. Summer too.</div>
    </summary>
    <updated>2008-11-26T03:21:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-2424350843860461605</id>
    <link href="http://code.mumak.net/2008/11/doctests.html" rel="alternate" type="text/html"/>
    <title>Doctests</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://andrew.puzzling.org/">Andrew</a> has written about why <a href="http://andrew.puzzling.org/diary/2008/October/23/narrative-tests">narrative tests make lousy unit tests</a> and <a href="http://andrew.puzzling.org/diary/2008/October/24/more-doctest-problems">problems with the doctest format</a>. In summary:<br/><ul><li>Unit tests work better if each one has a name that identifies it.</li><li>Specific, isolated tests give clearer failures, and are easier to debug.</li><li>Specific, narrow tests are better at communicating intended behaviour.</li><li>Comparing two objects in doctests is hard.</li><li>It's hard to get an overview of what's tested in a particular doctest file.</li><li>Doctest is a mini-language that's worse than Python. It's got corner-cases and outright bugs.</li><li><span style="font-weight: bold;">Tests are code, and code works better in .py files than .txt files.</span> In particular:<ul><li>Python has better tool support. Syntax highlighting, code folding, pyflakes, 2to3 etc.<br/></li><li>It's easier to build test infrastructure in Python.</li><li>Test code benefits from refactoring as much as regular code, but doctests make it hard to do this.</li></ul></li></ul>Of course, in the end, it comes down to this:<br/> <blockquote>It is just as possible to write incomprehensible tests using doctest as it is using <code>TestCase</code> classes with test methods.<br/></blockquote></div>
    </summary>
    <updated>2008-11-21T00:17:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-3447558546065408727</id>
    <link href="http://life.mumak.net/2008/11/hard-gratitude.html" rel="alternate" type="text/html"/>
    <title>Hard Gratitude</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">A couple of people have approached me privately, encouraging me to continue writing this blog. I'm touched by these sentiments, right down to the very pits of my undernourished heart.<br/><br/>However, if you feel that this blog has made your day that little bit brighter, might I suggest you express your gratitude in more concrete terms. To wit, send me a tub of <a href="http://www.davidlebovitz.com/archives/2008/03/candied_bacon_i_1.html">candied bacon ice cream</a>.<br/><br/>You know you want to.<br/><br/><span style="font-style: italic;"><span style="font-size: 85%;">(Actually guys, you have no idea how much your feedback and comments mean to me. Thank you so much!)</span></span></div>
    </summary>
    <updated>2008-11-18T07:51:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-1965735227110787114</id>
    <link href="http://life.mumak.net/2008/11/fiction-genre-fiction.html" rel="alternate" type="text/html"/>
    <title>Fiction Genre Fiction</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'm OK with science fiction. A lot of it is terribly written, but on the whole I accept the genre.<br/><br/>That said, the kind I like best isn't really science fiction, it's <span style="font-style: italic;">economics fiction</span>, fiction that addresses what the world would be like if the rules of scarcity changed. Books like:<br/><ul><li><span style="font-style: italic;">The Dispossessed</span>, Ursula Le Guin (the best SF author ever. If you disagree, you are wrong.)</li><li>The <span style="font-style: italic;">Culture</span> novels, Iain M. Banks</li><li><span style="font-style: italic;">The Diamond Age</span>, Neal Stephenson (to a certain extent)</li></ul>In most of these stories, societies solve the "limited supply, unlimited demand" problem by inventing technology which provides an unlimited supply. Hence, they become "science" fiction.<br/><br/>There's also a short story by Lord Dunsany called "The Bureau d'Echanges de Maux" which describes a market where evils, rather than goods, can be traded. Of course, Dunsany doesn't care about whether this market performs a useful economic function, so there's still areas to explore.</div>
    </summary>
    <updated>2008-11-16T01:24:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-8169509850992231718</id>
    <link href="http://life.mumak.net/2008/11/libraries.html" rel="alternate" type="text/html"/>
    <title>Libraries</title>
    <summary>There need to be more 24hr libraries with alcohol licenses. That's all I'm saying.</summary>
    <updated>2008-11-15T12:31:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-2458215621591676531</id>
    <link href="http://code.mumak.net/2008/11/review-thoughts.html" rel="alternate" type="text/html"/>
    <title>Review Thoughts</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">So, I think I've figured out what it is I dislike about Twisted's review process: reviews aren't thorough enough.<br/><br/>This sounds a little weird, since it's actually <span style="font-style: italic;">really hard</span> to get a patch into Twisted: it almost always takes me at least three round trips just to get something in. But I think the number of round-trips is actually a symptom of this lack of completeness.<br/><br/>In Launchpad, reviews are done as in-line replies to diffs. A reviewer is obliged to note each chunk of code that needs to be changed, along with exactly what needs to be changed. In Twisted, reviews are done as Trac comments and generally provided as bullet points. In Launchpad, a reviewer would say, "You need to change foo_bar to fooBar, because our coding standards require camel case". In Twisted, a reviewer might say "There are some naming convention issues".<br/><br/>This obviously varies between reviewers and even between reviews, but I think that the difference in technologies encourages differences in review style.<br/><br/>As a patch submitter, I find the in-line-comments-on-diff form much more helpful. It provides me with a convenient todo list, and it lets me know that the reviewer has looked through and tried to understand all of my code. It essentially turns the review into a series of mini bug reports with "observed, expected, how to reproduce" sections (where "how to reproduce" is "where to find").<br/><br/>I also like it as a reviewer, since it means less typing.</div>
    </summary>
    <updated>2008-11-15T01:54:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-5756335323167553018</id>
    <link href="http://life.mumak.net/2008/11/measure-up.html" rel="alternate" type="text/html"/>
    <title>Measure Up</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">You may have seen the ads from our benevolent Government, telling us that we need to lose weight, trim down and start feeling better so we don't crush our public health system under megatonnes of raw lard.<br/><br/>You may have even gone to <a href="http://www.measureup.gov.au/internet/abhi/publishing.nsf">their website</a>, where you'll find this wonderful gem:<br/><blockquote>The waist measurements above are recommended for Caucasian men, and Caucasian and Asian women. Recommended waist measurements are yet to be determined for all ethnic groups. It is believed that they may be lower for Asian men. They are also likely to be higher for Pacific Islanders and African Americans (men and women).</blockquote><blockquote/>"African Americans"? Do black immigrants from the United States really make up that large a percentage of our population, or did the government just mean "people of African descent"?<br/><br/>To me, it sounds as if someone indulged in <a href="http://orwell.ru/library/essays/politics/english/e_polit">mindless political correctness</a>. Please try harder.<br/><blockquote/></div>
    </summary>
    <updated>2008-11-14T23:40:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-5715163048297431769</id>
    <link href="http://life.mumak.net/2008/11/things-i-want-to-write-about.html" rel="alternate" type="text/html"/>
    <title>Things I want to write about</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul><li>The Wall</li><li>Zoo Station</li><li>The kissing French couple</li><li>Kreuzberg</li><li>Cabaret</li><li>Dogs</li><li>Fines and hangovers<br/></li><li>Bikes</li><li>Susan Sontag</li></ul></div>
    </summary>
    <updated>2008-11-09T22:48:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-195736899936222988</id>
    <link href="http://life.mumak.net/2008/11/europe-reading-list.html" rel="alternate" type="text/html"/>
    <title>Europe Reading List</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><ul><li><span style="font-style: italic;">The Wind-up Bird Chronicle</span>, Haruki Murakami</li><li><span style="font-style: italic;">On Photography</span>, Susan Sontag</li><li><span style="font-style: italic;">The Jennifer Morgue</span>, Charles Stross<br/></li><li><span style="font-style: italic;">Knots and Crosses,</span> Ian Rankin</li><li><span style="font-style: italic;">Tooth and Nail</span>, Ian Rankin</li><li><span style="font-style: italic;">Soon I Will Be Invicible</span>, Austin Grossman<br/></li></ul></div>
    </summary>
    <updated>2008-11-09T14:10:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-7595410019050935669</id>
    <link href="http://life.mumak.net/2008/11/berlin-3.html" rel="alternate" type="text/html"/>
    <title>Berlin #3</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Right now, I'm in a small café near the Universität der Künste Berlin. It's obvious that great symphonies and the occasional revolution have been plotted here in caffeinated oblivion. The place has yellowing musical manuscripts on the walls and lit candles to go with my hot chocolate. Since I last wrote from Berlin, I've wandered around the city and seen many of the sights: two stand out.<br/><br/>The first is the East Side Gallery, a painted remnant of the wall that's about ten minutes walk from where I'm staying. The gallery extends at least a kilometre and is filled with colour, freedom, love and hope. I wish I could write down all that it made me feel, but I can't reach quite that far yet.<br/><br/>The second is a war memorial to all those who've died in any war, on the way to Brandenburg Tor from Alexanderplatz. From the outside, it's a simple brown stone building. What's impressive is the inside.<br/><br/>As you walk through the door, you see a dark room with high ceilings. The floor and walls are the kind of black-grey that reminds you of smoke, ash and death. The room itself is bare except for a statue in the middle, that looks like a person sitting. You can't make out the face or sex of the figuce, but you <span style="font-style: italic;">know</span> she must be weeping for her dead child. When I first stepped in, the only thing I could think was, "Oh God, what have we done?".<br/><br/>I've been in buildings that were supposed to elevate the mind toward heaven, in houses that we designed to make me feel at home, cafes that make me feel more creative than I am and even haunted houses designed to make me feel scared. Until this week, I've never been in a building that conjures up the mix of grief and horror that comes from knowing that something is deeply, deeply wrong the human race and that I am a part of it.</div>
    </summary>
    <updated>2008-11-06T10:55:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2447552332188949579</id>
    <link href="http://life.mumak.net/2008/11/berlin-1-revisited.html" rel="alternate" type="text/html"/>
    <title>Berlin #1, revisited</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">One thing I didn't mention in my first Berlin post was how terrifying I found the whole thing. It sounds silly now, but I was feeling more afraid than I have in quite some time — probably since my last job interview.<br/><br/>When I left the hotel in London, I knew theoretically how to get to the Luton airport (Luton!) and from there to the Berlin and from there to the Ostbahnhof and from there to the hostel. But theory isn't practice, and as Morpheus so wisely puts it, there's a difference between knowing the path and walking the path.<br/><br/>So I spent the entire trip wondering what the hell I was doing and whether there would be a bed for me at the end of it all. There were momentary distractions while the plane was being shaken like an experimental cocktail, but overall doubt prevailed.<br/><br/>Things got a lot worse when I left the Ostbahnhof (is this the right one?) and started walking up the Strasse der Pariser Kommune (is this the right way?). I don't know if you've ever walked in the dark before along a road you don't know to a place you've never been. Whenever I've done it, time and distance seem to dilate: It can't be <span style="font-style: italic;">this</span> far away, surely? Maybe I've passed it already? What if the address on the website is wrong? Maybe places are numbered differently in Berlin? Were the photos on the hostel website a total lie?<br/><br/>If you've ever been on a walk like this, you'll know the joy of seeing clear street numbers in the right order, of first seeing your destination and finally arriving there. The hostel turns out to be as nice as the pictures, and the staff were so friendly it completely caught me off guard. I went to bed with clean linen, a fresh towel and a mind perfectly ready for sleep.</div>
    </summary>
    <updated>2008-11-03T18:13:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-7362439844908178926</id>
    <link href="http://life.mumak.net/2008/11/berlin-2.html" rel="alternate" type="text/html"/>
    <title>Berlin #2</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Today I wandered around town on my own. I walked up Karl-Marx Allee until I reached Alexander Platz in Mitte. Once there, I climbed the tallest tower in the city and surveyed the realm that will soon be mine. There's way too much fog here.<br/><br/>I turned my gaze to the East and saw the buildings wrought by Stalin and the factories and the river. I saw the people's park and ruins of an abbey and a clock that shows all the times of the world. My gaze turned West and the Tiergarten and the Dom and the Reichstag were among the things I beheld.<br/><br/>I descended to the streets of the city and saw people cycling and shops slowly opening. Eventually one shop offered me a European power adapter, which I accepted with gratitude and humility. Thus exhausted, I returned home on the U-Bahn, where I spoke partly in German and partly in English with an eighty-year old woman who studied theology years ago.<br/><br/>Today, I'm tired and do not want to do anything. Let's see what happens.</div>
    </summary>
    <updated>2008-11-02T15:37:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-3207045666687139233</id>
    <link href="http://life.mumak.net/2008/11/berlin-1.html" rel="alternate" type="text/html"/>
    <title>Berlin #1</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Decisions are funny things. Yesterday, if I had to decide whether to stay a week in a hostel in a foreign city I would have said "No, I want to go home", but I'm here thanks to a decision I made months ago.  We'll see how that one works out.<br/><br/>Right now, I'm going to explore the city, perhaps even on an organized tour.</div>
    </summary>
    <updated>2008-11-02T08:33:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-4202567634447752128</id>
    <link href="http://code.mumak.net/2008/11/papers-and-talks.html" rel="alternate" type="text/html"/>
    <title>Papers and Talks</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">At the Launchpad Epic, I presented a paper on Twisted for the other Launchpadders. I think that the paper itself is a good introduction to how Twisted works and why, and I'll be publishing it here once I get a chance to format it for the web.<br/><br/>I did two lightning talks that might be interesting to readers. One was on <a href="https://launchpad.net/testresources">testresources</a> and the other was on how to hack like an Evil Overlord. I think I'll try present the second one at OSDC.</div>
    </summary>
    <updated>2008-11-01T11:14:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2567848136137974195</id>
    <link href="http://life.mumak.net/2008/11/epic.html" rel="alternate" type="text/html"/>
    <title>Epic</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Finally, the Launchpad Epic is over. It's been two weeks of very intense activity, with training, workshops, arguments, presentations, lightning talks and pirate costumes.<br/><br/>The training was dull but everything else was really good. I did a couple of lightning talks and one full-length presentation, and people seemed to like all them.<br/><br/>I'm continually amazed at what a cool company I work for. There are so many smart, competent, interesting people in the same room, actually getting things done.<br/><br/>Now I need to figure out how to get to my hostel in Berlin...</div>
    </summary>
    <updated>2008-11-01T10:44:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-7799471131710798688</id>
    <link href="http://code.mumak.net/2008/10/langes-law.html" rel="alternate" type="text/html"/>
    <title>Lange's Law</title>
    <summary>"With threads, all things are possible."</summary>
    <updated>2008-10-30T10:40:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-4082070672868707792</id>
    <link href="http://life.mumak.net/2008/10/missy.html" rel="alternate" type="text/html"/>
    <title>Missy</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span style="font-family: arial;">Missy Higgins is drifting up the lobby stairs. I wish I was on a verandah, drinking port, listening to this and watching the moon.<br/><br/></span></div>
    </summary>
    <updated>2008-10-26T09:39:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-1332197982785400933</id>
    <link href="http://life.mumak.net/2008/10/london-1.html" rel="alternate" type="text/html"/>
    <title>London #1</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">It's the end of a long, weird and dreary Saturday in London. I'm sitting in the hotel bar, trying hard not to work on my slides. I don't know if I can explain exactly <span style="font-style: italic;">why</span> today felt so strange. I think perhaps everything takes on a quirky double life when you are tired under a sky that's boiling apocalyptic grey.<br/><br/>So far, the trip's been good. It's energizing being with the rest of <a href="https://edge.launchpad.net/%7Elaunchpad">the Launchpad team</a> again. It's the first time this year that we've all been awake at the same time, let alone in the same room. If you've never been to a sprint, it's hard to explain. The buzz is not just from meeting old friends, it's also from the feeling that now we can <span style="font-style: italic;">really</span> get down to business.<br/><br/>In any case, things have been so busy that I haven't had any time to stop and think, and it's the sort of busy that's not always interesting to report. Right now, I'm going to go back to working on my slides and recuperating: the next week looms.</div>
    </summary>
    <updated>2008-10-25T15:34:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-495923176881019457</id>
    <link href="http://life.mumak.net/2008/10/truth.html" rel="alternate" type="text/html"/>
    <title>Truth</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://www.presentationzen.com/.a/6a00d83451b64669e20105357bf39b970b-450wi"><img alt="" border="0" src="http://www.presentationzen.com/.a/6a00d83451b64669e20105357bf39b970b-450wi" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;"/></a><br/>Via <a href="http://www.presentationzen.com/">Presentation Zen</a>.</div>
    </summary>
    <updated>2008-10-17T11:57:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-9185485755502968909</id>
    <link href="http://life.mumak.net/2008/10/how-to-write-to-mp.html" rel="alternate" type="text/html"/>
    <title>How to write to an MP</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://puzzling.org/identity/">Mary</a> recently posted about the Government's <a href="http://puzzling.org/logs/thoughts/2008/October/14/internet-filtering">Internet filtering proposal</a>, exhorting readers to write a letter to the Minister and Shadow Minister responsible for this area.<br/><br/>I always mean well with these things, but never get around to doing anything. Since it's entirely possible that others share my predicament, I've decided to post this guide to writing to an MP.<br/><ol><li>Locate an envelope and a stamp. Do it now.</li><li>Find the address of the MP on the governments website and write it on the envelope. Although you may be tempted to stamp the envelope, you should restrain yourself.</li><li>Open up a word processor, a real word processor. Do not use LaTeX, LyX, reST, HTML, SGML, Docbook, Lore, MediaWiki, Emacs, Gobby, TextMate, Vim, WordPress, Twitter or Facebook. It is impossible to write a letter using any of these things. I recommend OpenOffice Word Processor.</li><li>Type your full name and postal address. Do not format it.</li><li>Type the MP's full title, name and address.</li><li>Address the MP formally, e.g. "Senator Conroy,".</li><li>Write the letter. Say what you want in the first paragraph, and support that want in the following paragraphs, conclude with a call to action. Keep it short, keep it clear, be respectful, be definite.<br/></li><li>Conclude with a call to action. It's important that you do this.</li><li>"Yours sincerely, [[your real name]]"</li><li>Format the letter. Be conservative.<br/></li><li>Print the letter.</li><li>Read over it. Read it out loud.<br/></li><li>Make the changes you must make. Remove a little more than you can bear to remove.</li><li>Print the letter.</li><li>Sign it.</li><li>Fold it neatly.</li><li>Insert it into the envelope. Do not seal the envelope.<br/></li><li>Double check the address.</li><li>Seal the envelope.</li><li>Stamp the envelope.</li><li>Walk to the nearest post box — there is one close to you — and post the letter. Do it now.</li></ol>If you want to send a letter, you must follow these instructions: there is simply no other way to do it.</div>
    </summary>
    <updated>2008-10-16T09:35:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2009-01-05T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-8735723393616821708</id>
    <link href="http://code.mumak.net/2008/10/stacked-branches-in-launchpad.html" rel="alternate" type="text/html"/>
    <title>Stacked branches in Launchpad</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Via the medium of the charming <a href="http://www.understated.co.uk/">Matthew Revell</a>, I've posted about <a href="http://news.launchpad.net/cool-new-stuff/stacked-branches-holding-post">stacked branches</a> on the Launchpad News blog. I'm so glad this is finally out.</div>
    </summary>
    <updated>2008-10-16T09:10:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-6251704374346721929</id>
    <link href="http://life.mumak.net/2008/10/keep-alive.html" rel="alternate" type="text/html"/>
    <title>Keep-Alive</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Things have been rather busy around here for me. I'm heading off to London for a two-week epic hacking adventure with the rest of my colleagues, and the preparation has taken up all of my free time.<br/><br/>Well, not quite <span style="font-style: italic;">all</span>. I've also just purchased a <a href="http://www-604.ibm.com/webapp/wcs/stores/servlet/CategoryDisplay?storeId=10000036&amp;catalogId=-36&amp;langId=036&amp;categoryId=4611686018425096207&amp;seriesid=2060574">new laptop</a> and have been spending a fair bit of time getting it ready to use as a development machine. I'm quite enamoured of its light weight and rugged keyboard.<br/><br/>I've also been reading a fair bit:<br/><ul><li><span style="font-style: italic;">Economics</span>, The Economist Group</li><li><span style="font-style: italic;">Master and Commander<span style="font-style: italic;"><span style="font-style: italic;">, </span></span></span>Patrick O'Brian</li><li><span style="font-style: italic;">The Fionovar Tapestry</span> (again), Guy Gavriel Kay</li><li><span style="font-style: italic;">The Little Book of Commonsense Investing</span>, John Bogle<br/></li></ul>And the occasional Gerard Manley Hopkins poem. What I really want is another vast book to lose myself in, like <span style="font-style: italic;">House of Leaves</span>, <span style="font-style: italic;">Infinite Jest</span>, <span style="font-style: italic;">The Brothers Karamazov</span> or <span style="font-style: italic;">Jonathan Strange</span> — I guess they don't grow on trees though.</div>
    </summary>
    <updated>2008-10-16T04:02:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-28T23:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-5569948758690903903</id>
    <link href="http://life.mumak.net/2008/10/do-schools-kill-creativity.html" rel="alternate" type="text/html"/>
    <title>Do Schools Kill Creativity?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Even if you don't care, <a href="http://www.ted.com/index.php/talks/ken_robinson_says_schools_kill_creativity.html">this talk by Sir Ken Robinson</a> is funny, raises some good points and is only about fifteen minutes long.</div>
    </summary>
    <updated>2008-10-07T04:49:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-18T03:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-4581957531852088183</id>
    <link href="http://code.mumak.net/2008/10/super-happy.html" rel="alternate" type="text/html"/>
    <title>Super Happy?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Does Sydney have a Super Happy Dev House or Hacking Society or <span style="font-style: italic;">anything</span> where a bunch of busy programmers can sit down together and <span style="font-style: italic;">hack</span>?<br/><br/>If not, could you please organize one for me — that'd be great.</div>
    </summary>
    <updated>2008-10-07T01:24:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-3069404486951925456</id>
    <link href="http://code.mumak.net/2008/10/more-bzr-hacking.html" rel="alternate" type="text/html"/>
    <title>More bzr hacking</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've extended bzr-establish to give it a new command: hack.<br/><br/>'bzr hack lp:foo' will create a repository with working trees called 'foo' and fetch the lp:foo branch into that repository.<br/>'bzr hack --repository ~/repos lp:foo' will create a repository in '~/repos/foo', a working tree area in 'foo', fetch the branch into the repo and make a light-weight checkout in the working tree area.<br/><br/>You can also specify a non-Launchpad branch, e.g. 'bzr hack http://example.com/some/branch/trunk foo'. This will make a repository called 'foo', put the branch in there and... well, you get the picture.<br/><br/>The plugin lives at lp:~jml/+junk/bzr-establish. It's buggy, not particularly well tested and rough as guts. Still, it's worth a play.</div>
    </summary>
    <updated>2008-10-06T06:34:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2187718614982089640</id>
    <link href="http://life.mumak.net/2008/10/attention.html" rel="alternate" type="text/html"/>
    <title>Attention</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><span class="huge">I came across this quote the other day:<br/></span><blockquote><span class="huge">"Life is denied by lack of attention, whether it be to cleaning windows or trying to write a masterpiece.</span>"<br/><span class="bodybold"> Nadia Boulanger<br/></span></blockquote><span class="bodybold">I think it's one of the most true things I've heard.<br/><br/>It also meshes nicely with Augustine's idea that the present <span style="font-style: italic;">is </span>attention, or at least a projection of attention. On to what, I don't know — eternity?<br/></span></div>
    </summary>
    <updated>2008-10-05T01:18:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-15T01:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-1086359397400155017</id>
    <link href="http://code.mumak.net/2008/10/bazaar-hacking.html" rel="alternate" type="text/html"/>
    <title>Bazaar hacking</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I spent a little bit of time mucking around with some Bazaar plugin ideas I've had.<br/><br/>The first is a command that switches from "branches and trees together inside a shared repository" to "treeless repository with lightweight checkouts". I ran it against a couple of my local repositories and it works out rather nicely. If you are thinking of using cbranch and the like, you should have a look at this plugin. If you don't know why it's a good idea, well, umm, maybe one of the <a href="http://planet.bazaar-vcs.org">other people on the Planet</a> will blog an answer.<br/><br/>The second adds 'bzr new' to the command list.<br/>    $ bzr new awesomer<br/><br/>will create a new shared repository called 'awesomer' and a new branch in that repository called 'trunk'. If you think trunk is a terrible name, you can do:<br/>    $ bzr new awesomer devel<br/><br/>If you are like Tim or Aaron, you'll want your repository and branches separated from your working tree:<br/>    $ bzr --repository ~/repos/foo foo devel<br/><br/>I'd like to figure out a nice way of letting users specify a default directory for repositories to go into, for those people who always use the split model.<br/><br/>The plugin with both of these commands can be found at https://code.edge.launchpad.net/~jml/+junk/bzr-establish. As the "junk" in the name indicates, it's really rough code.<br/><br/>If either of these features sound like good ideas to you, let me know!</div>
    </summary>
    <updated>2008-10-04T12:54:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-3091270858396273780</id>
    <link href="http://code.mumak.net/2008/10/testresources-some-examples.html" rel="alternate" type="text/html"/>
    <title>testresources: some examples</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">There's been a clamor for more documentation on how to use <a href="https://launchpad.net/testresources">testresources</a>. While I'm not qualified to show you the <span style="font-style: italic;">best</span> way to use it, I can show you the way that I would begin to use it.<br/><br/>The linked files are a bunch of unit tests for database code that uses <a href="http://storm.canonical.com/">Storm</a>. Where a real test suite might use an in-memory database, this test suite uses on on-disk sqlite database to better illustrate testresources. This database needs to be removed and built again after each test to guarantee test isolation.<br/><br/>You'll need testresources, Storm and testtools in your Python import path to run these examples.<br/><br/>The first file, <a href="http://code.mumak.net/complex-example.py">complex-example.py</a>, shows how I might do this without testresources. I create a DatabaseService class that has a setUp and tearDown of its own, and a get_store() method that tests are likely to use. This might not be the best thing for databases, but is very close to what I'd do for network services in tests, where I would need to start the service, stop it and have methods to get URLs, clients and other information about the service. If you run the file, you'll see that the database is <span style="font-style: italic;">created</span> at the start of each test, and <span style="font-style: italic;">destroyed</span> before the test finishes. In total, it's created and destroyed three times.<br/><br/>The second file, <a href="http://code.mumak.net/complex-example-2.py">complex-example-2.py</a>, shows how to switch to using testresources. To do this I,<br/><ul><li>added a TestResource subclass called DatabaseResource that implements make() and clean() by delegating to a DatabaseService.</li><li>changed the test case to subclass ResourcedTestCase</li><li>added 'resources = [('database', DatabaseResource())] as a class variable of the test case.</li></ul>Instead of using DatabaseService() in the test, I could have, and perhaps should have, declared a module level instance of DatabaseResource. In that case, the code would have looked like:<br/><pre><br/>class _DatabaseResource(TestResource):<br/>   ...<br/>DatabaseResource = _DatabaseResource()<br/><br/>class TestPerson(unittest.TestPerson):<br/>  ...<br/>  resources = [('database', DatabaseResource)]<br/>  ...<br/></pre><br/>Running the file shows that the behaviour is the same as the first example: the database is <span style="font-style: italic;">created</span> and <span style="font-style: italic;">destroyed</span> in each test.<br/><br/>The third file, <a href="http://code.mumak.net/complex-example-3.py">complex-example-3.py</a>, shows how to take advantage of OptimisingTestSuite (sic). We load the test suite as usual, <span style="font-style: italic;">adsorb</span> (sic) them into an OptimisingTestSuite and return that. We also have to explicity declare when a test <span style="font-style: italic;">dirties</span> the DatabaseResource. I chose to do this by adding a dirtied() method to the DatabaseService. If I had used a singleton (as above), then I would have just called dirtied on that.<br/><br/>Anyway, if you run the third example, you'll see that the database is <span style="font-style: italic;">created</span> and <span style="font-style: italic;">destroyed</span> outside the tests and that its only done <span style="font-style: italic;">twice</span>. The test suite has been optimized by sharing resources between tests when possible.<br/><br/>I hope this helps explain how to use testresources. Certainly writing has been a useful exercise for me, it's highlighted that:<br/><ul><li>a list of 2-tuples isn't quite right for declaring which resources a test uses.</li><li>the dirtied API is inconvenient</li><li>TestResource remains a confusing name for the class, as it conflates the resource acquisition and cleanup with the actual <span style="font-style: italic;">resource</span>.</li><li>Some of the API docs are wrong (notably the ones for ResourcedTestCase).</li><li>The pattern of "resource object with setUp, tearDown, dirtied (and addCleanup)" should perhaps be turned into Python code.</li></ul>I long for your thoughts.<br/><br/>Examples:<br/><br/><a href="http://code.mumak.net/complex-example.py">complex-example.py</a><br/><a href="http://code.mumak.net/complex-example-2.py">complex-example-2.py</a><br/><a href="http://code.mumak.net/complex-example-3.py">complex-example-3.py</a></div>
    </summary>
    <updated>2008-10-04T05:20:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-7127497693726662203</id>
    <link href="http://code.mumak.net/2008/10/pyunit3k-renamed-to-testtools.html" rel="alternate" type="text/html"/>
    <title>pyunit3k renamed to testtools</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">After thinking and talking about it for ages, I've renamed 'pyunit3k' to 'testtools'. You can now find it at https://launchpad.net/testtools or get your copy by running 'bzr branch lp:testtools'.<br/><br/>This is the only major API change I plan to do without introducing some sort of formal release process. The code as it stands is highly stable, well tested and in use on production systems. Download it, use it, send me patches.<br/><br/><span style="font-weight: bold;">Addendum</span><br/>I forgot to mention that ITestResult has been removed, and thus the undocumented dependency on zope.interfaces. If this matters to you, please let me know.</div>
    </summary>
    <updated>2008-10-04T03:59:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-542651512620670121</id>
    <link href="http://life.mumak.net/2008/10/f-is-for-film.html" rel="alternate" type="text/html"/>
    <title>F is for Film</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://life.mumak.net/uploaded_images/films-purchased-757072.png"><img alt="" border="0" src="http://life.mumak.net/uploaded_images/films-purchased-757070.png" style="margin: 0pt 10px 10px 0pt; cursor: pointer;"/></a><br/><br/><span style="font-style: italic;">Ever wondered why </span>Fight Club<span style="font-style: italic;">, </span>The Fast and the Furious<span style="font-style: italic;"> and </span>Forgetting Sarah Marshall<span style="font-style: italic;"> are so popular? Science may have the answer.</span><br/><br/>Getting an 'F" might no longer bear the sorry connotations of failure. A new study has just been published revealing that DVD titles starting with the letter "F" are up to seven times as popular as any other. "If this is true, Hollywood as we know it will be changed forever", says one industry observer.<br/><br/>Scientists conducted a survey over a wide variety of DVDs purchased by consumers, plotting the number of films purchased against the first letter of their title. Although they expected the graph to be flat, indicating that each letter was equally popular, they found that F was more popular by far. "We don't know how to explain it", lamented one researcher, "our best theory so far is that it's hard-wired into the brain".<br/><br/>The result has provoked a fierce reaction in the scientific community, with many criticizing the finding by blaming sloppy methods and a biased political agenda in an effort to discount the evidence. Others, however, are taking the news in stride, with Jerry Bruckheimer beginning work on a new film about three rabbits sent to colonize a new world, tentatively titled <span style="font-style: italic;">First, Fecund and Furred</span>.</div>
    </summary>
    <updated>2008-10-04T01:52:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-14T03:11:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-8322553345677817296</id>
    <link href="http://life.mumak.net/2008/10/like-over-cooked-steak.html" rel="alternate" type="text/html"/>
    <title>Like over-cooked steak</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Just finished a massive "Weekly Review", a time of going through all my notes, papers, flagged emails, desktop icons and processing them to see what they are and what I need to do about them. It's also a time for going through my reminder lists, getting them up-to-date and making sure everything is heading a long as normal.<br/><br/>This time, I spent about four hours. If I actually <span style="font-style: italic;">finished</span> my GTD refresh last weekend, it would have taken less time. I don't feel particularly cleaner or more productive yet, but there are definitely fewer loose threads. I'm also surprised by how many good ideas I've had languishing inside my head: I'm itching for a weekend or two to spend hacking and writing.</div>
    </summary>
    <updated>2008-10-03T10:48:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-07T12:11:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-2274616785888637855</id>
    <link href="http://code.mumak.net/2008/10/lca-2008-conference-report.html" rel="alternate" type="text/html"/>
    <title>LCA 2008 Conference Report</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Yeah, yeah, I know it's a bit late. I found this while emptying out my Drafts folder and thought you guys might like it.<br/><br/>It's very much a personal, in-the-moment, opinionated account. I've only edited it for formatting.<br/><br/><span style="font-weight: bold;">Sunday, January 27</span><br/><br/>Arrived in Melbourne. Good. Next step, dump bags and get beer. Bump into skinny guys with puns on their T-shirts and hunted expressions. Follow them to pub. Rusty is buying free drinks for first-timers. I take two.<br/><br/>Go to Lygon Street. Eat pizza.<br/><br/><span style="font-weight: bold;">Monday, January 28</span><br/><br/>Public holiday today. No coffee for sale on campus. The buzz so far is that everyone loves Ubuntu, or at least takes it for granted — which can sometimes pass for love.<br/><br/>The chatter about Bazaar is more interesting. Everyone says "Bee-Zed-Ahh" and lists it along with Git and Mercurial. When I talk to people, they don't seem to really care about VCS, they just fall in whatever their project uses. Those who have used DVCS talk about "modern version control" (distributed) and "legacy version control" (CVS, SVN). Those who haven't aren't even aware of how much DVCS can help:<br/><br/>  jml: [[ something about branches ]]<br/> other_guy: yeah, I know what branches are.<br/>  jml: but we make a new branch for every single bug fix.<br/>  other_guy: what? how can you do that? isn't that an pain in the arse?<br/> * jml takes other_guy aside and quietly explains.<br/><br/>The guy who talked about securing code — making sure the stuff you release is the stuff you wrote — knew about Bazaar's GPG revision signing, but didn't like it. I reckon there's some nice stuff we could do here.<br/><br/>At the Debian miniconf, I sat down and listened to someone explain how to use Git to make Debian packages. The speaker kept saying "... because Git is stupid" and then showed us a diagram that had more lines than a telephone exchange.<br/><br/>He also did an interactive demo. Before then, I hadn't seen git being used. It's not a friendly application. I mentioned this to some people on the way out and got answers that were too complex for a hallway. Bazaar rocks, we just need to get people to <span style="font-style: italic;">use</span> it.<br/><br/>Went to the OpenSSH talk. It was packed, and the content was interesting, strong and a little dry. Got some ideas for improving Conch (the SSH server that Launchpad uses for codehosting).<br/><br/><span style="font-weight: bold;">Tuesday, January 29</span><br/><br/>At the Gnome mini conf, trying to get a leg up into contributing. My grand aim is to get a calendar on my desktop that is as beautiful and pleasurable as iCal.<br/><br/>It seems that lots of others share my desire. I ended up chatting to Rob Bradford from Opened Hand and a couple of other Gnome guys — it sounds like it might be approaching possible.<br/><br/>Found my phone charger.<br/><br/><span style="font-weight: bold;">Wednesday, January 30</span><br/><br/>Bruce Schneier keynoted. The talk had a few ideas but was light on point. The tutorial on hardening Linux apps was cancelled, and I'm now sitting here while Russell Coker talks about SELinux.<br/><br/><span style="font-weight: bold;">Thursday, January 31</span><br/><br/>Tired and cranky. Decide to do some hacking.<br/><br/><span style="font-weight: bold;">Friday, February 1</span><br/><br/>It's 6:45pm now and all I can think about is signing off and zoning out. Lots of cool talks today.<br/><br/>During the Speaker's Panel, someone asked "What was your favourite thing that happened in Open Source last year?". One person put up their hand and said "git".</div>
    </summary>
    <updated>2008-10-03T09:13:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-8809502747557232244</id>
    <link href="http://life.mumak.net/2008/10/surprised-by-envy.html" rel="alternate" type="text/html"/>
    <title>Surprised by Envy</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I read <span style="font-style: italic;">Surprised by Joy</span> the other night. Some reactions:<br/><ul><li>We learn <span style="font-style: italic;">nothing</span> at school. Lewis went to university knowing Greek, Latin, French, German and Italian. It sounds like he didn't learn many of the sciences, but I would happily swap my knowledge of chemistry to be able to read <span style="font-style: italic;">The Divine Comedy</span> in the original.</li><li>Lewis hated algebra. <span style="font-style: italic;">Score!</span><br/></li><li>He dreaded the postman's knock. I wonder what he would have thought of email.<br/></li><li>His "perfect day" only included about six hours of work. This work was uninterrupted (hah!), and punctuated by a leisurely lunch, a lengthy walk and tea. I wonder if he ever got away with it.</li><li>The past in a foreign country is a foreigner country.<br/></li></ul>The book actually has a <span style="font-style: italic;">point</span>, of course — I'm still mulling it over.</div>
    </summary>
    <updated>2008-10-03T07:42:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-07T01:11:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-5733547231775030285.post-1597206659759773248</id>
    <link href="http://code.mumak.net/2008/10/testresources-overhaul.html" rel="alternate" type="text/html"/>
    <title>testresources overhaul</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="https://launchpad.net/%7Elifeless">Rob</a> has landed my overhaul of <a href="https://launchpad.net/testresources">testresources</a>. testresources is now a lot cleaner, with more tests, more documentation and fewer classmethods. If you've looked at it before and found it a bit confusing, now is a great time to have a fresh look.<br/><br/>The <a href="http://bazaar.launchpad.net/%7Elifeless/testresources/trunk/annotate/18?file_id=news-20080828110236-ku9h8n676vfwcwad-1">NEWS</a> file, <a href="http://bazaar.launchpad.net/%7Elifeless/testresources/trunk/annotate/18?file_id=README-20050904000703-ba3978635caa34f7">README</a> or <a href="http://bazaar.launchpad.net/%7Elifeless/testresources/trunk/annotate/18?file_id=todo-20080817122443-kaikqdedcg57lr4v-1">TODO</a> are all great places to start. Or, you could just download the <a href="https://code.edge.launchpad.net/%7Elifeless/testresources/trunk">branch</a> from Launchpad. 'bzr branch lp:testresources' should do the trick.<br/><br/>There's still so much I want to do, but this has been the big step: getting a firm conceptual base to work from.</div>
    </summary>
    <updated>2008-10-02T12:20:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-5733547231775030285</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://code.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://code.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Hacking, Software Collaboration, Testing and Diverse Other Topics of General Interest to the Practicing Programmer</subtitle>
      <title>Mere Code</title>
      <updated>2009-01-05T02:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-7472290079061619123</id>
    <link href="http://life.mumak.net/2008/10/blough.html" rel="alternate" type="text/html"/>
    <title>Blough</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">One day, perhaps a day far off, I would like to move to New Zealand and start my own town. I would call it <span style="font-style: italic;">Blough</span> and I would be the Mayor of Blough.<br/><br/>Blough would be a special place because all eight correct pronunciations of its name would be correct. It's main trades would be poker, jazz music, wind farms and confused tourists. My favourite pronunciation would be "Blup".</div>
    </summary>
    <updated>2008-10-02T07:52:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-12-02T03:11:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2685841753220127864</id>
    <link href="http://life.mumak.net/2008/09/squashed.html" rel="alternate" type="text/html"/>
    <title>Squashed!</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I played another game of squash with <a href="http://sourcefrog.net/weblog/">Martin</a> yesterday. Last week, I got the better of the encounter. This week, he wiped the floor with me.<br/><br/>Am very much looking forward to a rematch.</div>
    </summary>
    <updated>2008-09-26T07:49:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-27T07:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-1890574526833792514</id>
    <link href="http://life.mumak.net/2008/09/should-sucks.html" rel="alternate" type="text/html"/>
    <title>"Should" sucks</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">"Should" is the worst word in the English language. "Gubernatorial" is kind of bad, but reminds me of peanut butter and jam sandwiches. "Envisage" and "utilize" are both terrible, but at least I know what they're getting at. "Should" is plain ambiguous.<br/><br/>Consider, if you will, a thirsty self:<br/><br/>Self: "When will my drink arrive?"<br/>Other: "Your drink should come out with the mains, sir."<br/><br/>Now this obviously means "the drink will come out with the main meals unless something terrible and unexpected happens". In other words, Other <span style="font-style: italic;">expects</span> it to come out with the mains, he <span style="font-style: italic;">anticipates </span>it.<br/><br/>But there's another meaning,<br/><br/>Self: "When are drinks served?"<br/>Other: "Drinks should be served with the mains."<br/><br/>See? This isn't anticipation, this is a <span style="font-style: italic;">moral imperative</span>. Drinks <span style="font-style: italic;">should </span>be served with mains, the nations <span style="font-style: italic;">should</span> beat their swords into ploughshares, you <span style="font-style: italic;">should</span> listen to what I have to say.<br/><br/>This comes up surprisingly often when talking about bugs and changes to software. I'm a little sick of it, but I don't have any good alternative.</div>
    </summary>
    <updated>2008-09-25T01:08:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-26T09:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-430687518596446528</id>
    <link href="http://life.mumak.net/2008/09/open-mic-night.html" rel="alternate" type="text/html"/>
    <title>Open Mic Night</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">If you are ever in Hobart on a Monday evening, it's worth dropping into Onba (just opposite the Republic) for their Open Mic Night.<br/><br/>Onba opened up some time after I left Hobart. It's a smallish place that does tapas, cocktails, wine, beer, live music, up-market cafe meals, free(ish) Internet access and decent coffee. The atmosphere is great and the whisky selection is small yet tasteful. Your average Sydney pub has nothing on this.<br/><br/>I didn't really know what to expect at the open mic session. I mean, I figured things would be pretty laid-back and friendly, but I wasn't sure about what kind of music they'd have, or how good it would be. First thing I see when I went up the stairs was my friend Alistair playing guitar accompanying two people on bongos and a chap on one of those hand-held things with keyboards that you blow into. I recognized one of the bongo players, since I had glared at him murderously the day before when he dared to play during my 2pm breakfast.<br/><br/>It was a bit more world / folk than I'm used to, but it was good for all that. After Al stepped down, the guy on the melodica (yay learning) swapped places with the non-breakfast bongo player and did some improv. That was fun.<br/><br/>The biggest surprise of the evening (except, perhaps, for the fact that Talisker costs $26 a glass) was hearing Al sing some of his own songs. I'd heard some of his stuff a few years back at the turn of the century and it was all well-polished and what-have-you, but since then... I don't know, I guess I was surprised at how much I enjoyed his music and how much it affected me. I could pull it all apart and say how his singing is much better and how he's obviously more relaxed and that live acoustic in a nice pub is more appropriate to the songs than a professionally mixed recording in an office—I could do that—but I'll leave that to the professionals.<br/><br/>Also, you've probably forgotten how good Prince is (was). This is OK, he's been dormant for a while and his recent stuff isn't great. Still, you should take yourself down to your record store and find something that has <span style="font-style: italic;">Raspberry Beret</span> on it. One guy at Onba played a warm acoustic cover, good enough to make me shut up and listen.<br/><br/><span style="font-style: italic;">the kind u find</span></div>
    </summary>
    <updated>2008-09-19T00:29:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-22T05:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-3166838442226105155</id>
    <link href="http://life.mumak.net/2008/09/holiday.html" rel="alternate" type="text/html"/>
    <title>Holiday</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I'm going to spend the Labor Day long weekend away, with no laptop and my mobile switched off.<br/><br/>Looking forward to it so much.</div>
    </summary>
    <updated>2008-09-18T00:01:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-16T17:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-5681058893309657034</id>
    <link href="http://life.mumak.net/2008/09/adventures-in-custard.html" rel="alternate" type="text/html"/>
    <title>Adventures in Custard</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I've just made some custard from scratch. The flavour is a lot better than my previous attempt, which had way too much vanilla and sugar. Sadly, I overcooked this batch, which means there's lots of little lumps. I could strain them out, but I don't have a strainer.<br/><br/>Next time!</div>
    </summary>
    <updated>2008-09-14T09:00:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-15T13:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-6011329944269794786</id>
    <link href="http://life.mumak.net/2008/09/off-wagon.html" rel="alternate" type="text/html"/>
    <title>Off the Wagon</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://xnreflections.blogspot.com/">Mikey</a> <a href="http://xnreflections.blogspot.com/2008/09/getting-stuff-achieved-sin-bin.html">threw down the gauntlet</a> to his fellow David Allen devotees. Are we staying organized? What's the first habit to go? I <a href="http://xnreflections.blogspot.com/2008/09/getting-stuff-achieved-sin-bin.html?showComment=1221181800000#c8533174751236494244">replied to his post</a>, but thought my reply was chunky enough to re-post here.<br/><br/>The time has come for me to confess although GTD has strongly influenced the way I've thought, I've really fallen off the rails with it.<br/><br/>It's hard to pick up the precise point of failure, but here are some thoughts.<br/><ul><li>I've switched implementations a few times (Emacs, GTiddlyWiki, Remember the Milk, Tomboy, iCal), and there's none that I really, really like.</li><li>Most of my tasks are tracked in <a href="https://bugs.edge.launchpad.net/launchpad-bazaar/+bugs?search=Search&amp;field.assignee=jml">Launchpad</a>. Copying them to a separate system seems wrong.</li><li>Many, many, many ideas I've had have been pushed back because someone else sets my priorities. I don't really know how to best track these—someday/maybes perhaps.</li><li>My set of contexts has shrunk drastically. I'm basically always at home, on my laptop with an internet connection and phone line able to do work stuff. Breaking stuff up into @home, @work, @online, @computer, @phone doesn't make any sense for me.</li><li>I don't really feel support from my manager for maintaining the system, even though people appreciate my work "gardening the bug tracker". This makes me reluctant to spend Friday arvo or Monday morning doing a weekly review. This might be imagined.<br/></li><li>Things have been broken so long that I feel I need to have a two day reboot. Scheduling such a thing is hard.</li><li>My collection habit has broken off. This is partly due to having crappy tools: the spiral notebooks irritate me, my pens keep disappearing and I can't always carry my moleskine around.</li><li>I'm not in regular conversation with others who strive for a mind like water. Even the people I've spoken to who understand the system don't really seem to value it.</li><li><span style="font-weight: bold;">Update: </span>I get about 150 new email conversations in my inbox every day, and then probably get another 50-60 during the day, excluding spam. Most of these emails are <span style="font-style: italic;">totally irrelevant</span> to me and my life, so I get into this groove of "Crap; Crap; Crap; Crap; Ooh, interesting; Crap; Crap; Crap etc" without doing any further processing. It takes ages to get back to actually reviewing the interesting emails and figuring out what I need to do. Then it takes more time to actual do it.<br/></li></ul>I miss the feeling of cleanliness and freedom that I had when I was doing GTD well. It wouldn't surprise me if there are real gaps in the system that I'll be able to understand better once I get back into it.<br/><br/>In any case, I'd love to know your thoughts.</div>
    </summary>
    <updated>2008-09-12T02:06:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-15T06:11:01Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-6990494434525351531</id>
    <link href="http://life.mumak.net/2008/09/fun-stuff.html" rel="alternate" type="text/html"/>
    <title>Fun stuff</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">Finished playing Portal last night. Gosh it was fun. I wish the newspaper included a daily Portal puzzle instead of those silly sudoku things. Doubt they could match the script though — those words have power.<br/><br/>Listening to <i>Never Mind the Bollocks...</i> for the second time ever. More music like this please.<br/><br/>We mean it, man.</div>
    </summary>
    <updated>2008-09-10T23:29:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-14T08:11:03Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-603469375998698994</id>
    <link href="http://life.mumak.net/2008/09/parody.html" rel="alternate" type="text/html"/>
    <title>Parody</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><a href="http://xkcd.com">xkcd</a> <a href="http://xkcd.com/472/">parodies <span style="font-style: italic;">House of Leaves</span></a>, proving that Randall Munroe sometimes just doesn't get it.</div>
    </summary>
    <updated>2008-09-08T06:23:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-09T22:11:02Z</updated>
    </source>
  </entry>

  <entry>
    <id>tag:blogger.com,1999:blog-1647806379173166054.post-2082346822262107922</id>
    <link href="http://life.mumak.net/2008/09/brennan-on-spirituality-and-conscience.html" rel="alternate" type="text/html"/>
    <title>Brennan on Spirituality and Conscience</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">While I was in Hobart, I went to see <a href="http://en.wikipedia.org/wiki/Frank_Brennan">Frank Brennan</a> speak at a regular event called "Spirituality in the Pub". He was given the topic "Spirituality and Conscience", which he interpreted as "talk about the stuff in your book and interesting things that you've done", which was alright with me.<br/><br/>I was expecting him to be a better orator. He was certainly clear, and his talk was definitely interesting, but he had a sing-song tone that I found distracting. It's a minor thing, of course. I mention it only because I was surprised: I've heard more engaging speakers at Free Software conferences.<br/><br/>In his talk, he outlined a few principles and peppered them with anecdotes. First, he said we have to realise that the following are five separate questions that might have five separate answers:<ol><li>What is right for me?</li><li>What is right for those who ask my advice (e.g. my friends, my family, my church)?</li><li>What is the right <i>social policy</i> for a pluralistic democracy?</li><li>What is the right law?</li><li>How should such a law be administered?</li></ol><br/><br/>As a conservative Christian who's socially liberal, I love this: it's a very clear framework for thinking about controversial issues such as abortion, stem-cell research and gay marriage. I personally had never thought about separating the last three points, which seems rather foolish in hindsight. <br/><br/>Brennan also emphasised that compromise in politics is perfectly acceptable and logically necessary. After all, what else is politics for? The upshot is that we need to be clear on what our <i>principles</i> are and on the <i>process</i> for compromise.<br/><br/>He also mentioned that it's important to think about what's achievable, and recalled a conversation he had with <a href="http://en.wikipedia.org/wiki/Philip_Ruddock">Philip Ruddock</a> on the mandatory detention centres. Even though Brennan was against mandatory detention, he didn't <i>argue</i> against it in that conversation. Instead, he focused on something achievable: regular, independent, public scrutiny of the conditions in those centres.<br/><br/>Question time was fun. We had a bit of a chat about what it means to "acknowledge" the traditional owners of the land at public gatherings, and I copped a couple of dirty looks from some members of the audience by addressing him as "Frank" rather than "Father".<br/><br/>On the whole, I wish that he was my local MP. <a href="http://en.wikipedia.org/wiki/Brendan_Nelson">My current one</a> is a little disappointing.</div>
    </summary>
    <updated>2008-09-06T04:41:00Z</updated>
    <author>
      <name>jml</name>
      <email>noreply@blogger.com</email>
    </author>
    <source>
      <id>tag:blogger.com,1999:blog-1647806379173166054</id>
      <author>
        <name>jml</name>
        <email>noreply@blogger.com</email>
      </author>
      <link href="http://life.mumak.net/" rel="alternate" type="text/html"/>
      <link href="http://life.mumak.net/rss.xml" rel="self" type="application/atom+xml"/>
      <subtitle>Things that are going on in my life. Follow along to see what I'm thinking and doing.</subtitle>
      <title>Echo and Bounce</title>
      <updated>2008-11-06T12:11:02Z</updated>
    </source>
  </entry></feed>
