<?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>You can imagine where it goes from here. &#187; Linux</title>
	<atom:link href="http://www.kgarner.com/blog/archives/category/geek/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kgarner.com/blog</link>
	<description>Keith&#039;s attempts to fix the cable of life</description>
	<lastBuildDate>Sun, 01 Jan 2012 20:27:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Thanks, Steve</title>
		<link>http://www.kgarner.com/blog/archives/2011/10/05/thanks-steve/</link>
		<comments>http://www.kgarner.com/blog/archives/2011/10/05/thanks-steve/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 01:43:10 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Omphaloskepsis]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Apple TV]]></category>
		<category><![CDATA[Dinah]]></category>
		<category><![CDATA[Doom]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[mac mini]]></category>
		<category><![CDATA[NeXT]]></category>
		<category><![CDATA[Pixar]]></category>
		<category><![CDATA[RIP]]></category>
		<category><![CDATA[Steve Jobs]]></category>
		<category><![CDATA[Time Capsule]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=2259</guid>
		<description><![CDATA[Steve Jobs passed away today at age 56 after a battle with cancer.  Here&#8217;s a few random thoughts&#8230; On this day, I own a buttload of Apple gear: iPhone, iPod, iPad, MacBook Pro, Apple TV, Apple TV 2, Time Capsule, Mac Mini&#8230; I&#8217;m planning on getting an iPhone 4S as soon as possible. I was [...]]]></description>
			<content:encoded><![CDATA[<p>Steve Jobs passed away today at age 56 after a battle with cancer.  Here&#8217;s a few random thoughts&#8230;</p>
<p>On this day, I own a buttload of Apple gear: iPhone, iPod, iPad, MacBook Pro, Apple TV, Apple TV 2, Time Capsule, Mac Mini&#8230; I&#8217;m planning on getting an iPhone 4S as soon as possible.</p>
<p>I was (and am) a big open source dork at heart, but Apple&#8217;s simplicity and ease of use, especially the past 7 years really spoke to the pragmatic side of me.  It turned me into a fan boy, I guess.  It didn&#8217;t hurt that OS X is NeXTStep is UNIX&#8230; I touch OS X and Linux every day.</p>
<p>One of Dinah&#8217;s first words was iPod which she taught herself so she could ask me to turn on music for her.</p>
<p>In college, I loved using the <a href="http://en.wikipedia.org/wiki/NeXT">NeXT</a> computers we had. My first class in college used <a href="http://en.wikipedia.org/wiki/Scheme_(programming_language)">scheme</a> on the NeXT&#8217;s. The NeXT is one of the first places I played Doom.  I took calculus using Mathematica on the Mac in college.</p>
<p>Steve also touched my kids&#8217; lives via Pixar. (Okay, my life too, I saw Toy Story in the theater first run, long before I had kids.) Also through their first computer, a Mac Mini.</p>
<p>There were too other public figures who&#8217;s lives and deaths touched me the way Steve&#8217;s passing is touching me today: Jim Henson and Fred Rodgers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2011/10/05/thanks-steve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Things that are fun, but shouldn&#8217;t be</title>
		<link>http://www.kgarner.com/blog/archives/2010/10/22/things-that-are-fun-but-shouldnt-be/</link>
		<comments>http://www.kgarner.com/blog/archives/2010/10/22/things-that-are-fun-but-shouldnt-be/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 04:36:02 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Omphaloskepsis]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Beer]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=920</guid>
		<description><![CDATA[The server that this blog lives on has switched in the past two hours.  I share a co-op box with 9 people, but I&#8217;m one of the two admins.  You know, I really get a kick out of admining still, which is probably a sign of mental illness.  But the admin fuel, er, beer helps. [...]]]></description>
			<content:encoded><![CDATA[<p>The server that this blog lives on has switched in the past two hours.  I share a co-op box with 9 people, but I&#8217;m one of the two admins.  You know, I really get a kick out of admining still, which is probably a sign of mental illness.  But the admin fuel, er, beer helps.</p>
<p>In any case, this point was to share that something that shouldn&#8217;t at all be fun is, but also to test to see if the blog migrated okay. <img src='http://www.kgarner.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-920' />   If you notice anything weird, please let me know.  But if its broken, you probably can&#8217;t let me know, and i&#8217;ll live in blissful ignorance.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2010/10/22/things-that-are-fun-but-shouldnt-be/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tivo2Podcast update</title>
		<link>http://www.kgarner.com/blog/archives/2010/03/14/tivo2podcast-update/</link>
		<comments>http://www.kgarner.com/blog/archives/2010/03/14/tivo2podcast-update/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 18:41:37 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TiVo2Podcast]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[bonjour]]></category>
		<category><![CDATA[dns-sd]]></category>
		<category><![CDATA[encap]]></category>
		<category><![CDATA[mdns]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[stow]]></category>
		<category><![CDATA[tivo]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=842</guid>
		<description><![CDATA[I&#8217;ve made a few updates since my last release a few weeks ago. I thought I&#8217;d toss an updated version out there.  What&#8217;s new in this version: Duration is no longer hard-coded to 32:00 and actually reflects the duration of the show The script will attempt to find the TiVo via Bonjour/mDNS/ZeroConf/DNS-SD/whatever unless passed a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made a few updates since my <a href="http://www.kgarner.com/blog/archives/2010/03/04/tivo-video-podcast/">last release</a> a few weeks ago.  I thought I&#8217;d toss an updated version out there.  What&#8217;s new in this version:</p>
<ul>
<li>Duration is no longer hard-coded to 32:00 and actually reflects the duration of the show</li>
<li>The script will attempt to find the TiVo via <a href="http://en.wikipedia.org/wiki/Bonjour_%28software%29">Bonjour</a>/<a href="http://www.multicastdns.org/">mDNS</a>/ZeroConf/<a href="http://www.dns-sd.org/">DNS-SD</a>/whatever unless passed a -t flag with the TiVo&#8217;s IP address. If you have more than one TiVo, it will go with the first one it finds.</li>
<li>Moved the stuff in <code>lib</code> to <code>lib/tivo</code> so the package is more easier sucked in by something like <a href="http://encap.org/">encap</a> or <a href="http://www.gnu.org/software/stow/">stow</a></li>
</ul>
<p>Download: <a href="http://www.kgarner.com/blog/wp-content/tivoscripts-20100314.tar.gz">tivoscripts-20100314.tar.gz</a></p>
<p>When I get some motivation later in the week, I&#8217;ll put the git archive online, incase anyone wants to clone it and do some development on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2010/03/14/tivo2podcast-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TiVo -&gt; Video Podcast</title>
		<link>http://www.kgarner.com/blog/archives/2010/03/04/tivo-video-podcast/</link>
		<comments>http://www.kgarner.com/blog/archives/2010/03/04/tivo-video-podcast/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 05:15:23 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Podcasts]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[TiVo2Podcast]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[AtomicParsley]]></category>
		<category><![CDATA[HandBrake]]></category>
		<category><![CDATA[placeshifting]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[tivo]]></category>
		<category><![CDATA[tivodecode]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=832</guid>
		<description><![CDATA[Previously on &#8220;You can imagine where it goes from here&#8221;: We released a script to download stuff from the tivo, and then made some improvements to it. After two years of saying I was going to fully automate the process of downloading and transcoding shows for my iPhone, I finally got off my ass and [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Previously on &#8220;You can imagine where it goes from here&#8221;:</strong> We <a href="http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/">released a script to download stuff from the tivo</a>, and then <a href="http://www.kgarner.com/blog/archives/2008/03/20/place-shifting-action-3-revenge-of-the-sith/">made some improvements to it</a>.</p>
<p>After two years of saying I was going to fully automate the process of downloading and transcoding shows for my iPhone, I finally got off my ass and did it.  The script is called TiVo2Podcast and it not only does the downloading and transcoding, but it stuffs the resultant video into a an RSS feed for easy consumption/playback by a podcatcher such as iTunes.  I&#8217;m now automatically getting the shows off my TiVo and onto my iPhone for easy commute-time consumption.  (I commute by train, I do not recommend commute-time consumption if you are driving.)</p>
<p>The ruby script wraps <a href="http://tivodecode.sourceforge.net/">tivodecode</a>, <a href="http://handbrake.fr/">HandbrakeCLI</a>, and <a href="http://atomicparsley.sourceforge.net/">AtomicParsley</a> and is intended to be run from cron.  I&#8217;ve tested this on Linux, but it should run on any UNIX-alike, but it won&#8217;t run on windows since I make liberal use of the <code>system()</code> call.  Also, this is intended for PERSONAL USE ONLY, do not set up podcast feeds and violate the ethics (and also the laws) of copyright left and right.</p>
<p>This is a very early version and can certainly use some tweaks and enhancements, primarily in configuring the shows you want to capture.  Right now, configuration is in the form of doing INSERT statements in SQLite.  Not very friendly, but it gets the job done until I can make a quick and dirty question based TUI.  Here&#8217;s an example of setting up getting the best fucking news team on the planet:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p832code2'); return false;">View Code</a> SQL</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p8322"><td class="code" id="p832code2"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">insert</span> <span style="color: #993333; font-weight: bold;">into</span> configs <span style="color: #66cc66;">&#40;</span>config_name<span style="color: #66cc66;">,</span> show_name<span style="color: #66cc66;">,</span> rss_filename<span style="color: #66cc66;">,</span> rss_link<span style="color: #66cc66;">,</span>
                     rss_baseurl<span style="color: #66cc66;">,</span> rss_ownername<span style="color: #66cc66;">,</span> rss_owneremail<span style="color: #66cc66;">,</span> ep_to_keep<span style="color: #66cc66;">,</span> encode_decomb<span style="color: #66cc66;">&#41;</span>
            <span style="color: #993333; font-weight: bold;">values</span> <span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'tds'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'The Daily Show'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'tds.xml'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'http://www.thedailyshow.com/'</span><span style="color: #66cc66;">,</span> 
                    <span style="color: #ff0000;">'http://example.com/podcasts/'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'Keith T. Garner'</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">'kgarner@example.com'</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">,</span> <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>Download <a href="http://www.kgarner.com/blog/wp-content/tivoscripts-20100304.tar.gz">tivoscripts-20100304.tar.gz</a> and let me know what you think.  Make sure you read the README!</p>
<p>[<strong>Update 3/5:</strong> <em>Forgot to add that all the code I wrote is under the <a href="http://en.wikipedia.org/wiki/BSD_licenses#2-clause_license_.28.22Simplified_BSD_License.22_or_.22FreeBSD_License.22.29">Simplified BSD License</a>, so have at it.</em>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2010/03/04/tivo-video-podcast/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux nostalgia</title>
		<link>http://www.kgarner.com/blog/archives/2009/04/26/linux-nostalgia/</link>
		<comments>http://www.kgarner.com/blog/archives/2009/04/26/linux-nostalgia/#comments</comments>
		<pubDate>Sun, 26 Apr 2009 15:36:05 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[nostalgia]]></category>
		<category><![CDATA[slashdot]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=690</guid>
		<description><![CDATA[There is a question/thread over at slashdot titled What did you first do with Linux? Rather than copy my reply here, I&#8217;ll just put a link to my reply to that subject.  I did have (and I mentioned it in the post) a get off my lawn moment when writing it.  A fun walk down [...]]]></description>
			<content:encoded><![CDATA[<p>There is a question/thread over at <a href="http://slashdot.org/">slashdot</a> titled <a href="http://ask.slashdot.org/article.pl?sid=09/04/25/0243253">What did you first do with Linux?</a> Rather than copy my reply here, I&#8217;ll just put a <a href="http://ask.slashdot.org/comments.pl?sid=1211395&amp;threshold=2&amp;commentsort=0&amp;mode=nested&amp;cid=27721245">link to my reply</a> to that subject.  I did have (and I mentioned it in the post) a get off my lawn moment when writing it.  A fun walk down memory lane, and reading the rest of the comments on slashdot shows you how relatively early I was to the game.</p>
<p>It also makes me want to link to <a href="http://www.kgarner.com/Linux/annes_post.html">Anne&#8217;s idea of the best to learn Linux</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2009/04/26/linux-nostalgia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Guess I know what I&#8217;m doing in two weeks&#8230;</title>
		<link>http://www.kgarner.com/blog/archives/2008/10/18/guess-i-know-what-im-doing-in-two-weeks/</link>
		<comments>http://www.kgarner.com/blog/archives/2008/10/18/guess-i-know-what-im-doing-in-two-weeks/#comments</comments>
		<pubDate>Sat, 18 Oct 2008 19:17:45 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=591</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript" src="http://www.ubuntu.com/files/countdown/display2.js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2008/10/18/guess-i-know-what-im-doing-in-two-weeks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Truth in comics</title>
		<link>http://www.kgarner.com/blog/archives/2008/07/30/truth-in-comics/</link>
		<comments>http://www.kgarner.com/blog/archives/2008/07/30/truth-in-comics/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 14:48:49 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Comics]]></category>
		<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[xkcd]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=537</guid>
		<description><![CDATA[I love xkcd and its geeky geeky ways.  It often captures things I&#8217;ve lived and/or seen.  Today&#8217;s is one I have lived and seen lived. This reminds me of a post on usenet my friend Anne made in 1998.  To quote: So I am left not bitter just tired of this whole meeting people, emotional [...]]]></description>
			<content:encoded><![CDATA[<p>I love <a href="http://xkcd.com/">xkcd</a> and its geeky geeky ways.  It often captures things I&#8217;ve lived and/or seen.  Today&#8217;s is one I have lived and seen lived.</p>
<p><a href="http://xkcd.com/456/"><img class="alignnone colorbox-537" title="This really is a true story, and she doesnt know I put it in my comic because her wifi hasnt worked for weeks." src="http://imgs.xkcd.com/comics/cautionary.png" alt="" width="665" height="277" /></a></p>
<p>This reminds me of a <a href="http://www.kgarner.com/Linux/annes_post.html">post on usenet my friend Anne made in 1998</a>.  To quote:</p>
<blockquote><p>So I am left not bitter just tired of this whole meeting people, emotional ties, finding a compatible person and then having them yank away.</p>
<p>It is just an emptiness right now.</p>
<p>From what I have observed from my male friends, though, this is exactly the climate required to learn Linux. Without a full and happy lovelife or distraction of soft lips and a reason to kiss them, there is enough room to grasp the intricacies and nuances of such a fine operating system.</p>
<p>It has already begun to happen. As I walk down the street I am not thinking of emptiness, kising, nathan or any other previous SO&#8217;s, I am thinking of penguins, rm -rf / and lilo.</p>
<p>I am already convinved that linux will dull the pain better than heroin.</p></blockquote>
<p>I still loves me some linux hardcore, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2008/07/30/truth-in-comics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sunday fun</title>
		<link>http://www.kgarner.com/blog/archives/2008/05/11/sunday-fun/</link>
		<comments>http://www.kgarner.com/blog/archives/2008/05/11/sunday-fun/#comments</comments>
		<pubDate>Sun, 11 May 2008 23:11:25 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[lvm]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=471</guid>
		<description><![CDATA[Shutdown &#60;install new/replacement disk&#62; fdisk mkswap umount /boot dd e2fsck &#38;&#38; resize2fs mount -o remount,ro / dd e2fsck &#38;&#38; resize2fs mount -o remount,rw / pvcreate vgextend pvmove (wait a long long long time for 174 GB, especially with disk read errors, to move) vgreduce shutdown remove old and busted, put new hotness in as primary [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Shutdown</li>
<li>&lt;install new/replacement disk&gt;</li>
<li>fdisk</li>
<li>mkswap</li>
<li>umount /boot</li>
<li>dd</li>
<li>e2fsck &amp;&amp; resize2fs</li>
<li>mount -o remount,ro /</li>
<li>dd</li>
<li>e2fsck &amp;&amp; resize2fs</li>
<li>mount -o remount,rw /</li>
<li>pvcreate</li>
<li>vgextend</li>
<li>pvmove (wait a long long long time for 174 GB, especially with disk read errors, to move)</li>
<li>vgreduce</li>
<li>shutdown</li>
<li>remove old and busted, put new hotness in as primary disk</li>
<li>boot into rescue disk</li>
<li>mount / /usr</li>
<li>grub-install /dev/hda1</li>
<li>ms-sys -m /dev/hda</li>
<li>vi /etc/fstab</li>
<li>shutdown -r now</li>
<li>Party like its 1999 or, if you like assembler better:   GGB</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2008/05/11/sunday-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Place shifting action 3: Revenge of the Sith</title>
		<link>http://www.kgarner.com/blog/archives/2008/03/20/place-shifting-action-3-revenge-of-the-sith/</link>
		<comments>http://www.kgarner.com/blog/archives/2008/03/20/place-shifting-action-3-revenge-of-the-sith/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 19:40:37 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2008/03/20/place-shifting-action-3-revenge-of-the-sith/</guid>
		<description><![CDATA[Previously I put out an early version of my ruby based command line oriented tivo download script. I&#8217;ve had a patch from MARK NOTARUS to make the menu have some more options and I&#8217;m using Console::ProgressBar from facets now. It works well enough for my needs, but let me know if you hit any roadblocks. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="colorbox-450"  src="http://www.kgarner.com/blog/wp-content/uploads/2007/11/tivo.thumbnail.jpg" alt="tivo.jpg" align="right" hspace="5" vspace="5" /><a href="http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/">Previously</a> I put out an early version of my ruby based command line oriented tivo download script.</p>
<p>I&#8217;ve had a patch from MARK NOTARUS to make the menu have some more options and I&#8217;m using Console::ProgressBar from <a href="http://facets.rubyforge.org/">facets</a> now.</p>
<p>It works well enough for my needs, but let me know if you hit any roadblocks.  Just as a reminder, my target was to download stuff off my tivo on one of my headless Linux boxes for batch encoding for my iPhone and/or PSP.</p>
<p>Download <a href="http://www.kgarner.com/code/tivo-ruby-0.2.tar.gz">tivo-ruby-0.2.tar.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2008/03/20/place-shifting-action-3-revenge-of-the-sith/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Folgers</title>
		<link>http://www.kgarner.com/blog/archives/2008/02/09/folgers/</link>
		<comments>http://www.kgarner.com/blog/archives/2008/02/09/folgers/#comments</comments>
		<pubDate>Sat, 09 Feb 2008 14:38:19 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2008/02/09/folgers/</guid>
		<description><![CDATA[We&#8217;ve replaced our firewall with DD-WRT on Linksys crystals.  Let&#8217;s see if anyone notices&#8230;]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve replaced our firewall with <a href="http://dd-wrt.com/">DD-WRT</a> on Linksys crystals.  Let&#8217;s see if anyone notices&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2008/02/09/folgers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Place shifting action 2</title>
		<link>http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/</link>
		<comments>http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/#comments</comments>
		<pubDate>Thu, 15 Nov 2007 23:50:15 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/</guid>
		<description><![CDATA[I&#8217;ve been working on a command-line oriented TiVo2Go downloader so I can automate getting items off my tivo, or at least do it when I&#8217;m on the road via ssh (and then kick off that other script&#8230;)  I&#8217;ve written a quick and dirty TiVo library, and a sample script called TiVo2Disk which uses the library. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="colorbox-337"  src="http://www.kgarner.com/blog/wp-content/uploads/2007/11/tivo.thumbnail.jpg" title="tivo.jpg" alt="tivo.jpg" align="right" />I&#8217;ve been working on a command-line oriented TiVo2Go downloader so I can automate getting items off my tivo, or at least do it when I&#8217;m on the road via ssh (and then kick off that other script&#8230;)  I&#8217;ve written a quick and dirty TiVo library, and a sample script called TiVo2Disk which uses the library.</p>
<p>On its own, the TiVo library stuff I whipped up will just download the content from the TiVo still locked up in TiVo&#8217;s DRM.  If you pair it with tivodecode (like the sample script does) you can get the video as an MPEG-2 stream.  Beware, HD content is HUGE.</p>
<p>I&#8217;ve only tested with my Series 3, and I&#8217;ve run it under both OS X and Linux, but it should work on any .  The UI on the sample script is pretty bad, but its an early version.  I&#8217;m interested in an feedback, patches, etc anyone might have.  I still need to do some rdoc as well.</p>
<p>This works for me, but I&#8217;d like it to be more useful for more people.   In any case, feel free to checkout <a href="http://www.kgarner.com/code/tivo-ruby-0.1.tar.gz">tivo-ruby-0.1.tar.gz</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2007/11/15/place-shifting-action-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CMake so far</title>
		<link>http://www.kgarner.com/blog/archives/2007/03/27/cmake-so-far/</link>
		<comments>http://www.kgarner.com/blog/archives/2007/03/27/cmake-so-far/#comments</comments>
		<pubDate>Tue, 27 Mar 2007 16:10:07 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2007/03/27/cmake-so-far/</guid>
		<description><![CDATA[I&#8217;ve been investigating cmake at work as a better build system for our cross platform C based projects. I&#8217;m thinking about starting up a third one, so now is the prefect time to really go after this as for one project we have a build system per platform and on the other we have two [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been investigating <a href="http://www.cmake.org/">cmake</a> at work as a better build system for our cross platform C based projects.  I&#8217;m thinking about starting up a third one, so now is the prefect time to really go after this as for one project we have a build system per platform and on the other we have two build systems.  When you mix in wanting to make universal binaries on OS X its yet another wrinkle.  cmake was recently chosen by KDE to be the <a href="https://lwn.net/Articles/188693/">build system for KDE4</a> since KDE4 will be fully supporting Windows and OS X, as well as the other unicies via X.  I used a small convenience library as the test piece as it was only two files big, but it had the requirement of at least two external libraries.</p>
<p>Some pros for cmake that I&#8217;ve found so far (compared to what we&#8217;ve been doing):</p>
<ul>
<li>support a big number of build environments on the different platforms.  On windows it sports 11 different build environments, OS X 3, and Linux 2.  For OS X and Linux, you only really need those two or three, but on windows it supports 4 different versions of visual studio as well as Borland, Watcom, and gcc.</li>
<li>Takes care of the flags needed to build executables and libraries on those supported platforms.</li>
<li>Does out of source builds on windows.</li>
<li>Tracks dependences on all platforms without an external application</li>
<li>Does search and replacing on things like .in files without having to call out to external applications</li>
</ul>
<p>Some cons I&#8217;ve found so far:</p>
<ul>
<li>The <a href="http://cmake.org/HTML/Documentation.html">documentation on the web page</a> is pretty horrid.  <a href="http://www.kitware.com/products/cmakebook.html">The book</a> is pretty bad too, especially when compared to other technical books I&#8217;ve read recently, but its much better than the website.  When combined with the book and experimentation, the <a href="http://www.kitware.com/products/cmakebook.html">FAQ</a> is helpful.</li>
<li><a href="http://www.cmake.org/Wiki/CMake_FAQ#Does_CMake_support_.22convenience.22_libraries.3F">Doesn&#8217;t really have the concept of convenience libraries.</a>  This will result in common files being built multiple times.  I don&#8217;t like this, but its not fatal.</li>
<li>The CMakeCache is getting in my way more than being a help, but that might be the side effect of my learning process right now.</li>
<li>I haven&#8217;t yet figured out how to make it query the person compiling the app if it can&#8217;t find something.  This may not be possible.  At the very least I want to make it bitch and bomb out if a required dependency isn&#8217;t there.  I just haven&#8217;t found it yet, I&#8217;m thinking.</li>
</ul>
<p>This isn&#8217;t an exhaustive review yet, but I wanted to get down what was in my mind before I forgot.  I had just found the convenience library thing and that&#8217;s what inspired the post.  My next step is to move a full existing project over to being built with cmake.  This is a library that depends on <a href="http://expat.sourceforge.net/">expat</a>, <a href="http://boost.org/">boost</a>, <a href="http://curl.haxx.se/">curl</a>, <a href="http://www.antlr.org/">antlr</a>, and (optionally) <a href="http://www.swig.org/">swig</a>.  Should be a good challenge.</p>
<p>[<strong>Update 11:58</strong>: <em>I found an answer to my "<a href="http://tools.devchannel.org/devtoolschannel/04/03/14/0252233.shtml?tid=46">bomb out if the dependencies are missing</a>" question.  Thanks, devchannel!</em>]</p>
<p>[<strong>Update 2:51:</strong>  <em>No this isn't here just for g0ff.  Turns out the latest cmake has modules to Find Java, Doxygen, Boost, Curl, Expat, and Swig already.  It looks like just custom items for antlr and cppunit will be needed.  Also, it only ever wants to link against dynamic libraries, not static ones.  That's a PITA.</em>]</p>
<p>[<strong>Update 5:52</strong>: <em>Okay, the convenience library thing is upsetting.  The output of what I was working on is a static library and there are same example command line tools that link against it.  From my reading of the cmake stuff, I should just include the library source files to the target for the executables being created.  The problem with this is for <strong>n</strong> example programs, I'm compiling librets <strong>n</strong> times.  This doesn't seem very optimal.]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2007/03/27/cmake-so-far/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OS X moving unix forward</title>
		<link>http://www.kgarner.com/blog/archives/2006/06/30/os-x-moving-unix-forward/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/06/30/os-x-moving-unix-forward/#comments</comments>
		<pubDate>Fri, 30 Jun 2006 16:59:39 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/06/30/os-x-moving-unix-forward/</guid>
		<description><![CDATA[For every stupid hard coded Steve Jobism in OS X1, there&#8217;s some really awesome unix extentions I&#8217;d like to see elsewhere.&#160; The big one for me today has to do with DNS handling. I&#8217;ve been playing with OpenVPN to get access to my network at home.&#160; Since I have a MacBook Pro from work, that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>For every stupid hard coded Steve Jobism in OS X<sup>1</sup>, there&#8217;s some really awesome unix extentions I&#8217;d like to see elsewhere.&nbsp; The big one for me today has to do with DNS handling.</p>
<p>I&#8217;ve been playing with <a href="http://openvpn.net/">OpenVPN</a>  to get access to my network at home.&nbsp; Since I have a MacBook Pro from work, that&#8217;s been my end point client.&nbsp; I&#8217;ve been using <a href="http://www.tunnelblick.net/">Tunnelblick</a>  as my OpenVPN client to connect to OpenVPN server on my linux box (installed via <a href="http://dag.wieers.com/home-made/apt/">DAG&#8217;s RPM</a>  repository.)&nbsp; One thing that bugged me was how to get DNS so I can see my internal home DNS without breaking access to work&#8217;s internal DNS.&nbsp; If I was using a linux laptop, I think my solution would have to do with running a local instance of named with some wacked out config to do caching only and refer to different DNS servers.&nbsp; Hardly dynamic and a giant PITA to get going.</p>
<p>I was curious about how to make this go though, and what general solutions people had when I came across a post by Mike Erdely titled <a href="http://erdelynet.com/tech/mac-os-x/openvpn-dns-os-x/">OpenVPN + DNS + OS X</a>.&nbsp; That is exactly what I wanted to do!&nbsp; As a bonus he&#8217;s even using Tunnelblick.</p>
<p>Mike shows how OS X&#8217;s DNS resolver uses an <code>/etc/resolver</code> directory to get additional per-domain configuration information, as opposed to the blanket <code>/etc/resolve.conf</code> that unix users have come to know.&nbsp; To get the mac to resolve kgarner.com using my doman&#8217;s internal DNS server I just need to create <code>/etc/resolver/kgarner.com</code> and put <code>nameserver 192.168.1.10</code> inside of it.&nbsp; This directs OS X&#8217;s resolver to ask 192.168.1.10 for any kgarner.com query.&nbsp; He also shows how to flush OS X&#8217;s DNS cache via <code>lookupd</code> so if I had hit any of my public kgarner.com IPs the resolver will send me to the private ip instead of the public one i&#8217;ve already hit.&nbsp; There&#8217;s also two simple scripts that you can integrate with OpenVPN to add and remove the <code>/etc/resolver</code> entry as needed.</p>
<p>The fact that OS X&#8217;s resolver will check for entries <code>/etc/resolver</code> first is the type of smart unix extentions I&#8217;d like to see more of.&nbsp; There&#8217;s no reason Linux&#8217;s resolver can&#8217;t be doing something like this.&nbsp; It would make VPNs easier to implement, and doesn&#8217;t seem to be that hard to add to the resolver code.</p>
<p>Other examples of OS X moving stuff forward is the <code>init</code>/<code>cron</code>/<code>at</code> all in one <code>launchd</code>.&nbsp; I&#8217;m slowly starting to agree that <code>init</code>, <code>cron</code>, and <code>at</code> are all sides of the same coin.&nbsp; Don&#8217;t get me wrong, <a href="http://www.dribin.org/dave/blog/archives/2006/04/17/delicious_backup_launchd/"><code>launchd</code> has some issues</a>, but the idea is a step in the right direction, especially for machines that will sleep.&nbsp; A lot of what OS X has done to make unix better is especially for mobile sleep-capable devices like laptops.</p>
<p><font size="1"><sup>1</sup> Ask MARK for a laundry list of them&#8230;&nbsp; <img src='http://www.kgarner.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-251' /> &nbsp;</font></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/06/30/os-x-moving-unix-forward/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>color grep</title>
		<link>http://www.kgarner.com/blog/archives/2006/05/23/color-grep/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/05/23/color-grep/#comments</comments>
		<pubDate>Tue, 23 May 2006 17:32:54 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/05/23/color-grep/</guid>
		<description><![CDATA[Every once in awhile I come across a feature of a piece of software, generally, a small utility that I hadn&#8217;t known about and that shows immediate value.&#160; Today Jon showed me the --color flag for GNU grep.&#160; It uses color to highlight the term you were searching for in the line returned.&#160; For example: [...]]]></description>
			<content:encoded><![CDATA[<p>Every once in awhile I come across a feature of a piece of software, generally, a small utility that I hadn&#8217;t known about and that shows immediate value.&nbsp; Today Jon showed me the <code>--color</code> flag for GNU grep.&nbsp; It uses color to highlight the term you were searching for in the line returned.&nbsp; For example:</p>
<blockquote>
<p>#&nbsp;grep &#8211;color=auto -i metadata todo.txt<br />
<font color="#ff0000">Metadata</font> Functions to Move:<br />
&nbsp;&nbsp;&nbsp;<font color="#ff0000">Metadata</font>View&#8230;Make sure only our indexed items are passed up.</p>
</blockquote>
<p>Its a very simple thing, but one of those that I&#8217;m surpised I haven&#8217;t been using.&nbsp; I know have a shell aliases for that.&nbsp; See the grep documentation for more information.</p>
<p>[<strong>Update 6/2:</strong> <em><a href="http://www.linux.com/">linux.com</a>  has a great article on <a href="http://www.linux.com/article.pl?sid=06/05/19/1920231">GNU grep's new features</a>  which talks about the color.&nbsp; One that I'm particularly expected about is the ability to use Perl-style regular expressions.</em>]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/05/23/color-grep/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Concatenate PDFs</title>
		<link>http://www.kgarner.com/blog/archives/2006/05/03/concatenate-pdfs/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/05/03/concatenate-pdfs/#comments</comments>
		<pubDate>Wed, 03 May 2006 19:09:47 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/05/03/concatenate-pdfs/</guid>
		<description><![CDATA[I often like to print out many web pages to read on the train.&#160; To not waste paper I like to print them 2 up and double sided.&#160; If the printer supports it, I also like to staple the pages.&#160; On Linux, I use Firefox to print to postscript, then used a2ps to have the [...]]]></description>
			<content:encoded><![CDATA[<p>I often like to print out many web pages to read on the train.&nbsp; To not waste paper I like to print them 2 up and double sided.&nbsp; If the printer supports it, I also like to staple the pages.&nbsp; On Linux, I use Firefox to print to postscript, then used <a href="http://www.inf.enst.fr/~demaille/">a2ps</a>  to have the PS files combined, 2-uped, and short-side duplexed.&nbsp; I&#8217;d then manually staple it, as there was no good way to tell the print center at work to staple it.&nbsp; I&#8217;d use a command line similar to this:</p>
<blockquote>
<p><code>a2ps -Eps -Afill -stumble 1.ps 2.ps 3.ps 4.ps</code></p>
</blockquote>
<p>I tried this approach under OS X, but the problem is that the postscript that is generated on OS X is so detailed that it takes forever to process to print out, on the order of 2 minutes of processing per article.&nbsp; Since PDF is the spooling format for printing in OS X (<a href="http://www.linux.com/article.pl?sid=06/04/18/2114252">coming soon to linux</a>) I thought I&#8217;d look to see if there was an easy way to concatinate PDF files so I could then have the regular printing interface (via Preview) handle the 2-up, double-sided, stapling goodness.</p>
<p>After much searching around I found <a href="http://www.macosxhints.com/article.php?story=20020714102702896">this article</a>  and later <a href="http://ansuz.sooke.bc.ca/software/pdf-append.php">this web page</a>.&nbsp; Combining a bit from both, I came up with following that works really well in my few days of testing.</p>
<blockquote>
<p><code>texexec --pdf --paper=letter --pdfarrange --result all.pdf 1.pdf 2.pdf 3.pdf 4.pdf</code></p>
</blockquote>
<p>It runs really quickly (especially in comparison to the a2ps method) and then I just <code>open all.pdf</code> and print from there.&nbsp; It requires that you have <a href="http://www.tug.org/tetex/">teTeX</a>  installed.&nbsp; On both Linux and OS X I had this installed as part of the prerequesets for <a href="http://www.docbook.org/">docbook</a>  and <a href="http://www.stack.nl/~dimitri/doxygen/">doxygen</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/05/03/concatenate-pdfs/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Things we have relearned today</title>
		<link>http://www.kgarner.com/blog/archives/2006/01/18/things-we-have-relearned-today/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/01/18/things-we-have-relearned-today/#comments</comments>
		<pubDate>Wed, 18 Jan 2006 06:28:11 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/01/18/things-we-have-relearned-today/</guid>
		<description><![CDATA[Regular backups are your friend. Also, if you can&#8217;t normally back something up (i.e. data in open ldap&#8217;s backend) do a regular dump and back that up. rsync/unison/scp data off your co-loc to a local machine, and back it up again, just for good measure. The new drive is the drive most likely to die [...]]]></description>
			<content:encoded><![CDATA[<p>Regular backups are your friend.  Also, if you can&#8217;t normally back something up (i.e. data in open ldap&#8217;s backend) do a regular dump and back that up.</p>
<p>rsync/unison/scp data off your co-loc to a local machine, and back it up again, just for good measure.</p>
<p>The new drive is the drive most likely to die first.</p>
<p>Losing <code>/var</code> really fucking sucks.</p>
<p>Recreating most of the information in ldap out of mail logs is cool, though.</p>
<p>Drinking doesn&#8217;t solve sysadmin nightmares, but it makes you feel good while you&#8217;re having the nightmare.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/01/18/things-we-have-relearned-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really Slick Screensavers for FC4</title>
		<link>http://www.kgarner.com/blog/archives/2006/01/08/really-slick-screensavers-for-fc4/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/01/08/really-slick-screensavers-for-fc4/#comments</comments>
		<pubDate>Sun, 08 Jan 2006 20:02:32 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/01/08/really-slick-screensavers-for-fc4/</guid>
		<description><![CDATA[For those who haven&#8217;t seen them, the Really Slick Screensavers they really are some nice eye candy. A number of years ago, Tugrul Galatali ported them to Linux, primarily for use with XScreenSaver. I&#8217;ve been pretty busy the past few months, so I was living without the RSS on my desktop since my move to [...]]]></description>
			<content:encoded><![CDATA[<p>For those who haven&#8217;t seen them, the <a href="http://www.reallyslick.com/">Really Slick Screensavers</a> they really are some nice eye candy.  A number of years ago, <a href="http://rss-glx.sourceforge.net/">Tugrul Galatali ported them to Linux</a>, primarily for use with <a href="http://www.jwz.org/xscreensaver/">XScreenSaver</a>.</p>
<p>I&#8217;ve been pretty busy the past few months, so I was living without the RSS on my desktop since my move to FC4.  I finally had some time to kill today, so I went about to get them up and running, and in RPM form.  Since last time I installed them (version 0.7.4) Tugrul updated them to version 0.8.0.  The spec file I used needed to be updated to match 0.8.0, to fix a small bug in the 0.8.0 build system, and account for differences in FC4.  After a few moments of screwing around, I&#8217;ve got a spec file that works, a patch that works, and a built rpm.</p>
<p>This spec file is by no means perfect, as I&#8217;ve been learning how to build spec files on the fly, but it&#8217;ll work in most cases.  I haven&#8217;t loaded it up with BuildRequires, but if you&#8217;ve got a modern desktop like GNOME or KDE installed and their devel packages, you should be in good shape.</p>
<p>I have to give credit to who originally put the spec file together, but I forget who that was.  I&#8217;m fairly certain I got it from Tugrul&#8217;s page, but I can&#8217;t seem to find it again.</p>
<ul>
<li><a href="http://www.kgarner.com/blog/ktg-files/rss_glx.spec">rss_glx.spec</a></li>
<li><a href="http://www.kgarner.com/blog/ktg-files/rss-glx-0.8.0-1.fc4.src.rpm">rss-glx-0.8.0-1.fc4.src.rpm</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/01/08/really-slick-screensavers-for-fc4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LEAP</title>
		<link>http://www.kgarner.com/blog/archives/2006/01/01/leap/</link>
		<comments>http://www.kgarner.com/blog/archives/2006/01/01/leap/#comments</comments>
		<pubDate>Mon, 02 Jan 2006 01:51:00 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2006/01/01/leap/</guid>
		<description><![CDATA[Jan 1 18:00:00 lithium kernel: Clock: inserting leap second 23:59:60 UTC]]></description>
			<content:encoded><![CDATA[<p><code>Jan  1 18:00:00 lithium kernel: Clock: inserting leap second 23:59:60 UTC</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2006/01/01/leap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>self-made HAL and iPod problem on FC4</title>
		<link>http://www.kgarner.com/blog/archives/2005/12/18/self-made-hal-and-ipod-problem-on-fc4/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/12/18/self-made-hal-and-ipod-problem-on-fc4/#comments</comments>
		<pubDate>Sun, 18 Dec 2005 20:43:30 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=201</guid>
		<description><![CDATA[This was originally going to be a post bitching about how much of a pain in the ass FC4 had been for me when compared to its older brother, FC3. However, it turns out the problem I was having that almost sent me back to FC3 was of my own doing. When FC3 first came [...]]]></description>
			<content:encoded><![CDATA[<p>This was originally going to be a post bitching about how much of a pain in the ass FC4 had been for me when compared to its older brother, FC3.  However, it turns out the problem I was having that almost sent me back to FC3 was of my own doing.</p>
<p>When FC3 first came out, it didn&#8217;t have support for Firewire built into its kernel, so I&#8217;ve been hand compiling a kernel since then so I could use my iPod.  When I installed FC4, I just used my .config and built a kernel for FC4.  This was the source of my undoing and of losing a few hours debugging.</p>
<p>The show stopper that almost sent me back to FC3 was that I couldn&#8217;t get my Firewire based iPod working with FC4.  I couldn&#8217;t find any reports of this problem, so I figured it had to be something unique to me.  I finally found <a href="http://lists.freedesktop.org/archives/hal/2005-November/003995.html">this</a> <a href="http://lists.freedesktop.org/archives/hal/2005-November/004005.html">series</a> of posts from the HAL mailing list.  This pointed out that it was a kernel problem.</p>
<p>I rebooted and dropped back to the latest Fedora-supplied kernel and lo-and-behold, it worked.  So, it turns out that the way Firewire reports that device type in the kernel changed for the iPod.  Its become more specific, which is not a problem, but it introduced a new type that the current version of HAL that comes with FC4 was unaware of.</p>
<p>The kernel used to report the iPod as (emphasis mine):</p>
<blockquote>
<pre><code>Vendor: Apple     Model: iPod              Rev: 1.53
Type:   <strong>Direct-Access</strong>                      ANSI SCSI revision: 02</code></pre>
</blockquote>
<p>It now reports it as:</p>
<blockquote>
<pre><code>Vendor: Apple     Model: iPod              Rev: 1.53
Type:   <strong>Direct-Access-RBC</strong>                  ANSI SCSI revision: 02</code></pre>
</blockquote>
<p>To fix this, I took the patch from <a href="http://lists.freedesktop.org/archives/hal/2005-November/003995.html">that first post I linked to above</a> and the hal src rpm from FC4, and merged them together and rebuilt.  Boom, it works as it should.  I&#8217;ve put a <a href="http://www.kgarner.com/blog/wp-content/hal.spec.diff">diff of my changes to hal.spec</a> up, in case anyone else wants to redo this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/12/18/self-made-hal-and-ipod-problem-on-fc4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH files that can bite you in the ass</title>
		<link>http://www.kgarner.com/blog/archives/2005/10/26/ssh-files-that-can-bite-you-in-the-ass/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/10/26/ssh-files-that-can-bite-you-in-the-ass/#comments</comments>
		<pubDate>Wed, 26 Oct 2005 18:50:56 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=189</guid>
		<description><![CDATA[Today, I learned about the existence of ~/.ssh/rc and some of its side effects. Today, Dave couldn&#8217;t figure out why he was unable to launch an X application from a machine with both use. We both started looking into it, and it looked like xauth wasn&#8217;t being called to update the .Xauthority file. We spent [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I learned about the existence of <code>~/.ssh/rc</code> and some of its side effects.</p>
<p>Today, Dave couldn&#8217;t figure out why he was unable to launch an X application from a machine with both use.  We both started looking into it, and it looked like <code>xauth</code> wasn&#8217;t being called to update the <code>.Xauthority</code> file.  We spent a good half hour or more looking around trying to figure out if it was a bug in OpenSSH on his mac, or one on the Linux server, if <code>xauth</code> was wonky, or what other small differences there were between his server side environment and mine.</p>
<p>During the search I found <a href="http://lists.debian.org/debian-user/2004/07/msg02291.html">this post</a> on a Debian mailing list.  It was a red herring as it had us investigating a few dead ends.  However, it did point out to my mind the existence of the <code>~/.ssh/rc</code> file.  Up until this point, I didn&#8217;t know of this files existence.  Anyway, while looking in <code>~dave/.ssh/</code> I saw he had such a file.</p>
<p>To quote from the man page:</p>
<blockquote><p><code>     $HOME/.ssh/rc<br />
             Commands in this file are executed by ssh when the user logs in<br />
             just before the user’s shell (or command) is started.  See the<br />
             sshd(8) manual page for more information.</code></p></blockquote>
<p>There was an emacs backup file (<code>rc~</code>) there, which I looked into.  At one time Dave used it to set a <code>umask</code> for all his connections that came in via ssh.  For whatever reason, he must have decided that was not doing what he wanted, so he removed the <code>umask</code> line, but didn&#8217;t remove the file.  Because the file existed, <code>ssh</code> was trying to execute the commands in it, and since there was nothing in it, <code>ssh</code> did nothing and dumped him to a shell.</p>
<p>From the behavior of <code>ssh</code>, it appears there is a &#8220;default&#8221; <code>rc</code> that happens if you don&#8217;t have one or one doesn&#8217;t exist in <code>/etc/ssh</code>.  One of the tasks of this default includes calling <code>xauth</code> if you&#8217;re doing X11 forwarding.  By having an empty file there, Dave was bypassing all of it.  I haven&#8217;t taken the time to see what other side effects came about from that, but there must not have been much, as Dave hadn&#8217;t noticed it since last April (at least according to the mod time on the rc file.)</p>
<p>Dave just IMed me and told me to look at the <code>sshd</code> man page and see the following:</p>
<blockquote><p><code>When a user successfully logs in, sshd does the following:</code><br />
[snip]<br />
<code>           8.   If $HOME/.ssh/rc exists, runs it; else if /etc/ssh/sshrc<br />
                exists, runs it; otherwise runs xauth.  The “rc” files are<br />
                given the X11 authentication protocol and cookie in standard<br />
                input.</code></p></blockquote>
<p>One other thing we learned in this is that <code>xauth</code> is dumb dumb stupid.  <code>xauth</code> won&#8217;t create a <code>.Xauthority</code> file if there is nothing to put into it, such as when you call &#8220;<code>xauth list</code>&#8221; when a file doesn&#8217;t exist.  However, if you do an &#8220;<code>xauth list</code>&#8221; and you don&#8217;t have a <code>.Xauthority</code> file, <code>xauth</code> spits out a diagnostic message saying its creating it.  In reality, it doesn&#8217;t really create the file.  Bad coding on someone&#8217;s part.  This wasted us time, as we though it was <code>xauth</code> that was broken, not Dave&#8217;s ssh environment.  One could argue that <code>xauth</code> <strong>IS</strong> broken by demonstrating this behavior, but that&#8217;s a different rant.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/10/26/ssh-files-that-can-bite-you-in-the-ass/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What thunderbird needs to replace mutt for me</title>
		<link>http://www.kgarner.com/blog/archives/2005/08/08/what-thunderbird-needs-to-replace-mutt-for-me/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/08/08/what-thunderbird-needs-to-replace-mutt-for-me/#comments</comments>
		<pubDate>Tue, 09 Aug 2005 02:04:42 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=176</guid>
		<description><![CDATA[I still mostly use mutt for my personal mail. The times I&#8217;m not using mutt, I&#8217;m not at an ssh capable terminal and end up using SquirrelMail, but that&#8217;s only in times of emergency. Anyway, I was inspired to write these thoughts down after an IRC conversation with Ari. However, at work I&#8217;ve switched over [...]]]></description>
			<content:encoded><![CDATA[<p>I still mostly use <a href="http://mutt.org/">mutt</a> for my personal mail.  The times I&#8217;m not using mutt, I&#8217;m not at an ssh capable terminal and end up using <a href="http://www.squirrelmail.org/">SquirrelMail</a>, but that&#8217;s only in times of emergency.  Anyway, I was inspired to write these thoughts down after an IRC conversation with Ari.</p>
<p>However, at work I&#8217;ve switched over to using <a href="http://www.mozilla.org/products/thunderbird/">Thunderbird</a>.  I like the offline folder stuff that Thunderbird does, and I recently found a silly extension that just cracks me up: the <a href="http://www.cweiske.de/misc_extensions.htm#dispMUA/">Display Mail User Agent</a> extension.  In general, Thunderbird does what I want, but I find myself missing a few features from mutt that I really wish was there.</p>
<ul>
<li><strong>The ability to arbitrarily attach other mail messages.</strong>  In mutt, I can tag a bunch of messages and do a tag-forward and they are all attached to the forwarded mail.  Also, from the compose menu in mutt you can do a shift-A aka <code>attach-message</code> navigate to a mailbox, tag messages, and quit back to the compose mail, and they are attached.  For the life of me, in thunderbird, I cannot figure out how to attach a message, much less a whole thread, to an arbitrary mail.  I can forward a piece of mail as an attachment, but I cannot forward n>1 messages.  I often send interesting threads from mailing lists to friends and co-workers and this crimps my style.</li>
<li><strong>The ability to do a reply to multiple messages and have them all quoted.</strong>  Similar to the above situation, I can tag multiple messages in mutt and do a tag-reply or tag-group-reply.  This feature quotes all the tagged messages as well as add all the appropriate people to the recipient list, for tag-reply this is the senders of the original mail, for tag-group-reply this is everyone who was listed as a recipient in any of the mails as well as the senders.  While I don&#8217;t often use it to hit people scatter shot, I do often tag-reply to one person, when appropriate, if they have send me multiple messages in the time its taken me to get back to them.</li>
<li><strong>Custom e-mail headers.</strong>  This one is purely for amusement value and is nothing that would keep me on mutt over anything else.  But it is fun, and I do have a lot defined.  In any typical mail you might see something like this if you look at the headers:<br />
<blockquote><p>X-If-I-Knew-Better-I-Would-Not-Be-Running: Linux 2.6.12  i686<br />
X-Time-Married: 3 years, 11 months, 14 days, 4 hours, 21 minutes, 42 seconds<br />
X-Dinah-Lives: 1 year, 3 months, 21 hours, 38 minutes, 42 seconds<br />
X-Uptime: 20:48:42  up 222 days, 28 min,  5 users,  load average: 0.01, 0.07, 0.07<br />
X-The-Amount-Of-Stuff-In-My-Inbox: 92</p></blockquote>
<p>They are all silly, but they keep me entertained, and no one really sees them.  However, every once in a blue moon I really give someone a chuckle.</li>
</ul>
<p>Another feature that would be nice to see in thunderbird doesn&#8217;t come from mutt but from Apple Mail in OS X.  This isn&#8217;t a make or break thing since I&#8217;m not used to it, but it is a nifty feature I admire.</p>
<ul>
<li><strong>The ability to multiple select mailboxes and have them mingled and threaded properly in message header/index pane.</strong>  Apple Mail does this, and its very slick.  Its another one of those features you don&#8217;t use all the time, but it would be often enough to make it worth while.  Being able to select INBOX, Sent, and a mailing list would be nice to see the some threads properly threaded all the way through when searching for a message.</li>
</ul>
<p>Hopefully someone has already written extensions to do this and I just need to be pointed in the right direction.  If not, I&#8217;ve considered writing some of them myself, but I lack the knowledge of XUL and other technologies I would need.  Anyone know any good HOWTOs to get me started?  (Oh, and a device to stop time so I have time to actually work on it?)</p>
<p>[<strong>Update 8/16:</strong> This is a mad knowledge bomb from Mark via IRC:</p>
<blockquote><p>15:06 &lt;spruance&gt; hey, keith<br />
15:06 &lt;spruance&gt; thunderbird can already forward an arbitrary number of messages<br />
15:06 &lt;spruance&gt; drag those messages to the "send" area of your compose window and they'll be attached<br />
15:06 &lt;spruance&gt; grab a thread handle to take the whole thread<br />
15:07 &lt;spruance&gt; Similarly, you can highlight more than one message and right click and choose "foward as attachment"</p></blockquote>
<p>Well, the arbitrary forwarding works, I just must never have multiply selected images.  However, under Fedora Core 3, with Thunderbird 1.0.6-1.1.fc3 (20050720) the dragging the message into the compose/address aread doesn't work.  The attachment box opens, but no messages are attached.  Mark reports this works on Mac and Windows.  Damn Linux.]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/08/08/what-thunderbird-needs-to-replace-mutt-for-me/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ezRETS</title>
		<link>http://www.kgarner.com/blog/archives/2005/06/24/ezrets/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/06/24/ezrets/#comments</comments>
		<pubDate>Fri, 24 Jun 2005 21:00:01 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=168</guid>
		<description><![CDATA[I normally try to avoid posting about work, as that way often leads to being fired or other unpleasentness. However, I think its okay in this case. I&#8217;m really excited about our beta release of ezRETS an ODBC driver for RETS data sources. This has been one of the coolest projects I&#8217;ve worked on for [...]]]></description>
			<content:encoded><![CDATA[<p>I normally try to avoid posting about work, as that way often leads to being fired or other unpleasentness.  However, I think its okay in this case.</p>
<p>I&#8217;m really excited about our <a href="http://mail.crt.realtors.org/pipermail/ezrets-users/2005-June/000029.html">beta release</a> of <a href="http://www.crt.realtors.org/projects/rets/ezrets/">ezRETS</a> an ODBC driver for RETS data sources.  This has been one of the coolest projects I&#8217;ve worked on for a long time.</p>
<p>We just put out the windows binary today, but the source is available via <a href="http://subversion.tigris.org/">subversion</a> and if you can build it, it&#8217;ll run under Linux or Windows.  OS X to follow.  We will probably get out a source release next week, we just didn&#8217;t have time this week.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/06/24/ezrets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trip to Museum of Science and Industry, Part II: Game On</title>
		<link>http://www.kgarner.com/blog/archives/2005/06/23/msi-gameon/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/06/23/msi-gameon/#comments</comments>
		<pubDate>Fri, 24 Jun 2005 03:27:44 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/?p=164</guid>
		<description><![CDATA[Last Friday, Sarah and I went to Chicago&#8217;s Museum of Science and Industry to see the Body Worlds and Game On exhibits. Read about Body Worlds in Part I. &#8212; One of the other things that drew us to the museum was the Game On exhibit. Unfortunately, you couldn&#8217;t take pictures with a flash or [...]]]></description>
			<content:encoded><![CDATA[<p>Last Friday, Sarah and I went to Chicago&#8217;s <a href="http://msichicago.org/">Museum of Science and Industry</a> to see the <a href="http://www.bodyworlds.com/">Body Worlds</a> and <a href="http://www.msichicago.org/gameon/">Game On</a> exhibits.  Read about Body Worlds in <a href=" http://www.kgarner.com/blog/archives/2005/06/20/msi-bodyworlds/">Part I</a>.</p>
<p>&#8212;</p>
<p><a href="http://gallery.kgarner.com/MSI/2005_06_17_11_59_31" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_11_59_31.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a> <a href="http://gallery.kgarner.com/MSI/2005_06_17_12_05_56" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_12_05_56.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a></p>
<p>One of the other things that drew us to the museum was the Game On exhibit.  Unfortunately, you couldn&#8217;t take pictures with a flash or tripod, so my images from it are a bit blurry.</p>
<p>In any case, it was a nice walk down memory lane, and it had a few things in it I&#8217;ve read about and never seen.  They had an original Pong machine.  You could play Pong, just not on the original cabinet.  They had recreated/reconstituted guts set up in a different case.  I assume it was to protect the original machine.</p>
<p>The coolest piece of history was a PDP-1.  Of course, it wasn&#8217;t running, but it was sitting there and they had some information on Spacewar.  If you don&#8217;t know about Spacewar you can read <a href="http://www.wheels.org/spacewar/creative/SpacewarOrigin.html">The origin of Spacewar</a> on-line or <a href="http://www.amazon.com/exec/obidos/ASIN/0141000511/102-0015234-6328936">Hackers: Heroes of the Computer Revolution by Steven Levy</a></p>
<p>They also had a MAME machine set up with controls a good distance from the display projected on the wall.  It was a pretty sweet setup, I may have to get one for home.  The MAME machine was supposed to be running <a href="http://www.dribin.org/dave/">Dave&#8217;s</a> <a href="http://www.dribin.org/dave/game_launcher/">Game Launcher</a> front end for emulators.  Unfortunately, the controls weren&#8217;t responding, so I couldn&#8217;t verify.  Dave said other people he knows have gone there and verified its Game Launcher.  I&#8217;m sorry I missed it.</p>
<p>There was a small section on console companies that released products that let you write your own games.  Nintendo apparently released such a kit in Japan.  However, as part of this display was the <a href="http://playstation2-linux.com/">Linux for the Playstation2</a> kit that Sony put out.  As a Linux geek, I was surprised to see it.  It was also fun to see something I own in a museum.</p>
<p><a href="http://gallery.kgarner.com/MSI/2005_06_17_12_18_51" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_12_18_51.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a> <a href="http://gallery.kgarner.com/MSI/2005_06_17_12_22_17" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_12_22_17.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a></p>
<p>There was a round table with portable games arranged in chronological order.  I was inspired to take the  picture above where the newest kid on the block was meeting the old timer.  I&#8217;m really way too amused by it.</p>
<p>Unfortunately, many of the games and consoles were in bad shape.  They&#8217;ve taken a lot of abuse by all the visitors to the exhibit.  But there was enough playable to keep you busy for hours.  There&#8217;s also many games that were a joy to see and play for a short bit again, but I won&#8217;t mention them here.  I&#8217;ll leave some mystery for your visit.</p>
<p>I&#8217;m just glad I got to play two of my favorites from back in the day:  <em>Discs of Tron</em> and the old sit-down vector <em>Star Wars</em> game.</p>
<p><a href="http://gallery.kgarner.com/MSI/2005_06_17_12_31_10" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_12_31_10.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a> <a href="http://gallery.kgarner.com/MSI/2005_06_17_12_37_38" class="gallery_link" ><img src="http://gallery.kgarner.com/albums/MSI/2005_06_17_12_37_38.thumb.jpg" class="gallery_image colorbox-164"  alt="[img]"  /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/06/23/msi-gameon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open the iPod bay doors, HAL</title>
		<link>http://www.kgarner.com/blog/archives/2005/03/14/open-the-ipod-bay-doors-hal/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/03/14/open-the-ipod-bay-doors-hal/#comments</comments>
		<pubDate>Mon, 14 Mar 2005 17:36:56 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2005/03/14/open-the-ipod-bay-doors-hal/</guid>
		<description><![CDATA[As I&#8217;ve written about before I&#8217;ve written a .fdi file for my iPod for using with hald on FC3. My .fdi file fixes a few things that hald does by default. To find out more, just read that post! Anyway, I just wanted to drop a note that I figured out last night how to [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve <a href="http://www.kgarner.com/blog/archives/2005/01/11/fc3-hal-ipod/">written about before</a> I&#8217;ve written a <code>.fdi</code> file for my iPod for using with <code>hald</code> on FC3.  My <code>.fdi</code> file fixes a few things that <code>hald</code> does by default.  To find out more, just read that post!</p>
<p>Anyway, I just wanted to drop a note that I figured out last night how to specify any arbitrary mount option.  I suppose it was possible all along, but last time I went down this trail, my brain was getting fried and thought only the mount options I saw in examples were possible.  It turns out you can do any mount option as long as you specifiy it as a bool and set it true or false.  You can also turn off default ones.</p>
<p>For some reason, for vfat filesystems, <code>hald</code>&#8216;s default <code>.fdi</code>s are set up to mount fat as UTF-8 by using the mount option of <code>iocharset=utf8</code>.  This was causing some problems with <code>gtkpod</code>, so I wanted to remove that.  Looking at some examples, I deceided to finally try specifing this in my iPod.fdi:</p>
<blockquote><pre><code>&lt;merge key="volume.policy.mount_option.iocharset=utf8" type="bool"&gt;false&lt;/merge&gt;</code></pre>
</blockquote>
<p>This worked, so I thought I&#8217;d try some other mount options I would have liked, but couldn&#8217;t figure out how to get going my last go around with the iPod.</p>
<blockquote><pre><code>&lt;merge key="volume.policy.mount_option.shortname=win95" type="bool"&gt;true&lt;/merge&gt;
&lt;merge key="volume.policy.mount_option.noatime" type="bool"&gt;true&lt;/merge&gt;</code></pre>
</blockquote>
<p>Those also worked.  It looks like you can put anything after <code>volume.policy.mount_option.</code> as long as you specify the full option and set it to true.</p>
<p>If you want to recreate what I&#8217;ve done, take my <code>.fdi</code> from the previous post add the above lines to it for the second parition on the iPod and you two can get <code>fstab-sync</code> to create an <code>fstab</code> entry that looks like this:</p>
<blockquote><pre><code>/dev/sda2 /media/iPod vfat pamconsole,exec,noauto,noatime,shortname=win95,sync,managed 0 0</code></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/03/14/open-the-ipod-bay-doors-hal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m sorry, Keith, I&#8217;m afraid I can&#8217;t do that.  (FC3, HAL, and iPod)</title>
		<link>http://www.kgarner.com/blog/archives/2005/01/11/fc3-hal-ipod/</link>
		<comments>http://www.kgarner.com/blog/archives/2005/01/11/fc3-hal-ipod/#comments</comments>
		<pubDate>Wed, 12 Jan 2005 05:15:10 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2005/01/11/fc3-hal-ipod/</guid>
		<description><![CDATA[I updated my desktop to Fedora Core 3 over the weekend. Technically, Fedora would consider it a fresh install, I just kept /home /work /usr/local and /opt. It all went smoothly thanks to my love of apt for rpm and the various repositories that I&#8217;ve talked about before that I use to keep me from [...]]]></description>
			<content:encoded><![CDATA[<p>I updated my desktop to Fedora Core 3 over the weekend.  Technically, Fedora would consider it a fresh install, I just kept <code>/home</code> <code>/work</code> <code>/usr/local</code> and <code>/opt</code>. It all went smoothly thanks to my love of apt for rpm and the various repositories that <a href="http://www.kgarner.com/blog/archives/2004/06/11/redhat-fc2/">I&#8217;ve talked about before</a> that I use to keep me from hand compiling almost everything.  The only thing I&#8217;ve done differently this time was that I&#8217;ve added <a href="http://dag.wieers.com/home-made/apt/">DAG&#8217;s apt/yum repository</a> to the mix.</p>
<p>With FC3 comes some new ways to get external devices going easier.  <code>udev</code>, which &#8220;is an implementation of devfs in userspace using sysfs and <code>/sbin/hotplug</code>,&#8221; used to be an add on, but is now a central part of the distribution.  <code>udev</code> is configured in such a way that it controls all of the <code>/dev</code> entries.  Along with <code>udev</code> is the addition of <a href="http://freedesktop.org/">freedesktop.org</a>&#8216;s <a href="http://freedesktop.org/wiki/Software_2fhal">Hardware Abstraction Layer</a> software.  This isn&#8217;t like the HAL in some other operating systems and based on the documentation that is not the goal.  From the documentation:</p>
<blockquote><p>HAL which is a piece of software that provides a view of the various hardware attached to a system. In addition to this, HAL keeps detailed metadata for each piece of hardware and provide hooks such that system- and desktop-level software can react to changes in the hardware configuration in order to maintain system policy.</p></blockquote>
<p>Its not the world&#8217;s most useful thing yet, but considering FC3 ships with version 0.4.2 its doing a good job for its level of maturity.</p>
<p>One of the most useful things that HAL provides FC3 is the auto configuration of devices that would have removable media, such as cdrom drives, or is added via USB or firewire.  In its default configuration is works pretty good:  <code>udev</code> creates the <code>/dev</code> nodes and HAL, after scoping out and probing the hardware, creats mount points in <code>/media</code> and calls <code>/usr/sbin/fstab-sync</code> (which comes with HAL) to edit <code>/etc/fstab</code> with the entries.  For my devices that have removable media, HAL has noticed my CD and DVD burners and has created <code>/media/cdrecorder</code> and <code>/media/cdrecorder1</code>.  If I connect my iPod up via firewire, I see that <code>/media/ieee1394disk</code> is created.  Putting a compact flash card in a slot of my 8-in-1 USB media reader, I see that <code>/media/usbdisk</code> is created.</p>
<p>As I said before, this is pretty good.  However, there were a few things that bugged me that I wanted to change.  The first problem I ran into was that <code>hald</code>, constantly probes attached media devices for media changes.  This works great for my 8-in-1, as it correctly drops access to the device when I run <code>/usr/bin/eject</code> on the mount points.  However, this fails dismally with my iPod.</p>
<p>In FC2, to get the iPod to go into the &#8220;OK to remove&#8221; mode, the <code>eject</code> command did the trick.  In FC3, thanks to <code>hald</code>, it tries to spin up the iPod harddrive again.  However, the iPod, after its in &#8220;OK to remove&#8221; mode will not respond to any commands from the computer until removed from the cradle.  <code>hald</code> trying to contact it again causes the SCSI subsystem to go into a loop trying to reset the device and the SCSI bus, causes <code>hald</code> to hang, and generally really pisses off Linux.  Since this whole ordeal ends with the SCSI subsystem kernel panicing and hald being stuck in a disk wait, the only thing to really get things back to normal that that point is a reboot.  The reboot then has some issues thanks to <code>hald</code> being in disk wait, and Linux can&#8217;t cleanly unmount <code>/usr</code>.</p>
<p>So, obviously, I wanted to fix the &#8220;everything goes to shit when I want to remove my iPod&#8221; problem and I wanted to create a better mount point name for the iPod.  Face it, <code>/media/ieee1394disk</code> is pretty weak and <code>/media/iPod</code> is much sexier.</p>
<p>I started digging around the <code>hal</code> package to see what docs came with it and what the config files were.  The documentation that ships in the RPM is fairly non-existant except for some sample Device Information Files aka <code>.fdi</code> files.  Next I looked in /etc/hald/hald.conf.  That had a directive called <code>storage_media_check_enabled</code> which was set to true.  Setting that to false and halfway fixed my iPod problem, except now two mount points were showing up in media.  Also, setting it to false broke the 8-in-1 which was behaving perfectly.  Not wanting to throw the baby out with the bathwater, I set it back to true.  This setting, however, started to point me in the right direction.</p>
<p>Next I discovered the <code>hal-gnome</code> package by doing an <code>apt-cache search hal</code>.  From this I found the misnamed <code>/usr/bin/hal-device-manager</code>.  I say its misnamed as you get a Windows-style device manager view, but you can&#8217;t actually <em>manage</em> anything, its totally a read-only view.  However, this let me see the properties that were being set for each device and its volumes along the way.  Thanks to <code>hal-device-manager</code> I was starting to be able to read the <code>.fdi</code> files.  However, my next question was &#8220;what are all the possible values of propery names that can be set?&#8221;  For that I needed more documentation.</p>
<p>I visited the freedesktop.org hal site (as linked above) and it didn&#8217;t have anything really useful on it.  I was getting motivated enough to just start reading C code, so I downloaded the hal-0.4.4 source from freedesktop.org.  To my delight, there was actual useful documentation, albiet in raw docbook XML form.  I almost cried, but I pulled myself together and typed <code>make</code> to build the documentation into a useful HTML file.  Here was a list of all the possible properies, where they were good, and mostly good descriptions of what they did.  I still didn&#8217;t have a full enough understanding, so it came time to start experimenting.</p>
<p>In my experimenting, I focused totally on making the iPod work the way I wanted and figured I&#8217;d tackle the 8-in-1 later as it mostly works the way I want now.  The existing <code>.fdi</code> files have a comment that says to create system local files in <code>/usr/share/hal/fdi/95userpolicy</code> as all the other files in the other directories could be overwriten when/if the vendor updates the hal package.  I started to write an iPod.fdi file and based my <code>&lt;device&gt;</code> entry on some of the existing firewire disk entry and merged it with the sample firewire connected hard drive example from <code>/usr/share/doc/hal-0.4.2/conf</code></p>
<p>What I ended up with after my experimenting is something that seems to work really well.  It turns off the media check just for the iPod, ignores the first partition used by the Apple Firmware, and makes a mount point at /media/iPod for the second partition where all the music lives.  I also was able to add the <code>sync</code> mount option to the automatically created <code>fstab</code> entry.  Lots of iPod on Linux people suggest mounting the iPod in <code>sync</code> mode, but I forget exactly why at this moment as my brain is running out of juice as I&#8217;m ending of this post.</p>
<p>This was through a bunch of trial and error, and if someone has a better way to do it, please let me know.<br />
Here is my <code>/usr/share/hal/fdi/95userpolicy/iPod.fdi</code></p>
<blockquote><pre><code>&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt; <!-- -*- SGML -*- -->
&lt;deviceinfo version="0.2"&gt;
  &lt;device&gt;
    &lt;match key="storage.vendor" string="Apple"&gt;
      &lt;match key="storage.model" string="iPod"&gt;
        &lt;merge key="storage.requires_eject" type="bool"&gt;true&lt;/merge&gt;
        &lt;merge key="storage.removable" type="bool"&gt;false&lt;/merge&gt;
        &lt;merge key="storage.media_check_enabled" type="bool"&gt;false&lt;/merge&gt;
      &lt;/match&gt;
    &lt;/match&gt;
    &lt;match key="@block.storage_device:storage.vendor" string="Apple"&gt;
      &lt;match key="@block.storage_device:storage.model" string="iPod"&gt;
        &lt;match key="block.is_volume" bool="true"&gt;
          &lt;match key="volume.fsusage" string="filesystem"&gt;
            &lt;match key="volume.partition.number" int="1"&gt;
              &lt;merge key="volume.policy.should_mount" type="bool"&gt;false&lt;/merge&gt;
            &lt;/match&gt;
            &lt;match key="volume.partition.number" int="2"&gt;
              &lt;merge key="volume.policy.desired_mount_point" type="string"&gt;iPod&lt;/merge&gt;
              &lt;merge key="volume.policy.mount_option.sync" type="bool"&gt;true&lt;/merge&gt;
            &lt;/match&gt;
          &lt;/match&gt;
	&lt;/match&gt;
      &lt;/match&gt;
    &lt;/match&gt;
  &lt;/device&gt;
&lt;/deviceinfo&gt;</code></pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2005/01/11/fc3-hal-ipod/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>SCO joke of the day</title>
		<link>http://www.kgarner.com/blog/archives/2004/09/14/sco-joke/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/09/14/sco-joke/#comments</comments>
		<pubDate>Tue, 14 Sep 2004 18:28:31 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[____ of the day/week]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/09/14/sco-joke/</guid>
		<description><![CDATA[The mailing list 0xdeadbeef gives us the SCO joke of the day:The Sultan&#8217;s Son]]></description>
			<content:encoded><![CDATA[<p>The mailing list 0xdeadbeef gives us the SCO joke of the day:<a href="http://www.petting-zoo.net/~deadbeef/archive/5411.html">The Sultan&#8217;s Son</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/09/14/sco-joke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quote of the day</title>
		<link>http://www.kgarner.com/blog/archives/2004/07/19/quote-of-the-day/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/07/19/quote-of-the-day/#comments</comments>
		<pubDate>Mon, 19 Jul 2004 19:13:50 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek News]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[____ of the day/week]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/07/19/quote-of-the-day/</guid>
		<description><![CDATA[This comes to us from Groklaw article SCO&#8217;s Reply Memorandum Re Discovery &#8211; as text But the reality is, this case is about a contract dispute. Linux got dragged into it as hostage. SCO is holding Linux by the neck, pointing a gun at its head, and telling IBM, &#8220;Do what I tell you, or [...]]]></description>
			<content:encoded><![CDATA[<p>This comes to us from <a href="http://www.groklaw.net/">Groklaw</a> article <a href="http://http://www.groklaw.net/article.php?story=20040718210310818">SCO&#8217;s Reply Memorandum Re Discovery &#8211; as text</a></p>
<blockquote><p>But the reality is, this case is about a contract dispute. Linux got dragged into it as hostage. SCO is holding Linux by the neck, pointing a gun at its head, and telling IBM, &#8220;Do what I tell you, or I&#8217;ll shoot your little friend.&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/07/19/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More Fedora Core 2 Fun</title>
		<link>http://www.kgarner.com/blog/archives/2004/06/24/more-fc2/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/06/24/more-fc2/#comments</comments>
		<pubDate>Fri, 25 Jun 2004 01:56:59 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/06/24/more-fc2/</guid>
		<description><![CDATA[I&#8217;ve been meaning to post this for awhile, but I&#8217;ve been distracted by other things. In any case, I have the last issue with FC2 solved on my desktop and setup some other nicities. The most public FC2 problem was the whole &#8220;XP won&#8217;t boot now.&#8221; If I lost everything, it really wasn&#8217;t going to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been meaning to post this for awhile, but I&#8217;ve been distracted by other things.  In any case, I have the last issue with FC2 solved on my desktop and setup some other nicities.<br />
<span id="more-17"></span><br />
The most public FC2 problem was the whole &#8220;XP won&#8217;t boot now.&#8221;  If I lost everything, it really wasn&#8217;t going to be much of a loss since I have XP installed mostly for BIOS updates.  However, it was nice that there was a somewhat easy technical fix.  <a href="http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00908.html">This post</a> from the fedora devel mailing list gives you a quick insite into why the problem occurs and a quick way to fix it via sfdisk.  Luckily for me, my BIOS told me the &#8220;correct&#8221; C/H/S geometry.  Following the instructions, XP can boot again.  Now to find a reason to actually do so.</p>
<p>FC2 came with a <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev-FAQ">udev</a> rpm, and I&#8217;ve been meaning to play with it for awhile.  udev is a userspace way to have a dynamically managed <code>/dev</code> directory.  In theory, you&#8217;re supposed to have it manage your <code>/dev</code> directory.  However, the default config from the FC2 rpm is to set up a seperate directory called <code>/udev</code>.  I actually like this decision.  You end up getting <code>/dev</code> with its <em>everything-including-/dev/kitchen-sink</em> directory for devies that never move, which works better for some drivers like the <a href="http://nvidia.com/">NVidia</a> drivers, and <code>/udev</code> reflects only what&#8217;s on your system.</p>
<p>One of the other cool things you can do with udev is set up persistant names for dynamic devices.  I&#8217;ve got it set up so my <a href="http://apple.com/ipod">iPod</a> always shows up as <code>/dev/ipod</code> and its partitions as <code>/dev/ipod1</code> and <code>/dev/ipod2</code>.  This has made it really easy to set up in fstab.  I&#8217;ve also done similar with my 8-in-1 digital media reader.  Compact flash, smartmedia, etc all show up with sane device names in the <code>/udev</code> tree.</p>
<p>In the future, I assume that a full ruleset for udev will be created, in the mean time, I had to create my own <code>/etc/udev/rules.d/60-ktg.rules</code> file that looks like this:</p>
<blockquote><p><code>BUS="scsi", SYSFS{model}="iPod            ", NAME="ipod%n"<br />
BUS="scsi", SYSFS{model}="USB Storage-SMC ", NAME{all_partitions}="sm"<br />
BUS="scsi", SYSFS{model}="USB Storage-CFC ", NAME{all_partitions}="cf"<br />
BUS="scsi", SYSFS{model}="USB Storage-MMC ", NAME{all_partitions}="mmc"<br />
BUS="scsi", SYSFS{model}="USB Storage-MSC ", NAME{all_partitions}="msc"</code></p></blockquote>
<p>I don&#8217;t know if these rules are 100% correct, but they are working well enough for me now.</p>
<p>The other thing that really helps with these hotplug firewire/usb devices is that the SCSI layer in Linux Kernel 2.6 became hot pluggable, so I don&#8217;t need to run a shell script every time I add or remove one of these devices that act like a SCSI device.</p>
<p>All in all, once you get over the &#8220;broke XP&#8221; and &#8220;no firewire&#8221; problems, FC2 is a really solid distribution that I&#8217;m happy with.  Of course, part of my happiness is due to the other apt/yum repositories I&#8217;m using, but FC2 plus those is right where I want my Linux experiance right now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/06/24/more-fc2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java dumbness of the day</title>
		<link>http://www.kgarner.com/blog/archives/2004/06/24/java-dumbness/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/06/24/java-dumbness/#comments</comments>
		<pubDate>Thu, 24 Jun 2004 15:36:48 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[____ of the day/week]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/06/24/java-dumbness/</guid>
		<description><![CDATA[My friend seva is an admin of some unix boxes (including linux) at a firm that does some stockish stuff. Appearently, some of their applications are based on java. He was running into a weird situation where the box was in EDT (where it lived) and but java kept thinking it was CDT (where the [...]]]></description>
			<content:encoded><![CDATA[<p>My friend seva is an admin of some unix boxes (including linux) at a firm that does some stockish stuff.  Appearently, some of their applications are based on java.  He was running into a weird situation where the box was in EDT (where it lived) and but java kept thinking it was CDT (where the box was originally.)  Well, it was reporting &#8220;America/Chicago&#8221; technically.<br />
<span id="more-21"></span><br />
<code>/etc/localtime</code> contains the proper timezone, and the system is working like its in EDT.  It&#8217;s just java that&#8217;s acting funky.  He brought this up on IRC, and we both started digging into it.</p>
<p>I started looking into how java finds the default information via <code>java.util.TimeZone</code>.  It tries to use <code>System.getProperty("user.timezone")</code>, if that fails then it then calls a native method passing along <code>user.country</code> and <code>user.home</code>.  So, that dead-ended me.</p>
<p>Seva found the only place that &#8220;America/Chicago&#8221; was being used was in <code>/etc/sysconfig/clock</code> which only appeared to be used in startup and shutdown routines when calling <code>hwclock</code>.  He changed it  so the correct value was being put in <code>ZONE</code>, and Java acted how it should.</p>
<p>I ran <code>strings</code> on <code>$JAVA_HOME/jre/lib/i386/libjava.so</code> and found references to <code>/etc/sysconfig/clock</code> as well as <code>ZONE="</code>.  So, it appears, at least on Linux systems, Java will read <code>/etc/sysconfig/clock</code> and if that&#8217;s succesful, not even bother checking with <code>/etc/localtime</code>. </p>
<p>This, I feel, is totally incorrect behaviour and against what one would expect from a UNIX system.  This should probably be changed, but most likely won&#8217;t be.  I figured I&#8217;d drop a note about it here in the blog to help others in the future as we couldn&#8217;t easily find the defined behaviour on the web.</p>
<p>Seva complained that he would have found this much faster using strace, but on the RHEL3 box he was using, strace segfaulted when he run against java.  Works fine on my FC1 box, and I could recreate it and see it.  So I guess this is also Linux dumbness of the day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/06/24/java-dumbness/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A tale of two RedHats, Part 2</title>
		<link>http://www.kgarner.com/blog/archives/2004/06/11/redhat-fc2/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/06/11/redhat-fc2/#comments</comments>
		<pubDate>Fri, 11 Jun 2004 20:34:49 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/06/11/redhat-fc2/</guid>
		<description><![CDATA[I upgraded my desktop at home to Fedora Core 2 this past week. Partly because I was home sick and bored and also because I was sick of not having DMA support in ATAPI CD and DVD burns. The fact that its taken this long for Linux to support it is really sad. But thankfully [...]]]></description>
			<content:encoded><![CDATA[<p>I upgraded my desktop at home to <a href="http://fedora.redhat.com">Fedora Core 2</a> this past week.  Partly because I was home sick and bored and also because I was sick of not having DMA support in ATAPI CD and DVD burns.  The fact that its taken this long for Linux to support it is really sad.  But thankfully that&#8217;s over.  I did a fresh install since I&#8217;ve never trusted upgrades.<br />
<span id="more-16"></span><br />
I&#8217;ve been fairly happy with Fedora Core 1, given that you also use the apt/yum repositories of <a href="http://www.fedora.us/">Fedora Extras</a>, <a href="http://freshrpms.net/">Freshrpms</a>, and <a href="http://kde-redhat.sourceforge.net/">kde-redhat</a>.  I waited for all those projects to catch up and have FC2 support.  Most of them had it for a few weeks, but I was lazy.</p>
<p>So, the install went okay, its pretty much the same as FC1s.  As the install went, I noticed a lot more java support, mostly with the base of <a href="http://gcc.gnu.org/java/">gcj</a> and stuff from the <a href="http://www.gnu.org/software/classpath/classpath.html">GNU Classpath</a> project.  (As a total aside, from the Classpath homepage I see there are a few open source JVMs I had no idea existed.  I&#8217;ll have to check those out.)  Of course, due to licensing, no <em>official</em> VM from Sun.</p>
<p>I hit a snag right away with FC2 when it came to video drivers.  Since I have an <a href="http://nvidia.com/">Nvidia</a> card, I generally use the proprietary drivers from Nvidia because I like eye candy like 3D screen savers (especially the <a href="http://rss-glx.sourceforge.net/">Really Slick Screensavers</a>) and things like <a href="http://www.unrealtournament.com/">Unreal Tournament</a>.   FC2&#8242;s default 2.6 kernel is compiled with the &#8220;4k stacks&#8221; option turned on.  This totally braeks Nvidia&#8217;s current <a href="http://www.nvidia.com/object/linux.html">driver for linux</a>, which appearently needs 8k stacks.  Nvidia said its next driver release will play nice with 4k stacks, but they aren&#8217;t out yet.</p>
<p>The second snag is that there is no <a href="http://www.1394ta.org/">firewire</a> support out of the box.  It appears that the 2.6 kernel that FC2 ships with had really broken firewire support, so they turned it off.  For most PC users, this probably isn&#8217;t a big deal.  For me it is, as I have an <a href="http://www.apple.com/ipod/">iPod</a> that I use under Linux with <a href="http://gtkpod.sourceforge.net/">gtkpod</a>.  Currently, my firewire card exists just to talk to my iPod so this is disheartening.  (In the near future, I&#8217;ll probably be getting a camcorder with firewire out, if only to make DVDs of my child.)</p>
<p>In either case, both of these problems can be overcome by recompiling the kernel by getting the latest clean/Linus version of the kernel.  Unfortunately, for some users this is too difficult of a task.  Since I&#8217;ve been building kernels since Jan 1994, I suppose I can live with it.  It also appears that Fedora <a href="http://www.redhat.com/archives/fedora-announce-list/2004-June/msg00017.html">released a new kernel rpm today</a> that addresses the firewire problem.  However, the nvidia issue is still there.  So it looks like I&#8217;m hand compiling.</p>
<p>Chris Stamborski reports that he couldn&#8217;t get pvmove (an LVM command) to work with FC2 due to something in the 2.6 kernel.  However, earlier today he told me on IRC he found a fix for it.  I&#8217;m bugging him to get a reference on it.  I don&#8217;t need it currently, but it never hurts to have the info.</p>
<p>On the plus side, FC2 might have been worth upgrading if only for the ATAPI CD/DVD burner DMA support.  I burned a few CDs last night at full 32x and my system didn&#8217;t even break a sweat.  With a 2.4 kernel, it bogged down the system something fierce to where I couldn&#8217;t web surf.  The whole PIO access to hard drive just kept the system too busy.  It felt like when you&#8217;d format a floppy under Windows 3.1.</p>
<p>Also, it seems snappier on the same hardware.  It probably has to do with scheduler and IO scheduler fixes.</p>
<p>To sum it up, I&#8217;m mostly happy with FC2, and I&#8217;m thinking about putting it on my laptop.  I&#8217;ll be even happier after a kernel compile and I have firewire again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/06/11/redhat-fc2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A tale of two RedHats, Part 1</title>
		<link>http://www.kgarner.com/blog/archives/2004/06/11/redhat-el3/</link>
		<comments>http://www.kgarner.com/blog/archives/2004/06/11/redhat-el3/#comments</comments>
		<pubDate>Fri, 11 Jun 2004 16:31:57 +0000</pubDate>
		<dc:creator>Keith Garner</dc:creator>
				<category><![CDATA[Geek]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.kgarner.com/blog/archives/2004/06/11/redhat-el3/</guid>
		<description><![CDATA[A bunch of friends and I have rented a box at ServerMatrix, a managed hosting service where you get total control (root) on your box. They support Windows, BSD, and Linux. The flavors of Linux they&#8217;ll install are RH9, RH EL3, or Debian. I&#8217;ve been elected as head admin of the box and MARK NOTARUS [...]]]></description>
			<content:encoded><![CDATA[<p>A bunch of friends and I have rented a box at <a href="http://servermatrix.com/">ServerMatrix</a>, a managed hosting service where you get total control (root) on your box.  They support Windows, BSD, and Linux.  The flavors of Linux they&#8217;ll install are RH9, <a href="http://www.redhat.com/software/rhel/">RH EL3</a>, or <a href="http://www.debian.org/">Debian</a>.  I&#8217;ve been elected as head admin of the box and <a href="http://www.notarus.net/"><strong>MARK NOTARUS</strong></a> is my other partner in crime.  Mark and I were most familiar with the free RedHat versions, and since EL3 is based on those, we went with that.</p>
<p>To sum it up, I&#8217;m really impressed with EL3.  It seems like a really well QAed version of RH9, which was a solid distribution.<br />
<span id="more-9"></span><br />
To keep the maintenance on the box down and to make it easy for someone else to pick up should I fall off the wagon, I&#8217;ve made it a point to stick with RPMs and redhat tools as much as possible.</p>
<p>The RPMs for apache and php were compiled just how I wanted them to be.  (I&#8217;m not sure if this means RedHat in general is getting better, or I&#8217;m just less picky.)  I was able to get <a href="http://gallery.menalto.com/">gallery</a> and SSL working out of the box.  Gallery was a good test app, since half of us using the box are moving our photos there.</p>
<p>This is my first experiance using up2date, and its not too bad.  Its certainly not <a href="http://moin.conectiva.com.br/AptRPM">apt-rpm</a> or <a href="http://linux.duke.edu/projects/yum/">yum</a> but its not a complete pain to use.</p>
<p>The only things I&#8217;ve really had to do by hand were <a href="http://jakarta.apache.org/tomcat/index.html">Tomcat</a> and its apache connectors (because it just doesn&#8217;t ship with redhat) and <a href="http://www.postfix.org/">Postfix</a> because I wanted a more up to date version.  Also, any webapps that would be shared by everyone such as <a href="http://jamm.sourceforge.net/">Jamm</a> and <a href="http://www.squirrelmail.org/">SquirrelMail</a>.  Okay, that was a bit more than I thought, but most of those are setup and forget, until a security exploit comes along.</p>
<p>Actually, I&#8217;ve added <a href="http://www.inter7.com/courierimap.html">courier-imap</a> by hand as well, but I grabbed a SRC RPM and used that.  I&#8217;m not sure if that really counts as &#8220;by hand&#8221; but it certainly wasn&#8217;t a standard package from RH.</p>
<p>At work, our IT group is looking to move a bunch of stuff over to Linux.  I feel comfortable advocating EL3 thanks to my experiance here.  There&#8217;s really no other choice for an IT dept. like ours.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kgarner.com/blog/archives/2004/06/11/redhat-el3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

