<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet Bazaar</title>
	<link>http://planet.bazaar-vcs.org/</link>
	<language>en</language>
	<description>Planet Bazaar - http://planet.bazaar-vcs.org/</description>

<item>
	<title>Elliot Murphy: MySQL, “what if”, and the drizzle project</title>
	<guid>http://elliotmurphy.com/?p=97</guid>
	<link>http://feeds.feedburner.com/~r/NotWavingButDrowning/~3/342846171/</link>
	<description>&lt;p&gt;Looks like &lt;a href=&quot;http://monty-says.blogspot.com/2008/07/what-if.html&quot;&gt;drizzle&lt;/a&gt; is &lt;a href=&quot;http://krow.livejournal.com/602409.html&quot;&gt;announced&lt;/a&gt; now. I&amp;#8217;ve spent a bit of time after work and on lunch breaks helping out here and there, and I&amp;#8217;m excited about working on a database project again. Why am I working on the project? Average time from when I write a patch to when it goes into the tree has been measured in minutes, not in hours/days/weeks/months. Yes, I&amp;#8217;m running the test suite first. Yes, I&amp;#8217;m getting another person to review the code first. This is an example of how adding people to a project can slow it down, and how &lt;a href=&quot;http://trainedmonkey.com/2008/7/21/how_to_fix_eleven_bugs_in_mysql_5_1&quot;&gt;getting out of the way&lt;/a&gt; of the engineers can have amazing results. We set up bug tracker, code hosting, team organization, package build system, mailing list, IRC channel, and more in a matter of minutes, and it has been amazing to see how fast the code is coming in from all over the world. There was truly a pent-up demand for somewhere to be able to freely work on ideas.&lt;/p&gt;
&lt;p&gt;If you haven&amp;#8217;t read &lt;a href=&quot;http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/&quot;&gt;Ian&amp;#8217;s paper&lt;/a&gt; about the community-agile process, you should. You can see many of the ideas there in how the drizzle project is run. There is lots of work to do, and I think it&amp;#8217;s going to be great fun to see how far we can push drizzle. And the code is safely in a FLOSS distributed version control system that I have mirrors of, so nobody can put the code behind a corporate firewall and seal it off - it&amp;#8217;s alive and growing and unstoppable. If anyone wants to mirror the code, that is fine and I&amp;#8217;ll help you do it.&lt;/p&gt;
&lt;p&gt;Sometimes people look at databases as boring, as a solved problem. I&amp;#8217;m here to tell you that building interesting applications that have any kind of persistent state is not a solved problem, there are a lot more fantastic ideas to try, and some ideas that have only recently become practical. Check out the code and put up a branch with some ideas of your own!&lt;/p&gt;
&lt;p&gt;We don&amp;#8217;t have packages for ubuntu yet, but we will be putting up a PPA soon. As you can imagine, there is still a fair amount of work involved in finishing the renaming and making packages that don&amp;#8217;t conflict with existing mysql installs.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/NotWavingButDrowning/~4/342846171&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 22 Jul 2008 19:43:52 +0000</pubDate>
</item>
<item>
	<title>John Arbash Meinel: This Week in Bazaar</title>
	<guid>tag:blogger.com,1999:blog-4423175964608972068.post-3258183029973001786</guid>
	<link>http://jam-bazaar.blogspot.com/2008/07/this-week-in-bazaar_17.html</link>
	<description>Welcome back to the terrarium of the Bazaar distributed version control system. Written by co-authors John Arbash Meinel, one of the primary developers on Bazaar, and Paul Hummer, who works on integrating Bazaar into Launchpad as he refines his plans for world domination from his shiny new lair.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Bazaar 1.6b3 released&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;The next beta release of Bazaar has just been cut, and is available at your local PPA:&lt;br /&gt;&lt;a href=&quot;https://launchpad.net/%7Ebzr/+archive&quot;&gt;https://launchpad.net/~bzr/+archive&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;The Windows installers should be available later today. This release provides lots of the shiny things that we've been talking about, like &lt;a href=&quot;http://jam-bazaar.blogspot.com/2008/05/this-week-in-bazaar_29.html&quot;&gt;Stacked Branches&lt;/a&gt;, &lt;a href=&quot;http://jam-bazaar.blogspot.com/2008/07/this-week-in-bazaar_10.html&quot;&gt;Real Weave Merge&lt;/a&gt;, more hooks for server-side operation, and lots of bug fixes and general polishing. The full UI for using stacked branches still needs a little bit of polishing, so the feature is not enabled by default. The functionality is all there, and if you are interested, we'd love to hear from you (kudos and complaints are equally welcome).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;New updates to Gnome Bazaar Playground&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Coming back from a very productive trip to &lt;a href=&quot;http://guadec.expectnation.com/public/content/main&quot;&gt;Guadec&lt;/a&gt;, Tim Penhey has been overseeing some customizations to the Bazaar Playground for Gnome.  All of the branches created at the local server in Turkey for Guadec have been added to the public playground.  The &lt;a href=&quot;https://launchpad.net/loggerhead&quot;&gt;Loggerhead&lt;/a&gt; installation has received some TLC by way of customizations to the UI.  &lt;a href=&quot;http://bzr-playground.gnome.org/accerciser/&quot;&gt;Accerciser's playground page&lt;/a&gt; is a good demonstration af the UI changes that have been made.  The playground is actively being used by applications such as &lt;a href=&quot;http://bzr-playground.gnome.org/brasero/&quot;&gt;Brasero&lt;/a&gt;, &lt;a href=&quot;http://bzr-playground.gnome.org/jhbuild/&quot;&gt;jhbuild&lt;/a&gt;, &lt;a href=&quot;http://bzr-playground.gnome.org/metacity/&quot;&gt;Metacity&lt;/a&gt; and more.&lt;br /&gt;&lt;br /&gt;One of the fun results of meeting with people at Guadec, is that it showed ways to improve Loggerhead when dealing with lots of projects and lots of branches. Work is continuing to make customizing Loggerhead's look-and-feel easier, and providing better tools for creating these &quot;Bazaar Playgrounds&quot; to use in evaluating Bazaar.  The Bazaar developers are committed with making tools easier to use, and making the process as simple and powerful as possible.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Up and Coming Repository Format Updates&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href=&quot;http://www.advogato.org/person/robertc/diary.html&quot;&gt;Robert Collins&lt;/a&gt; has been hard at work to refine how Bazaar stores its history information. We all like to have deep context, but we don't like to have to pay the penalty of downloading all of that context. Because Bazaar has a flexible repository structure, Robert has been able to play with changing the on-disk structure without major surgery to the rest of the code.&lt;br /&gt;&lt;br /&gt;First is a change to how &lt;a href=&quot;https://code.launchpad.net/%7Elifeless/+junk/bzr-index2&quot;&gt;indexes&lt;/a&gt; are written, switching from a bisectable list to a btree structure. This paged structure allows us to compress the indexes, making them smaller, and faster to process remotely. It also reduces the number of lookups to find a key. (On average, a bisect search is log&lt;sub&gt;2&lt;/sub&gt;N, while the btree is closer to log&lt;sub&gt;100&lt;/sub&gt;N.) At the moment, he is testing this with a shared repository containing all of the projects available from in the Ubuntu apt repositories. This weighs in at around 13k branches, and somewhere around 20GB of disk space used.&lt;br /&gt;&lt;br /&gt;Second is an update to how texts are stored. At the moment we use a simple format which places fulltexts periodically, and then stores deltas against those fulltexts. It has served us rather well, but can be improved upon. With his &lt;a href=&quot;https://code.launchpad.net/%7Elifeless/+junk/bzr-groupcompress&quot;&gt;Group compress&lt;/a&gt; work, we can see a savings of as much as 2x-3x. Further, the data is stored such that you can do simple linear reads to get the base fulltext and all deltas necessary to generate a given fulltext. This reduces the pressure on indices, as you don't have to search for base texts. (Instead you just store a pointer to the start, and give the total length that needs to be read.)&lt;br /&gt;&lt;br /&gt;These are still in development phase, but a format that uses them will likely appear in the next release (bzr 1.7).&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Community Agile&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ian Clatworthy has recently released a wonderful &lt;a href=&quot;http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/&quot;&gt;document&lt;/a&gt; describing the workflow we (generally) use at Canonical. It describes how basic practices are similar to, and different from, other systems like &lt;a href=&quot;http://en.wikipedia.org/wiki/Agile_software_development&quot;&gt;Agile&lt;/a&gt;. The biggest (IMO) being a recognition that the community surrounding your project is one of the strongest and most important pieces. This has always been true in software development, but it has traditionally been somewhat hidden. Open Source has exposed just how powerful the community can be. For people interested in &lt;span&gt;how&lt;/span&gt; software can be developed, rather than just &lt;span&gt;what&lt;/span&gt;, I certainly recommend it.</description>
	<pubDate>Thu, 17 Jul 2008 19:42:00 +0000</pubDate>
	<author>noreply@blogger.com (jam)</author>
