<?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>Yorba</title>
	<atom:link href="http://blog.yorba.org/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.yorba.org</link>
	<description></description>
	<lastBuildDate>Thu, 10 May 2012 18:59:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Shotwell 0.12.3 Released!</title>
		<link>http://blog.yorba.org/clinton/2012/05/shotwell-0-12-3-released.html</link>
		<comments>http://blog.yorba.org/clinton/2012/05/shotwell-0-12-3-released.html#comments</comments>
		<pubDate>Thu, 10 May 2012 18:48:28 +0000</pubDate>
		<dc:creator>clinton</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Shotwell]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[12]]></category>
		<category><![CDATA[freedom]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[shotwell]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=680</guid>
		<description><![CDATA[Good morning, one and all, It&#8217;s with joy and with pride, both in no small degree, That I get to announce oh-twelve dot three. Bugs have been squashed and fixes were made, Therefore, we suggest all users upgrade. You&#8217;ll like &#8230; <a href="http://blog.yorba.org/clinton/2012/05/shotwell-0-12-3-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Good morning, one and all,</p>
<p>It&#8217;s with joy and with pride, both in no small degree,<br />
That I get to announce oh-twelve dot three.</p>
<p>Bugs have been squashed and fixes were made,<br />
Therefore, we suggest all users upgrade.</p>
<p>You&#8217;ll like this if <a title="Enumerate common directories for AVCHD-capable cameras" href="http://redmine.yorba.org/issues/5160">your camera&#8217;s AVCHD</a>,<br />
And <a title="Inappropriate removal of tags under certain conditions" href="http://redmine.yorba.org/issues/5068">tags are safe now in your library</a>,</p>
<p>And with <a title="hang on autoenhance" href="http://redmine.yorba.org/issues/5087">dark images, if &#8216;enhance&#8217; you smash</a>,<br />
Or <a title="zoom using hotkeys" href="http://redmine.yorba.org/issues/5147">zoom using hotkeys</a>, it&#8217;ll no longer crash.</p>
<p>We hope this release brings you much joy and cheer;<br />
Please give it a go, get your copy here:</p>
<ul>
<li><a href="http://www.yorba.org/shotwell/">http://www.yorba.org/shotwell/</a> (tarball and instructions for building from source)</li>
<li><a href="https://launchpad.net/~yorba/+archive/ppa">https://launchpad.net/~yorba/+archive/ppa</a> (Ubuntu Oneiric Ocelot PPA)</li>
<li>Ubuntu Precise Pangolin users should receive this shortly through the daily update mechanism.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/clinton/2012/05/shotwell-0-12-3-released.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Geary 0.1 released</title>
		<link>http://blog.yorba.org/laura/2012/05/geary-0-1-released.html</link>
		<comments>http://blog.yorba.org/laura/2012/05/geary-0-1-released.html#comments</comments>
		<pubDate>Sat, 05 May 2012 01:28:39 +0000</pubDate>
		<dc:creator>Laura Khalil</dc:creator>
				<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=663</guid>
		<description><![CDATA[After a year of hard work, we&#8217;re thrilled to announce the release of Geary 0.1, a lightweight email reader for the GNOME desktop. Geary 0.1 includes the following features: Basic support for viewing and composing HTML email Send and receive &#8230; <a href="http://blog.yorba.org/laura/2012/05/geary-0-1-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.yorba.org/wp-content/uploads/2012/05/geary-screenshot-1.png"><img class="alignright size-medium wp-image-672" title="Geary main window" src="http://blog.yorba.org/wp-content/uploads/2012/05/geary-screenshot-1-300x195.png" alt="" width="300" height="195" /></a>After a year of hard work, we&#8217;re thrilled to announce the release of Geary 0.1, a lightweight email reader for the GNOME desktop.</p>
<p><strong>Geary 0.1 includes the following features:</strong></p>
<ul>
<li>Basic support for viewing and composing HTML email</li>
<li>Send and receive email</li>
<li>Reply to all and forward email</li>
<li>Optional spell checker</li>
<li>Keyboard shortcuts</li>
<li>Organizes emails into conversations</li>
</ul>
<p><a href="http://blog.yorba.org/wp-content/uploads/2012/05/geary-screenshot-2.png"><img class="alignright size-medium wp-image-671" title="Geary composer" src="http://blog.yorba.org/wp-content/uploads/2012/05/geary-screenshot-2-300x268.png" alt="" width="300" height="268" /></a>Geary supports Gmail and Yahoo! Mail. If you&#8217;d like to download Geary, you may <a href="http://yorba.org/download/geary/stable/geary-0.1.0.tar.xz">download the tarball</a>. Build instructions are available on our <a href="http://redmine.yorba.org/projects/geary/wiki">wiki</a>. For Ubuntu users, Geary will be available on the <a href="https://launchpad.net/%7Eyorba/+archive/ppa">Yorba PPA </a>shortly.</p>
<p>If you&#8217;d like to stay up to date with the latest in Geary, join <a href="http://lists.yorba.org/cgi-bin/mailman/listinfo/geary">Geary&#8217;s mailing list</a>.</p>
<p>Major props to the Geary team for all their hard work getting this release out the door. Give Geary a try. We&#8217;re still in the early days of Geary&#8217;s development, and there are lots more features to add, but we&#8217;d love your input, opinions and help slaying bugs!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/laura/2012/05/geary-0-1-released.html/feed</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Shotwell 0.12.2 Released!</title>
		<link>http://blog.yorba.org/clinton/2012/04/shotwell-0-12-2-released.html</link>
		<comments>http://blog.yorba.org/clinton/2012/04/shotwell-0-12-2-released.html#comments</comments>
		<pubDate>Wed, 11 Apr 2012 21:49:00 +0000</pubDate>
		<dc:creator>clinton</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Shotwell]]></category>
		<category><![CDATA[12]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[shotwell]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=631</guid>
		<description><![CDATA[Good afternoon, one and all, It&#8217;s my privilege to announce the release of Shotwell version 0.12.2.  Among the improvements: Improved handling of and robustness against corrupted tag data. Correction of a major UI glitch that could occur if the user &#8230; <a href="http://blog.yorba.org/clinton/2012/04/shotwell-0-12-2-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Good afternoon, one and all,</p>
<p>It&#8217;s my privilege to announce the release of Shotwell version 0.12.2.  Among the improvements:</p>
<ul>
<li>Improved handling of and robustness against corrupted tag data.</li>
<li>Correction of a major UI glitch that could occur if the user switched away from the camera page while the application was retrieving image thumbnails from the camera.</li>
<li>Various other bugfixes.</li>
</ul>
<p>A source tarball for the project is available from the Shotwell home page at:<br />
<a href="http://www.yorba.org/shotwell/" target="_blank">http://www.yorba.org/shotwell/</a></p>
<p>Binaries for Ubuntu Oneiric will be available shortly from Yorba’s Launchpad PPA at:<br />
<a href="https://launchpad.net/%7Eyorba/+archive/ppa" target="_blank">https://launchpad.net/~yorba/+<wbr>archive/ppa</wbr></a></p>
<p>For Ubuntu Precise users, this version should soon be made available automatically as part of the daily update process.</p>
<p>As always, thank you for using Shotwell, and if you have any questions or comments, please feel free to let us know.</p>
<p>Cheers,<br />
-c</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/clinton/2012/04/shotwell-0-12-2-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shotwell 0.13 to drop JPEG support</title>
		<link>http://blog.yorba.org/eric/2012/04/shotwell-0-13-to-become-a-lossless-only-photo-manager-drop-jpeg-support.html</link>
		<comments>http://blog.yorba.org/eric/2012/04/shotwell-0-13-to-become-a-lossless-only-photo-manager-drop-jpeg-support.html#comments</comments>
		<pubDate>Sun, 01 Apr 2012 07:44:26 +0000</pubDate>
		<dc:creator>Eric Gregory</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[lossless]]></category>
		<category><![CDATA[shotwell]]></category>
		<category><![CDATA[upconvert]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=640</guid>
		<description><![CDATA[Yorba announced today that Shotwell, their flagship photo organizer software, will become a lossless-only photo manager with the upcoming release of version 0.13. Lossless-only means support for legacy image formats such as JPEG will be dropped, a forward-looking move Yorba &#8230; <a href="http://blog.yorba.org/eric/2012/04/shotwell-0-13-to-become-a-lossless-only-photo-manager-drop-jpeg-support.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.yorba.org/wp-content/uploads/2012/04/jpeg-9.jpg"><img class="alignright size-medium wp-image-641" title="JPEG" src="http://blog.yorba.org/wp-content/uploads/2012/04/jpeg-9-300x187.jpg" alt="JPEG compression artifacts" width="300" height="187" /></a>Yorba announced today that Shotwell, their flagship photo organizer software, will become a lossless-only photo manager with the upcoming release of version 0.13.</p>
<p>Lossless-only means support for legacy image formats such as JPEG will be dropped, a forward-looking move Yorba founder Adam Dingle praised as &#8220;position[ing] Shotwell a generation ahead of competing photo management solutions.&#8221;</p>
<p>Upon installation, Shotwell 0.13 will upconvert the user&#8217;s existing JPEG image files to the lossless DNG format.</p>
<p>Users requiring additional space for their upconverted photos will be directed to a site where they may purchase a new hard drive.  A percentage of proceeds from these purchases will fund Shotwell development.</p>
<p>Yorba is confident that this is a positive step for photo management.</p>
<p>&#8220;Think of it this way,&#8221; said Shotwell lead developer Lucas Beeler, &#8220;If I bought a four terabyte hard drive but only used two terabytes, I&#8217;d be wasting half the drive.  Free space equals wasted money, which means Shotwell 0.13 users will get more out of their computers than they did with Shotwell 0.12.&#8221;</p>
<p>As Yorba&#8217;s Jim Nelson wrote on a blog post, &#8220;As a Gnome application, our goal is simplicity. Dropping support for legacy formats such as JPEG is one step toward that goal.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/eric/2012/04/shotwell-0-13-to-become-a-lossless-only-photo-manager-drop-jpeg-support.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Shotwell 0.12.1 Released!</title>
		<link>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-1-released.html</link>
		<comments>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-1-released.html#comments</comments>
		<pubDate>Thu, 29 Mar 2012 00:27:52 +0000</pubDate>
		<dc:creator>clinton</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Shotwell]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=637</guid>
		<description><![CDATA[Good evening, Yorba has just released Shotwell 0.12.1, a bug-fix release of our popular GNOME-based photo manager. This version fixes a critical issue in which the absence of a certain .ui file would cause the application to fail to launch &#8230; <a href="http://blog.yorba.org/clinton/2012/03/shotwell-0-12-1-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Good evening,</p>
<p>Yorba has just released Shotwell 0.12.1, a bug-fix release of our popular GNOME-based photo manager. This version fixes a critical issue in which the absence of a certain .ui file would cause the application to fail to launch in direct-edit mode.  We advise that all users upgrade as soon as possible.</p>
<p>Download a source tarball from the Shotwell home page at:<br />
<a href="http://www.yorba.org/shotwell/" target="_blank">http://www.yorba.org/shotwell/</a></p>
<p>Or grab a binary for Ubuntu Oneiric at Yorba’s Launchpad PPA:<a href="https://launchpad.net/%7Eyorba/+archive/ppa" target="_blank"></p>
<p>https://launchpad.net/~yorba/+<wbr>archive/ppa</wbr></a></p>
<p>For Ubuntu Precise users, this version should soon be made available automatically as part of the daily update process.</p>
<p>Apologies to those who encountered the missing .ui issue, and thank you for your continued interest in Shotwell!</p>
<p>Cheers,<br />
-c</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-1-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shotwell 0.12.0 Released!</title>
		<link>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-0-released.html</link>
		<comments>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-0-released.html#comments</comments>
		<pubDate>Wed, 28 Mar 2012 00:16:39 +0000</pubDate>
		<dc:creator>clinton</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Shotwell]]></category>
		<category><![CDATA[12]]></category>
		<category><![CDATA[major]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[shotwell]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=629</guid>
		<description><![CDATA[Good evening, one and all, It&#8217;s my pleasure to announce the release of Shotwell 0.12.0. This version represents several person months of hard work, saw us add our one-hundred-thousandth line of code, involved a quest that took our merry little &#8230; <a href="http://blog.yorba.org/clinton/2012/03/shotwell-0-12-0-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Good evening, one and all,</p>
<p>It&#8217;s my pleasure to announce the release of Shotwell 0.12.0. This version represents several person months of hard work, saw us add our <a href="http://blog.yorba.org/jim/2012/03/100000-line-question.html" target="_blank">one-hundred-thousandth line of code</a>, involved a quest that took our merry little band of adventurers<a title="Desktop Summit 2011" href="http://dot.kde.org/2010/07/30/desktop-summit-2011-announced" target="_blank"> half way around the world</a>, three new brave warriors joining our party, and the slaying of <a href="http://redmine.yorba.org/projects/shotwell/issues?set_filter=1&amp;f[]=status_id&amp;op[status_id]=c&amp;f[]=fixed_version_id&amp;op[fixed_version_id]=%3D&amp;v[fixed_version_id][]=14" target="_blank">many, many monsters</a>.  It&#8217;s now more stable than ever before, has a neat new <a title="One of the longest-aging bugs in Shotwell history." href="http://redmine.yorba.org/issues/61" target="_blank">straightening tool</a>, and, thanks to the watchful eyes, thorough bug reports and helpful suggestions of you, our userbase, it&#8217;s pure awesome (I admit there may be some bias on my part, but still&#8230;).</p>
<p>We&#8217;re proud of it, and on behalf of the team here, I sincerely hope you enjoy using it.</p>
<p>Cheers,<br />
-c</p>
<p>Download a source tarball from the Shotwell home page at:<br />
<a href="http://www.yorba.org/shotwell/" target="_blank">http://www.yorba.org/shotwell/</a></p>
<p>Or grab a binary for Ubuntu Oneiric at Yorba’s Launchpad PPA:<br />
<a href="https://launchpad.net/%7Eyorba/+archive/ppa" target="_blank">https://launchpad.net/~yorba/+<wbr>archive/ppa</wbr></a></p>
<p>Ubuntu Precise will ship with Shotwell 0.12.x pre-installed by default, so Precise users will be upgraded to Shotwell 0.12.0 automatically as part of their regular software update cycle.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/clinton/2012/03/shotwell-0-12-0-released.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Avoiding the association by hash map anti-pattern with GObject</title>
		<link>http://blog.yorba.org/eric/2012/03/avoiding-the-association-by-hash-map-anti-pattern-with-gobject.html</link>
		<comments>http://blog.yorba.org/eric/2012/03/avoiding-the-association-by-hash-map-anti-pattern-with-gobject.html#comments</comments>
		<pubDate>Fri, 23 Mar 2012 01:20:14 +0000</pubDate>
		<dc:creator>Eric Gregory</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[antipattern]]></category>
		<category><![CDATA[gobject]]></category>
		<category><![CDATA[vala]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=619</guid>
		<description><![CDATA[There&#8217;s a common anti-pattern in software design that I call &#8220;association by hash map.&#8221; Rather than explain this in words, let me illustrate it in Vala: HashMap&#60;MyClass, string&#62; name_map = new HashMap&#60;MyClass, string&#62;(); name_map.set(an_object, "Foo"); name_map.set(another_object, "Bar"); stdout.printf("an_object's name is &#8230; <a href="http://blog.yorba.org/eric/2012/03/avoiding-the-association-by-hash-map-anti-pattern-with-gobject.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a common <a href="http://en.wikipedia.org/wiki/Anti-pattern#Software_design_anti-patterns">anti-pattern in software design</a> that I call &#8220;association by hash map.&#8221; Rather than explain this in words, let me illustrate it in Vala:</p>
<pre>HashMap&lt;MyClass, string&gt; name_map =
    new HashMap&lt;MyClass, string&gt;();

name_map.set(an_object, "Foo");
name_map.set(another_object, "Bar");

stdout.printf("an_object's name is %s\n",
    name_map.get(an_object));</pre>
<p>&#8220;But wait,&#8221; you&#8217;re saying, &#8220;Couldn&#8217;t we just add a name field to MyClass and remove the hash map?&#8221;</p>
<p>YES! That is <em>exactly</em> what you should do &#8212; if you can.</p>
<p>But what if you can&#8217;t?  Adding a field isn&#8217;t always an option.  Perhaps MyClass is someone else&#8217;s API.  Or even if it&#8217;s contained entirely in your code, the name field might only make sense for a single use-case.  No reason to add an extra field to your class if it doesn&#8217;t truly belong there.</p>
<p>So what to do? Is there a better way? If your class is based on GObject, you&#8217;re in luck.</p>
<p>During a recent code review, Jim pointed out to me that GObject has methods for attaching arbitrary named data to an object.  In our example, we can use the simplest of these methods, <a href="http://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-set-data">gobject_set_data()</a> and <a href="http://developer.gnome.org/gobject/stable/gobject-The-Base-Object-Type.html#g-object-get-data">gobject_get_data()</a> which use simple key/value pairs.</p>
<pre>const string NAME_PROP = "name";

an_object.set_data(NAME_PROP, "Foo");
another_object.set_data(NAME_PROP, "Bar");

stdout.printf("an_object's name is %s\n",
    an_object.get_data(NAME_PROP));</pre>
<p>Isn&#8217;t that better?  No more extraneous hash maps, all the data is stored right in the object itself where it belongs.  And you didn&#8217;t even have to modify the class!</p>
<p>In closing, if you&#8217;ve dealt with the association by hash map pattern before you now know a way to avoid it with GObject.  And if you haven&#8217;t, I envy you.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/eric/2012/03/avoiding-the-association-by-hash-map-anti-pattern-with-gobject.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 100,000 line question</title>
		<link>http://blog.yorba.org/jim/2012/03/100000-line-question.html</link>
		<comments>http://blog.yorba.org/jim/2012/03/100000-line-question.html#comments</comments>
		<pubDate>Thu, 01 Mar 2012 23:09:45 +0000</pubDate>
		<dc:creator>Jim Nelson</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Shotwell]]></category>
		<category><![CDATA[colossal cave]]></category>
		<category><![CDATA[duff's device]]></category>
		<category><![CDATA[line count]]></category>
		<category><![CDATA[ohloh]]></category>
		<category><![CDATA[telestrations]]></category>
		<category><![CDATA[vala]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=558</guid>
		<description><![CDATA[Clinton Rogers (Yorba developer and all-pro Telestrations master) pointed out something interesting yesterday.  Ohloh now lists Shotwell as having achieved an odd milestone just ten days shy of its third birthday: Shotwell has reached 100,000 lines of code.  That number &#8230; <a href="http://blog.yorba.org/jim/2012/03/100000-line-question.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://flic.kr/p/cWLKe"><img class="alignright size-thumbnail wp-image-565" style="border: 2px solid black;" title="&quot;Taxes? Isn't this the line for Metallica?&quot;" src="http://blog.yorba.org/wp-content/uploads/2012/03/135168027_5871349520_z-150x150.jpg" alt="" width="150" height="150" /></a>Clinton Rogers (Yorba developer and all-pro <a href="http://usaopolygames.com/telestrations/">Telestrations</a> master) pointed out something interesting yesterday.  Ohloh now lists Shotwell as having achieved an odd milestone just ten days shy of its <a href="http://redmine.yorba.org/projects/shotwell/repository/revisions/3b70ad9d6461c58374289fedb324ba932eee78ba">third birthday</a>: <a href="https://www.ohloh.net/p/shotwell/analyses/latest">Shotwell has reached 100,000 lines of code</a>.  That number represents the work of 51 code contributors and 89 translators.  (It also represents blanks and comments &#8212; 100,000 lines of <em>pure</em> code is a ways off.)</p>
<p>It&#8217;s an odd milestone because there&#8217;s a rosy tradition in computer programming of honoring tight code and efficient algorithms.  The code placed on pedestals are not thousands of lines long, they&#8217;re short and sweet, like a witty joke or a clever haiku.  <a href="http://catb.org/jargon/html/D/Duffs-device.html">Duff&#8217;s Device</a> is my favorite example; you probably have your own.  (Tom Duff&#8217;s <a href="http://www.lysator.liu.se/c/duffs-device.html">history</a> of his Device is a great short read and offers a basketful of concise observations on code optimization.)</p>
<p>Which is why reaching the 100,000 mark makes me simultaneously proud and a little uncomfortable.  Shotwell has grown quite a bit in three years &#8212; but is it really doing the work of 100,000 lines of code?  Ur-spreadsheet VisiCalc was also <a href="http://books.google.com/books?id=c1QbNtTz4CYC&amp;pg=PA103&amp;lpg=PA103&amp;dq=visicalc+%22lines+of+code%22&amp;source=bl&amp;ots=UXr6X-GKXL&amp;sig=58XP3XNYOIIVC9ApqPDUicquGTc&amp;hl=en&amp;sa=X&amp;ei=U-JPT_z-MI2NigK494y0Bg&amp;ved=0CCYQ6AEwAQ#v=onepage&amp;q=visicalc%20%22lines%20of%20code%22&amp;f=false">100,000 lines of code</a>, pretty lean compared to the Macbeth that knocked it off its throne, Lotus 1-2-3 (clocking in at 400,000 lines).  Compare that to the original <a href="http://en.wikipedia.org/wiki/Colossal_Cave_Adventure">Colossal Cave</a> game, which was (gulp) 700 lines of FORTRAN and 700 lines of data.  It later grew to a whopping 4,800 lines of code and data that ran entirely in memory.  100,000 lines of code feels downright luxurious, even bourgeois, in comparison.</p>
<p>(I&#8217;m not claiming Shotwell should be placed alongside these landmarks.  It&#8217;s just interesting to consider what 100,000 lines of code represents.  I&#8217;m also aware that there&#8217;s a number of people who think line count is a misleading, or even useless, metric.  I do think lines of code provides some scale of complexity and size.  I&#8217;ve never seen a program grow in size and get simpler.)</p>
<p>There&#8217;s probably no reason to duck my head in shame.  Sure, there&#8217;s plenty of features we want to add and bugs we want to squash, but those 100,000 lines of code we have today are pulling a lot of collective weight.  They include the basic organizer, a nondestructive photo editor, a standalone image viewer (which also includes an editor), hierarchical tagging, stored searches, ten plug-ins, and plenty more.  Could we scrape away 1,000 lines of code and still have the same functionality?  Almost certainly.  10,000?  I can think of a few places where fat could be trimmed, but I don&#8217;t think it&#8217;s excessive.</p>
<p>Note that Ohloh is counting lines of <em>Vala</em> code, not the C generated by valac.  Although valac does not exactly produce sparse output, it&#8217;s worth mentioning that sloccount reports over 720,000 lines of C code generated by Vala.  If Vala is producing on average six times more C code than a competent human programmer (and I&#8217;m not asserting it does), that&#8217;s 120,000 extra lines.  Reducing that by the magic factor of six means Vala saved us from writing 20,000 lines of C code, a victory worth popping open a can of beer and celebrating over.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/jim/2012/03/100000-line-question.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://blog.yorba.org/laura/2012/01/hello-world.html</link>
		<comments>http://blog.yorba.org/laura/2012/01/hello-world.html#comments</comments>
		<pubDate>Tue, 03 Jan 2012 23:46:12 +0000</pubDate>
		<dc:creator>Laura Khalil</dc:creator>
				<category><![CDATA[Yorba]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=543</guid>
		<description><![CDATA[There&#8217;s nothing like starting a new year with a new job. This is officially Day One on the job (I&#8217;m counting yesterday as Day Zero) as Yorba&#8217;s production engineer. I wear quite a few hats here: I sit on the &#8230; <a href="http://blog.yorba.org/laura/2012/01/hello-world.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s nothing like starting a new year with a new job.</p>
<p>This is officially Day One on the job (I&#8217;m counting yesterday as Day Zero) as Yorba&#8217;s production engineer. I wear quite a few hats here: I sit on the front line of support and testing and also take care of the website, office matters and systems.</p>
<p>I am also the self-appointed director of happy hour.</p>
<p>I&#8217;ve known Adam for several years and it&#8217;s been very exciting to watch from the sidelines and see how Yorba has gone on build the most widely used photo manager on Ubuntu. It&#8217;s a real pleasure to be a part of the team and help contribute to these awesome products and the free desktop.</p>
<p>A little about me:</p>
<p>I&#8217;m a general purpose nerd. I&#8217;m an avid board game fan, I love pinball, can&#8217;t get enough of BSG and can solder a mean joint. San Francisco truly is a paradise for us geeks!</p>
<p>I dig communities. I&#8217;ve managed developer relations for software companies for the past several years and am BIG on making sure you guys and gals are having a good time with our products (or at least letting me know where it hurts).</p>
<p>So don&#8217;t be a stranger! I look forward to getting to know some of you, our users, in the coming weeks.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/laura/2012/01/hello-world.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Shotwell 0.11.6 Released!</title>
		<link>http://blog.yorba.org/lucas/2011/11/shotwell-0-11-6-released.html</link>
		<comments>http://blog.yorba.org/lucas/2011/11/shotwell-0-11-6-released.html#comments</comments>
		<pubDate>Fri, 04 Nov 2011 01:12:09 +0000</pubDate>
		<dc:creator>Lucas Beeler</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Shotwell]]></category>

		<guid isPermaLink="false">http://blog.yorba.org/?p=451</guid>
		<description><![CDATA[Yorba has just released Shotwell 0.11.6, a bug-fix release of our popular GNOME-based photo manager. This release fixes a critical bug in which adding or modifying tags in the single-photo view could result in the loss of tag data. We &#8230; <a href="http://blog.yorba.org/lucas/2011/11/shotwell-0-11-6-released.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yorba has just released Shotwell 0.11.6, a bug-fix release of our popular GNOME-based photo manager. This release fixes a critical bug in which adding or modifying tags in the single-photo view could result in the loss of tag data. We recommend that all users upgrade.</p>
<p>Download a source tarball from the Shotwell home page at:<br />
<a href="http://www.yorba.org/shotwell/" target="_blank">http://www.yorba.org/shotwell/</a></p>
<p>Or grab a binary for Ubuntu Natty at Yorba’s Launchpad PPA:<br />
<a href="https://launchpad.net/%7Eyorba/+archive/ppa" target="_blank">https://launchpad.net/~yorba/+<wbr>archive/ppa</wbr></a></p>
<p>Ubuntu Oneiric ships with Shotwell 0.11.x pre-installed. Oneiric users will be upgraded to Shotwell 0.11.6 automatically as part of their regular software update cycle.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.yorba.org/lucas/2011/11/shotwell-0-11-6-released.html/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
	</channel>
</rss>

