<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Labix Blog &#187; Conference</title>
	<atom:link href="http://blog.labix.org/tag/conference/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.labix.org</link>
	<description>by Gustavo Niemeyer</description>
	<lastBuildDate>Mon, 16 Jan 2012 04:02:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Bazaar, the git way</title>
		<link>http://blog.labix.org/2012/01/16/bazaar-the-git-way</link>
		<comments>http://blog.labix.org/2012/01/16/bazaar-the-git-way#comments</comments>
		<pubDate>Mon, 16 Jan 2012 04:02:51 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Go]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RCS]]></category>

		<guid isPermaLink="false">http://blog.labix.org/?p=935</guid>
		<description><![CDATA[Back at the Ubuntu Platform Rally last week, I&#8217;ve pestered some of the Bazaar team with questions about co-location of branches in the same directory with Bazaar. The great news is that this seems to be really coming for the &#8230; <a href="http://blog.labix.org/2012/01/16/bazaar-the-git-way">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Back at the Ubuntu Platform Rally last week, I&#8217;ve pestered some of the Bazaar team with questions about co-location of branches in the same directory with Bazaar. The great news is that this seems to be really coming for the next release, with first-class integration of the feature in the command set. Unfortunately, though, it&#8217;s not quite yet ready for prime time, or even for <i>I&#8217;m-crazy-and-want-this-feature</i> time.</p>
<p>Some background on why this feature turns out to be quite important right now may be interesting, since life with Bazaar in the past years hasn&#8217;t really brought that up as a blocker. <span id="more-935"></span>The cause for the new interest lies in some recent changes in the toolset of the Go language. The new <i>go</i> tool not only makes building and interacting with Go packages a breeze, but it also solves a class of problems previously existent. For the <i>go</i> tool to work, though, it requires the use of $GOPATH consistently, and this means that the package has to live in a <i>well defined directory</i>. The traditional way that Bazaar manages branches into their own directories becomes a deal breaker then.</p>
<p>So, last week I had the chance to exchange some ideas with Jelmer Vernooij and Vincent Ladeuil (both Bazaar hackers) on these problems, and they introduced me to the approach of using lightweight checkouts to workaround some of the limitations. Lightweight checkouts in Bazaar makes the working tree resemble a little bit the old-style VCS tools, with the working tree being bound to another location that actually has the core content. The idea is great, and given how well lightweight checkouts work with Bazaar, building a full fledged solution shouldn&#8217;t be a lot of work really.</p>
<p>After that conversation, I&#8217;ve put a trivial hack together that would make bzr look like git from the outside, by wrapping the command line, and did a lightning talk demo. This got a few more people interested on the concept, which was enough motivation for me to move the idea forward onto a working implementation. Now I just needed the time to do it, but it wasn&#8217;t too hard to find it either.</p>
<p>I happen to be part of the unlucky group that too often takes more than 24 hours to get back home from these events. This is not entirely bad, though.. I also happen to be part of the lucky group that can code while flying and riding buses as means to relieve the boredom (reading helps too). This time around, <a href="http://labix.org/cobzr">cobzr</a> became the implementation of choice, and given ~10 hours of coding, we have a very neat and over-engineered wrapper for the bzr command.</p>
<p>The core of the implementation is the same as the original hack: wrap bzr and call it from outside to restructure the tree. That said, rather than being entirely lazy and hackish line parsing, it actually parses bzr&#8217;s &#8211;help output for commands to build a base of supported options, and parses the command line exactly like Bazaar itself would, validating options as it goes and distinguishing between flags with arguments from positional parameters. That enables the proxying to do much more interesting work on the intercepted arguments.</p>
<p>Here is a quick session that shows a branch being created with the tool. It should look fairly familiar for someone used to git:</p>
<p><code><br />
[~]% bzr branch lp:juju<br />
Branched 443 revisions.                                                                                                                       </p>
<p>[~]% cd juju<br />
[~/juju]% bzr branch<br />
* master</p>
<p>[~/juju]% bzr checkout -b new-feature<br />
Shared repository with trees (format: 2a)<br />
Location:<br />
  shared repository: .bzr/cobzr<br />
Branched 443 revisions.<br />
Branched 443 revisions.<br />
Tree is up to date at revision 443.<br />
Switched to branch: /home/niemeyer/juju/.bzr/cobzr/new-feature/</p>
<p>[~/juju]% bzr branch other-feature<br />
Branched 443 revisions.                                                                                                                       </p>
<p>[~/juju]% bzr branch<br />
&nbsp;&nbsp;master<br />
* new-feature<br />
&nbsp;&nbsp;other-feature<br />
</code></p>
<p>Note that cobzr will not reorganize the tree layout before the multiple branch support is required.</p>
<p>Even though the wrapping is taking place and bzr&#8217;s &#8211;help output is parsed, there&#8217;s pretty much no noticeable overhead given the use of Go for the implementation and also that the processed output of &#8211;help is cached (I <i>said</i> it was overengineered).</p>
<p>As an example, the first is the real bzr, while the second is a link to cobzr:</p>
<p><code><br />
[~/juju]% time /usr/bin/bzr status<br />
/usr/bin/bzr status  0.24s user 0.03s system 88% cpu 0.304 total</p>
<p>[~/juju]% time bzr status<br />
bzr status  0.19s user 0.08s system 88% cpu 0.307 total<br />
</code></p>
<p>This should be more than enough for surviving comfortably until bzr itself comes along with first class support for co-located branches in the next release.</p>
<p>In case you&#8217;re interested in using it or are just curious about the command set or other details, please check out the web page for the project:</p>
<ul>
<li><a href="http://labix.org/cobzr">http://labix.org/cobzr</a>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2012/01/16/bazaar-the-git-way/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Landscape and Storm go public</title>
		<link>http://blog.labix.org/2007/08/15/landscape-and-storm-go-public</link>
		<comments>http://blog.labix.org/2007/08/15/landscape-and-storm-go-public#comments</comments>
		<pubDate>Wed, 15 Aug 2007 16:00:53 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2007/08/15/landscape-and-storm-go-public/</guid>
		<description><![CDATA[Finally, a couple of projects I&#8217;ve been working on in the last year and a half have been made public, which means that I have more freedom to talk about them openly. Landscape Landscape is a system we&#8217;ve created to &#8230; <a href="http://blog.labix.org/2007/08/15/landscape-and-storm-go-public">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Finally, a couple of projects I&#8217;ve been working on in the last year and a half have been made public, which means that I have more freedom to talk about them openly.</p>
<p><b>Landscape</b></p>
<p><a href="http://www.canonical.com/landscape">Landscape</a> is a system we&#8217;ve created to allow administrators to comfortably manage and observe a large number of computers remotely through a centralized web interface.</p>
<p>This description certainly won&#8217;t strike anyone as a brand new idea.  There are indeed a large number of systems for remote management.  Even then, Landscape does bring new ideas into that known field, such as a very flexible package management offering.  Landscape, supporting only Ubuntu at the present moment, also has the advantage of being built inside the company which supports the operating system distribution itself.</p>
<p>There are currently 5 core developers, with many other people contributing in various areas.  My role is being a Technical Lead, even though that says very little about the kind of relationship that we have within the project.  The guys I work with are very smart and goal oriented, so decisions are taken through friendly discussions and consensus, and initiative is seen coming from all directions.</p>
<p><b>Storm</b></p>
<p><a href="https://storm.canonical.com">Storm</a> is a ORM we have developed for Python, to be used in Landscape, <a href="http://launchpad.net">Launchpad</a>, and other projects.  The project was originally started because our attempts to perform client side partitioning (<i>sharding</i>) of data with existent ORMs for Python failed.</p>
<p>It was announced as an open source project in a talk I presented last month at <a href="http://europython.org">EuroPython</a>, and last week the second public release (0.10) was already made.</p>
<p>If you are around the Boston area in the US, my coworker and friend Christopher Armstrong will be giving a <a href="http://radix.twistedmatrix.com/2007/08/storm-talk-at-cambridge-python-meetup.html">Storm talk at the Cambridge Python Meetup</a> today.  I&#8217;ll also be presenting it again at <a href="http://pyconbrasil.com.br/">PyCon Brasil</a> at the end of the month, in Joinville, Brazil.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2007/08/15/landscape-and-storm-go-public/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Quickies</title>
		<link>http://blog.labix.org/2007/03/10/quickies</link>
		<comments>http://blog.labix.org/2007/03/10/quickies#comments</comments>
		<pubDate>Sat, 10 Mar 2007 04:12:09 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[RCS]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2007/03/10/quickies/</guid>
		<description><![CDATA[brother&#8230; My brother Diogo is in town! Good to see him after so much time. pycon&#8230; PyCon 2007 was fantastic. It was great to meet everyone there, and we had two awesome sprinting weeks around it. confluence&#8230; I&#8217;ve recently visited &#8230; <a href="http://blog.labix.org/2007/03/10/quickies">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><b>brother&#8230;</b></p>
<p>My brother Diogo is in town!  Good to see him after so much time.</p>
<p><b>pycon&#8230;</b></p>
<p><a href="http://us.pycon.org">PyCon 2007</a> was fantastic. It was great to meet everyone there, and we had two awesome sprinting weeks around it.</p>
<p><b>confluence&#8230;</b></p>
<p>I&#8217;ve recently <a href="http://www.confluence.org/confluence.php?lat=-31&#038;lon=-52">visited a confluence</a> with a good friend of mine. Kayaks, paddling, walking, driving, swimming, aslphalt, sand, water, grass.. it was awesome.</p>
<p><b>svn2bzr&#8230;</b></p>
<p>It looks like <a href="http://bazaar-vcs.org">Bazaar</a> tags are now really coming, so I&#8217;m doing some work on <a href="http://bazaar-vcs.org/svn2bzr">svn2bzr</a> again. Hopefully this time I&#8217;ll really migrate some projects over.</p>
<p><b>editmoin&#8230;</b></p>
<p>Version 1.9 of <a href="http://labix.org/editmoin">editmoin</a> was released.</p>
<p><b>smart&#8230;</b></p>
<p>Some work in <a href="http://labix.org/smart">Smart</a> is coming in the upcoming weeks.</p>
<p><b>projects&#8230;</b></p>
<p>Hopefully I&#8217;ll be able to speak more openly about (some of the) interesting things I&#8217;ve been working on in the near future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2007/03/10/quickies/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All Hands is over</title>
		<link>http://blog.labix.org/2006/11/20/all-hands-is-over</link>
		<comments>http://blog.labix.org/2006/11/20/all-hands-is-over#comments</comments>
		<pubDate>Tue, 21 Nov 2006 00:06:43 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2006/11/20/all-hands-is-over/</guid>
		<description><![CDATA[The All Hands conference from Canonical is over. It was one amazing week in San Francisco, US. Seeing everyone was really great. A lot of new people, many new ideas, old friends&#8230; It&#8217;s amazing how we get pumped in these &#8230; <a href="http://blog.labix.org/2006/11/20/all-hands-is-over">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The All Hands conference from Canonical is over. It was one amazing week in San Francisco, US. Seeing everyone was really great. A lot of new people, many new ideas, old friends&#8230; It&#8217;s amazing how we get <i>pumped</i> in these conferences.. <img src='http://blog.labix.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2006/11/20/all-hands-is-over/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python module for Constraint Solving Problems</title>
		<link>http://blog.labix.org/2005/07/07/python-module-for-constraint-solving-problems</link>
		<comments>http://blog.labix.org/2005/07/07/python-module-for-constraint-solving-problems#comments</comments>
		<pubDate>Thu, 07 Jul 2005 13:44:00 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Puzzle]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2005/07/07/python-module-for-constraint-solving-problems/</guid>
		<description><![CDATA[The constraint module presented in PyCon Brasil and later on EuroPython 2005 is now available. Here is a trivial example, solving the classical rooks problem: problem = Problem() numpieces = 8 cols = range(numpieces) rows = range(numpieces) problem.addVariables(cols, rows) for &#8230; <a href="http://blog.labix.org/2005/07/07/python-module-for-constraint-solving-problems">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://codespeak.net/~niemeyer/constraint/">constraint module</a> presented in <a href="http://www.pythonbrasil.com.br/moin.cgi/PyConDayBrasil">PyCon Brasil</a> and later on <a href="http://europython.org">EuroPython 2005</a>  is now available. Here is a trivial example, solving the classical <a href="http://mathworld.wolfram.com/RooksProblem.html">rooks problem</a>:</p>
<pre>
problem = Problem()
numpieces = 8
cols = range(numpieces)
rows = range(numpieces)
problem.addVariables(cols, rows)
for col1 in cols:
    for col2 in cols:
        if col1 < col2:
            problem.addConstraint(lambda row1, row2: row1 != row2,
                                  (col1, col2))
solutions = problem.getSolutions()
</pre>
<p>Have fun!</p>
<p><b>Update:</b> It was also presented in <a href="http://fisl.softwarelivre.org/7.0/www/">FISL 2006</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2005/07/07/python-module-for-constraint-solving-problems/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PyCon Brasil is a success!</title>
		<link>http://blog.labix.org/2005/05/02/pycon-brasil-is-a-success</link>
		<comments>http://blog.labix.org/2005/05/02/pycon-brasil-is-a-success#comments</comments>
		<pubDate>Mon, 02 May 2005 06:43:00 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2005/05/02/pycon-brasil-is-a-success/</guid>
		<description><![CDATA[That&#8217;s right. The first brazilian Python conference, which happened last week in Unicamp, was an enormous success. Even thought I had no doubt it would be an interesting event, I got surprised to see the excellent level of the talks &#8230; <a href="http://blog.labix.org/2005/05/02/pycon-brasil-is-a-success">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>That&#8217;s right. The first <a href="http://www.pythonbrasil.com.br/moin.cgi/PyConDayBrasil">brazilian Python conference</a>, which happened last week in <a href="http://www.unicamp.br">Unicamp</a>, was an enormous success. Even thought I had no doubt it would be an interesting event, I got surprised to see the excellent level of the talks and the public attending the event.  There were about one hundred people from all around the country, who enthusiastically observed the following topics in these two days (a rough resume):</p>
<ul>
<li>Python in web management (zope, zope3, cmf, plone)
<li>Python in calculus and engineering (scipy, numarray)
<li>Python in biology: analysis, sequence edition, molecular alignment
<li>Python in game programming (pygame)
<li>Python in constraint solving problems
<li>RAD in Python (pygtk, gazpacho, boa)
<li>Python in graphics (gimp-python)
<li>Python in education
<li>The brazilian Python community
<li>Python in commercial management (stoq)
</ul>
<p>For me, it was a great opportunity to meet personally many of the brazilian pythoneers I didn&#8217;t know personally, like Xiru, Sidnei da Silva, Johan Dahlin (not yet brazilian, but becoming one <img src='http://blog.labix.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> , Rodrigo Senra, and others. It was also a great way to meet many good active pythonists I didn&#8217;t had previous contact with, and see in what ways Python is being used in several different areas.</p>
<p>Most of the talks were taped, and will soon be freely available somewhere (more on this later).</p>
<p>Thanks a lot to Rodrigo Senra and the rest of the Unicamp people who provided the space and organized the event!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2005/05/02/pycon-brasil-is-a-success/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rik van Riel talks about Smart at Umeet 2004</title>
		<link>http://blog.labix.org/2004/12/16/rik-van-riel-talks-about-smart-at-umeet-2004</link>
		<comments>http://blog.labix.org/2004/12/16/rik-van-riel-talks-about-smart-at-umeet-2004#comments</comments>
		<pubDate>Thu, 16 Dec 2004 07:12:00 +0000</pubDate>
		<dc:creator>Gustavo Niemeyer</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Project]]></category>

		<guid isPermaLink="false">http://blog.labix.org/2004/12/16/rik-van-riel-talks-about-smart-at-umeet-2004/</guid>
		<description><![CDATA[Thanks for the nice words in your presentation Rik!]]></description>
			<content:encoded><![CDATA[<p>Thanks for the nice words in your <a href="http://umeet.uninet.edu/umeet2004/talks/linux20041209-1.html">presentation</a> Rik!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.labix.org/2004/12/16/rik-van-riel-talks-about-smart-at-umeet-2004/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