</item>
<item>
	<title>Jelmer Vernooij: Oxegen '08</title>
	<guid>http://jelmer.vernstok.nl/blog/archives/221-guid.html</guid>
	<link>http://jelmer.vernstok.nl/blog/archives/221-Oxegen-08.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://www.oxegen.ie/&quot;&gt;Oxegen&lt;/a&gt; was a bit expensive but awesome. Irish people rock.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: &lt;a href=&quot;http://wilmer.gaast.net/&quot;&gt;Wilmer&lt;/a&gt; has &lt;a href=&quot;http://wilmer.gaast.net/blog/archives/40-Oxegen-2008.html&quot;&gt;details&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Wed, 16 Jul 2008 13:28:07 +0000</pubDate>
	<author>nospam@example.com (Jelmer Vernooij)</author>
</item>
<item>
	<title>Elliot Murphy: Cool chair</title>
	<guid>http://elliotmurphy.com/2008/07/15/cool-chair/</guid>
	<link>http://feeds.feedburner.com/~r/NotWavingButDrowning/~3/336720782/</link>
	<description>&lt;div&gt;
 &lt;a href=&quot;http://www.flickr.com/photos/elliotmurphy/2672642731/&quot; title=&quot;photo sharing&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3177/2672642731_1f4670d89c_m.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
 &lt;br /&gt;
 &lt;span&gt;&lt;br /&gt;
  &lt;a href=&quot;http://www.flickr.com/photos/elliotmurphy/2672642731/&quot;&gt;Cool chair&lt;/a&gt;&lt;br /&gt;
  &lt;br /&gt;
  Originally uploaded by &lt;a href=&quot;http://www.flickr.com/people/elliotmurphy/&quot;&gt;Elliot Murphy&lt;/a&gt;&lt;br /&gt;
 &lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;&amp;#8211;&lt;br /&gt;
