<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.7.6(BH)" -->
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Planet Maemo: category &quot;feed:64774e4a8618b0d6bf16181a6b931820&quot;</title>
        <description>Blog entries from Maemo community</description>
        <link>http://maemo.org/news/planet-maemo/</link>
        <lastBuildDate>Sun, 24 May 2026 08:39:43 +0000</lastBuildDate>
        <generator>FeedCreator 1.7.6(BH)</generator>
        <language>en</language>
        <managingEditor>planet@maemo.org</managingEditor>
        <item>
            <title>Openismus Getting Smaller</title>
            <link>http://www.murrayc.com/blog/permalink/2012/03/16/openismus-getting-smaller/</link>
            <description><![CDATA[
<p><a href="http://www.openismus.com/">Openismus</a> has recently had to let some great developers, and good friends, go. We are now much smaller.</p>
<p>This is really sad because it took us a long time to find and train these people, and they would be massive assets if the future looked better. Although they will be greatly missed, I am at least reassured that they will have no problem finding new jobs. I do hope that they don&#8217;t settle for work that is anything but worthy of their experience and enthusiasm.</p>
<p>This downsizing happened because we are now finally losing the customer work we had from Nokia, as expected since their February 11th 2011 decision to kill MeeGo. Nokia are not our only customer, but they are by far our largest. That gave us the opportunity to diversify, and we tried, but without much success. That failure is mine. On the one hand, it&#8217;s unfortunate that we have been so dependent on one customer. But, on the other hand, we would never have been so big for so long without them. I would do the same again without regrets.</p>
<p>I view the last few years of Openismus very positively:</p>
<ul>
<li>We gave several young developers their first chance to prove themselves as professionals.</li>
<li>We trained new developers. They are now established as respected and experienced developers.</li>
<li>We made a few contributions to our favorite projects. For instance, natural layout in GTK+ 3.</li>
</ul>
<p>Personally, Openismus has allowed me to work part-time, so I can spend time with my children. My first child was born soon after the company was founded, and for the first year, I worked from home, contrary to the myth that founding a company means working all hours of the day and neglecting your family. The tech industry is excessively male, with little understanding for men who want to share in the work of child-rearing, so I&#8217;m glad I had the freedom to work part-time. I am highly motivated to keep this freedom.</p>
<p>This has been a disadvantage, of course. For instance, I strongly suspect that I could win more customer work by traveling more to conferences and to customers on site. That has given good results when I&#8217;ve managed to do it. But this is simply an impossibility for someone who needs to take care of kids. I think the custom of business travel might be one of the greatest obstacle to women reaching top executive positions. It&#8217;s one of many things that won&#8217;t improve until men are forced to share more of the burden.</p>
<p>So, <a href="http://www.openismus.com/">Openismus</a> goes on, with some uncertainty. Our specific expertise in the Maliit input methods, in the QtContacts and EDS contacts systems, and in DLNA via Rygel should be very attractive, but time will tell. If you need help with GTK+ or Qt on Linux, from people who really know how, and are not afraid to tell you how, then we are still here and still ready.</p>
<p>&nbsp;</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7ee5f7566f6411e1811c0d53f37900200020&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7ee5f7566f6411e1811c0d53f37900200020/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7ee5f7566f6411e1811c0d53f37900200020&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7ee5f7566f6411e1811c0d53f37900200020/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Fri, 16 Mar 2012 12:01:06 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7ee5f7566f6411e1811c0d53f37900200020</guid>
        </item>
        <item>
            <title>Openismus at FOSDEM 2012</title>
            <link>http://www.murrayc.com/blog/permalink/2012/02/03/openismus-at-fosdem-2012/</link>
            <description><![CDATA[
<p>A few Openismus people will be at <a href="http://fosdem.org/2012/">FOSDEM</a> In Brussels this weekend. FOSDEM is always a great conference, but I can&#8217;t be there myself as my travel is generally limited by the need to take care of my kids.</p>
<p>Michael Hasselmann and Jon Nordby are both giving <a href="http://lists.maliit.org/pipermail/maliit-discuss-maliit.org/2012-January/000065.html">talks about the Maliit input method framework</a>, as seen on the N9. We are eager to find customers who need our help to integrate and improve this <a href="http://www.murrayc.com/blog/permalink/2011/11/16/maliit-the-only-real-on-screen-keyboard/">only real choice for an open-source on-screen keyboard</a>. So we hope that some people of influence take the opportunity to get to know the project and its excellent developers.</p>
<p>Jens Georg is also giving a <a href="http://fosdem.org/2012/schedule/speaker/jens_georg">talk about Rygel</a>, used in the N9 to support UPnP and DLNA. For German speakers, there are already <a href="http://jensge.org/2012/01/slides-from-dlna-talk/">video and slides online of a recent talk that Jens did about Rygel in Berlin for Deutsche Telekom&#8217;s Developer Garden</a>. I was amused to discover that DLNA had specified themselves into a situation where a minimum certified server and a minimum certified receiver were only able to share a small resolution JPEG format. Apparently it&#8217;s getting better, and Rygel can deal with it all.</p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7b877a944e8511e1852493c30812c084c084&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7b877a944e8511e1852493c30812c084c084/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7b877a944e8511e1852493c30812c084c084&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7b877a944e8511e1852493c30812c084c084/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Fri, 03 Feb 2012 16:01:46 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7b877a944e8511e1852493c30812c084c084</guid>
        </item>
        <item>
            <title>Discussing Maliit Keyboards and Plasma Active</title>
            <link>http://www.murrayc.com/blog/permalink/2011/12/08/discussing-maliit-keyboards-and-plasma-active/</link>
            <description><![CDATA[
<p>The <a href="http://www.maliit.org/">Maliit</a> developers and the <a href="http://community.kde.org/Plasma/Active">Plasma Active</a> developers, with some Mer developers too, discussed yesterday how they can work together. Reading the <a href="https://bugs.maliit.org/show_bug.cgi?id=51#c1">irc log</a>, it seems to have been productive, with great input from all groups, and with some first development steps planned.</p>
<p>As always, I&#8217;m proud of our Maliit developers at Openismus. We believe that excellent developers must be communicators, or their work is for nothing. That log shows why.</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=2a2e050021b211e1ac468929d1207bad7bad&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/2a2e050021b211e1ac468929d1207bad7bad/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=2a2e050021b211e1ac468929d1207bad7bad&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/2a2e050021b211e1ac468929d1207bad7bad/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Thu, 08 Dec 2011 14:46:06 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-2a2e050021b211e1ac468929d1207bad7bad</guid>
        </item>
        <item>
            <title>N9s for Openismus</title>
            <link>http://www.murrayc.com/blog/permalink/2011/11/23/n9s-for-openismus/</link>
            <description><![CDATA[
<p>The <a href="http://www.openismus.com/">Openismus</a> employees who worked on the N9&#8242;s Harmattan project received their free Nokia N9 phones from the company yesterday. It was expensive but its the right thing to do.</p>
<p><a href="http://www.flickr.com/photos/amigadave/sets/72157628096546713/with/6383170875/"><img class="alignnone size-full wp-image-1601" title="6383172671_f000b359be_z" src="http://www.murrayc.com/blog/wp-content/uploads/2011/11/6383172671_f000b359be_z.jpg" alt="" width="640" height="427" /></a></p>
<span class="net_nemein_favourites">6 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=158e81a215c711e180219b64bbc529b729b7&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/158e81a215c711e180219b64bbc529b729b7/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=158e81a215c711e180219b64bbc529b729b7&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/158e81a215c711e180219b64bbc529b729b7/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Wed, 23 Nov 2011 10:57:53 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-158e81a215c711e180219b64bbc529b729b7</guid>
        </item>
        <item>
            <title>Maliit: The only real on-screen keyboard</title>
            <link>http://www.murrayc.com/blog/permalink/2011/11/16/maliit-the-only-real-on-screen-keyboard/</link>
            <description><![CDATA[
<p><img class="alignright size-medium wp-image-1561" title="337px-I-type-with-maliit" src="http://www.murrayc.com/blog/wp-content/uploads/2011/11/337px-I-type-with-maliit-168x300.png" alt="" width="168" height="300" />I recently pushed the <a href="http://www.maliit.org/">Maliit</a> team here at <a href="http://www.openismus.com/">Openismus</a> to tidy up the website, to make the current status clearer. Here is a summary:</p>
<p>Maliit is the only open-source input system that offers the <a href="http://wiki.maliit.org/Features">features</a> real products need, allowing on-screen keyboards for all the world&#8217;s languages. It is mature but it needs more work. This is the right project at the right time for various desktop projects to work together instead of having separate hacks that don&#8217;t please users.</p>
<p><a href="http://wiki.maliit.org/Reviews">Everybody loves</a> the virtual keyboard on the N9, which Openismus worked on. That is the <a href="http://wiki.maliit.org/Plugins#Meego_Keyboard">Meego Keyboard</a>, which is built on the Maliit framework. It performs. It&#8217;s largely open-source, but it is fine-tuned for the N9&#8242;s MeeGo 1.2 Harmattan. It has an unfortunate dependency on libmeegotouch, which few developers love.</p>
<p>The newer <a href="http://wiki.maliit.org/Plugins#Maliit_Keyboard">Maliit Keyboard</a> does not depend on libmeegotouch, though it does depend on Qt and QML. With enough effort, the Maliit Keyboard could be as good as the MeeGo Keyboard.</p>
<p>The underlying Maliit framework API has been thoroughly tested and iterated by these keyboards and by <a href="http://wiki.maliit.org/Plugins#3rd_party_plugins">other</a> input methods, both open source and proprietary. It has had many contributors, has gained many regression tests, and is run by people who care deeply about quality.</p>
<p>Note that Maliit is not trying to be an on-screen keyboard for accessibility.</p>
<h3>GNOME</h3>
<p>We&#8217;d like GNOME to allow use of Maliit so people are not forced to use the current <a href="https://live.gnome.org/Caribou">Caribou</a> keyboard that only works with GTK+ applications and doesn&#8217;t offer features such as <a href="http://en.wikipedia.org/wiki/CJK_characters">CJK</a> or word prediction. We know that GNOME doesn&#8217;t want a hard Qt dependency. Of course that would be silly. We do want cross-platform compatibility. We also think that this is a large problem space that GNOME cannot tackle alone.</p>
<p>That would need gnome-shell (or its St toolkit) to support GtkIMContext as Maliit uses it. However, the gnome-shell developers currently feel that any on-screen keyboard (or input method UI, I think) must be part of gnome-shell&#8217;s own source code, and can&#8217;t be a separate process. Even if caribou could be made to work with non-GTK+ applications, a gnome-shell dependency is an even bigger block to cross-desktop adoption than Qt. So I really hope that this hard problem can be solved, though I do recognize that it&#8217;s hard.</p>
<p>The IBus implementation in gnome-shell seems to be hitting several similar issues (<a href="https://bugzilla.gnome.org/show_bug.cgi?id=664041">1</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=664040">2</a>, <a href="https://bugzilla.gnome.org/show_bug.cgi?id=664065">3</a>), impacting <a href="http://en.wikipedia.org/wiki/CJK_characters">CJK</a> users even without a virtual keyboard. When they are fixed, maybe Maliit will work better. Note that, though Fedora has replaced SCIM with IBus, neither are really an issue for the on-screen keyboard, because IBus doesn&#8217;t let you show windows such as keyboards. However, the non-UI engines in the IBus plugins could (and probably should) be used in Maliit plugins.</p>
<p>I have some more notes about the current gnome-shell virtual keyboard <a href="http://wiki.maliit.org/Others#Gnome_Shell_Keyboard_.28as_of_2011.29">here</a>.</p>
<h3>Unity (Ubuntu)</h3>
<p>We&#8217;d like Ubuntu to use Maliit. We don&#8217;t know of any problems with that now, though I guess this depends on the GtkIMContext support in Unity&#8217;s nux toolkit library. We will do some tests on the WeTab soon.</p>
<p><strong>Update</strong>: We published some <a href="https://wiki.maliit.org/Documentation/Installing#Ubuntu">Maliit packages for Ubuntu Oneiric</a> in our PPA and we were pleased to find that nux seems to support GtkIMContext so you can, for instance, use the Maliit keyboard in the Dash&#8217;s search field. There are a few problems (<a href="https://bugs.maliit.org/show_bug.cgi?id=20">1</a>, <a href="https://bugs.maliit.org/show_bug.cgi?id=22">2</a>, <a href="https://bugs.maliit.org/show_bug.cgi?id=19">3</a>) but they seem fixable. There are also some generic <a href="https://bugs.maliit.org/buglist.cgi?product=Maliit%20Framework&amp;component=GTK%2B%20application%20support&amp;resolution=---&amp;list_id=81">GTK+ problems</a>, but these are not blocked by anything fundamental in Unity.</p>
<p><strong>Update 2 much later</strong>: That must have been with Unity 2D, using Qt. Nux doesn&#8217;t have an input method abstraction as of right now, though it could.</p>
<p>Ubuntu currently ships <a href="https://launchpad.net/onboard">Onboard</a>, though that&#8217;s apparently just for accessibility.</p>
<h3>KDE and Qt</h3>
<p>We&#8217;d like KDE to use Maliit for their tablet efforts. The Maliit keyboards work today in Qt and KDE applications, though I don&#8217;t know if that means that they work in Plasma too. They have a <a href="http://kde-apps.org/content/show.php/Plasmaboard?content=101822&amp;foo=f7d00a42a0db454a77a7c757e1b28333">Plasma keyboard</a> (<a href="https://projects.kde.org/projects/playground/base/plasma-mobile/repository/revisions/master/show/virtualkeyboard">source code</a>) already, and there <a href="http://aseigo.blogspot.com/2011/09/on-screen-keyboard.html">seems to be interest</a> in using Maliit instead of, or as a base for that. That would give it features that it apparently lacks, while also sharing the maintenance workload.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=6afcdd76106011e1ba0e0d3c8eade52ae52a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/6afcdd76106011e1ba0e0d3c8eade52ae52a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=6afcdd76106011e1ba0e0d3c8eade52ae52a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/6afcdd76106011e1ba0e0d3c8eade52ae52a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Wed, 16 Nov 2011 07:40:08 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-6afcdd76106011e1ba0e0d3c8eade52ae52a</guid>
        </item>
        <item>
            <title>Openismus work on Evolution-Data-Server and SyncEvolution</title>
            <link>http://www.murrayc.com/blog/permalink/2011/08/04/openismus-work-on-evolution-data-server-and-syncevolution/</link>
            <description><![CDATA[
<h3>Evolution Data Server</h3>
<p>Recently, MeeGo <a href="http://lists.meego.com/pipermail/meego-dev/2011-March/481890.html">switched</a> to GNOME&#8217;s Evolution Data Server for storage of contacts, calendar, etc, though not for the API, which remains QtContacts, via the <a href="https://meego.gitorious.org/meego-middleware/qtcontacts-eds">qtcontacts-eds</a> backend. To help with that, Openismus has been making <a href="http://wiki.meego.com/Architecture/planning/evolution-data-server/eds-improvements">e-d-s performance improvements</a> for Intel. For instance, to avoid unnecessary transfer of data across D-Bus.</p>
<p><a href="http://blogs.gnome.org/tvb/">Tristan Van Berkom</a> is doing the work, excellently as always, using upstream bugzilla, the mailing list, and upstream&#8217;s git.gnome.org. It&#8217;s gradually all going into the master branch. There are some special patches only for <a href="http://git.gnome.org/browse/evolution-data-server/log/?h=meego-eds">Meego&#8217;s branch</a>, because it is based on the gnome-2-32 branch, whose API is partly deprecated in master. But we are taking the time to make equivalent changes in master&#8217;s new API.</p>
<p>We had worked on <a href="https://maemo.gitorious.org/eds-fremantle">Maemo 5 (Fremantle)&#8217;s e-d-s fork</a>, which used similar techniques to achieve the N900&#8242;s performance. But the developers weren&#8217;t given time to submit changes properly upstream. Also, some improvements were spread across other modules, some proprietary, though with hindsight the developers generally feel that many changes would have been better in evolution-data-server itself. It&#8217;s great that Intel are pushing for it to be done properly now.</p>
<p>Meanwhile we are also working on the <a href="https://gitorious.org/qtcontacts-tracker">qtcontacts-tracker</a> backend alternative, which we like too.</p>
<h3>SyncEvolution</h3>
<p>At the same time, MeeGo switched to <a href="http://syncevolution.org/">SyncEvolution</a> for synchronization of contacts, calendar, etc with online services (via SyncML and other protocols) and with bluetooth phones. We are helping Intel with that too.</p>
<p><a href="http://blixtra.org/blog/">Chris Kühl</a> has done some code cleanup which should hit the master branch soon and he is now letting SyncEvolution identify some phones via their <a href="http://en.wikipedia.org/wiki/Bluetooth_profile#Device_ID_Profile_.28DIP.29">Bluetooth Device ID profiles</a>, where they exist. That could make configuration easier because the user won&#8217;t need to tell SyncEvolution what the phone can do or what quirks it has. Again, this is all via bugzilla, the mailing list, and gitorious, targeting the master branch.</p>
<p>Lastly, I&#8217;ve done some cleanup of the <a href="http://syncevolution.org/">syncevolution.org website</a>, simplifying its structure, and updating some text so it makes sense as a whole. I am still not fond of Drupal. <a href="http://amigadave.blogspot.com/">David King</a> wrote and updated the website&#8217;s documentation about the syncevolution command-line and GUI.</p>
<span class="net_nemein_favourites">5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=547149dabf4711e09d586771345c4e374e37&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/547149dabf4711e09d586771345c4e374e37/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=547149dabf4711e09d586771345c4e374e37&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/547149dabf4711e09d586771345c4e374e37/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Thu, 04 Aug 2011 08:31:04 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-547149dabf4711e09d586771345c4e374e37</guid>
        </item>
        <item>
            <title>Missing the Meego Conference 2011</title>
            <link>http://www.murrayc.com/blog/permalink/2011/05/09/missing-the-meego-conference-2011/</link>
            <description><![CDATA[
<p>I won&#8217;t be at the <a href="http://sf2011.meego.com/">Meego Conference in San Francisco</a> this year. It would just mean too much time away when I should be taking care of my small children.</p>
<p>However, several Openismus people will be there to represent us: Ekaterina Gerasimova (Kat), <a href="http://taschenorakel.de/michael/">Michael Hasselmann</a>, <a href="http://amigadave.blogspot.com/">David King</a>, <a href="http://blogs.gnome.org/aklapper/">André Klapper</a>, and <a href="http://blixtra.org/blog/">Chris Kühl</a>.</p>
<p>I will instead be taking my family to visit my side of the family in North Berwick, Scotland, where I&#8217;ll meet my nephew from New Zealand for the first time.</p>
<p>&nbsp;</p>
<span class="net_nemein_favourites">2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=4401d0a47a2011e0a8dcfd66064c74977497&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/4401d0a47a2011e0a8dcfd66064c74977497/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=4401d0a47a2011e0a8dcfd66064c74977497&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/4401d0a47a2011e0a8dcfd66064c74977497/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Mon, 09 May 2011 09:25:18 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-4401d0a47a2011e0a8dcfd66064c74977497</guid>
        </item>
        <item>
            <title>Nexus S</title>
            <link>http://www.murrayc.com/blog/permalink/2011/02/07/nexus-s/</link>
            <description><![CDATA[
<p>I&#8217;ve had the Google/Samsung Nexus S phone for a few days and I will now vomit my thoughts out here.</p>
<h3>Hardware</h3>
<p>The phone&#8217;s physical design has some fatal flaws. It has the four standard Android buttons at the bottom &#8211; Return, Menu, Search, and Home. But they are touch buttons instead of real buttons, and they are just as super sensitive as the main touch screen. Because the whole phone is so slippery smooth, that makes it incredibly difficult to use the main interface without touching one of these &#8220;hardware&#8221; buttons. Either the Return button, at the left corner, or the Home button, at the right corner, will typically close the current application. I find it very difficult not to trigger these buttons with my palm.</p>
<p>The on-screen keyboard is already awkward, but this makes it even more important to tap in exactly the right place and not a pixel lower. So it requires your full concentration and gives you the general feeling that you are defusing a ticking bomb hidden in a bar of wet soap. I didn&#8217;t have this problem with my older HTC Hero. If I was a regular user, who didn&#8217;t care about the Android software getting out of date, I would return the Nexus S.</p>
<p>The older Galaxy S doesn&#8217;t seem to share this problem completely. It appears to have a thicker bevel that should be easier to grip and it has less buttons at the bottom, in a slightly safer arrangement. However, two of them are touch buttons, so I guess it&#8217;s annoying too.</p>
<p>I generally feel that multi-touch ability is not worth the over-sensitivity of the capacitive screen, as it&#8217;s not used much in Android anyway outside of <a href="http://www.fruitninja.com/">Fruit Ninja</a>. I preferred the N900&#8242;s need for a very slight finger press.</p>
<h3>Software</h3>
<p>I&#8217;ve used an HTC Hero with Android 2.2 and the HTC Sense UI, and this is not very different, though regular Android lacks a consistent visual personality. However, I&#8217;m surprised that I miss some things from HTC Sense, such as:</p>
<ul>
<li>I love HTC&#8217;s clock and weather widget, with the full-screen animations of rain, frost, snow or fog that appear momentarily over the whole desktop. It&#8217;s useless but it&#8217;s charming. Regular Android 2.3 has just an ugly little analogue clock widget. Its weather widget is boring.</li>
<li>My HTC Hero could upload photos and videos to Flickr, even integrating with the Accounts and Sync Settings, but regular Android 2.3 can&#8217;t.</li>
<li>The HTC Camera application lets you focus on a point by clicking the picture. I don&#8217;t know if it really worked, but I liked the idea. I do like that the regular Android 2.3 camera app lets me click the button to focus and then release later to actually take the picture quickly.</li>
</ul>
<p>These can be replaced imperfectly by apps from the Android Market, but that&#8217;s a frustrating experience of choosing between hundreds of similar apps, with no help to judge their quality.</p>
<h3>Nexus S versus HTC Hero</h3>
<p>This is a rather arbitrary comparison that&#8217;s of little use to anyone, but it&#8217;s the hardware that I&#8217;ve had.</p>
<p>I prefer the HTC Hero hardware because of the above-mentioned hardware problems, and because the chin stopped me from holding it upside-down so often. However, the HTC&#8217;s camera was terrible, while the Nexus S takes bright clear pictures and videos.</p>
<h3>Android Versus the N900</h3>
<p>Before I switched to the HTC Hero, I had used my Nokia N900 for almost a year.</p>
<p>I still miss:</p>
<ul>
<li><strong>Contacts aggregation</strong>: The N900 combines contacts from Google Talk, Skype, Facebook, and others into one contacts list and presents communication with them in one Messaging application. It lets your Contacts list be your main start point for communication. Just start Contacts and you&#8217;ll see immediately who is online, by whatever protocol, because you can show them at the top of the list. Then click on a contact to call, send email, SMS, instant message, skype, etc. You don&#8217;t need to think much about what system you are using.<br />
Android does some of this, though a) You can&#8217;t show online people first, b) Its contact merging (&#8220;Join&#8221;) UI is clumsy, c) It often leaves the contact listed under the cryptic IM or Skype username instead of the real name and d) The Messaging application is only for SMS, e) the Talk application is only for (GTalk) jabber, f) There is no aggregated message history, so you need to go to the individual apps.</li>
<li><strong><a href="http://maemo.nokia.com/maemo-select/applications/gpodder/">GPodder</a></strong>: This podcast client has a sane, usable, uncluttered UI that made my life better. I&#8217;m currently using <a href="http://www.doggcatcher.com/">DoggCatcher</a> on Android &#8211; It&#8217;s the best of several poor choices, but it&#8217;s still a mess that gets in my way.</li>
<li><strong>True multi-tasking</strong>: Multi-tasking in the N900 is truly useful, though it does indeed complicate the UI. Android does pseudo-multitasking &#8211; Apps store and restore their state, but they don&#8217;t actually do any processing while you are using a different application. But occasionally you do want to use another application because you really are waiting for the current application. This is most noticeable in the browser, for instance. Page display can be slow due to no fault of the browser and it would be nice if the phone let me do other things while waiting.</li>
<li>The <strong>Camera hardware button</strong>. It&#8217;s very awkward to take a picture by holding the phone (trying not to touch those Back or Home buttons) and then clicking the small button on the touch screen to take a picture. With the N900, I just pointed the phone and pressed the button on the top side.</li>
</ul>
<p>I do not miss:</p>
<ul>
<li>The N900&#8242;s chunky hardware. I used both the HTC Hero and Nexus S even more than my N900 because they are easier to carry around.</li>
<li>The default to landscape mode. Consuming large amounts of text (newspaper content) or lists (twitter or facebook posts), is easier in a portrait layout. That&#8217;s why newspapers have columns &#8211; they know what they are doing.</li>
<li>Non-flowing text in the browser. Android&#8217;s browser reflows text so you can read it. The N900&#8242;s browser often expects you to keep moving left and right on every line so you can actually read a paragraph. It respects the layout of the original page, but that&#8217;s little use on a small screen when I just want to read the content while ignoring the surrounding chaos.</li>
<li>Difficulty answering phone calls. On the N900, when the phone rings, I would unlock the screen, at which point the display would rotate from landscape to portrait, just a little to slowly. So my finger would move towards the Answer button, but when my finger reached the screen, the Cancel button was where the Answer button had been.</li>
<li>The N900 losing the cell phone signal and not getting it back without a restart or hacky GSM mode switch. I stopped using the N900 during our second pregnancy.</li>
</ul>
<p>Overall, I feel that an updated N900, with thinner hardware like today&#8217;s phones, and slightly updated software, would compete very well with the current generation of Android phones. It would be way more attractive than a Symbian phone, though that&#8217;s not saying much. Of course, I enjoy several apps that are only available on Android, but I am not surprised that developers are not writing software for an API that Nokia declared dead before the N900 was even on sale, and for hardware that Nokia never tried to sell. Developers will even learn Objective C if it means reaching an audience.</p>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1951eea032a611e0840aaf4b3f5462fc62fc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1951eea032a611e0840aaf4b3f5462fc62fc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1951eea032a611e0840aaf4b3f5462fc62fc&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1951eea032a611e0840aaf4b3f5462fc62fc/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Mon, 07 Feb 2011 10:04:07 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1951eea032a611e0840aaf4b3f5462fc62fc</guid>
        </item>
        <item>
            <title>Openismus Hiring C++ Developers</title>
            <link>http://www.murrayc.com/blog/permalink/2010/09/20/openismus-hiring-c-developers/</link>
            <description><![CDATA[
<p>Openismus is looking for experienced and mature C++ coders again in Berlin and Munich. gtkmm or Qt experience is persuasive. I hope you can find my email address.</p>
<span class="net_nemein_favourites">9 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=278320e0c49a11dfb2550d13221fe953e953&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/278320e0c49a11dfb2550d13221fe953e953/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=278320e0c49a11dfb2550d13221fe953e953&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/278320e0c49a11dfb2550d13221fe953e953/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Mon, 20 Sep 2010 09:31:38 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-278320e0c49a11dfb2550d13221fe953e953</guid>
        </item>
        <item>
            <title>Qt&amp;#8217;s Open Bug Tracker</title>
            <link>http://www.murrayc.com/blog/permalink/2010/07/20/qts-open-bug-tracker/</link>
            <description><![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>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=2760a83494bc11df85a837f1b07430d230d2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/2760a83494bc11df85a837f1b07430d230d2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=2760a83494bc11df85a837f1b07430d230d2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/2760a83494bc11df85a837f1b07430d230d2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Tue, 20 Jul 2010 12:26:17 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-2760a83494bc11df85a837f1b07430d230d2</guid>
        </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>
            <description><![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>
<span class="net_nemein_favourites">4 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=c5d883a679eb11dfb08a2f9cafb89eee9eee&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/c5d883a679eb11dfb08a2f9cafb89eee9eee/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=c5d883a679eb11dfb08a2f9cafb89eee9eee&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/c5d883a679eb11dfb08a2f9cafb89eee9eee/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Thu, 17 Jun 2010 08:10:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-c5d883a679eb11dfb08a2f9cafb89eee9eee</guid>
        </item>
        <item>
            <title>Autotools Things</title>
            <link>http://www.murrayc.com/blog/permalink/2010/05/19/autotools-things/</link>
            <description><![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>
<span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1e0db080633211dfaeb7e7bc6ac386ff86ff&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1e0db080633211dfaeb7e7bc6ac386ff86ff/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1e0db080633211dfaeb7e7bc6ac386ff86ff&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1e0db080633211dfaeb7e7bc6ac386ff86ff/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Wed, 19 May 2010 07:28:08 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1e0db080633211dfaeb7e7bc6ac386ff86ff</guid>
        </item>
        <item>
            <title>Openismus 2010 Trainees Chosen</title>
            <link>http://www.murrayc.com/blog/permalink/2010/04/30/openismus-2010-trainees-chosen/</link>
            <description><![CDATA[
<p>We have chosen two new <a href="http://www.murrayc.com/blog/permalink/2010/03/09/what-our-trainees-learn/">Openismus trainees</a> who will start at the beginning of June: <a href="http://psconboard.blogspot.com/">Patricia Santana Cruz</a> and <a href="http://blixtra.org/blog/">Chris Kühl</a>. We are looking forward to the new life in our Berlin office and I bet they are looking forward to life in Berlin. I&#8217;m thinking of hiring a third trainee, so email me if you are interested.</p>
<p>After they have settled down, they will be studying hard and probably looking for easy ways to help real-world projects such as gnome-love, with our assistance. It won&#8217;t be long before we start thinking of them as junior developers instead. I don&#8217;t envy them the hard work but I do wish I&#8217;d had the same opportunity.</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=7b9491e8543b11df9173fb9aee406f5a6f5a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/7b9491e8543b11df9173fb9aee406f5a6f5a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=7b9491e8543b11df9173fb9aee406f5a6f5a&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/7b9491e8543b11df9173fb9aee406f5a6f5a/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Fri, 30 Apr 2010 08:59:21 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-7b9491e8543b11df9173fb9aee406f5a6f5a</guid>
        </item>
        <item>
            <title>Friedrich Kossebau joining Openismus</title>
            <link>http://www.murrayc.com/blog/permalink/2010/04/30/friedrich-kossebau-joining-openismus/</link>
            <description><![CDATA[
<p>Last week we had the pleasure of meeting<a href="http://frinring.wordpress.com/"> Friedrich Kossebau</a> at our Berlin office and he accepted my offer to work for Openismus, starting at the beginning of May. Friedrich contacted me because we need more Qt expertise. His long KDE involvement fills that requirement perfectly and I think he has the temperament and attention to detail that we value. Unusually, we must send him right off to Helsinki, so we can&#8217;t immediately enjoy his company in Berlin. But I think he likes the adventure.</p>
<p>This means we are still looking for an extra Qt developer to work in our Berlin office, so please do email me.</p>
<span class="net_nemein_favourites">3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=a0dad5ae542a11df8efedfdc584234f234f2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/a0dad5ae542a11df8efedfdc584234f234f2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>5 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=a0dad5ae542a11df8efedfdc584234f234f2&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/a0dad5ae542a11df8efedfdc584234f234f2/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Fri, 30 Apr 2010 07:12:18 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-a0dad5ae542a11df8efedfdc584234f234f2</guid>
        </item>
        <item>
            <title>Openismus needs more Qt developers</title>
            <link>http://www.murrayc.com/blog/permalink/2010/03/31/openismus-needs-more-qt-developers/</link>
            <description><![CDATA[
<p><a href="http://www.openismus.com/">Openismus</a> is looking for experienced C++ and Qt developers to join our team creating quality and fighting entropy. It&#8217;s a chance to work on serious projects with (sometimes uncompromising) colleagues at Openismus who care about getting things done properly.</p>
<p>Please email me if you are looking for work and can show me some public involvement. I like having URIs for blogs, ohloh, git/svn, mailing lists, etc, to see your personal sense of code quality and your ability to communicate. We ideally need people who can work in Germany, probably moving to Berlin.</p>
<p>(We do GTK+, gtkmm, and Qt development, and we like really knowing them all. These days Maemo/Meego developers need a wide range of experience.)</p>
<span class="net_nemein_favourites">8 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=119d63a43ca911dfba7ab31b42c06a4e6a4e&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/119d63a43ca911dfba7ab31b42c06a4e6a4e/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=119d63a43ca911dfba7ab31b42c06a4e6a4e&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/119d63a43ca911dfba7ab31b42c06a4e6a4e/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Wed, 31 Mar 2010 08:59:45 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-119d63a43ca911dfba7ab31b42c06a4e6a4e</guid>
        </item>
        <item>
            <title>What our Trainees Learn</title>
            <link>http://www.murrayc.com/blog/permalink/2010/03/09/what-our-trainees-learn/</link>
            <description><![CDATA[
<p>After our successful year of training at Openismus, I thought I&#8217;d publish the rough bullet-point list that we used. Whoever we <a href="http://www.murrayc.com/blog/permalink/2010/03/05/openismus-wants-more-trainees/">choose</a> for the following year will repeat much the same process, with in-depth critique and a dose of reality.</p>
<p>These were our overall aims:</p>
<ul>
<li>Familiarity with the programming languages, toolkits, and tools, beyond the average.</li>
<li>Good quality habits &#8211; documentation, ChangeLogs/commit-messages, bug filing, simple code.</li>
<li>Good communication &#8211; politeness, precision, knowing who/where to contact, tracking progress and following up.</li>
</ul>
<p>And this is the stuff that we checked off along the way:</p>
<h3>Knowledge of C</h3>
<ul>
<li>Respect for memory. True understanding of pointers.
<ul>
<li>Understanding of the many ways to use * and &amp; and [], declaring and dereferencing.</li>
<li>Understanding of state (Such as a widget&#8217;s data, or a user_data struct, or a C++ class&#8217;s member variables.)</li>
<li>Understanding function pointers, including their weird syntax, made easier by use of typedefs.</li>
</ul>
</li>
<li>Basic understanding of object-orientation &#8211; Write functions that have a namespaced prefix and that take a first self/this parameter.
<ul>
<li>Write init and free functions where appropriate.</li>
<li>Don&#8217;t use a prefix that is used by an existing library.</li>
</ul>
</li>
<li>Use of enums (or defines if necessary, or static constants if appropriate) instead of magic numbers/strings.</li>
<li>Breaking code up into small blocks, separated by empty lines, with pseudo-code comments above each block. In small functions, of course.</li>
<li>Initializing local variables, even if you don&#8217;t think it&#8217;s necessary.</li>
<li>The GTK+ coding style, which is common for C.</li>
</ul>
<h3>Knowledge of GTK+</h3>
<p>Familiarity with GTK+, to the level of implementing new widgets.</p>
<ul>
<li>Reference-counting: Conventions and special cases (gstreamer and tinymail use a different convention, for instance).</li>
<li>Child widgets don&#8217;t really use reference-counting. They are destroyed by parents regardless.</li>
<li>Glade and GtkBuilder</li>
<li>Implement a new widget, doing some custom drawing and/or containing some child widgets. Make sure that you understand what the various construct/init/finalize/destroy/etc vfuncs do.</li>
</ul>
<h3>Other C stuff and basic tools</h3>
<ul>
<li>Tools: gdb, valgrind, svn, git, diff, patch.</li>
<li>Writing ChangeLog entries or commit messages (mentioning files and functions, and what changed in them and why).</li>
<li><a href="http://www.openismus.com/documents/">autotools</a></li>
<li>gtk-doc syntax, and knowing what developers need to see in the documentation. Mention the what, when, why, how, and &#8220;see also&#8221;.</li>
<li>Familiarity with Clutter, to the level of implementing new actors. See the Openismus <a href="http://openismus.com/documents/clutter_tutorial">Clutter tutorial</a>.</li>
<li>Fix some GNOME bugs, submitting patches. Maybe work with the <a href="http://live.gnome.org/GnomeLove ">gnome-love</a> group.</li>
</ul>
<h3>Communication</h3>
<ul>
<li>Join the relevant GTK+, GNOME, Maemo, and Qt mailing lists.</li>
<li>Add Openismus employees to your GNOME <a href="https://bugzilla.gnome.org/userprefs.cgi?tab=email">bugzilla Users To Watch list</a>. Someone will watch yours too.</li>
<li>Be repeatedly told to file bugs and patches, and to follow up on them. File bugs about documentation too.</li>
</ul>
<h3>Familiarity with C++ &#8211; at least the parts used by gtkmm and Qt</h3>
<p>This takes more time than anything else, but its doable with motivation and mentoring from our experts.</p>
<ul>
<li>Read a full book, such as <a href="http://www.amazon.com/exec/obidos/ISBN=020170353X/murrayswebpages/">Accelerated C++</a>, cover to cover.</li>
<li> Understanding of classes, constructors, inheritance, polymorphism.</li>
<li> Understanding of references.</li>
<li> Understanding of const and mutable.</li>
<li> Templates. And template specializations.</li>
<li> Use of <a href="http://www.openismus.com/documents/cplusplus/standard_containers.shtml">std containers</a>.</li>
<li> Familiarity with gtkmm (easy because they know GTK+ already.)</li>
<li>The gtkmm coding style, which is common for C++.</li>
<li> The doxygen/javadoc syntax.</li>
<li> Wrap some new GTK+ API for gtkmm.</li>
<li> Fix a Glom bug. For instance, there are some simple <a href="https://bugzilla.gnome.org/buglist.cgi?keywords=gnome-love;product=Glom;resolution=---">Glom gnome-love bugs</a>.</li>
<li>Familiarity with Qt. Understand what moc does. Do something real-world with it&#8217;s (quasi) model/view widgets. Understand QString historical oddities.</li>
<li>Maybe find a bug to fix in KDE.</li>
</ul>
<h3>Optimization work</h3>
<ul>
<li>Understanding processing, memory, and IO costs.</li>
<li>Avoiding premature optimization while avoiding obvious performance errors.</li>
<li>Using Oprofile, SysProf, system tap, etc.</li>
</ul>
<h3>Debian/Ubuntu packaging</h3>
<ul>
<li>Package a new version of an existing package, such as Glom, in the Openismus PPA.</li>
<li>Package something new for Ubuntu.</li>
</ul>
<h3>Embedded Linux</h3>
<ul>
<li>Use of Scratchbox with Maemo.
<ul>
<li>Port something to Maemo.</li>
<li>Package it for maemo-extras.</li>
</ul>
</li>
<li>Using a BeagleBoard:
<ul>
<li><a href="http://www.openismus.com/documents/linux/embedded/beagleboard_getting_started.shtml">Set up the BeagleBoard</a> and get something running.</li>
<li>Try to install <a href="http://wiki.maemo.org/Mer">Mer</a>.</li>
<li>Putting a self-built distro on generic hardware (BeagleBoard), using Poky or OpenEmbedded.</li>
</ul>
</li>
<li>Be aware of differences/pros/cons between Poky and OpenEmbedded.</li>
<li>Document how a customer might prepare and maintain a custom debian (or Ubuntu) distro for their embedded hardware project. For instance, how to install and use an autobuilder for packages.</li>
</ul>
<p class="wp-flattr-button"></p><span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=96be3d5c2b9111dfa5a683c6b97ad976d976&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/96be3d5c2b9111dfa5a683c6b97ad976d976/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=96be3d5c2b9111dfa5a683c6b97ad976d976&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/96be3d5c2b9111dfa5a683c6b97ad976d976/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Tue, 09 Mar 2010 14:46:44 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-96be3d5c2b9111dfa5a683c6b97ad976d976</guid>
        </item>
        <item>
            <title>Openismus Wants More Trainees</title>
            <link>http://www.murrayc.com/blog/permalink/2010/03/05/openismus-wants-more-trainees/</link>
            <description><![CDATA[
<p>A little over a year ago, we hired our first batch of <a href="http://www.openismus.com/">Openismus</a> trainees. After an intensive year gaining knowledge and experience, I&#8217;m proud to say that David King and Michael Hasselmann have now graduated to regular work on customer projects. They&#8217;ve become solid developers in whom we have confidence, thanks to mentoring from all our other employees. Personally, creating these new development careers is one of the most worthwhile things I&#8217;ve done in my career.</p>
<p><strong>So we need some more people</strong> to repeat our success. Here&#8217;s the text from the <a href="http://www.murrayc.com/blog/permalink/2008/11/10/openismus-wants-trainees/">first time</a>:</p>
<blockquote><p>If you are smart and enthusiastic but you lack experience then we can provide the opportunity. You would work mostly on existing open source projects instead of customer projects, just to get experience with C, C++, GTK+ and Qt. Our developers would provide technical guidance and encourage you to work and communicate in a structured way, creating software that’s actually usable and useful.</p>
<p>This is also a great opportunity to move to Berlin – a wonderful city for young people. Munich may also be a possibility if necessary.</p></blockquote>
<p>I&#8217;d also like to point out that we are very much an <strong>equal-opportunities employer</strong>. We get almost no applications from women or minority groups and that&#8217;s not good enough. We are a small company so every new person can make the place more like themselves.</p>
<p><strong>Please send us an email</strong> telling us about yourself. Show enthusiasm and show us anything you&#8217;ve done in the open source world already. As before, I will filter out the least suitable candidates by expecting you to find the appropriate email address yourself. Unfortunately, as before, it&#8217;s unlikely that we&#8217;ll want to deal with visa paperwork if you are not already working in the EU.</p>
<p><strong>Update: </strong>We think we have chosen our new trainees already. Stay tuned. Do bug me if I have not replied to you.</p>
<span class="net_nemein_favourites">14 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=4f397288287d11df8fdb194fd90545bf45bf&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/4f397288287d11df8fdb194fd90545bf45bf/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>1 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=4f397288287d11df8fdb194fd90545bf45bf&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/4f397288287d11df8fdb194fd90545bf45bf/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Fri, 05 Mar 2010 17:26:22 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-4f397288287d11df8fdb194fd90545bf45bf</guid>
        </item>
        <item>
            <title>In Helsinki at the weekend, Monday and Tuesday</title>
            <link>http://www.murrayc.com/blog/permalink/2010/02/10/in-helsinki-at-the-weekend-monday-and-tuesday/</link>
            <description><![CDATA[
<p>Liam says &#8220;broombroom soon Stinky Mama Papa mit&#8221;.</p>
<p>That means that we will be flying in an airplane on Friday to Helsinki. I&#8217;ll be around for work stuff on Monday and Tuesday too. Most afternoons are planned out already, and evenings are generally difficult with a child, but I hope to see random Nokia/Maemo people, maybe at lunch. I shall be pinging you.</p>
<p>We are looking forward to seeing old friends who we don&#8217;t get a chance to see often enough.</p>
<p><a href="http://www.flickr.com/photos/kitty-kat/">Kat</a>, <a href="http://amigadave.blogspot.com/">David</a>, <a href="http://taschenorakel.de/mathias/">Mathias</a>, and <a href="http://danielkitta.org/blog/">Daniel</a> will be around too.</p>
<span class="net_nemein_favourites">11 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=ef2d6304164311dfb70b5d75bf4011c111c1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/ef2d6304164311dfb70b5d75bf4011c111c1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>3 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=ef2d6304164311dfb70b5d75bf4011c111c1&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/ef2d6304164311dfb70b5d75bf4011c111c1/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Wed, 10 Feb 2010 12:03:47 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-ef2d6304164311dfb70b5d75bf4011c111c1</guid>
        </item>
        <item>
            <title>Peter Penz Joining Openismus</title>
            <link>http://www.murrayc.com/blog/permalink/2010/01/12/peter-penz-joining-openismus/</link>
            <description><![CDATA[
<p>I&#8217;m pleased to say that <a href="http://ppenz.blogspot.com/">Peter Penz</a> will become an <a href="http://www.openismus.com/">Openismus</a> employee at the start of February. I&#8217;ve known and liked Peter since I worked with him six years ago in Linz, Austria on a proprietary C++ mobile phone platform. Back then I was impressed with his skill and temperament so I&#8217;ve watched with interest as he has become a core KDE maintainer via the <a href="http://dolphin.kde.org/">Dolphin</a> file manager.</p>
<p>Obviously Peter will help Openismus as we gain experience with Qt for <a href="http://wiki.maemo.org/Open_development/Maemo_roadmap/Harmattan">Maemo 6 (Harmattan)</a> in addition to our continued use of GTK+ and gtkmm.</p>
<p>Peter will work from home in Linz, occasionally visiting the office in Berlin. I like the idea of another office in Linz though.</p>
<span class="net_nemein_favourites">10 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=1a4d44acff7711de8e3a9d8898ebdb75db75&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/1a4d44acff7711de8e3a9d8898ebdb75db75/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>0 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=1a4d44acff7711de8e3a9d8898ebdb75db75&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/1a4d44acff7711de8e3a9d8898ebdb75db75/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Tue, 12 Jan 2010 11:43:20 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-1a4d44acff7711de8e3a9d8898ebdb75db75</guid>
        </item>
        <item>
            <title>Graphs from valgrind&amp;#8217;s massif</title>
            <link>http://www.murrayc.com/blog/permalink/2009/11/10/graphs-from-valgrinds-massif/</link>
            <description><![CDATA[
<p>Valgrind&#8217;s <a href="http://valgrind.org/docs/manual/ms-manual.html#ms-manual.running-massif">massif</a> tool tracks how much memory an application uses over time, allowing you to see leaks. Previous versions produced pretty graphs. For instance, see the <a href="http://library.gnome.org/devel/optimization-guide/2.28/optimization-massif-TBL-interpreting-results.html.en">graph in this out-dated GNOME tutorial about massif</a>.</p>
<p>However, massif&#8217;s behaviour has changed and those graphs are no longer generally appropriate. But they were nice. So I hacked a copy of the current ms_print perl code, producing <a href="http://github.com/murraycu/massif_grapher">massif_grapher</a>. Forgive me for my perl code.</p>
<p>I used perl&#8217;s <a href="http://search.cpan.org/dist/GDGraph/Graph.pm">GD::Graph</a> module. It worked but it&#8217;s a little eccentric. The image size is hard-coded and needs to be increased in the code when Gd::Graph complains that the vertical or horizontal space is too small, if you have too many data points.</p>
<p>massif_grapher.pl outputs a massif_pretty.png file:</p>
<ul>
<li>There&#8217;s a <strong>simple graph</strong> (the default) that just shows the stack and heap allocations, splitting the heap up into useful and extra (allocated as an optimization) . It doesn&#8217;t mention any functions. See this <a href="http://github.com/murraycu/massif_grapher/blob/master/example_massif.out_simple.png">example</a>.</li>
<li>And there&#8217;s a <strong>detailed graph</strong> (via &#8211;detailed) that tries to show the old-style cumulative graph, with color for each allocating function. See this <a href="http://github.com/murraycu/massif_grapher/blob/master/example_massif.out_detailed.png">example</a>. I won&#8217;t put it directly in my blog because their&#8217;s some obviously weird stuff happening at the top. Also, the legend needs to be reversed so it&#8217;s easier to associate the functions with the blocks on the graph. Patches welcome. You&#8217;ll get weird results if you don&#8217;t specify&#8211;detailed-freq=1 to massif.</li>
</ul>
<p>Time will tell if this is useful.</p>
<p>Other useful massif tools:</p>
<ul>
<li><a href="http://www.eclipse.org/linuxtools/projectPages/valgrind/">Eclipse Linux Tools&#8217; valgrind support</a>: Scroll down to see the video for their massif support. This allows you to jump right to the code. Useful if you are using Eclipse.</li>
<li><a href="http://massiftool.sourceforge.net/">massiftool</a>: A Qt-based application for navigating massif snapshot data.</li>
</ul>
<span class="net_nemein_favourites">12 <a href="http://maemo.org/news/?net_nemein_favourites_execute=fav&net_nemein_favourites_execute_for=0646a522ce0611debdafb1e3f98c508b508b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/fav/midgard_article/0646a522ce0611debdafb1e3f98c508b508b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-favorite.png" style="border: none;" alt="Add to favourites" title="Add to favourites" /></a>2 <a href="http://maemo.org/news/?net_nemein_favourites_execute=bury&net_nemein_favourites_execute_for=0646a522ce0611debdafb1e3f98c508b508b&net_nemein_favourites_url=https://maemo.org/news/favorites//json/bury/midgard_article/0646a522ce0611debdafb1e3f98c508b508b/" class="net_nemein_favourites_create"><img src="http://static.maemo.org:81/net.nemein.favourites/not-buried.png" style="border: none;" alt="Bury" title="Bury" /></a></span>]]></description>
            <author>Murray Cumming &lt;murrayc@murrayc.com&gt;</author>
            <category>feed:64774e4a8618b0d6bf16181a6b931820</category>
            <pubDate>Tue, 10 Nov 2009 14:18:59 +0000</pubDate>
            <guid>http://maemo.org/midcom-permalink-0646a522ce0611debdafb1e3f98c508b508b</guid>
        </item>
    </channel>
</rss>
