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

<channel>
	<title>jjongsma &#187; Programming</title>
	<atom:link href="http://blogs.gnome.org/jjongsma/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gnome.org/jjongsma</link>
	<description>Hacking on GNOME, but with a healthy dose of C++</description>
	<lastBuildDate>Thu, 18 Aug 2011 14:47:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license>		<item>
		<title>soundprint</title>
		<link>http://blogs.gnome.org/jjongsma/2011/08/18/soundprint/</link>
		<comments>http://blogs.gnome.org/jjongsma/2011/08/18/soundprint/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 04:10:54 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/?p=104</guid>
		<description><![CDATA[As some astute observers may be aware, free software isn&#8217;t my only nerdy obsession. A quick perusal of my Flickr photos may reveal some of my other interests. If you guessed &#8220;taking poor pictures of wildlife&#8221;, you&#8217;d be pretty close. Yes, I watch birds. To make a long story short, a couple of years ago [...]]]></description>
			<content:encoded><![CDATA[<p>As some astute observers may be aware, free software isn&#8217;t my only nerdy obsession. A quick perusal of my <a href="http://www.flickr.com/photos/jonner/">Flickr photos</a> may reveal some of my other interests. If you guessed &#8220;taking poor pictures of wildlife&#8221;, you&#8217;d be pretty close.</p>
<div class="wp-caption alignnone" style="width: 510px"><a href="http://www.flickr.com/photos/jonner/3471729118/"><img src="http://farm4.static.flickr.com/3618/3471729118_0d82f2bc39.jpg" alt="" width="500" height="333" /></a><p class="wp-caption-text">Zonotrichia albicollis</p></div>
<p>Yes, I watch birds.</p>
<p>To make a long story short, a couple of years ago I became quite interested in the vocalizations of birds: learning their calls and songs, learning to identify a bird by ear. It turns out that in order to really internalize a sound, it&#8217;s actually very helpful to be able to visualize it. This is generally done with a plot of frequency vs time. To generate these spectrograms, I&#8217;ve been using a <a href="http://code.google.com/p/spek/issues/detail?id=30">slightly modified</a> version of <a href="http://www.spek-project.org/">spek</a>, which is a great little program. However, I&#8217;ve also found myself wishing I could have an easy visual overview of all of the files in a folder so that I could see at a glance what sort of a sound it was.</p>
<p>By happy coincidence, I have just learned some basics of gstreamer, so I thought it would be a nice opportunity to kill a couple of birds with a single stone[1]. So after a couple of hours of hacking, I&#8217;ve pushed a <a href="https://gitorious.org/soundprint/soundprint">git repository</a> for a little utility I&#8217;ve tentatively called &#8216;soundprint&#8217;. It generates a sort of fingerprint for sound files: a spectrogram of the first 5 seconds of audio. It also installs a .thumbnailer file so that nautilus can use it to generate thumbnails for audio files.  It&#8217;s quite simplistic, but it does what I want it to do.</p>
<div class="wp-caption alignnone" style="width: 510px"><img src="http://farm7.static.flickr.com/6064/6054971890_6760fe7fe4.jpg" alt="" width="500" height="335" /><p class="wp-caption-text">Spectrogram thumbnails for audio files</p></div>
<p>I admit that it&#8217;s a bit of a niche application. Spectrograms work best on audio that consists of relatively pure tones; music files tend to end up looking fairly similar to eachother. But in the hope that it may be useful to somebody else, there it is.</p>
<p>[1] no birds were actually killed during this process.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2011/08/18/soundprint/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How to waste an evening debugging the internals of glib&#8217;s qsort implementation</title>
		<link>http://blogs.gnome.org/jjongsma/2009/12/08/qsort-segfault/</link>
		<comments>http://blogs.gnome.org/jjongsma/2009/12/08/qsort-segfault/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 03:49:34 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[gtkmm]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/?p=79</guid>
		<description><![CDATA[Working on a personal itch-scratching project, I found myself wanting a sortable treeview. So I stuffed my treemodel into a TreeModelSort and set up my sort functions, and everything was happy. Except, when running my application, I kept getting strange segfaults within glib&#8217;s qsort implementation. I had set the following function as my sort_func (yes, [...]]]></description>
			<content:encoded><![CDATA[<p>Working on a personal itch-scratching project, I found myself wanting a sortable treeview.  So I stuffed my treemodel into a TreeModelSort and set up my sort functions, and everything was happy.  Except, when running my application, I kept getting strange segfaults within glib&#8217;s qsort implementation.  I had set the following function as my sort_func (yes, it&#8217;s C++, but it should be fairly self-explanatory):</p>
<pre><code>static int
compare_foo (const Gtk::TreeModel::iterator&#038; a, const Gtk::TreeModel::iterator&#038; b)
{
    std::tr1::shared_ptr&lt;Foo&gt; l1, l2;
    l1 = a-&gt;get_value (COLUMN_FOO);
    l2 = b-&gt;get_value (COLUMN_FOO);

    if (!l1)
        return -1;

    if (!l2)
        return 1;

    return l1-&gt;get_id () - l2-&gt;get_id ();
}</code></pre>
<p>Can you spot the error?  Running it under valgrind indicated that I was reading data from *before* the start of the array that was being sorted.  In fact, the following lines of code in g_qsort_with_data() were causing tmp_ptr to be decreased back past the start of the array:</p>
<pre><code>        while ((*compare_func) ((void *) run_ptr, (void *) tmp_ptr, user_data) &lt; 0)
          tmp_ptr -= size;</code></pre>
<p>Hmm.  Why is there no guard to prevent tmp_ptr from being decreased past the start?  Then I noticed the following comment up a few lines:</p>
<pre><code>    /* Find smallest element in first threshold and place it at the
       array's beginning.  This is the smallest array element,
       and the operation speeds up insertion sort's inner loop. */</code></pre>
<p>So at this point, the code is assuming that the very first element of the array is the smallest, so compare_func should always return &gt;= 0 when it reaches the start of the array.  Aha!  So the problem is my compare_func.  It turns out I forgot to handle the single case of both values being NULL.</p>
<pre><code>    l1 = a-&gt;get_value (COLUMN_FOO);
    l2 = b-&gt;get_value (COLUMN_FOO);
+
+   if (!l1 &#038;&#038; !l2)
+       return 0;

    if (!l1)
        return -1;</code></pre>
<p>So there&#8217;s not really a big lesson to be learned here, but if you ever hit strange segfaults deep inside glib&#8217;s qsort while sorting a treemodel, do yourself a favor and double-check that your sort function is sane first.  Also, do yourself a favor and run it under valgrind as soon as you get a strange segfault.  Knowing the exact point of the invalid read is infinitely more helpful than waiting until that invalid read causes a segfault.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2009/12/08/qsort-segfault/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Two Day</title>
		<link>http://blogs.gnome.org/jjongsma/2009/03/14/two-day/</link>
		<comments>http://blogs.gnome.org/jjongsma/2009/03/14/two-day/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 21:38:53 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Minnesota]]></category>
		<category><![CDATA[Nemiver]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/?p=66</guid>
		<description><![CDATA[We celebrated r&#8217;s 2nd birthday a bit over a week ago. She&#8217;s now old enough to understand the concept of a birthday, and it&#8217;s been really fun to watch her get excited about it. She&#8217;s also getting to the age where it&#8217;s a bit easier to find somebody to watch her while we go out [...]]]></description>
			<content:encoded><![CDATA[<p>We celebrated r&#8217;s 2nd birthday a bit over a week ago.  She&#8217;s now old enough to understand the concept of a birthday, and it&#8217;s been really fun to watch her get excited about it.</p>
<p><a title="DSC_9620 by jonner, on Flickr" href="http://www.flickr.com/photos/jonner/3353873869/"><img src="http://farm4.static.flickr.com/3570/3353873869_09fa0dc848.jpg" alt="DSC_9620" width="500" height="332" /></a></p>
<p>She&#8217;s also getting to the age where it&#8217;s a bit easier to find somebody to watch her while we go out for an evening.  In the past couple weeks we were able to go see a theatre show and our first music concert in quite a while (a cd release show for one of my <a href="http://www.honeydogs.com/">favorite local bands</a>).</p>
<p>It feels like spring has finally arrived and Minneapolis is awaking from a long hibernation.  This is definitely the best time of the year.  It&#8217;s as if everybody&#8217;s just been huddled inside waiting for spring and then there&#8217;s just the sudden burst of activity.  Everybody&#8217;s outside without coats (even though it&#8217;s still only in the 40s or 50s F), you see neighbors you&#8217;ve hardly seen for months.  Of course, now that I say that, we&#8217;ll probably get hit with another big snowstorm&#8230;</p>
<p><a title="DSC_9841 by jonner, on Flickr" href="http://www.flickr.com/photos/jonner/3353874287/"><img src="http://farm4.static.flickr.com/3218/3353874287_a1bfd9b778.jpg" alt="DSC_9841" width="500" height="281" /></a></p>
<p>I found a bit of time to hack on the nemiver debugger again lately.  Since 0.6.5 I think I&#8217;ve closed about 10 bugs, getting the bug count below the century mark once again, which feels nice.  I&#8217;m hoping I&#8217;ll have time to work on new features again in addition to just bugfixes, since there are still a few features missing that I think are really necessary for more widespread adoption.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2009/03/14/two-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>git sucks</title>
		<link>http://blogs.gnome.org/jjongsma/2009/03/05/git-sucks/</link>
		<comments>http://blogs.gnome.org/jjongsma/2009/03/05/git-sucks/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 03:55:32 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/?p=63</guid>
		<description><![CDATA[$ git commig -a git: 'commig' is not a git-command. See 'git --help'. Did you mean this? commit It knows what I want to do and yet it makes me spell it correctly, just to spite me.]]></description>
			<content:encoded><![CDATA[<pre><code>$ git commig -a
git: 'commig' is not a git-command. See 'git --help'.</code>

Did you mean this?
	commit
</code></pre>
<p>It knows what I want to do and yet it makes me spell it correctly, just to spite me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2009/03/05/git-sucks/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Fresh Start</title>
		<link>http://blogs.gnome.org/jjongsma/2009/01/23/fresh-start/</link>
		<comments>http://blogs.gnome.org/jjongsma/2009/01/23/fresh-start/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 20:31:17 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/?p=60</guid>
		<description><![CDATA[A lot of things have made me happy lately. I hung up a bird feeder for the first time in a long time, and never get tired of watching cardinals out the front window. Joanne has been involved in Powderhorn 365, a community photography project for the Minneapolis neighborhood where we live. The idea is [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of things have made me happy lately.</p>
<ul>
<li>I hung up a bird feeder for the first time in a long time, and never get tired of watching cardinals out the front window.</li>
<li>Joanne has been involved in <a href="http://www.powderhorn365.com/">Powderhorn 365</a>, a community photography project for the Minneapolis neighborhood where we live. The idea is to take a picture every day for a full year to give a feel of the neighborhood, the people that live here, etc.  Not all of the photos are fantastic (and it&#8217;s probably not nearly as interesting for somebody that doesn&#8217;t live in the neighborhood), but it&#8217;s again reminding me why I love the neighborhood I live in.</li>
<li>I wasn&#8217;t sure that the Obama inauguration would have much of an effect on me, but it has been making me smile when I think about it.  It seriously feels like a cloud has lifted and things are beginning to make sense again.  It remains to be seen if he&#8217;ll be a great president, of course, but for now it feels good to have a fresh start.</li>
<li>A lot of <a href="http://www.robot101.net/2009/01/23/auctions-beards-conferences-and-devils/">cool</a> <a href="http://blog.pierlux.com/2009/01/22/empathy-where-are-you/en/">things</a> <a href="http://blog.barisione.org/2009-01/socks5-in-telepathy-gabble/">happening</a> at Collabora, and I&#8217;m really enjoying my work.  I&#8217;ve been hacking on telepathy-related stuff lately as well and have really enjoyed it so far.</li>
<li>Watching my little girl grow never ceases to bring me joy.  She&#8217;s jabbering on about everything, learning new words every day.  Who knew that pronouns were so difficult?  She&#8217;s constantly mixing up &#8216;me&#8217; and &#8216;you&#8217; (e.g. asking me to &#8220;pick you up&#8221;, etc).</li>
<li>I&#8217;ve been on a roll with cooking lately.  Joanne is doing a costume design for a local theater, and the show goes up in february, so I&#8217;ve been making lots of big meals and freezing the leftovers so that when things get busy and we don&#8217;t have a lot of time to make meals, we can still eat relatively well.  There are times when I don&#8217;t enjoy cooking all that much, but I&#8217;ve really been feeling it lately.</li>
<li><a href="http://www.last.fm/music/Tom+Waits/_/Anywhere+I+Lay+My+Head">Tom Waits &#8216;Anywhere I Lay My Head&#8217;</a> is possibly the most perfect song ever written.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2009/01/23/fresh-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>webkitmm</title>
		<link>http://blogs.gnome.org/jjongsma/2008/06/27/webkitmm/</link>
		<comments>http://blogs.gnome.org/jjongsma/2008/06/27/webkitmm/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 23:12:00 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[gtkmm]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/2008/06/27/webkitmm/</guid>
		<description><![CDATA[As a quick follow-on to my last post, I&#8217;ve put a webkitmm git repository up for those that might want to play around with it. It&#8217;s certainly still early, but it is mostly complete. You&#8217;ll probably need a recent checkout WebKit/Gtk+, I&#8217;ve only tested it on trunk. At some point, I&#8217;ll probably import it into [...]]]></description>
			<content:encoded><![CDATA[<p>As a quick follow-on to my last post, I&#8217;ve put a <a href="http://www.gnome.org/~jjongsma/git/webkitmm.git/">webkitmm git repository</a> up for those that might want to play around with it.  It&#8217;s certainly still early, but it is mostly complete.  You&#8217;ll probably need a recent checkout WebKit/Gtk+, I&#8217;ve only tested it on trunk.  At some point, I&#8217;ll probably import it into GNOME subversion, though I really don&#8217;t look forward to that.</p>
<p>There is a very simple browser example in the source tree as well:</p>
<p><a href="http://www.flickr.com/photos/jonner/2617115118/" title="webkitmm by jonner, on Flickr"><img src="http://farm4.static.flickr.com/3078/2617115118_cd2ca0b93f.jpg" alt="webkitmm" height="427" width="500" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2008/06/27/webkitmm/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pools, Toy Dogs, Turkey, and WebKit</title>
		<link>http://blogs.gnome.org/jjongsma/2008/06/24/summer-pools/</link>
		<comments>http://blogs.gnome.org/jjongsma/2008/06/24/summer-pools/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 20:08:05 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/2008/06/24/summer-pools/</guid>
		<description><![CDATA[Summer is coming on full force.  R has discovered a new obsession, this time with the pool.  This goes along with her existing obsessions with fish, ducks, and geese.  I&#8217;m noticing a pattern here.  She also enjoys non-aquatic things, particularly books &#8212; mostly books about animals.  J got an old picture book about Dogs from [...]]]></description>
			<content:encoded><![CDATA[<p>Summer is coming on full force.  R has discovered a new obsession, this time with the pool.  This goes along with her existing obsessions with fish, ducks, and geese.  I&#8217;m noticing a pattern here.  She also enjoys non-aquatic things, particularly books &#8212; mostly books about animals.  J got an old picture book about Dogs from a garage sale down the block recently.  It&#8217;s obviously from another time, as it contains the following hilariously inappropriate line:</p>
<p><a href="http://www.flickr.com/photos/jonner/2607706911/" title="Toy Dogs by jonner, on Flickr"><img src="http://farm4.static.flickr.com/3154/2607706911_76c22e127b.jpg" alt="Toy Dogs" width="500" height="333" /></a><em>The Toy Dogs today are bred solely as pets. They have no other purpose in life except to give pleasure, especially to ladies.</em></p>
<p>Also, I&#8217;ll be attending GUADEC for the first time this year, and I&#8217;m looking forward to a good time in Istanbul and finally meeting a lot of people in person that I&#8217;ve known online for a while.</p>
<p>WebKit work is going quite well.  I&#8217;ve mostly been focusing on bug fixing so far, though I&#8217;ve added some new features as well (CSS text shadows are now supported in the Qt port, for instance).  Overall I&#8217;ve been really impressed with how clean and well-organized WebKit is for such a large and complex project.  I&#8217;ve also started playing around with &#8216;webkitmm&#8217; in my spare time as well.  Nothing much to show at the moment, I&#8217;m afraid, but I don&#8217;t expect it to take too much effort before it&#8217;s relatively usable.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2008/06/24/summer-pools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moving On</title>
		<link>http://blogs.gnome.org/jjongsma/2008/05/06/moving-on/</link>
		<comments>http://blogs.gnome.org/jjongsma/2008/05/06/moving-on/#comments</comments>
		<pubDate>Tue, 06 May 2008 13:51:46 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[webkit]]></category>
		<category><![CDATA[collabora]]></category>
		<category><![CDATA[job]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/2008/05/06/moving-on/</guid>
		<description><![CDATA[Since all of the other Nemiver hackers are moving on to new jobs (ok, so there&#8217;s only me and Dodji, but you can help fix that by joining us!), I figured I may as well announce my own job-related news.  Last week I gave my notice at my current job, and I&#8217;ve signed a contract [...]]]></description>
			<content:encoded><![CDATA[<p>Since all of the other Nemiver hackers are moving on to new jobs (ok, so there&#8217;s only me and Dodji, but you can help fix that by joining us!), I figured I may as well announce my own job-related news.  Last week I gave my notice at my current job, and I&#8217;ve signed a contract with <a href="http://collabora.co.uk/">Collabora</a> to do work related to WebKit.  I&#8217;m really excited to be able to spend more time hacking on free software and to have the opportunity to work with some really talented people on interesting projects.  Also, it feels great to be able to escape the cubicle farm at last.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2008/05/06/moving-on/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Feeling Productive</title>
		<link>http://blogs.gnome.org/jjongsma/2008/04/13/feeling-productive/</link>
		<comments>http://blogs.gnome.org/jjongsma/2008/04/13/feeling-productive/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 05:04:20 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[cairomm]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Nemiver]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/2008/04/13/feeling-productive/</guid>
		<description><![CDATA[All the recent talk about tetris and canvases and animation prompted me to pick up the C++ bindings for clutter again and play around with it. I&#8217;ve added support for the clutter-cairo library and ported the &#8216;flowers&#8217; demo to cluttermm. I&#8217;ve also spent some time in the past week adding a marginally useful feature to [...]]]></description>
			<content:encoded><![CDATA[<p>All the recent talk about tetris and canvases and animation prompted me to pick up the C++ bindings for clutter again and play around with it.  I&#8217;ve added support for the clutter-cairo library and ported the &#8216;flowers&#8217; demo to cluttermm.</p>
<p><a href="http://www.flickr.com/photos/jonner/2409569508/" title="cluttermm-flowers by jonner, on Flickr"><img src="http://farm4.static.flickr.com/3149/2409569508_263fe31494_t.jpg" alt="cluttermm-flowers" height="75" width="100" /></a></p>
<p>I&#8217;ve also spent some time in the past week adding a marginally useful feature to nemiver: <a href="http://www.flickr.com/photos/jonner/2409569314/">highlighting memory values</a> when they&#8217;ve changed since the last time the debugger stopped.  Adding this functionality required some significant modifications to the shared GtkHex widget that we use, so it&#8217;s not checked into svn yet, but hopefully will be soon.  I&#8217;m not sure how people did significant refactorings and API additions before tools like git-svn were available.  It&#8217;s so nice to be able to try out different things and make changes locally with full version control support instead of trying to maintain a mega-patch or committing half-baked ideas to the central repository.</p>
<p>I also released a new version of cairomm to coincide with the 1.6 release of cairo.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2008/04/13/feeling-productive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fiddling</title>
		<link>http://blogs.gnome.org/jjongsma/2008/03/09/fiddling/</link>
		<comments>http://blogs.gnome.org/jjongsma/2008/03/09/fiddling/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 20:50:06 +0000</pubDate>
		<dc:creator>jonner</dc:creator>
				<category><![CDATA[Agave]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[gtkmm]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://blogs.gnome.org/jjongsma/2008/03/09/fiddling/</guid>
		<description><![CDATA[A belated happy first birthday to my beautiful daughter. It&#8217;s been a fantastic year. Since then it seems like I&#8217;ve been sick most of the time. Instead of doing something useful, I&#8217;ve taken to fidding on a re-write of my Agave colorscheme designer, and I&#8217;ve made a decent amount of progress. It still lacks a [...]]]></description>
			<content:encoded><![CDATA[<p>A belated happy first birthday to my beautiful daughter.  It&#8217;s been a fantastic year.</p>
<p><a href="http://www.flickr.com/photos/jonner/2311820822/" title="DSC_5570 by jonner, on Flickr"><img src="http://farm3.static.flickr.com/2007/2311820822_2e9e68bfbc_m.jpg" alt="DSC_5570" height="160" width="240" /></a></p>
<p>Since then it seems like I&#8217;ve been sick most of the time.  Instead of doing something useful, I&#8217;ve taken to fidding on a re-write of my Agave colorscheme designer, and I&#8217;ve made a decent amount of progress.  It still lacks a lot of features of the original, but it benefits from my vastly better grasp of gtkmm and related technologies.  I still don&#8217;t know if I&#8217;ll ever actually get around to releasing it. It&#8217;s currently serving as a way for me to relax and take breaks from my other projects.  It&#8217;s become sort of a playground for me to try out new technologies, and I think I&#8217;ve succeeded in making it nearly impossible for normal users to build as it requires quite a few very new or unreleased libraries (goocanvasmm, giomm, glibmm-utils, etc).</p>
<p>Here&#8217;s a little screencast of what I&#8217;ve done so far:</p>
<p><a href="http://www.gnome.org/~jjongsma/temp/agave2.ogg"><img src="http://www.gnome.org/~jjongsma/temp/Agave2-video-thumbnail.png" alt="video thumbnail" height="200" width="188" /></a></p>
<p>I&#8217;ve set up a <a href="http://github.com/jonner/agave2/tree/master">repository on github</a> for anybody that&#8217;s interested in playing around with it.</p>
<p>Also, I&#8217;ll be <a href="http://mail.gnome.org/archives/gtkmm-list/2008-March/msg00037.html">taking over some glibmm maintainer duties</a> from murray after the 2.16.0 release.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gnome.org/jjongsma/2008/03/09/fiddling/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blogs.gnome.org/jjongsma/category/programming/feed/ ) in 1.31654 seconds, on Feb 11th, 2012 at 2:56 am UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 11th, 2012 at 3:56 am UTC -->