Elliot Murphy&lt;br /&gt;
&lt;br clear=&quot;all&quot; /&gt;&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/NotWavingButDrowning/~4/336720782&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 16 Jul 2008 03:55:52 +0000</pubDate>
</item>
<item>
	<title>Tim Penhey: Bazaar has the model right</title>
	<guid>tag:blogger.com,1999:blog-7854892290437883216.post-8405595651084678535</guid>
	<link>http://how-bazaar.blogspot.com/2008/07/bazaar-has-model-right.html</link>
	<description>Some people in the GNOME community have suggested that if Bazaar has nice usability, then GNOME can just use Git on the back-end, and Bazaar lovers can just use the Git back-end via Bazaar.  It's true that Bazaar could support this &amp;mdash; an experimental plug-in exists to do this right now.  But this suggestion betrays several wrong assumptions.&lt;br /&gt;&lt;br /&gt;People assume Git and Bazaar are the same.  They're not.  People assume that if Git and Bazaar have technical differences, then Git must have it right.&lt;br /&gt;&lt;br /&gt;The problem with these assumptions is that usability begins at the ground level.  Bazaar started with a focus on usability.  Git began with a focus on speed.  The data models of both Bazaar and Git reflect their initial focus.  But Bazaar's model can also be fast.  In fact, the Bazaar developers are currently optimising a number of key operations for speed.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Data retrieval&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Git and Bazaar are both key/value mapping systems.  When bytes are needed, they are requested with that key.&lt;br /&gt;&lt;br /&gt;The big difference is that Git's keys are also the hashes of the bytes.  This is why it's called a content-addressable file system.  This allows git to offer a guarantee that if the value hashes to the key, it has not been modified, whether deliberately or by accident.  The Bazaar team considered adopting this approach, but decided it was too constricting.  Bazaar uses UUIDs instead.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Authenticating revisions&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;For detecting malicious modification of revisions, Git uses its cryptographic hashes.&lt;br /&gt;&lt;br /&gt;Bazaar uses revision-signing.  All revisions can be PGP-signed.  No signed revision can be forged.  And the hashed representation can easily be generated and passed around to ensure that exactly the same content is used.&lt;br /&gt;&lt;br /&gt;If SHA-1 is broken, both Bazaar and Git will lose their ability to detect malicious modification.  But since Bazaar uses UUIDs to identify revisions, users can re-sign their old revisions with whatever method proves to be secure.  Changing the hash used by Git would make it incompatible with all existing repositories.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Data Integrity and Serialization formats&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bazaar stores hashes of every value, so it equally capable of detecting accidental modification.  It can be useful to have different representations of a tree in different repositories.  For example, when Git lists files, it divides this data by directory.  This is a good approach, but not necessarily the best approach.  An alternative approach would be to use a radix tree.  This would ensure that Git performed quickly even if users put unreasonable numbers of files in a single directory.  But Git's keys are hashes, upgrading Git's format to use radix trees would change the keys, which means that people could not use the commit-id from one repository to refer to the same tree in an other form.&lt;br /&gt;&lt;br /&gt;Bazaar doesn't assume it has the perfect format.  It provides an upgrade path, and does't change the commit-id of a revision if you change your format.  What's more, Bazaar can even reference data it has never seen.  This allows partial imports from other VCSes to be fully compatible with more complete imports.  And if a VCS provides UUIDs (content hashes certainly qualify as UUIDs), Bazaar can refer to those UUIDs directly.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;File and directory representation&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Git refers to files by path.  It makes no attempt to track renames in its data store.&lt;br /&gt;&lt;br /&gt;Bazaar has an inode abstraction; files and directories both have ids.  When a file is renamed, its id stays the same.  Bazaar's core code refers to files by their id, so merging a renamed file requires no special effort.&lt;br /&gt;&lt;br /&gt;Git's approach means that users are warned not to rename files while changing their content.  But when files are renamed, those files that refer to the renamed files must have their contents changed as well.  For example, if you rename foo.h and foo.c to bar.h and bar.c, you should update the contents of bar.c, or else you will break the build.  With Bazaar, users can do whatever they want, and the VCS just works.  While Git must always use heuristics to deduce renames, Bazaar does not have to.  Of course, it can if it wants to.  This is an example of why it is important to design a model for usability from the beginning.&lt;br /&gt;&lt;br /&gt;Bazaar can import rename data losslessly from foreign VCSes.  Some other VCSes support file-ids, and Bazaar can reuse those without change.  For VCSes that support renames, but not file-ids, Bazaar's representation is also non-lossy.  When data imports are deterministic and non-lossy, it's easy to export them back to their source VCS.  Bazaar's Subversion integration is a great example of how this can work. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Choose the back-end with the right model&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In &lt;strong&gt;any&lt;/strong&gt; situation it makes sense to use a back-end that stores the richer dataset.  It makes more sense to have a front end client that doesn't use all the functionality or data representation of the back-end than it does to have a richer client that isn't able to store the required information as the back-end is not able to represent it.&lt;br /&gt;&lt;br /&gt;If a single back-end storage is going to be used, it makes more sense to use a Bazaar back-end as Bazaar is able to represent everything that Git does, but the reverse is not true.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;The Bazaar developers focused on usability, which requires having a model that supports usability.  Bazaar has improved its model to increase the usability of the system.  We believe that Bazaar has the right model.&lt;br /&gt;&lt;br /&gt;co-written by Aaron Bentley and Tim Penhey</description>
	<pubDate>Sat, 12 Jul 2008 00:42:41 +0000</pubDate>
	<author>noreply@blogger.com (Tim Penhey (thumper))</author>
