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

<channel>
	<title>Jon Nordby &#187; trainee</title>
	<atom:link href="http://www.jonnor.com/tag/trainee/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonnor.com</link>
	<description>My grassy patch in a world of walled gardens</description>
	<lastBuildDate>Thu, 12 Jan 2012 12:05:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>MassifG 0.2</title>
		<link>http://www.jonnor.com/2010/09/massifg-0-2/</link>
		<comments>http://www.jonnor.com/2010/09/massifg-0-2/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 15:19:55 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[massif]]></category>
		<category><![CDATA[MassifG]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[trainee]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=241</guid>
		<description><![CDATA[MassifG is an application for visualizing the output of valgrinds massif tool. See the first release announcement for more info. Here is the high level list of changes since version 0.1: Graphing component ported to use GOffice &#8211; graphs are much nicer now A detailed view has been implemented Parses the heap trees found in [...]]]></description>
			<content:encoded><![CDATA[<p>MassifG is an application for visualizing the output of <a href="http://valgrind.org/">valgrinds</a> massif tool. See the <a href="http://www.jonnor.com/2010/08/introducing-massifg-0-1/">first release announcement</a> for more info. Here is the high level list of changes since version 0.1:</p>
<ul>
<li>Graphing component ported to use GOffice &#8211; graphs are much nicer now</li>
<li>A detailed view has been implemented</li>
<li>Parses the heap trees found in massif snapshots</li>
<li>Menu entry for directly exporting graph to a PNG file</li>
<li>gtk-doc based API documentation</li>
</ul>
<p>Of course there were also many minor changes, fixes and improvements. Here is how it looks now (simple and detailed view, respectively):</p>
<p><a href="http://www.jonnor.com/wp/files/massifg-0.2-simple.png"><img class="size-medium wp-image-247 alignnone" title="massifg-0.2-simple" src="http://www.jonnor.com/wp/files/massifg-0.2-simple-300x248.png" alt="massifg-0.2-simple" width="300" height="248" /></a><a href="http://www.jonnor.com/wp/files/massifg-0.2-detailed.png"><img class="size-medium wp-image-248 alignnone" style="margin-left: 5px; margin-right: 5px;" title="massifg-0.2-detailed" src="http://www.jonnor.com/wp/files/massifg-0.2-detailed-300x247.png" alt="massifg-0.2-detailed" width="300" height="247" /></a></p>
<p>The tarball can be found <a href="http://www.jonnor.com/files/massifg-0.2.tar.gz">here</a>. Packages for Arch are <a href="http://aur.archlinux.org/packages.php?O=0&amp;K=massifg&amp;do_Search=Go">i</a><a href="http://aur.archlinux.org/packages.php?O=0&amp;K=massifg&amp;do_Search=Go">n A</a><a href="http://aur.archlinux.org/packages.php?O=0&amp;K=massifg&amp;do_Search=Go">UR</a>. I&#8217;m also hoping to make packages for Ubuntu and Fedora in the next couple of days.</p>
<h3>Roadmap</h3>
<p>I will probably move my focus over to C++ and other tasks now, so MassifG progress will be slower, but here is what I&#8217;d like to see going forward.</p>
<ul>
<li>Show name of the function when hovering over the graph.<br />
Minor thing, but it will increase usability a lot as it can be very hard to see which legend entry the data corresponds to in the detailed view. Requires <a href="https://bugzilla.gnome.org/show_bug.cgi?id=627277">support in GOffice</a></li>
<li>Add axis labels and title with information from the massif file.</li>
<li>Improve usability on small screen/window size.</li>
<li> The detailed view currently needs a lot of space, and does not work nicely when this is not available. Need to ask the GOffice people for some hints and tips here.</li>
<li>Make an API and UI for running massif.<br />
This so that users don&#8217;t have to invoke massif manually, and then open the file in MassifG to visualize the results. Would additionally be nice if the graph was updated interactively while massif runs, but that is secondary.</li>
<li>Make a UI widget for visualizing the heap tree.<br />
Possibly a GtkTreeView. I&#8217;m open for suggestions here.</li>
<li>Expose a public library with the relevant parts of the API.<br />
This way, others applications can use it &#8211; if anyone is interested I&#8217;d love to have some feedback on the API. I am of course open to changing it if necessary. Support for GObject introspection would be nice too.</li>
</ul>
<p>If anyone would like to work on any of this, give me a hint so we don&#8217;t duplicate effort. Let me know if you have any other good ideas too.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/08/introducing-massifg-0-1/" rel="bookmark" class="crp_title">Introducing MassifG 0.1</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2-2/" rel="bookmark" class="crp_title">MassifG 0.2.2</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2-1-now-packaged-for-your-favorite-distro/" rel="bookmark" class="crp_title">MassifG 0.2.1; now packaged for your favorite distro*</a></li><li><a href="http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/" rel="bookmark" class="crp_title">Playing with Qt Quick; Imago</a></li><li><a href="http://www.jonnor.com/2011/08/making-gegl-easier-to-use-in-graphical-applications/" rel="bookmark" class="crp_title">Making GEGL easier to use in graphical applications</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/09/massifg-0-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing MassifG 0.1</title>
		<link>http://www.jonnor.com/2010/08/introducing-massifg-0-1/</link>
		<comments>http://www.jonnor.com/2010/08/introducing-massifg-0-1/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 13:21:17 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[massif]]></category>
		<category><![CDATA[MassifG]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[trainee]]></category>
		<category><![CDATA[valgrind]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=206</guid>
		<description><![CDATA[MassifG is an application for visualizing the output of valgrinds massif tool. I am writing it as part of my trainee program here at Openismus. MassifG is free software, available under GPLv3. You will find the git repository at gitorious, and the tarball release for 0.1 here. Packages for Arch are available in AUR. Used [...]]]></description>
			<content:encoded><![CDATA[<p>MassifG is an application for visualizing the output of <a href="http://valgrind.org/">valgrinds</a> massif tool. I am writing it as part of my <a href="http://www.murrayc.com/blog/permalink/2010/03/09/what-our-trainees-learn/">trainee program</a> here at <a href="http://www.openismus.com">Openismus</a>. MassifG is free software, available under GPLv3. You will find the git repository <a href="http://gitorious.org/massifg/massifg">at gitorious</a>, and the tarball release for 0.1 <a href="http://www.jonnor.com/files/massifg-0.1.tar.gz">here</a>. Packages for Arch are available <a href="http://aur.archlinux.org/packages.php?O=0&amp;K=massifg&amp;do_Search=Go">in AUR.</a></p>
<p>Used together with massif MassifG gives you a nice, simple graph of allocated heap memory over time which you can use to help evaluate if your program is leaking memory or not:</p>
<h2>Current status</h2>
<p>With release 0.1 MassifG can:<a href="http://www.jonnor.com/wp/files/massifg-0.1.png"><img class="alignright size-medium wp-image-210" title="MassifG 0.1" src="http://www.jonnor.com/wp/files/massifg-0.1-300x158.png" alt="MassifG 0.1" width="300" height="158" /></a></p>
<ul>
<li>Parse and display a simple graph from  massif output.</li>
<li>Open files selected on the command line or  from the UI.</li>
<li>Print out the graph to a printer or file. This code was  contributed by <a href="http://murrayc.com/">Murray Cumming</a> &#8211; thanks!</li>
</ul>
<p>I  was hoping that I could make version 0.1 the &#8220;minimally useful&#8221;  release, but I have to admit that it is not quite there yet. Instead I  nickname release 0.1 &#8220;getting it out there&#8221;. The main issue is that there is massif output that breaks the graph, see under tests/ for an example.</p>
<h2>Implementation</h2>
<p>MassifG is written in C, and uses GTK+ for its graphical user interface. Once the ability to export the graph is implemented, it should be easy to allow the application to build and run without GTK, if anyone wants to do that.</p>
<p>The parser is a simple state-machine. It might have been wiser to use bison+flex, and I&#8217;ll reevaluate that when I need to implement parsing of the detailed output.</p>
<p>The graph functionality is implemented using Cairo and Pango. While Cairo and Pango are excellent technologies with nice APIs, they are quite low-level and that means having to care about all the details. As that brings no benefit to this application I might rewrite the graphing functionality to use the goffice library instead. Sadly there seems to be little high-level or introductionary documentation to goffice APIs, so I might have to fix that along the way.</p>
<h2>Roadmap</h2>
<p>In the short term I will:</p>
<ul>
<li>Implement parsing and graphing of the detailed massif output</li>
<li>Fix the graphing bug(s)</li>
<li>Add the ability to export/save a graph as PNG,PDF et.c. without having to go by the printing dialog</li>
</ul>
<p>In the longer term I&#8217;m considering:</p>
<ul>
<li>Adding the ability to run massif on a program directly from MassifG</li>
<li>An interactive mode which updates the graph while the program to be analyzed is still running</li>
<li>Making a custom widget which other applications can embed</li>
</ul>
<p>In the meantime, please do give the current version some testing, and report bugs and other issues.</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/09/massifg-0-2/" rel="bookmark" class="crp_title">MassifG 0.2</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2-2/" rel="bookmark" class="crp_title">MassifG 0.2.2</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2-1-now-packaged-for-your-favorite-distro/" rel="bookmark" class="crp_title">MassifG 0.2.1; now packaged for your favorite distro*</a></li><li><a href="http://www.jonnor.com/2011/08/making-gegl-easier-to-use-in-graphical-applications/" rel="bookmark" class="crp_title">Making GEGL easier to use in graphical applications</a></li><li><a href="http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/" rel="bookmark" class="crp_title">Image preview support for OpenRaster in Qt working</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/08/introducing-massifg-0-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Hello Openismus, Hello Berlin</title>
		<link>http://www.jonnor.com/2010/05/hello-openismus-hello-berlin/</link>
		<comments>http://www.jonnor.com/2010/05/hello-openismus-hello-berlin/#comments</comments>
		<pubDate>Fri, 14 May 2010 17:58:31 +0000</pubDate>
		<dc:creator>Jon</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[Openismus]]></category>
		<category><![CDATA[trainee]]></category>

		<guid isPermaLink="false">http://www.jonnor.com/?p=181</guid>
		<description><![CDATA[Looks like I will be joining Openismus in Berlin from July, as one of three trainees! There is much to learn, but that&#8217;s gonna be half the fun. The other half will be working with something I really like, free and open source software, and with great people in a very good environment. Going from [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.openismus.com/"><img class="alignnone size-full wp-image-184" title="Openismus" src="http://www.jonnor.com/wp/files/openismus_logo1.png" alt="Openismus" width="477" height="99" /></a></p>
<p>Looks like I will be joining <a href="http://www.openismus.com/">Openismus</a> in Berlin from July, as one of three trainees! There is <a href="http://www.murrayc.com/blog/permalink/2010/03/09/what-our-trainees-learn/">much to learn</a>, but that&#8217;s gonna be half the fun. The other half will be working with something I really like, free and open source software, and with <a href="http://planet.openismus.com/">great people</a> in a very good environment.</p>
<p>Going from living in my childhood home with my parents, studying at the <a href="http://www.hive.no/?lang=en_GB">local college</a>, to my own place in a big city in a foreign country training/working as a software developer is going to be a big change. But I feel like a change, and I don&#8217;t think it could have gotten much better than this.</p>
<p>But before that; Hello bachelors thesis completion and Hello exam preparations!</p>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.jonnor.com/2010/10/qt-developer-days-2010-and-more/" rel="bookmark" class="crp_title">Qt Developer Days 2010 and more</a></li><li><a href="http://www.jonnor.com/2010/08/introducing-massifg-0-1/" rel="bookmark" class="crp_title">Introducing MassifG 0.1</a></li><li><a href="http://www.jonnor.com/2010/09/massifg-0-2-2/" rel="bookmark" class="crp_title">MassifG 0.2.2</a></li><li><a href="http://www.jonnor.com/2010/11/playing-with-qt-quick-imago/" rel="bookmark" class="crp_title">Playing with Qt Quick; Imago</a></li><li><a href="http://www.jonnor.com/2010/11/image-preview-support-for-openraster-in-qt-working/" rel="bookmark" class="crp_title">Image preview support for OpenRaster in Qt working</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://www.jonnor.com/2010/05/hello-openismus-hello-berlin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

