<?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"
	>

<channel>
	<title>gimpfoo.de</title>
	<atom:link href="http://gimpfoo.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://gimpfoo.de</link>
	<description>Mitchs blog</description>
	<pubDate>Sun, 13 Sep 2009 20:01:19 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Kuh</title>
		<link>http://gimpfoo.de/2009/09/12/kuh/</link>
		<comments>http://gimpfoo.de/2009/09/12/kuh/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 14:03:49 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[german]]></category>

		<category><![CDATA[places]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=27</guid>
		<description><![CDATA[


Diese Kuh, wohnhaft oberhalb von Flumserberg, wollte mich doch wirklich auf die Hörner nehmen. Unglaublich! Im Hintergrund die Churfirsten und dahinter der Säntis.
]]></description>
			<content:encoded><![CDATA[<p><a href="images/kuh.jpg">
<div align="center"><img src="images/kuh-small.jpg" alt="Blöde Kuh"/></div>
<p></a></p>
<p>Diese Kuh, wohnhaft oberhalb von <a href="http://de.wikipedia.org/wiki/Flumserberg">Flumserberg</a>, wollte mich doch wirklich auf die Hörner nehmen. Unglaublich! Im Hintergrund die <a href="http://de.wikipedia.org/wiki/Churfirsten">Churfirsten</a> und dahinter der <a href="http://de.wikipedia.org/wiki/S%C3%A4ntis">Säntis</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2009/09/12/kuh/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OMG it&#8217;s alive!</title>
		<link>http://gimpfoo.de/2009/08/02/omg-its-alive/</link>
		<comments>http://gimpfoo.de/2009/08/02/omg-its-alive/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 15:37:00 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[site]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=26</guid>
		<description><![CDATA[I heared rumors that my blog is dead.
However the report of its death has been greatly exaggerated.
]]></description>
			<content:encoded><![CDATA[<p>I heared rumors that my blog is dead.<br />
However the report of its death has been greatly exaggerated.</p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2009/08/02/omg-its-alive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using the Mac OS X Menubar</title>
		<link>http://gimpfoo.de/2007/08/30/using-the-mac-os-x-menubar/</link>
		<comments>http://gimpfoo.de/2007/08/30/using-the-mac-os-x-menubar/#comments</comments>
		<pubDate>Thu, 30 Aug 2007 13:36:44 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/2007/08/30/using-the-mac-os-x-menubar/</guid>
		<description><![CDATA[Finally, after quite some debugging (of the very same bug for months), I committed preliminary support for the global Mac OS X menubar to GIMP trunk.
It’s the result of a project I’ve been involved with at Imendio. Check the project page.
For seeing the coolness without compiling yourself, check the video.
]]></description>
			<content:encoded><![CDATA[<p>Finally, after quite some debugging (of the very same bug for months), I committed preliminary support for the global Mac OS X menubar to GIMP trunk.</p>
<p>It’s the result of a project I’ve been involved with at <a href="http://www.imendio.com/">Imendio</a>. Check the <a href="http://developer.imendio.com/projects/gtk-macosx/menubar">project page</a>.</p>
<p>For seeing the coolness without compiling yourself, check the <a href="http://video.google.com/videoplay?docid=-7879472074778366330&amp;hl=en">video</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2007/08/30/using-the-mac-os-x-menubar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wilberstreet</title>
		<link>http://gimpfoo.de/2006/11/01/wilberstreet/</link>
		<comments>http://gimpfoo.de/2006/11/01/wilberstreet/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 23:16:12 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=23</guid>
		<description><![CDATA[Antenne made a new GIMP wallpaper!

Enjoy Wilberstreet: 1280&#215;854, 1280&#215;1024, 1400&#215;1050, 1600&#215;1200



]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antena.de/antenna-flog/">Antenne</a> made a new GIMP <a href="http://antenne.springborn.net/download-en.html">wallpaper</a>!</p>
<div align="center"><img src="http://gimpfoo.de/images/wilberstreet-small.jpg" alt="Wilberstreet" /></div>
<p>Enjoy Wilberstreet: <a href="http://gimpfoo.de/wallpapers/wilberstreet_1280x854px.jpg">1280&#215;854</a>, <a href="http://gimpfoo.de/wallpapers/wilberstreet_1280x1024px.jpg">1280&#215;1024</a>, <a href="http://gimpfoo.de/wallpapers/wilberstreet_1400x1050px.jpg">1400&#215;1050</a>, <a href="http://gimpfoo.de/wallpapers/wilberstreet_1600x1200px.jpg">1600&#215;1200</a></p>
<p><!--2ff288065c625bd9173f45ff9d03b221-->
</p>
<p><!--bb6c525fec5a60eeb5e5d7faf265e066--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/11/01/wilberstreet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gimp statt Photoshop</title>
		<link>http://gimpfoo.de/2006/10/18/gimp-statt-photoshop/</link>
		<comments>http://gimpfoo.de/2006/10/18/gimp-statt-photoshop/#comments</comments>
		<pubDate>Wed, 18 Oct 2006 14:00:08 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[german]]></category>

		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=22</guid>
		<description><![CDATA[Jetzt ist es amtlich!  -  stand ja schließlich im SPIEGEL  
Ein mit GIMP gemachtes Bild hat beim SPIEGEL Bildbearbeitungs-Wettbewerb gewonnen. Glückwünsche an den erfolgreichen Manipulator!



]]></description>
			<content:encoded><![CDATA[<p>Jetzt ist es amtlich!  -  stand ja schließlich im <a href="http://www.spiegel.de/">SPIEGEL</a> <img src='http://gimpfoo.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Ein mit GIMP gemachtes Bild hat beim <a href="http://www.spiegel.de/netzwelt/netzkultur/0,1518,442309,00.html">SPIEGEL Bildbearbeitungs-Wettbewerb</a> gewonnen. Glückwünsche an den erfolgreichen Manipulator!</p>
<p><!--608615eab4677065790bb0f4b5ae72cf-->
</p>
<p><!--f35f04b8934fb0c90ab01354e8c9eddc--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/10/18/gimp-statt-photoshop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PDB and Plug-In Refactoring</title>
		<link>http://gimpfoo.de/2006/05/02/pdb-and-plug-in-refactoring/</link>
		<comments>http://gimpfoo.de/2006/05/02/pdb-and-plug-in-refactoring/#comments</comments>
		<pubDate>Tue, 02 May 2006 15:43:15 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[english]]></category>

		<category><![CDATA[gimp]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=21</guid>
		<description><![CDATA[A status report from the half-done PDB and Plug-In chopping orgy.]]></description>
			<content:encoded><![CDATA[<p>One of the last remaining bits of antique code in the GIMP are the parts that talk to plug-ins, namely the plug-in handling code itself, and the PDB (procedural database) which provides a way for plug-ins to call GIMP&#8217;s internal functionality and which keeps all procedures provided by plug-ins.</p>
<p>Everything was organized around some crufty C-structs, lived in files without proper namespace, and was basically untouched by all the refactoring that was happening during the last few years. To illustrate the evilness: the PDB did not even really know which of its procedures were dynamically allocated, and which were constant structs that are defined at compile time (not to speak of the part where perl code generated perl code that generated perl code that&#8230;). This had to stop.</p>
<p>Right after <a href="http://www.libregraphicsmeeting.org/">LGM</a>, I entered refactoring mode:</p>
<ul>
<li>All the perl-that-generates-perl stuff had to die. Every procedure definition in the PDB files (<code>tools/pdbgen/pdb/*.pdb</code>, they are still perl) now looks the same: Inargs, Outargs, Code.</li>
<li>The homemade system to specify a procedure&#8217;s arguments and return values doesn&#8217;t exist any more. Everything is based on GParamSpec now. A lot of new GIMP-specific param specs was added in <code>app/core/gimpparamspecs.c</code>.
  </li>
<li>The procedure&#8217;s arguments from the same prehistoric era had to go too. Procedures now take and return everything as GValue, organized as GValueArray.</li>
<li>Procedures are GObjects now (<code>app/pdb/gimpprocedure.c</code>). Their memory-management was modernized a bit (they <i>have</i> memory management now). Plug-In procedures are a proper GimpProcedure subclass now (<code>app/pdb/gimppluginprocedure.c</code>), which made lots of code much more straightforward (they were separate structs before which had a pointer to the procedure they implement).</li>
<li>The PDB is now an object itself (<code>app/pdb/gimppdb.c</code>), instead of a bunch of global variables with some API around. The PDB instance emits signals when procedures are added or removed, so the GUI can for example create menu items for new plug-in procedures. No more direct calls from the core to the GUI via the ugly GUI-vtable.</li>
</ul>
<p>The plug-in system is a similar mess, closely related to the PDB, but even worse. It has seen some refactoring, but just to the point where it was unavoidable to fix misbehavior or to get rid of calling deprecated GLib APIs. While the PDB cleanup has come a long way, I&#8217;m still in the middle of chopping and re-assembling the plug-in stuff:</p>
<ul>
<li>Lots and lots of global variables have been moved to a new object, the GimpPlugInManager (<code>app/plug-in/gimppluginmanager.c</code>). Well they were not really global variables before, but members of the global Gimp instance, which is supposed to be the only &#8220;global&#8221; variable in the GIMP, but that doesn&#8217;t make much difference here.</li>
<li>Lots of functions are now methods of the GimpPlugInManager, which greatly helps finding them. Before, it was mostly unclear which function belonged to the plug-in instances themselves, and which to the infrastructure around that keeps is all together.</li>
</ul>
<p>That&#8217;s where I am today, but there are still quite some hacks ahead before the stuff can be called &#8220;finished&#8221;:</p>
<p>The PlugIn struct (<code>app/plug-in/plug-in.c</code>) has to become an object, and this object needs some signals. Some code needs to listen to these signals, so cross-calling between unrelated scopes doesn&#8217;t happen any more. At some point people will even be able to understand how the plug-ins&#8217; memory management is supposed to work <img src='http://gimpfoo.de/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> Currently the calls to plug_in_ref() and plug_in_unref() are not really in places where one would expect them. I bet there is more uglyness that will go away as soon as I find it.</p>
<p>Now what are the benefits from all this work? Well, refactored code looks soooo much nicer <img src='http://gimpfoo.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>But seriously:</p>
<ul>
<li>The refactored code <i>does</i> look nicer, is easier to read and understand, is easier to change and fix.</li>
<li>The PDB can check the passed arguments much better now. Thanks to GParamSpec GIMP can tell a plug-in/script developer which of the passed arguments was wrong in which way.</li>
<li>Every argument has a default value now. After GIMP 2.4 this will allow us to change the plug-in side of calling PDB procedures to something that has named parameters with default values. No more breaking scripts just becuase somebody added an optional argument.</li>
<li>(actually, optional arguments were impossible before).</li>
<li>Now that it&#8217;s all cleaned up, people != hardcore_longtime_developers can understand and change it.</li>
<li>And many other benefits that usually show up after the refactored code is in use for some time.</li>
</ul>
<p>And now, please get GIMP from CVS and test it until it breaks. Then report the bug so the new PDB will be as solid as the old one.</p>
<p><!--32bfa70442c9c32046f10eeafd0037ef-->
</p>
<p><!--bc96dbe262cf4f0fb0e2e2dfa05cac1e--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/05/02/pdb-and-plug-in-refactoring/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hochwasserente</title>
		<link>http://gimpfoo.de/2006/02/13/hochwasserente/</link>
		<comments>http://gimpfoo.de/2006/02/13/hochwasserente/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 14:53:46 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[german]]></category>

		<category><![CDATA[places]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=20</guid>
		<description><![CDATA[Die Hochwasserente in Wangen markiert den Pegelstand des Jahrhunderthochwassers von 1999. Da alle Gelenke der Ente beweglich sind, trifft man sie meistens total verrenkt an.




]]></description>
			<content:encoded><![CDATA[<p>Die Hochwasserente in <a href="http://de.wikipedia.org/wiki/Wangen_im_Allg%C3%A4u">Wangen</a> markiert den Pegelstand des Jahrhunderthochwassers von 1999. Da alle Gelenke der Ente beweglich sind, trifft man sie meistens total verrenkt an.</p>
<div align="center"><a href="http://gimpfoo.de/images/hochwasserente.jpg"><img src="http://gimpfoo.de/images/hochwasserente-small.jpg" alt="Hochwasserente" /></a></div>
<p><!--4bc190af11d5d25a8efb7dff57855c48-->
</p>
<p><!--99e2229fa4ec8a3f2412872126f763f4--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/02/13/hochwasserente/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Night Skiing</title>
		<link>http://gimpfoo.de/2006/02/07/night-skiing/</link>
		<comments>http://gimpfoo.de/2006/02/07/night-skiing/#comments</comments>
		<pubDate>Tue, 07 Feb 2006 16:53:39 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[english]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=19</guid>
		<description><![CDATA[While spending some time in the south of Germany, I took the opportunity to do some Night Skiing.

The location is really nice. As an extra goodie, there is a small wooden cabin at the top of the lift, where they serve some small dishes and drinks. We stayed there until the lights were turned off, [...]]]></description>
			<content:encoded><![CDATA[<p>While spending some time in the south of Germany, I took the opportunity to do some <a href="http://www.thalkirchdorf.de/skilifte/index.html">Night Skiing</a>.</p>
<div align="center"><a href="http://gimpfoo.de/images/night-skiing.jpg"><img src="http://gimpfoo.de/images/night-skiing-small.jpg" alt="Night Skiing" /></a></div>
<p>The location is really nice. As an extra goodie, there is a small wooden cabin at the top of the lift, where they serve some small dishes and drinks. We stayed there until the lights were turned off, and had to go down in the dark, which isn&#8217;t exactly easy after two beers <img src='http://gimpfoo.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div align="center"><a href="http://gimpfoo.de/images/night-skiing-cabin.jpg"><img src="http://gimpfoo.de/images/night-skiing-cabin-small.jpg" alt="Night Skiing Cabin" /></a></div>
<p><!--704febb2f6dfd685f3d1c600a8753512--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/02/07/night-skiing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Die Spree ist zugefroren</title>
		<link>http://gimpfoo.de/2006/01/10/18/</link>
		<comments>http://gimpfoo.de/2006/01/10/18/#comments</comments>
		<pubDate>Tue, 10 Jan 2006 09:51:44 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[german]]></category>

		<category><![CDATA[places]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=18</guid>
		<description><![CDATA[
Inzwischen ist&#8217;s Winter und der Blick von der Terrasse ist immer noch schön. Heute morgen mal mit zugefrorener Spree.



]]></description>
			<content:encoded><![CDATA[<div align="center"><a href="http://gimpfoo.de/images/oberbaum-winter.jpg"><img src="http://gimpfoo.de/images/oberbaum-winter-small.jpg" alt="Und nochmal Oberbaum" /></a></div>
<p>Inzwischen ist&#8217;s Winter und der Blick von der Terrasse ist immer noch schön. Heute morgen mal mit zugefrorener Spree.</p>
<p><!--5156e639c013e3c8f88cb40a9e0e743f-->
</p>
<p><!--9d4402a5cce3b1dd597241d13c2676a2--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2006/01/10/18/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Oberbaum Herbstimpression</title>
		<link>http://gimpfoo.de/2005/11/08/oberbaum-herbstimpression/</link>
		<comments>http://gimpfoo.de/2005/11/08/oberbaum-herbstimpression/#comments</comments>
		<pubDate>Tue, 08 Nov 2005 15:37:47 +0000</pubDate>
		<dc:creator>Mitch</dc:creator>
		
		<category><![CDATA[german]]></category>

		<category><![CDATA[places]]></category>

		<guid isPermaLink="false">http://gimpfoo.de/?p=17</guid>
		<description><![CDATA[
Heute bei Sonnenuntergang war der Blick über Berlin wieder mal besonders sehenswert.



]]></description>
			<content:encoded><![CDATA[<div align="center"><a href="http://gimpfoo.de/images/oberbaum-herbstimpression.jpg"><img src="http://gimpfoo.de/images/oberbaum-herbstimpression-small.jpg" alt="Oberbaum Herbstimpression" /></a></div>
<p>Heute bei Sonnenuntergang war der Blick über Berlin wieder mal besonders sehenswert.</p>
<p><!--05733b6bc48728560608e82e3417ec7c-->
</p>
<p><!--7ae4a7a9ac3b0ca2a9388167ae40a636--></p>
]]></content:encoded>
			<wfw:commentRss>http://gimpfoo.de/2005/11/08/oberbaum-herbstimpression/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