</item>
<item>
	<title>Robert Collins: 11 Jul 2008</title>
	<guid>http://www.advogato.org/person/robertc/diary.html?start=92</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=92</link>
	<description>&lt;p&gt;What the git vs bzr discussion is about IMO is usability. The following &lt;a href=&quot;http://blogs.sun.com/bmc/entry/dtrace_on_linux&quot;&gt;blog post&lt;/a&gt; about DTrace on linux talks about the same issue, and I'd like to use Bryan's words:&lt;p&gt;
&quot;Over and over again, we made architectural and technical design decisions that would yield an instrumentation framework that would be not just safe, powerful and flexible, but also usable. The subtle bit here is that many of those decisions were not at the surface of the system (where the discussion on the Linux list seems to be currently mired), but in its guts.&quot;&lt;p&gt;
-&amp;gt;&lt;p&gt;
&quot;Over and over again, we made architectural and technical design decisions that would yield a Distributed VCS be not just safe, powerful and flexible, but also usable. The subtle bit here is that many of those decisions were not at the surface of the system (where the discussions going on at the moment seem to be currently mired), but in its guts.&quot;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 11 Jul 2008 13:12:22 +0000</pubDate>
</item>
<item>
	<title>Tim Penhey: Re: Interesting (rough) statistics at the GNOME distributed RCS BOF</title>
	<guid>tag:blogger.com,1999:blog-7854892290437883216.post-4965677612273805853</guid>
	<link>http://how-bazaar.blogspot.com/2008/07/re-interesting-rough-statistics-at.html</link>
	<description>&lt;a href=&quot;http://www.j5live.com/&quot;&gt;J5&lt;/a&gt; mentioned in &lt;a href=&quot;http://www.j5live.com/2008/07/07/interesting-rough-statistics-at-the-gnome-distributed-rcs-bof/&quot;&gt;his post&lt;/a&gt; his interpretation of the number of users for GIT, Bazaar and Hg (Mercurial).  He also finishes with &quot;Converse amongst yourselves&quot;.&lt;br /&gt;&lt;br /&gt;I guess I should first point out that I am a &lt;a href=&quot;http://bazaar-vcs.org&quot;&gt;Bazaar&lt;/a&gt; user, and that I work for &lt;a href=&quot;http://www.canonical.com&quot;&gt;Canonical&lt;/a&gt;.  I felt somewhat enraged at the post from J5, and have spent some time trying to work out some response.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://blogs.gnome.org/johncarr&quot;&gt;John Carr&lt;/a&gt; mentioned that &lt;a href=&quot;http://blogs.gnome.org/johncarr/2008/07/07/83-of-statistics-are-made-up-on-the-spot/&quot;&gt;83% of statistics are made up on the spot&lt;/a&gt;, and that cannot be more true here.  I had been waiting for someone else to post the numbers that they saw at the BOF, but so far I have not seen one.&lt;br /&gt;&lt;br /&gt;Here is my take on it.&lt;br /&gt;&lt;br /&gt;Yes there were more GIT users than Bazaar users at the BOF, but the numbers were more like 50% of the audience were GIT users, and about 40% were Bazaar users.  Someone piped up and said &quot;What about Mercurial?&quot; and so the question was asked, and there were about five or six people.  There was an overlap of the GIT and Bazaar groups, and there was by far the larger majority of the audience that had not used any DVCS.&lt;br /&gt;&lt;br /&gt;What conclusions can we draw from this?  Not much.  Many people attending the pre-conference work for larger companies, like Red Hat, Novell, and Nokia, and many of those people work on some hard core linux stuff, many of which have chosen GIT.  Many have chosen GIT because that is what the linux kernel is using.  Is that a good reason to chose a DVCS?  I don't feel that we can really answer that question as I am sure there are strong advocates for both sides.&lt;br /&gt;&lt;br /&gt;An interesting question is &quot;Which DVCS is easier for the casual contributor to use?&quot;  Surely one of the reasons that a project chooses a DVCS is to allow for more community contributions in an easy to merge way that has a clear contribution history.  Bazaar just works.  It works for the hard-core developers, but is also easy for those soft-core (?).&lt;br /&gt;&lt;br /&gt;From the people I talk to, and I've tried to talk to many here, is that of those that use Bazaar it just works.  Bazaar doesn't get in your way of developing the software that you are working on.  It is just a tool that works.&lt;br /&gt;&lt;br /&gt;One final point.  The questions were &quot;Who uses &amp;lt;insert DVCS&gt;?&quot;, not &quot;Who likes/loves using &amp;lt;insert DVCS&gt;?&quot;.</description>
	<pubDate>Thu, 10 Jul 2008 23:17:41 +0000</pubDate>
	<author>noreply@blogger.com (Tim Penhey (thumper))</author>
