<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>tl.software &#187; Programming</title>
	<atom:link href="http://tlsoftware.wordpress.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://tlsoftware.wordpress.com</link>
	<description>A software engineer's view on software.</description>
	<lastBuildDate>Thu, 05 Apr 2007 02:05:51 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='tlsoftware.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/ee28475eb507304d2c6da8503eb2650a?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>tl.software &#187; Programming</title>
		<link>http://tlsoftware.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://tlsoftware.wordpress.com/osd.xml" title="tl.software" />
		<item>
		<title>Relationship Completer Icon Design</title>
		<link>http://tlsoftware.wordpress.com/2007/03/26/relationship-completer-icon-design/</link>
		<comments>http://tlsoftware.wordpress.com/2007/03/26/relationship-completer-icon-design/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 05:21:03 +0000</pubDate>
		<dc:creator>tl</dc:creator>
				<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://tlsoftware.wordpress.com/2007/03/26/relationship-completer-icon-design/</guid>
		<description><![CDATA[I&#8217;ve started designing possible icons for Relationship Completer.  I know an Address Book plug-in doesn&#8217;t exactly need an icon but I enjoy messing around with graphic design from time to time.  Here are a few of the front runners:

At the moment they all look a little too back-and-white or bland for my taste. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=23&subd=tlsoftware&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;ve started designing possible icons for Relationship Completer.  I know an Address Book plug-in doesn&#8217;t exactly need an icon but I enjoy messing around with graphic design from time to time.  Here are a few of the front runners:</p>
<p><img src='http://tlsoftware.files.wordpress.com/2007/03/test.png' alt='test.png' /><img src='http://tlsoftware.files.wordpress.com/2007/03/rc1.png' alt='rc1.png' /><img src='http://tlsoftware.files.wordpress.com/2007/03/rc2.png' alt='rc2.png' /></p>
<p>At the moment they all look a little too back-and-white or bland for my taste.  I&#8217;m sure I&#8217;ll come up with something I find suitable soon.  Any comments would be appreciated.</p>
<p>For those of you who are interested, I used the open-source vector graphics editor <a href="http://www.inkscape.org/">Inkscape</a> to create these icons.  Although the UI is very clunky (and doesn&#8217;t fit well in Mac OS X) it is still a great tool for creating simple vector icons like these.  I&#8217;ve never used any of the commercial editors out there so I have nothing to compare it with but it seems to fill my needs without any problems.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tlsoftware.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tlsoftware.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tlsoftware.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tlsoftware.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tlsoftware.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tlsoftware.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tlsoftware.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tlsoftware.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tlsoftware.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tlsoftware.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tlsoftware.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tlsoftware.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=23&subd=tlsoftware&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://tlsoftware.wordpress.com/2007/03/26/relationship-completer-icon-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d7909acfceec83a4dca5a94d4dfcc6c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tl</media:title>
		</media:content>

		<media:content url="http://tlsoftware.files.wordpress.com/2007/03/test.png" medium="image">
			<media:title type="html">test.png</media:title>
		</media:content>

		<media:content url="http://tlsoftware.files.wordpress.com/2007/03/rc1.png" medium="image">
			<media:title type="html">rc1.png</media:title>
		</media:content>

		<media:content url="http://tlsoftware.files.wordpress.com/2007/03/rc2.png" medium="image">
			<media:title type="html">rc2.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Adding Localization to Relationship Completer</title>
		<link>http://tlsoftware.wordpress.com/2007/03/04/adding-localization-to-relationship-completer/</link>
		<comments>http://tlsoftware.wordpress.com/2007/03/04/adding-localization-to-relationship-completer/#comments</comments>
		<pubDate>Mon, 05 Mar 2007 07:00:39 +0000</pubDate>
		<dc:creator>tl</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://tlsoftware.wordpress.com/2007/03/04/adding-localization-to-relationship-completer/</guid>
		<description><![CDATA[I spent a fair amount of time today trying to figure out how to add multi-langauge support to my Address Book plug-in Relationship Completer.  This adventure was started when a few users requested a German version of the plug-in.  After reading Apple&#8217;s documentation on the matter it seemed like a fairly easy task. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=18&subd=tlsoftware&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I spent a fair amount of time today trying to figure out how to add multi-langauge support to my Address Book plug-in <a href="http://tlsoftware.wordpress.com/software/">Relationship Completer</a>.  This adventure was started when a few users requested a German version of the plug-in.  After reading Apple&#8217;s documentation on the matter it seemed like a fairly easy task.  My first try, however, didn&#8217;t work.  Either did my second, third, or fourth.<span id="more-18"></span></p>
<p>I soon found myself turning to Google.  Obviously someone has had the same problem as me.  Indeed they have.  I found this <a href="http://lists.apple.com/archives/carbon-development/2004/Aug/msg00029.html">thread</a> discussing the same problem I was having.  The question that I needed the answer to was asked:</p>
<blockquote><p>Does CFCopyLocalizedString(&#8230;) work with plugins or applications? Or doesn&#8217;t it matter?</p></blockquote>
<p>I had been trying to force CFCopyLocalizedString to work in my plug-in all day.  I tired everything I could think of.  Luckily, someone answered with this:</p>
<blockquote><p>
Definitely with applications, but indeed you probably need to specify the bundle if you&#8217;re a plug-in. In that case I&#8217;d use something like the following:</p>
<p>#define CopyMyLocalizedString(key) \<br />
CFBundleCopyLocalizedString(MyGetBundle(), (key), (key), NULL)
</p></blockquote>
<p>Ah-ha.  I hadn&#8217;t thought of that.  All the documentation I was reading from Apple was pertaining to <em>applications</em>.  When you use CFCopyLocalizedString in an application things are as simple as I tried the first time.  However, for plug-ins things get a little complicated.  When my plug-in calls CFCopyLocalizedString it is doing so as its parent (Address Book).  That means it is using Address Book&#8217;s bundle and my strings aren&#8217;t in Address Book&#8217;s bundle&#8230; they are in mine.  Therefore I would have to use CFBundleCopyLocalizedString.</p>
<p>The solution however simply uses MyGetBundle() as a generic call to get the plug-in&#8217;s bundle.  I still didn&#8217;t know how to do that.  A few minutes of searching through Apple&#8217;s documentation and I finally had the complete answer.  In order to get my plug-in&#8217;s bundle I had to call CFBundleGetBundleWithIdentifier, passing it in my plug-in&#8217;s identifier.  An example call to get the translation of &#8220;Relationship Completer&#8221; can now be made like:<br />
<code><br />
CFBundleCopyLocalizedString(CFBundleGetBundleWithIdentifier(CFSTR("com.tl.software.relationshipcompleter")), CFSTR("Relationship Completer"), CFSTR("Relationship Completer"), NULL);<br />
</code></p>
<p>Of course I put this in a nice tidy macro and I can now finish making Relationship Completer support multiple langauges.  That being said:  If anyone would like to help translate Relationship Completer (to any language) please leave a comment, I will get it touch with you and provide the list of strings that need translation.  I am sure others will thank you for your effort.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tlsoftware.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tlsoftware.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tlsoftware.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tlsoftware.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tlsoftware.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tlsoftware.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tlsoftware.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tlsoftware.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tlsoftware.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tlsoftware.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tlsoftware.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tlsoftware.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=18&subd=tlsoftware&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://tlsoftware.wordpress.com/2007/03/04/adding-localization-to-relationship-completer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d7909acfceec83a4dca5a94d4dfcc6c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tl</media:title>
		</media:content>
	</item>
		<item>
		<title>Install Debian Linux on Buffalo LinkStation Pro NAS Device</title>
		<link>http://tlsoftware.wordpress.com/2007/02/26/install-debian-linux-on-buffalo-linkstation-pro-nas-device/</link>
		<comments>http://tlsoftware.wordpress.com/2007/02/26/install-debian-linux-on-buffalo-linkstation-pro-nas-device/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 03:40:03 +0000</pubDate>
		<dc:creator>tl</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://tlsoftware.wordpress.com/2007/02/26/install-debian-linux-on-buffalo-linkstation-pro-nas-device/</guid>
		<description><![CDATA[Today my Buffalo LinkStation Pro &#8482; arrived.  The first thing I did after opening up the box was install Debian on it.  This was a pretty straightforward experience thanks to the guys at the LinkStationWiki.  I followed the instructions here and didn&#8217;t have any problems at all.  
I&#8217;m hoping this will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=17&subd=tlsoftware&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today my <a href="http://buffalotech.com/products/network-storage/linkstation/linkstation-pro/">Buffalo LinkStation Pro &trade;</a> arrived.  The first thing I did after opening up the box was install <a href="http://www.debian.org/">Debian</a> on it.  This was a pretty straightforward experience thanks to the guys at the <a href="http://linkstationwiki.net/">LinkStationWiki</a>.  I followed the instructions <a href="http://linkstationwiki.net/index.php?title=FreeLink_for_the_Linkstation_Pro">here</a> and didn&#8217;t have any problems at all.<span id="more-17"></span>  </p>
<p>I&#8217;m hoping this will make a nice, little, cheap (I got my 250 GB model for $170), and quiet version control and defect tracking server (among other things &#8211; it&#8217;s running linux afterall).  A couple of years ago I ditched my linux desktop machine in favor of an iMac G5.  I wouldn&#8217;t ever dream of switching back since the Mac is a dream but it is nice to have a linux machine at home again.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tlsoftware.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tlsoftware.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tlsoftware.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tlsoftware.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tlsoftware.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tlsoftware.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tlsoftware.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tlsoftware.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tlsoftware.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tlsoftware.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tlsoftware.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tlsoftware.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=17&subd=tlsoftware&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://tlsoftware.wordpress.com/2007/02/26/install-debian-linux-on-buffalo-linkstation-pro-nas-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d7909acfceec83a4dca5a94d4dfcc6c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tl</media:title>
		</media:content>
	</item>
		<item>
		<title>CVS Dependency</title>
		<link>http://tlsoftware.wordpress.com/2007/02/15/cvs-dependency/</link>
		<comments>http://tlsoftware.wordpress.com/2007/02/15/cvs-dependency/#comments</comments>
		<pubDate>Fri, 16 Feb 2007 03:29:30 +0000</pubDate>
		<dc:creator>tl</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://tlsoftware.wordpress.com/2007/02/15/cvs-dependency/</guid>
		<description><![CDATA[When my work&#8217;s CVS server went down earlier this week (due to a hardware failure) I quickly learned how dependent on CVS I really am.  This is not a bad thing; in fact I think it&#8217;s a Good Thing &#8482;.  The server was down for less than 24 hours but I was definitely [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=8&subd=tlsoftware&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>When my work&#8217;s CVS server went down earlier this week (due to a hardware failure) I quickly learned how dependent on CVS I really am.  This is not a bad thing; in fact I think it&#8217;s a Good Thing &trade;.  The server was down for less than 24 hours but I was definitely going through withdrawals.</p>
<p>I have officially added CVS (or whatever source control software I happen to be using) to my list of &#8220;things I can&#8217;t imagine living without&#8221;.  This is an ever growing list which already contains: my car, my cell phone, my iPod, and my wife.</p>
<p>CVS related links:</p>
<ul>
<li>
<a href="http://www.tortoisecvs.org/">TortoiseCVS</a> &#8211; my favorite Windows CVS client
</li>
<li>
<a href="http://www.amazon.com/Pragmatic-Version-Control-Using-CVS/dp/0974514004/sr=8-2/qid=1171595607/ref=pd_bbs_sr_2/002-7956346-8212048?ie=UTF8&amp;s=books">Pragmatic Version Control Using CVS</a> &#8211; a good book on using and managing CVS
</li>
<li>
<a href="http://www.nongnu.org/cvs/">Official CVS web page</a>
</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/tlsoftware.wordpress.com/8/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/tlsoftware.wordpress.com/8/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/tlsoftware.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/tlsoftware.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/tlsoftware.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/tlsoftware.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/tlsoftware.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/tlsoftware.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/tlsoftware.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/tlsoftware.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/tlsoftware.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/tlsoftware.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=tlsoftware.wordpress.com&blog=779534&post=8&subd=tlsoftware&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://tlsoftware.wordpress.com/2007/02/15/cvs-dependency/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d7909acfceec83a4dca5a94d4dfcc6c2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">tl</media:title>
		</media:content>
	</item>
	</channel>
</rss>