<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml"
>

<channel>
	<title>Murray's Blog</title>
	<atom:link href="http://www.murrayc.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.murrayc.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 01 Sep 2010 07:40:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Expecting a Daughter</title>
		<link>http://www.murrayc.com/blog/permalink/2010/09/01/expecting-a-daughter/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/09/01/expecting-a-daughter/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 07:40:48 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1264</guid>
		<description><![CDATA[Sigi is now in her fifth month of our second pregnancy. During our last scan we learned that it will be a sister for Liam. He&#8217;s already looking forward to her arrival. We feel lucky that we will have both a boy and a girl. Her due date is almost exactly the same as last [...]]]></description>
			<content:encoded><![CDATA[<p>Sigi is now in her fifth month of our second pregnancy. During our last scan we learned that it will be a sister for Liam. He&#8217;s already looking forward to her arrival. We feel lucky that we will have both a boy and a girl.</p>
<p>Her due date is almost exactly the same as last time &#8211; at the start of January. I&#8217;ll then be generally unavailable to the world for a few weeks, gradually reappearing as our routine settles down.</p>
<p><a href="http://www.murrayc.com/blog/wp-content/uploads/2010/09/baby2_scan.jpg"><img class="alignnone size-full wp-image-1269" title="baby2_scan" src="http://www.murrayc.com/blog/wp-content/uploads/2010/09/baby2_scan.jpg" alt="" width="500" height="380" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/09/01/expecting-a-daughter/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Trainee Mini Projects</title>
		<link>http://www.murrayc.com/blog/permalink/2010/08/03/trainee-mini-projects/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/08/03/trainee-mini-projects/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 15:11:02 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1259</guid>
		<description><![CDATA[We asked our 3 trainees to do some little projects to make sure that we ironed out any problems in their C knowledge before moving on to C++, to get them familiar with autotools, and generally to have code to talk to each other about.  I forced them to make actual tarball releases, so they [...]]]></description>
			<content:encoded><![CDATA[<p>We asked our 3 trainees to do some little projects to make sure that we ironed out any problems in their C knowledge before moving on to C++, to get them familiar with autotools, and generally to have code to talk to each other about.  I forced them to make actual tarball releases, so they can also complete features as if there were real users, instead of just hacking without focus. These are the modest results. Click on the links to see the descriptions and screenshots on their blogs.</p>
<p><a href="http://www.jonnor.com/2010/08/introducing-massifg-0-1/">Jon Nordby&#8217;s massifg</a>: To show graphs from valgrind massif output. So far it only shows the simple graphs, though using the Cairo drawing API makes printing to PDF easy, so it&#8217;s already useful. I want Jon to do the detailed graphs too, but I&#8217;ve asked him to look for a proper Graph API first, because it&#8217;s tedious to do it all with just Cairo. Hopefully without acquiring awkward dependencies. He&#8217;d welcome advice.</p>
<p><a href="http://blixtra.org/blog/2010/07/27/introducing-gmemory-v0-1/">Chris Kühl&#8217;s GMemory</a>: One of those games that lets you turn over tiles for a moment and try to find matching tiles. It uses clutter and could probably be a candidate for the gnome-games package soon.</p>
<p><a href="http://psconboard.blogspot.com/2010/07/ghangtux-10.html">Patricia Santana Cruz&#8217;s GHangTux</a>: A hangman word-guess game in which Tux the penguin loses his accessories rather than his life.</p>
<p>(The Gs in the names were their idea.)</p>
<p>I think they have all learned lots from the exercise and are ready for the next stage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/08/03/trainee-mini-projects/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Openismus at GUADEC 2010</title>
		<link>http://www.murrayc.com/blog/permalink/2010/07/26/openismus-at-guadec-2010/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/07/26/openismus-at-guadec-2010/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 14:20:57 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1255</guid>
		<description><![CDATA[Tomorrow (Tuesday) I fly to Amsterdam and take the train to Den Haag for GUADEC 2010, joining 9 other Openismus employees: Karsten Bräckelman, Jens Georg, Ekaterina Gerasimova, Michael Hasselmann, David King, Andre Klapper, Chris Kühl, Jon Nordby and Patricia Santana Cruz. For Chris, Jon and Patricia, it&#8217;s their first GUADEC, so they are eager to [...]]]></description>
			<content:encoded><![CDATA[<p>Tomorrow (Tuesday) I fly to Amsterdam and take the train to Den Haag for <a href="http://www.guadec.org/index.php/guadec/2010/">GUADEC 2010</a>, joining 9 other <a href="http://www.openismus.com/">Openismus</a> employees: Karsten Bräckelman, Jens Georg, Ekaterina Gerasimova, Michael Hasselmann, David King, Andre Klapper, Chris Kühl, Jon Nordby and Patricia Santana Cruz. For Chris, Jon and Patricia, it&#8217;s their first GUADEC, so they are eager to soak up knowledge and will particularly enjoy meeting everyone.</p>
<p>This time <a href="http://www.guadec.org/index.php/guadec/2010/schedConf/sponsors">Openismus is even sponsoring GUADEC</a> to show our support, though at the lowest level because it&#8217;s already expensive enough to send 10 employees.</p>
<p>The T-Shirts are attractive and different again. Photos soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/07/26/openismus-at-guadec-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Glom: Backups and coping with PostgreSQL upgrades</title>
		<link>http://www.murrayc.com/blog/permalink/2010/07/22/glom-backups-and-coping-with-postgresql-upgrades/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/07/22/glom-backups-and-coping-with-postgresql-upgrades/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 15:31:46 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Glom]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1242</guid>
		<description><![CDATA[Over the last few days, I added a Backup feature to Glom. It&#8217;s in Glom 1.14.4 that I released today. I don&#8217;t usually add features to stable releases, but this time it might help some people. The Export Backup menu item saves everything in a .tar.gz tarball, using PostgresSQL&#8217;s pg_dump command and tar. (I hate [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few days, I added a Backup feature to <a href="http://www.glom.org/">Glom</a>. It&#8217;s in Glom 1.14.4 that I released today. I don&#8217;t usually add features to stable releases, but this time it might help some people.</p>
<p>The Export Backup menu item saves everything in a .tar.gz tarball, using PostgresSQL&#8217;s pg_dump command and tar. (I hate calling command-line utilities from code, instead of calling functions in libraries.) The Restore Backup command uses that .tar.gz tarball and recreates a Glom system, either locally or on a central server if you choose.</p>
<p>The backup feature is obviously useful in general, but it&#8217;s particularly important since we noticed that use of <a href="http://www.postgresql.org/docs/8.4/static/migration.html">pg_dump and pg_restore is necessary for migration</a> when upgrading PostgreSQL, for instance from version 8.3 to 8.4.That&#8217;s not so awful when you just have one central database server, and Debian/Ubuntu even have a script that does the pg_dump/pg_restore dance on your central data when you upgrade. But Glom&#8217;s self-hosting feature (the default) has a separate set of database files for each .glom file, starting the PostgreSQL instance on demand. Ubuntu&#8217;s upgrade system obviously can&#8217;t know about all those files, which might even be on a USB stick.</p>
<p>The Backup feature can be used to work around this problem, if you remember to use it before upgrading your distro, but it&#8217;s not a nice solution.</p>
<p>Before anybody tells me to use SQLite instead, please remember that it still doesn&#8217;t have the features Glom needs, such as access-control and multi-user network sharing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/07/22/glom-backups-and-coping-with-postgresql-upgrades/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Qt&#8217;s Open Bug Tracker</title>
		<link>http://www.murrayc.com/blog/permalink/2010/07/20/qts-open-bug-tracker/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/07/20/qts-open-bug-tracker/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 12:26:17 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1217</guid>
		<description><![CDATA[Qt has had an open bug-tracker for a few months now. I am very happy about that. It has made life far more pleasant for Qt developers compared to the past. However, there are some problems. In summary, bug reporters are often treated like the enemy instead of contributors, and this could be fixed easily. [...]]]></description>
			<content:encoded><![CDATA[<p>Qt has had an open bug-tracker for a few months now. I am very happy about that. It has made life far more pleasant for Qt developers compared to the <a href="http://www.murrayc.com/blog/permalink/2009/10/16/qts-bug-tracker-is-not-very-open/">past</a>. However, there are some problems. In summary, bug reporters are often treated like the enemy instead of contributors, and this could be fixed easily.</p>
<p>My company, <a href="http://www.openismus.com/">Openismus</a>, provides bugmasters to corporate open source projects such as maemo.org. We know how to make the best use of outside contributions, so enthusiasts stay loyal, and we know how to manage bug databases for the long term. See the <a href="http://talk.maemo.org/showthread.php?t=51868">overwhelmingly positive feedback for Andre and Karsten</a>, maemo.org&#8217;s bugmasters. They acquired these skills while establishing  GNOME&#8217;s bug squad, working on GNOME&#8217;s huge bug database.</p>
<p>I have linked to some Qt bugs as anecdotal examples of poor interaction with bug reporters. I am not interested in a discussion here of the technical aspects of these bugs. They are not meant to be technically critical. Also, half of them are for QtMobility, whose developers are generally very helpful, but even they haven&#8217;t learned the best bug-tracker habits. I don&#8217;t think I have seen enough Qt bug reports to have a fully representative sample, but my short experience does suggest that there are serious problems. I don&#8217;t mean to exaggerate or be unfair.</p>
<h3>Awkward UI</h3>
<p>Let&#8217;s look at a <a href="http://bugreports.qt.nokia.com/browse/QTBUG-2">random bug</a>. This view (not this particular bug) will be the first look at the bug-tracker for many people, as they follow a link to an existing bug. But it does not seem designed for humans. There are some particular problems:</p>
<p><a href="http://www.murrayc.com/blog/wp-content/uploads/2010/07/random_qt_bug2.png"><img class="alignnone size-medium wp-image-1247" title="random_qt_bug2" src="http://www.murrayc.com/blog/wp-content/uploads/2010/07/random_qt_bug2-257x300.png" alt="" width="257" height="300" /></a></p>
<h4>How do I add a comment?</h4>
<p>Typically, I&#8217;ll read the comments on a bug report to see what&#8217;s happening. But then there&#8217;s no obvious way to add my own comment. If I look around then I finally see a &#8220;Comment on this issue&#8221; link nestled among other less important action at the left hand side. I believe that many people won&#8217;t find that link, or will be discouraged by the awkwardness. I much prefer just writing a comment right into a bugzilla page.</p>
<h4>Noise</h4>
<p>The &#8220;all&#8221; page is too complicated, with lots of machine-generated noise. Instead of fixing that, there are tabs that show reduced views: All, Comments, Work Log, Change History, Transitions. This makes the whole page seem even more complicated.</p>
<p>The all page is so nasty that many people will switch to the comments page. But then comments lose their context. For instance, here (bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-7303?focusedCommentId=106350&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_106350">7303</a>) the Qt employee seems to be blaming the reporter though he is really just talking to someone that he has assigned the bug to. I&#8217;d rather just see a single page, as in bugzilla, without so much noise. The notification emails are similarly padded with irrelevant details.</p>
<h3>Rush to close</h3>
<p>We notice a strong tendency for the Qt employees to close bugs at any cost for any arbitrary reason as quickly as possible. Presumably they are under pressure to reduce the simple number of open bugs. But a bug-tracker exists to collect information that can gradually be used to improve software. If you think of everything as short-term and rush to ignore that information then you will not make the improvements and customers will assume that you don&#8217;t care.</p>
<h3>Hard to check the fix</h3>
<p>When I close bugs, I mention at least the commit message that I used. Sometimes I link to the commit&#8217;s web page on our gitweb or gitorious. But Qt bugs are often closed with a mention of the git commit ID (such as d65d3becc292523f0962aac9d2bf7b96d9c47c04), with no link. For instance, bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-8865?focusedCommentId=112899&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_112899">8865</a> and bug <a href="http://bugreports.qt.nokia.com/browse/QTMOBILITY-63?focusedCommentId=113292&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_113292">5729</a>. I am thankful for the fixes but, particularly for documentation fixes, it&#8217;s best if I can verify it and reply quickly.</p>
<p>Viewing the change for a particular commit ID is awkward, requiring lengthy use of the command line outside of the browser. Even the gitorious web site doesn&#8217;t let me search for a commit ID, so I have to browse through pages of recent commits using the browsers find-on-page feature.</p>
<p>Actually, the person fixing the bug often cannot provide a gitorious web link at that time because that commit isn&#8217;t even public yet, because <a href="http://qt.gitorious.org/qt">Qt&#8217;s gitorious repository</a> is just a mirror, updated approximately daily from a secret repository. Things would be easier if they just worked in an open repository. In the meantime, Qt&#8217;s bug tracker should be hacked to recognize and link commit IDs, showing a &#8220;try tomorrow&#8221; page if the commit is not yet public.</p>
<h3>Not supported. Not public</h3>
<p>If the Qt developers decide (after the fact) that something in Qt is not supported then the bug may be closed, instead of leaving it open for someone to fix. But if something is not supported then it shouldn&#8217;t be in the release. For instance, bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-7334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel">7334</a>.</p>
<p>There&#8217;s also lots of Qt API that is used widely but not documented. Bug reports about the lack of documentation may be closed instead of leaving it open for someone to fix. But all API should be documented for the sake of implementation quality, regardless of whether it is public. And if API shouldn&#8217;t be used then its documentation should say that it shouldn&#8217;t be used.</p>
<h3>Closing bugs because they require work</h3>
<p>Bugs are sometimes closed because they would require effort to fix them. This makes no sense to me. Even if no Qt employee plans to fix them, they should stay open so others can fix them, and so that the information is kept in one bug report, with repeated reports being marked as duplicates. For instance, bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-5915?focusedCommentId=108622&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_108622">5915</a>.</p>
<p>Sometimes the idea of necessary work seems to be invented just as a way to close a bug. For instance, in bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-5729?focusedCommentId=117985&amp;page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_117985">5729</a>, a simple patch is not enough. The reporter is told that he must test it on multiple platforms, ignoring the possibility to test the harmless change widely during regular unstable releases.</p>
<p>For non-employees, the page even has some probably-unintentional machine-generated &#8220;You don&#8217;t have permission to work on this issue&#8221; at the left, just in case the reader didn&#8217;t feel unwanted enough already.</p>
<h3>Out Of Scope</h3>
<p>Likewise, if the Qt developers don&#8217;t personally see a problem as their priority then they will sometimes close it as &#8220;Out Of Scope&#8221;, regardless of whether the reporter cares about it or whether he might provide a patch.</p>
<p><a href="http://bugreports.qt.nokia.com/browse/QTBUG-5729?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aall-tabpanel">Sometimes</a> (bug 5729 again) this happens without the Qt employee even writing a comment explaining why. This is the bug-tracker equivalent of &#8220;Go away. We don&#8217;t want you to use our software&#8221;. Stopping this should be a top priority.</p>
<p>I&#8217;ve also seen one case (bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-6074">6074)</a> where this was used when the Qt developer meant &#8220;already fixed&#8221;. Until I asked for clarification (most people don&#8217;t) I assumed that they just didn&#8217;t care.</p>
<h3>Can&#8217;t reopen bugs.</h3>
<p>If a fix is not good enough, or the Qt employee has misunderstood the problem, I can&#8217;t reopen the bug. That is very frustrating. Most people will not beg for the bug to be reopened or even bother continuing to comment on the closed bug. Luckily we do have the option to submit gitorious merge requests when our bug has been incorrectly closed. For instance, bug <a href="http://bugreports.qt.nokia.com/browse/QTBUG-11496">11496</a>.</p>
<h3>Can&#8217;t close bugs</h3>
<p>There&#8217;s also no way for external contributors to close bugs. So Qt gets no outside help with bug triaging. This arbitrary separation between employees and external contributors is an obstacle to open development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/07/20/qts-open-bug-tracker/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Tristan Van Berkom joined Openismus</title>
		<link>http://www.murrayc.com/blog/permalink/2010/07/19/tristan-van-berkom-joined-openismus/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/07/19/tristan-van-berkom-joined-openismus/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 15:51:25 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1240</guid>
		<description><![CDATA[Tristan has been doing some challenging work for us recently, working on Glade, the GtkToolPallette, and finally finishing off the extended-layout improvements to GTK+ that Mathias Hasselmann started for Google&#8217;s Summer of Code in the days when he had free time. The extended layout fixes several user-noticeable problems in applications, making it easier for UIs [...]]]></description>
			<content:encoded><![CDATA[<p>Tristan has been doing some challenging work for us recently, working on Glade, the GtkToolPallette, and finally finishing off the <a href="http://blogs.gnome.org/tvb/2010/06/30/gtk-learns-height-for-width-episode-ii/">extended-layout improvements to GTK+</a> that Mathias Hasselmann <a href="http://taschenorakel.de/mathias/2007/08/20/final-soc-status/">started</a> for Google&#8217;s Summer of Code in the days when he had free time. The extended layout fixes several user-noticeable problems in applications, making it easier for UIs to adjust properly to different screen sizes without hacks. It&#8217;s hard detailed work in lots of code, requiring Tristan&#8217;s methodical approach.</p>
<p>I hope that this will also allow some new types of container widgets. He might work on that when he&#8217;s back from Holiday in August.</p>
<p>Anyway, this post is just to say that Tristan has agreed to work with us for the foreseeable future so we always have someone with time to work on things like this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/07/19/tristan-van-berkom-joined-openismus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gitorious Merge Requests are Awkward for Small Changes</title>
		<link>http://www.murrayc.com/blog/permalink/2010/06/17/gitorious-merge-requests-are-awkward-for-small-changes/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/06/17/gitorious-merge-requests-are-awkward-for-small-changes/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 08:10:20 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1234</guid>
		<description><![CDATA[Some projects on gitorious want all patches via git merge requests. This is very tedious, particularly for small changes. It&#8217;s therefore likely that many small improvements will never be submitted. Projects must care about that if they care about quality. As far as I can tell, you must do it like this: Create a remote [...]]]></description>
			<content:encoded><![CDATA[<p>Some projects on gitorious want all patches via git merge requests. This is very tedious, particularly for small changes. It&#8217;s therefore likely that many small improvements will never be submitted. Projects must care about that if they care about quality.</p>
<p>As far as I can tell, you must do it like this:</p>
<h3>Create a remote clone</h3>
<p>You can do that via the project&#8217;s top level web page. For <a href="http://gitorious.org/qtcontacts-tracker">instance</a>. Then you need to &#8220;checkout&#8221; that clone on the command line.</p>
<p>Or reuse an existing clone, though you&#8217;ll have to rebase against the original, probably fixing some awkward conflicts from previous commits to your clone if you haven&#8217;t used branches for everything as I suggest below. It looks like people often create new clones for each merge request.</p>
<h3>Create a branch in your remote clone</h3>
<p>For instance:</p>
<ul>
<li>git branch mr_dosomethingtofooforgoo master</li>
<li>git checkout mr_dosomethingtofooforgoo</li>
<li>Make your changes, add and commit them.</li>
<li>git push origin mr_dosomethingtofooforgoo</li>
</ul>
<h3>Request a Merge</h3>
<p>Click the &#8220;Request Merge&#8221; button at the right, when looking at your clone&#8217;s top-level. For <a href="http://gitorious.org/~murrayc/qtcontacts-tracker/murrayc-qtcontacts-tracker-for-merge-requests">instance</a>. There is no &#8220;Merge Request&#8221; button when looking at an <a href="http://gitorious.org/~murrayc/qtcontacts-tracker/murrayc-qtcontacts-tracker-for-merge-requests/commit/53125b5aa0a30a2e9a82c7c9e3d973abefa803ea">individual commit</a>, or even when looking at a branch. <strong>This would make it far easier</strong> to submit small changes.</p>
<p>Then you must copy/paste the first-line and details from your commit message into the two text fields on the <a href="http://gitorious.org/qtcontacts-tracker/murrayc-qtcontacts-tracker-for-merge-requests/merge_requests/new">Request Merge form</a>.</p>
<p>You must also choose your branch name from a drop-down list and choose the commit from that branch that you want to use.</p>
<p>Then you can finally click &#8220;Create Merge Request&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/06/17/gitorious-merge-requests-are-awkward-for-small-changes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>All gtkmm documentation moved to library.gnome.org</title>
		<link>http://www.murrayc.com/blog/permalink/2010/06/05/all-gtkmm-documentation-moved-to-library-gnome-org/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/06/05/all-gtkmm-documentation-moved-to-library-gnome-org/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 15:00:38 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1211</guid>
		<description><![CDATA[*mm documentation on library.gnome.org We&#8217;ve finally moved the API documentation for gtkmm and the other C++ bindings to library.gnome.org&#8217;s C++ Reference section. These are all created with Doxygen. Using library.gnome.org means that it&#8217;s updated every time we do a tarball release and we don&#8217;t lose old versions when it&#8217;s updated. We also have both the [...]]]></description>
			<content:encoded><![CDATA[<h3>*mm documentation on library.gnome.org</h3>
<p>We&#8217;ve finally moved the API documentation for gtkmm and the other C++ bindings to library.gnome.org&#8217;s <a href="http://library.gnome.org/devel/references#c++-bindings">C++ Reference</a> section. These are all created with Doxygen. Using library.gnome.org means that it&#8217;s updated every time we do a tarball release and we don&#8217;t lose old versions when it&#8217;s updated. We also have both the stable (on distros) and unstable (in progress) API documentation available.</p>
<p>We&#8217;ve also moved the <a href="http://library.gnome.org/devel/gtkmm-tutorial/stable/">gtkmm book</a>, <a href="http://library.gnome.org/devel/libsigc++-tutorial/stable/">libsigc++ manual</a>, and <a href="http://library.gnome.org/devel/libxml++-tutorial/stable/">libxml++ tutorial</a> to the Guides section. These all use DocBook XML.</p>
<p>library.gnome.org is a wonderful system, giving developers what they need, thanks to <a href="http://www.0d.be/">Frederic Peters&#8217;</a> hard work and responsiveness. I like it so much that Openismus might soon offer to set up library instances for other projects or companies.</p>
<h3>Main Pages</h3>
<p>Moving the API documentation to library.gnome.org made it obvious that we needed proper introductory text for each module. So each one now lists:</p>
<ul>
<li>What it is</li>
<li>Where in the API to start looking, with links</li>
<li>How to #include the headers</li>
<li>How to get the include and linker flags with pkg-config</li>
</ul>
<p>For instance, see the <a href="http://library.gnome.org/devel/glibmm/stable/">glibmm API reference&#8217;s main page</a>.  I regularly complain that non-GNOME libraries don&#8217;t provide clues about what include or linker flags should be used, or how to include them, let alone API documentation, causing application builds to be inconsistent and fragile. It&#8217;s the least that should be done, so it&#8217;s good that I can now point to something consistent.</p>
<h3>Lingering Problems</h3>
<p>There are some small problems still to work out:</p>
<ul>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=620547">gtkmm&#8217;s stable/ page shows the unstable 2.90 releases</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=620549">libxml++&#8217;s main page isn&#8217;t showing in library.gnome.org</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=619875#c2">libvtemm&#8217;s main page isn&#8217;t showing in library.gnome.org</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=608728">gtksourceviewmm (and probably others) needs library.gnome.org&#8217;s server to have Python 2.6</a></li>
<li><a href="https://bugzilla.gnome.org/show_bug.cgi?id=617425">gtkglextmm doesn&#8217;t have a main page yet</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/06/05/all-gtkmm-documentation-moved-to-library-gnome-org/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Autotools Things</title>
		<link>http://www.murrayc.com/blog/permalink/2010/05/19/autotools-things/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/05/19/autotools-things/#comments</comments>
		<pubDate>Wed, 19 May 2010 07:28:08 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Maemo]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1207</guid>
		<description><![CDATA[We are comfortably fond of autotools here at Openismus. It&#8217;s not perfect but we can use it, it does what we need, and it doesn&#8217;t have the problems that we see in other systems. Autotools Tutorials Years ago I wrote some popular introductory web pages showing how to do the obvious important stuff. David King [...]]]></description>
			<content:encoded><![CDATA[<p>We are comfortably fond of autotools here at Openismus. It&#8217;s not perfect but we can use it, it does what we need, and it doesn&#8217;t have the problems that we see in other systems.</p>
<h3>Autotools Tutorials</h3>
<p>Years ago I wrote some popular introductory web pages showing how to do the obvious important stuff. David King has <a href="http://amigadave.blogspot.com/2010/05/autotools-for-beginners.html">updated</a> them and put the examples in git. They are now even simpler, because autotools got even better in the meantime. I think they will be useful.</p>
<h3>Autotools with Qt Creator</h3>
<p>Some of us like the <a href="http://qt.nokia.com/products/developer-tools">Qt Creator</a> IDE. So we asked Peter Penz to create a <a href="http://ppenz.blogspot.com/2010/04/autotools-support-for-qt-creator.html">qt-creator plugin that provides some autotools support</a> making it easier to use qt-creator with lots more existing projects. For instance, you can now have some code-completion in qt-creator with autotools-based projects, and you can run the whole build cycle from inside the IDE. Looking at the code, it seems fairly easy to create these plugins once you know how.</p>
<p>It currently works with the ﻿﻿﻿stable qt-creator 1.3 (ignore the uneven version number) though you&#8217;ll need to build it from source yourself for now. There is some interest from the qt-creator maintainers, so we hope to find time to update it for qt-creator&#8217;s master branch, which uses Qt 4.7 (currently unstable, but eventually stable with the same uneven version number), and then make a proper gitorious merge request.</p>
<p>By default, qt-creator uses qmake, though I think there is some CMake support. qmake is a time-wasting copy/paste-encouraging feature-lacking broken failure, so anything that helps people to avoid it must be good.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/05/19/autotools-things/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Jens Georg and Jon Nordby joining Openismus</title>
		<link>http://www.murrayc.com/blog/permalink/2010/05/18/jens-georg-and-jon-nordby-joining-openismus/</link>
		<comments>http://www.murrayc.com/blog/permalink/2010/05/18/jens-georg-and-jon-nordby-joining-openismus/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:20:18 +0000</pubDate>
		<dc:creator>murrayc</dc:creator>
				<category><![CDATA[Berlin]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.murrayc.com/blog/?p=1205</guid>
		<description><![CDATA[The Openismus family is expanding again. Jens Georg will join us as a developer in July, bringing both his open GNOME experience and closed/commercial Qt experience. His name is probably familiar to you from his from his work on Rygel or Anjuta. Around the same time, Jon Nordby will become our third trainee, joining Chris [...]]]></description>
			<content:encoded><![CDATA[<p>The Openismus family is expanding again. <a href="http://jensge.org/">Jens Georg</a> will join us as a developer in July, bringing both his open GNOME experience and closed/commercial Qt experience. His name is probably familiar to you from his from his work on Rygel or Anjuta.</p>
<p>Around the same time, <a href="http://www.jonnor.com/">Jon Nordby</a> will become our third <a href="http://www.murrayc.com/blog/permalink/2010/04/30/openismus-2010-trainees-chosen/">trainee, joining Chris and Patricia</a>. I suspect they may not need much training, but that&#8217;s all good. Jon already works on <a href="http://mypaint.intilinux.com/">MyPaint</a>, which I keep hearing about.</p>
<p>I like them and I like having them in the company.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.murrayc.com/blog/permalink/2010/05/18/jens-georg-and-jon-nordby-joining-openismus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