</item>
<item>
	<title>John Arbash Meinel: This Week in Bazaar</title>
	<guid>tag:blogger.com,1999:blog-4423175964608972068.post-6025310036823624901</guid>
	<link>http://jam-bazaar.blogspot.com/2008/07/this-week-in-bazaar_10.html</link>
	<description>Here we are again, bringing you the gossip and dirty secrets in the development world of the Bazaar distributed version control system. In this, the 10th week, the series is now under new management, with co-authors John Arbash Meinel, one of the primary developers on Bazaar, and Paul Hummer, who works on integrating Bazaar into Launchpad.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;Bundle Buggy&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://code.aaronbentley.com/&quot;&gt;Aaron Bentley&lt;/a&gt; has once again been improving his wonderful &lt;a href=&quot;http://bundlebuggy.aaronbentley.com/&quot;&gt;Bundle Buggy&lt;/a&gt;. He just introduced support for multiple projects using a single instance of Bundle Buggy. There are now 5 Bazaar projects using the main bundle buggy instance. (Bazaar, bzr-gtk, Bundle Buggy itself, Bzrtools, and PQM.) Of course, Daniel Watkins has made excellent use of his time, and has managed to crank out lots of updates for PQM. At this point it is code clean up, reducing the dependencies making it easier to set up and install.&lt;br /&gt;&lt;span&gt;&lt;br /&gt;Bazaar playground for Gnome&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Originally, John Carr set up Bazaar mirrors of all the Gnome modules, which people could then use as a starting point for publishing code and collaborating.  This week, the &lt;a href=&quot;http://bzr-playground.gnome.org/&quot;&gt;Bazaar playground for gnome&lt;/a&gt; was created so that any Gnome developers could be involved in pushing, branching, and sharing code through bazaar.  This new server runs Loggerhead for viewing the code committed to these Bazaar branches.  &lt;a href=&quot;http://bzr-playground.gnome.org/damned-lies/&quot;&gt;Damned Lies&lt;/a&gt; is also set up on the playground.  This server was also reproduced locally at GUADEC because of the flaky internet connection at the conference, and all those local branches will be moved to the playground shortly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Weave merging and handling &quot;interesting&quot; history&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;One of the great things about having a large project like MySQL using your software is that they push and stretch you in ways that you haven't necessarily encountered before. Specifically, their branch workflow looks a bit like a pile of spaghetti. With several long-term maintenance branches, team branches based off of that, and individual developer branches based off of that. Patches have a tendency to travel in unexpected ways (you may go user =&gt; team =&gt; release 1 =&gt; release 2, or you might go release 1 =&gt; team =&gt; team-2 =&gt; release 2, etc). They also are very fond of 'null merging' patches that aren't relevant to the next release. They merge the change and revert the text changes and commit.&lt;br /&gt;&lt;br /&gt;Bazaar supports all of this, but it exposes &lt;a href=&quot;http://revctrl.org/CrissCrossMerge&quot;&gt;weaknesses&lt;/a&gt; in simple 3-way merge logic. Because patches don't flow in anything considered orderly, you don't have the opportunity to select a &quot;clean&quot; base very often. Bazaar has long had an option for doing a &lt;a href=&quot;http://bazaar-vcs.org/BzrWeaveFormat&quot;&gt;&quot;--weave&quot; merge&lt;/a&gt;. It didn't receive much attention for a while, and had become rather slow. It turned out to be a good fit for MySQL's workflow, so John has spent a bit of time recently to make the functionality efficient and correct in some specific edge cases. Expect the improvements to show up in the next release.</description>
	<pubDate>Thu, 10 Jul 2008 20:05:00 +0000</pubDate>
	<author>noreply@blogger.com (jam)</author>
</item>
<item>
	<title>Robert Collins: 10 Jul 2008</title>
	<guid>http://www.advogato.org/person/robertc/diary.html?start=91</guid>
	<link>http://www.advogato.org/person/robertc/diary.html?start=91</link>
	<description>&lt;p&gt;I keep running into folk whom I knew of, that use bzr, but I did not know that they use bzr.&lt;p&gt;
Right now there is a lot of discussion going on about DVCS in various projects. While I imagine most bzr users just want to get on with their coding (after all thats what bzr is good at :))... it would be fantastic if you could blog that you use it, and folk at GUADEC wear the T-shirt!&lt;p&gt;
Also, I'm at GUADEC, and I'm extremely happy to answer questions from anyone, bzr user, git user, or even svn user :)&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 10 Jul 2008 06:47:48 +0000</pubDate>
</item>
<item>
	<title>Elliot Murphy: Hiring web, python, and gnome developers</title>
	<guid>http://elliotmurphy.com/?p=95</guid>
	<link>http://feeds.feedburner.com/~r/NotWavingButDrowning/~3/330856195/</link>
	<description>&lt;p&gt;I&amp;#8217;m looking for some more unstoppable hackers to work with at &lt;a href=&quot;http://www.canonical.com/&quot;&gt;Canonical&lt;/a&gt;, and doing the usual thing of going through CV/resume submissions. What&amp;#8217;s different from when I was doing this last year? YouTube! In the past I&amp;#8217;ve been impressed when someone not only had a resume but links to a personal site or profile that highlighted their professional activities in much more detail than a plain resume would - perhaps links to open source contributions that they are proud of, or designs that they&amp;#8217;ve done, etc. One resume I just got links to a YouTube video showing a demo of a robot that the applicant built and programmed in C and Python. This definitely got my attention.&lt;/p&gt;
&lt;img src=&quot;http://feeds.feedburner.com/~r/NotWavingButDrowning/~4/330856195&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 09 Jul 2008 15:11:01 +0000</pubDate>
</item>
<item>
	<title>Ian Clatworthy: Announcing the Community-Agile project</title>
	<guid>http://ianclatworthy.wordpress.com/?p=42</guid>
	<link>http://ianclatworthy.wordpress.com/2008/07/09/announcing-the-community-agile-project/</link>
	<description>&lt;div class=&quot;snap_preview&quot;&gt;&lt;br /&gt;&lt;p&gt;I&amp;#8217;m pleased to announce a new project that aims to extend Agile software development with successful practices used in the Open Source community. The goal is to create and support a process framework that teams and communities, both open source and commercial, can download and customize to meet their needs.&lt;/p&gt;
&lt;p&gt;To start the ball rolling, I&amp;#8217;m pleased to announce the &lt;a href=&quot;http://ianclatworthy.wordpress.com/community-agile/&quot;&gt;Manifesto for Community-Agile Software Guidance&lt;/a&gt;. Anyone can sign this - simply go to the page and add a comment indicating that you agree! More importantly, a paper explaining the values, principles and practices is available in numerous formats including &lt;a href=&quot;http://people.ubuntu.com/~ianc/papers/community-agile/community-agile.html&quot;&gt;html&lt;/a&gt; and &lt;a href=&quot;http://people.ubuntu.com/~ianc/papers/community-agile/community-agile.pdf&quot;&gt;pdf&lt;/a&gt;. (I was planning to present this paper at &lt;a href=&quot;http://en.oreilly.com/oscon2008/public/schedule/detail/3458&quot;&gt;OSCON 2008&lt;/a&gt; but unfortunately can&amp;#8217;t travel at this time.)&lt;/p&gt;
&lt;p&gt;To get involved, visit &lt;a href=&quot;https://launchpad.net/~community-agile&quot;&gt;https://launchpad.net/~community-agile&lt;/a&gt; and join the team!&lt;/p&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/categories/ianclatworthy.wordpress.com/42/&quot; /&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/tags/ianclatworthy.wordpress.com/42/&quot; /&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gocomments/ianclatworthy.wordpress.com/42/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/comments/ianclatworthy.wordpress.com/42/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godelicious/ianclatworthy.wordpress.com/42/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/delicious/ianclatworthy.wordpress.com/42/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/gostumble/ianclatworthy.wordpress.com/42/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/stumble/ianclatworthy.wordpress.com/42/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/godigg/ianclatworthy.wordpress.com/42/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/digg/ianclatworthy.wordpress.com/42/&quot; /&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; href=&quot;http://feeds.wordpress.com/1.0/goreddit/ianclatworthy.wordpress.com/42/&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://feeds.wordpress.com/1.0/reddit/ianclatworthy.wordpress.com/42/&quot; /&gt;&lt;/a&gt; &lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=ianclatworthy.wordpress.com&amp;amp;blog=1207205&amp;amp;post=42&amp;amp;subd=ianclatworthy&amp;amp;ref=&amp;amp;feed=1&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Tue, 08 Jul 2008 14:47:39 +0000</pubDate>
</item>
<item>
	<title>Jonathan Lange: I Love Data</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-4536070818872098294</guid>
	<link>http://code.mumak.net/2008/07/i-love-data.html</link>
	<description>At work, we recently started to graph the time it takes to access a branch in Launchpad via SSH, both on our staging and production servers.&lt;br /&gt;&lt;br /&gt;I love this so much. Having this data is &lt;span&gt;liberating&lt;/span&gt;. It's like turning on a light in a dark room: suddenly I can go from uncertain, careful, hesitant steps to bold, confident strides.&lt;br /&gt;&lt;br /&gt;In fact, the metaphor stretches further. This new light has revealed objects of interest (that is, spikes in the time taken) that I wasn't aware of before. I need to know how long these spikes last, how they correlate with load on the system and so forth. Soon there'll be more graphs, and I'll be able to correlate them and analyze them and suck on their delicious, numerical marrow (the light metaphor long abandoned).&lt;br /&gt;&lt;br /&gt;Regardless of whether it's liberating illumination or nourishing, savoury meat, this new graph makes me wonder why I don't chart other things I care about. Having such graphs would help me see the &lt;span&gt;impact&lt;/span&gt; of my actions. I could chart things like my bank balance, my waistline or the number of Latin words I learned this week. Then I could answer questions like &quot;do I spend more on Tuesdays?&quot; or &quot;can I afford this iPod/cake/gerund?&quot;. This is important, because when I am tempted with a sleek/delicious/perplexing iPod/cake/gerund, I fall back on my own judgment. I think it's time to confess, dear reader, that my own judgment isn't very good. And yet I continue to trust it.&lt;br /&gt;&lt;br /&gt;The reason I don't have such graphs is that they are inconvenient to maintain. A graph of branch access times is &lt;span&gt;easy&lt;/span&gt;. All you need to do is describe how to get the measurement, and then do a bit of once-off set up. If you want to graph your body weight, you need to get on the scales at a fixed time and then look at the dial and adjust for parallax and then write a number down somewhere and maybe note down whether this is before or after a meal and then take the number and then add it to a spreadsheet. Most online banking sites I've seen are even &lt;span&gt;less&lt;/span&gt; convenient than this.&lt;br /&gt;&lt;br /&gt;Getting data on life is hard, but for programming it's easy. What things do you care about on your project? Features, user experience, how fast bugs get fixed? Can you quantify these things? Can you make a pretty picture out of it? If so, do it now! Post your answers here, set up something like&lt;span&gt;&lt;/span&gt; &lt;a href=&quot;http://cricket.sourceforge.net/&quot;&gt;Cricket&lt;/a&gt; and then profit!&lt;br /&gt;&lt;br /&gt;P.S. I can't believe I got to the end of this post without saying how awesome the Canonical sysadmins are. Let me correct that now. The Canonical sysadmins are heck of awesome. They could &lt;a href=&quot;http://cdn-www.i-am-bored.com/media/95709_mordoranim8.gif&quot;&gt;simply walk into Mortor&lt;/a&gt;.</description>
	<pubDate>Mon, 07 Jul 2008 19:22:37 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: Five Years</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-358510319793773286</guid>
	<link>http://code.mumak.net/2007/09/five-years.html</link>
	<description>That's not quite how long it took &lt;a href=&quot;http://code.mumak.net/glyf.livejournal.com&quot;&gt;Glyph&lt;/a&gt; to write a post explaining what he meant when he told me that &lt;a href=&quot;http://glyf.livejournal.com/72505.html&quot;&gt;xUnit should use the visitor pattern instead of the composite pattern&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm going to write a more detailed response later, God willing. I just wanted to flag the post and say thanks to Glyph for finally posting it — the &lt;a href=&quot;http://mumak.net/2007/08/20/let-the-beat-drop/&quot;&gt;hassling&lt;/a&gt; must have worked.</description>
	<pubDate>Sat, 05 Jul 2008 22:21:31 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: The Economist Index</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-4242706117573763571</guid>
	<link>http://code.mumak.net/2008/02/economist-index_10.html</link>
	<description>&lt;em&gt;The Economist&lt;/em&gt; occasionally publishes a &quot;Big Mac Index&quot; — how much the world's favorite &quot;burger&quot; costs in each country, translated into a common currency.&lt;br /&gt;&lt;br /&gt;Why they don't publish an index of how much an issue of the Economist costs?  All of my issues have the price of the newspaper in lots of Asia-Pacific currencies. A small sample:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;	&lt;li&gt;Australia, 9.39855 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Cambodia, 6.00 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;China, 10.43655 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Hong Kong, 7.6917 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;India, 5.0522 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;Japan, 10.70535 USD&lt;/li&gt;&lt;br /&gt;	&lt;li&gt;New Zealand, 8.6669 USD&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Can anyone tell me why the price varies so much?</description>
	<pubDate>Sat, 05 Jul 2008 22:21:30 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: Three-ways on Pidgin?</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-3364492924699447727</guid>
	<link>http://code.mumak.net/2008/02/three-ways-on-pidgin.html</link>
	<description>Dear Lazyweb,&lt;br /&gt;&lt;br /&gt;How do I initiate a three-way chat with Pidgin 2.2.1?&lt;br /&gt;&lt;br /&gt;jml</description>
	<pubDate>Sat, 05 Jul 2008 22:21:29 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: Merging New trunk Features to a Development Branch (redux)</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-7272353249070931637</guid>
	<link>http://code.mumak.net/2007/09/merging-new-trunk-features-to.html</link>
	<description>&lt;a href=&quot;http://oubiwann.blogspot.com/&quot;&gt;Oubiwann&lt;/a&gt; has &lt;a href=&quot;http://oubiwann.blogspot.com/2007/09/merging-new-trunk-features-to.html&quot;&gt;recently posted&lt;/a&gt; about the joys of using &lt;a href=&quot;http://divmod.org/trac/wiki/DivmodCombinator&quot;&gt;Combinator&lt;/a&gt; to do branch-based development using Subversion. I thought it'd be fun to do the same post, except this time with Bazaar.&lt;br /&gt;&lt;h3&gt;Background&lt;/h3&gt;&lt;br /&gt;You're working on a project called &quot;Project&quot;, you have a copy of the mainline branch (i.e. 'trunk') in your &lt;code&gt;src&lt;/code&gt; directory.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~$ cd ~/src/Project&lt;br /&gt;~/src/Project$ ls&lt;br /&gt;trunk&lt;/pre&gt;&lt;br /&gt;You want to implement a new feature, so you branch trunk to work on it:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project$ bzr branch trunk viking-feature-836&lt;/pre&gt;&lt;br /&gt;Bazaar is a version control system, not a PYTHONPATH-managing system, so it doesn't maintain a global list of projects and the branches that are currently active for each project.&lt;br /&gt;&lt;br /&gt;Perhaps your company focuses on historical invasions of Britain. You decide to start work on another feature:&lt;br /&gt;lass objects.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project$ bzr branch trunk norman-feature-1066&lt;/pre&gt;&lt;br /&gt;You multi-task for a bit, until you finish 'viking-feature'. You decide to merge 'viking-feature-836' into trunk.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project$ cd trunk&lt;br /&gt;~/src/Project/trunk$ bzr merge ../viking-feature-836&lt;br /&gt;~/src/Project/trunk$ bzr ci&lt;/pre&gt;&lt;br /&gt;At this point, you begin to suspect that Bazaar treats branches as first-class objects. However, at this point, a developer on the obverse side of your continent calls you,&lt;br /&gt;&lt;br /&gt;&quot;Where's your viking feature? I need it to invade Britain!&quot;&lt;br /&gt;&lt;br /&gt;&quot;I've just put it into trunk. Have you got the latest copy?&quot;&lt;br /&gt;&lt;br /&gt;&quot;Yeah, I do, I just pulled from trunk.&quot;&lt;br /&gt;&lt;br /&gt;&quot;It's in trunk, you fool! ... Oh, wait, gimme a sec.&quot;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project/trunk$ bzr push&lt;br /&gt;Pushing to bzr+ssh://bzr.example.com/Project/trunk...&lt;br /&gt;~/src/Project/trunk$&lt;/pre&gt;&lt;br /&gt;&quot;Try now.&quot;&lt;br /&gt;&lt;h3&gt;Merging&lt;/h3&gt;&lt;br /&gt;OK, enough background, let's merge.&lt;br /&gt;&lt;br /&gt;Say you need some of the changes in trunk in order to finish work on your norman feature. No problems.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project$ bzr merge trunk norman-feature-1066&lt;br /&gt;~/src/Project$ bzr ci -m &quot;Merge from trunk.&quot;&lt;/pre&gt;&lt;br /&gt;It's hard not to feel smug at this point.&lt;br /&gt;&lt;br /&gt;Wait a second, you also want to look at the experimental branch that a friend is working on:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;~/src/Project/norman-feature-1066$ bzr merge bzr+ssh://yourfriend.example.com/branches/sealion-1946&lt;br /&gt;~/src/Project/norman-feature-1066$ bzr diff | less # better double check this one&lt;br /&gt;~/src/Project/norman-feature-1066$ bzr revert # nope, doesn't seem like a good idea&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;Summary&lt;/h3&gt;&lt;br /&gt;Bazaar treats branches as first-class objects and treats trunk just like any other branch. Although Combinator is great for branch-based development in Subversion, it is more complex and less flexible than doing branch-based development in Bazaar.&lt;br /&gt;&lt;br /&gt;With Combinator, you lose history when you merge in changes from trunk, with Bazaar you don't.&lt;br /&gt;&lt;br /&gt;With Combinator, you can only merge in changes from trunk, with Bazaar you can merge from any branch.&lt;br /&gt;&lt;br /&gt;With Combinator, merging from trunk leaves a bunch of changed files in the trunk checkout on your system (this has tripped me up more than once). With Bazaar, this doesn't happen.</description>
	<pubDate>Sat, 05 Jul 2008 22:08:02 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: It's a Gibbon</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-5557701058215689402</guid>
	<link>http://code.mumak.net/2007/09/it-gibbon.html</link>
	<description>Over the weekend I upgraded my laptop to &lt;a href=&quot;http://www.ubuntu.com&quot;&gt;Ubuntu 7.10&lt;/a&gt; aka &quot;The Gutsy Gibbon&quot;.&lt;br /&gt;&lt;br /&gt;Obvious improvements include having Pidgin installed and a much superior version of Deskbar. There's also a swanky new panel to actually control display settings (dual monitor and all that jazz). Unfortunately, I can't quite get it to work just yet. My 22&quot; 1680x1058 LCD will just have to sit there, gathering dust :(&lt;br /&gt;&lt;br /&gt;In another weirdness, all of my fonts are suddenly much, much bigger. I had to resize everything down to 8 or 9 to make them sane.&lt;br /&gt;&lt;br /&gt;My &lt;a href=&quot;http://peadrop.com/blog/2007/01/06/pretty-emacs/&quot;&gt;pretty Emacs&lt;/a&gt; has also stopped working, but that's to be expected. It's a third-party package that hasn't yet been built for Gutsy.&lt;br /&gt;&lt;br /&gt;Other than that, seems to be a fairly routine upgrade. Is there anything exciting that I've missed?</description>
	<pubDate>Sat, 05 Jul 2008 22:08:01 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: Around like Grover</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-5261835241457980208</guid>
	<link>http://code.mumak.net/2007/10/around-like-grover.html</link>
	<description>What's up hep-cats?&lt;br /&gt;&lt;br /&gt;I've been travelling around the world, weaving in and out of timezones like Jason Bourne navigates facial expressions. Last week's adventure took me to tropical Dunedin — the southiest outpost of Canonical Ltd. (I'm trying to get a mention on &lt;a href=&quot;http://itre.cis.upenn.edu/~myl/languagelog/&quot;&gt;Language Log&lt;/a&gt;.)&lt;br /&gt;&lt;br /&gt;Those few Hobartians who keep reading will notice that Dunedin, well, umm... here's a photo:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://tusk.mumak.net/Blog-20071016/Dunedin-View.jpg&quot; alt=&quot;View of Dunedin&quot; title=&quot;Dunedin during rush hour&quot; width=&quot;600&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Pay careful attention to the hills in the background.</description>
	<pubDate>Sat, 05 Jul 2008 22:07:59 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: Cracked Mac</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-7143752197387030539</guid>
	<link>http://code.mumak.net/2007/10/cracked-mac.html</link>
	<description>OK, I've started with this whole &lt;q&gt;photography&lt;/q&gt; thing, I might as well run with it.&lt;br /&gt;&lt;br /&gt;My Mac cracked:&lt;br /&gt;&lt;br /&gt;&lt;img src=&quot;http://tusk.mumak.net/Blog-20071016/Cracked-Laptop-2.jpg&quot; alt=&quot;Cracked Macbook&quot; title=&quot;Designed by Apple in California&quot; /&gt;</description>
	<pubDate>Sat, 05 Jul 2008 22:07:58 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>
<item>
	<title>Jonathan Lange: The most retentive thing I've done</title>
	<guid>tag:blogger.com,1999:blog-5733547231775030285.post-2851328684107820408</guid>
	<link>http://code.mumak.net/2007/10/most-retentive-thing-i-done_16.html</link>
	<description>&lt;img src=&quot;http://tusk.mumak.net/Blog-20071016/Retentive-Pens-2.jpg&quot; alt=&quot;I labelled my pens&quot; title=&quot;I'm still not sure about publishing this&quot; width=&quot;400&quot; /&gt;</description>
	<pubDate>Sat, 05 Jul 2008 22:07:57 +0000</pubDate>
	<author>noreply@blogger.com (jml)</author>
</item>

</channel>
</rss>
