<?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>blog.lundscape.com</title>
	<atom:link href="http://blog.lundscape.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lundscape.com</link>
	<description>The Linux Journey</description>
	<lastBuildDate>Thu, 15 Apr 2010 20:06:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FreeNX on Ubuntu</title>
		<link>http://blog.lundscape.com/2010/04/freenx-on-ubuntu/</link>
		<comments>http://blog.lundscape.com/2010/04/freenx-on-ubuntu/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:06:18 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[FreeNX]]></category>
		<category><![CDATA[Remote Access]]></category>
		<category><![CDATA[Terminal Server]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=313</guid>
		<description><![CDATA[I have been using FreeNX on Ubuntu Linux as a terminal server for remote graphical access. (It&#8217;s similar to Remote Desktop on Windows.) It&#8217;s fast and works quite well on slow Internet connections. NoMachine provides clients for Mac OS X, Windows, and Linux, which means I can connect to my machine from anywhere.
Most of the [...]]]></description>
			<content:encoded><![CDATA[<p>I have been using <a href="http://freenx.berlios.de/">FreeNX</a> on Ubuntu Linux as a terminal server for remote graphical access. (It&#8217;s similar to Remote Desktop on Windows.) It&#8217;s fast and works quite well on slow Internet connections. <a href="http://www.nomachine.com/">NoMachine</a> provides clients for Mac OS X, Windows, and Linux, which means I can connect to my machine from anywhere.</p>
<p>Most of the instructions are available in Ubuntu&#8217;s <a href="https://help.ubuntu.com/community/FreeNX">documentation</a> for FreeNX. First, add the repository, update the package listings, and install the FreeNX package:</p>
<p><code>add-apt-repository ppa:freenx-team<br />
aptitude update<br />
aptitude install --quiet --assume-yes freenx</code></p>
<p>Finally, set up FreeNX. I opt to use the default SSH key pairs (&#8220;&#8211;setup-nomachine-key&#8221;) because it doesn&#8217;t require additional configuration for the client to connect. I added the &#8220;&#8211;clean &#8211;purge&#8221; to fix authentication errors that I began having after I upgraded to Ubuntu 9.10.</p>
<p><code>/usr/lib/nx/nxsetup --install --setup-nomachine-key --clean --purge</code></p>
<p>After I install a client, I can connect to my computer from anywhere and use it as though I were sitting in front of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/04/freenx-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Scan on Ubuntu</title>
		<link>http://blog.lundscape.com/2010/03/simple-scan-on-ubuntu/</link>
		<comments>http://blog.lundscape.com/2010/03/simple-scan-on-ubuntu/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 15:24:17 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[HP ScanJet 5300C]]></category>
		<category><![CDATA[Simple Scan]]></category>
		<category><![CDATA[XSane]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=307</guid>
		<description><![CDATA[I have an HP ScanJet 5300C scanner and have had no luck getting it to run on Mac OS X after 10.3 Panther, Windows Server 2003, and Ubuntu Hardy Heron. After I upgraded to Ubuntu Karmic Koala, the XSane Image Scanner applications would scan a preview but would not actually save the image. (That&#8217;s more [...]]]></description>
			<content:encoded><![CDATA[<p>I have an HP ScanJet 5300C scanner and have had no luck getting it to run on Mac OS X after 10.3 Panther, Windows Server 2003, and Ubuntu Hardy Heron. After I upgraded to Ubuntu Karmic Koala, the XSane Image Scanner applications would scan a preview but would not actually save the image. (That&#8217;s more progress than I have had for a few years.) Next, I installed <a href="https://launchpad.net/simple-scan">Simple Scan</a>, which scanned and saved the image nicely. The program is a little simpler than I would like, but it beats the complexity of XSane. More importantly, it worked.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/03/simple-scan-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review of Lake Erie Systems</title>
		<link>http://blog.lundscape.com/2010/03/review-of-lake-erie-systems/</link>
		<comments>http://blog.lundscape.com/2010/03/review-of-lake-erie-systems/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 22:29:23 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Printing]]></category>
		<category><![CDATA[Fuser]]></category>
		<category><![CDATA[HP Color LaserJet 2550]]></category>
		<category><![CDATA[Lake Erie Systems]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=303</guid>
		<description><![CDATA[I recently purchased an HP Color LaserJet 2550 Fuser from Lake Erie Systems. It was a little pricey, but it arrived quickly and functioned as promised. Apparently I was not particularly observant when I purchased a new fuser because I did not see that they also had an exchange program for refurbished fusers. I inquired [...]]]></description>
			<content:encoded><![CDATA[<p>I recently purchased an HP Color LaserJet 2550 Fuser from <a href="http://www.fastprinters.com/">Lake Erie Systems</a>. It was a little pricey, but it arrived quickly and functioned as promised. Apparently I was not particularly observant when I purchased a new fuser because I did not see that they also had an exchange program for refurbished fusers. I inquired via email as to options to return my old (empty) fuser and possibly receive some sort of credit. The representative that I worked with explained that credit is only available for refurbished fusers but that he would refund me $10 regardless. I informed him that I had not received a shipping label to return the current fuser. He apologized and sent out a shipping label, which arrived promptly. I mailed the fuser back and received my $10 credit.</p>
<p><strong>Bottom line:</strong> Lake Erie Systems delivers their products promptly and as advertised. Their customer service is attentive and accommodating.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/03/review-of-lake-erie-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 9.10 Karmic Koala</title>
		<link>http://blog.lundscape.com/2010/02/ubuntu-9-10-karmic-koala/</link>
		<comments>http://blog.lundscape.com/2010/02/ubuntu-9-10-karmic-koala/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 16:45:53 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Banshee]]></category>
		<category><![CDATA[Brasero]]></category>
		<category><![CDATA[Rhythmbox]]></category>
		<category><![CDATA[Wodim]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=300</guid>
		<description><![CDATA[I finally upgraded my brother&#8217;s desktop computer and my desktop computer to Ubuntu 9.10 Karmic Koala. Prior, both had been running Ubuntu 8.04 Hardy Heron, which was stable but was starting to show its age. I&#8217;ve always found that bleeding edge works well for desktops and tried and true works better for servers.
Ubuntu 9.10 works [...]]]></description>
			<content:encoded><![CDATA[<p>I finally upgraded my brother&#8217;s desktop computer and my desktop computer to Ubuntu 9.10 Karmic Koala. Prior, both had been running Ubuntu 8.04 Hardy Heron, which was stable but was starting to show its age. I&#8217;ve always found that bleeding edge works well for desktops and tried and true works better for servers.</p>
<p>Ubuntu 9.10 works well, but I have discovered a few unresolved bugs that have proven to be annoyances. I&#8217;ve resigned myself to not being able to burn optical discs under Karmic because of a <a href="https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/405544">bug</a>. This extends beyond Brasero to include the Wodim command line burning tool. After I upgraded, I switched from Rhythmbox to Banshee because it has better iPod syncing capabilities. However, those capabilities are a bit flaky, and I had to use this <a href="http://www.omgubuntu.co.uk/2009/11/ipod-doesnt-work-karmic.html">hack</a> to make things work.</p>
<p>Regardless, it was a helpful and necessary upgrade. I look forward to the Ubuntu 10.04 Lucid Lynx update in April.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/02/ubuntu-9-10-karmic-koala/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Very Own Google Profile</title>
		<link>http://blog.lundscape.com/2010/02/my-very-own-google-profile/</link>
		<comments>http://blog.lundscape.com/2010/02/my-very-own-google-profile/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 03:38:58 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Profile]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=298</guid>
		<description><![CDATA[I finally jumped on the bandwagon and created a Google Profile for myself. I keep telling myself that it is information that I should not be posting, but let&#8217;s face it, that information is readily available to anyone who knows how to use a search engine. Google Profiles just allows me to better present the [...]]]></description>
			<content:encoded><![CDATA[<p>I finally jumped on the bandwagon and created a <a href="http://www.google.com/profiles/zachary.lund">Google Profile</a> for myself. I keep telling myself that it is information that I should not be posting, but let&#8217;s face it, that information is readily available to anyone who knows how to use a search engine. Google Profiles just allows me to better present the information.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/02/my-very-own-google-profile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Decommissioning of LFS2 Mac OS X Server after 4.5 years</title>
		<link>http://blog.lundscape.com/2010/02/decommissioning-of-lfs2-mac-os-x-server-after-4-5-years/</link>
		<comments>http://blog.lundscape.com/2010/02/decommissioning-of-lfs2-mac-os-x-server-after-4-5-years/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 18:12:50 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Athos]]></category>
		<category><![CDATA[LFS2]]></category>
		<category><![CDATA[Mac OS X Server]]></category>
		<category><![CDATA[Western Digital]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=293</guid>
		<description><![CDATA[After four and a half years, I am turning LFS2 off for good.
According to the &#8220;/var/log/OSInstall.custom&#8221; log, &#8220;Native install completed 2005-08-14 18:55:58 -0700,&#8221; which is just under four and a half years ago. I have finally migrated all of the data and functionality (print, file, and LDAP) from Lund File Server 2 (LFS2) to Athos. [...]]]></description>
			<content:encoded><![CDATA[<p>After four and a half years, I am turning LFS2 off for good.</p>
<p>According to the &#8220;/var/log/OSInstall.custom&#8221; log, &#8220;Native install completed 2005-08-14 18:55:58 -0700,&#8221; which is just under four and a half years ago. I have finally migrated all of the data and functionality (print, file, and LDAP) from Lund File Server 2 (LFS2) to Athos. LFS2 held up surprisingly well considering it was only a 533 MHz G4 with 768 MB RAM. When I set it up, I installed three used 120 GB Western Digital hard drives. After four and a half years of running continuously, all three drives still appear operational.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/02/decommissioning-of-lfs2-mac-os-x-server-after-4-5-years/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ISP Technical Support Sucks</title>
		<link>http://blog.lundscape.com/2010/01/isp-technical-support-sucks/</link>
		<comments>http://blog.lundscape.com/2010/01/isp-technical-support-sucks/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 06:12:06 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[Technical Support]]></category>
		<category><![CDATA[Time Warner]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[AT&T]]></category>
		<category><![CDATA[CenturyLink]]></category>
		<category><![CDATA[Comcast]]></category>
		<category><![CDATA[Embarq]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=286</guid>
		<description><![CDATA[Ars Technica has a nice writeup about &#8220;Dropped DSL and missing e-mail: two tales of moving woes.&#8221; I think one of the authors sums up technical support for any company perfectly:
If there were any doubts that Verizon has helpful dedicated people, this experience put them to rest. Unfortunately, I know that I&#8217;ll never encounter any [...]]]></description>
			<content:encoded><![CDATA[<p>Ars Technica has a nice writeup about &#8220;<a href="http://arstechnica.com/staff/nate/2009/12/dropped-dsl-and-missing-e-mail-two-tales-of-moving-woes.ars">Dropped DSL and missing e-mail: two tales of moving woes</a>.&#8221; I think one of the authors sums up technical support for any company perfectly:</p>
<blockquote><p>If there were any doubts that Verizon has helpful dedicated people, this experience put them to rest. Unfortunately, I know that I&#8217;ll never encounter any of them the next time that I have a problem that requires me to dial in to the standard tech support line.</p></blockquote>
<p>I rarely encounter competent technical support, whether it is at Embarq/CenturyLink, AT&#038;T, Comcast, Time Warner, or Apple. What should take five minutes regularly takes multiple calls and even more tech support agents. On occasion, I do get someone helpful, but it is unfortunately not the norm.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2010/01/isp-technical-support-sucks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delaying Email Delivery Using Procmail and Cron</title>
		<link>http://blog.lundscape.com/2009/11/delaying-email-delivery-using-procmail-and-cron/</link>
		<comments>http://blog.lundscape.com/2009/11/delaying-email-delivery-using-procmail-and-cron/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 20:17:28 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Procmail]]></category>
		<category><![CDATA[Cron]]></category>
		<category><![CDATA[Formail]]></category>
		<category><![CDATA[Mutt]]></category>
		<category><![CDATA[Spam]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=279</guid>
		<description><![CDATA[Because I use Mutt, any mailbox that has new mail tends to get my attention when I check my email. This became particularly annoying because I kept opening my spam mailbox to check a single spam message. Therefore, I decided to come up with a way to delay the delivery of my spam to once [...]]]></description>
			<content:encoded><![CDATA[<p>Because I use Mutt, any mailbox that has new mail tends to get my attention when I check my email. This became particularly annoying because I kept opening my spam mailbox to check a single spam message. Therefore, I decided to come up with a way to delay the delivery of my spam to once per day.</p>
<p>I started by changing my &#8220;.procmailrc&#8221; to deliver spam messages to a different mailbox that Mutt does not check.</p>
<pre>MAIL=`echo $HOME/Mail`
[...]
:H
* ^X-Spam-Status: Yes
$MAIL/delay_spam
[...]</pre>
<p>Then I created a new procmailrc file called &#8220;spam.procmailrc&#8221; that would deliver mail to my checked spam mailbox.</p>
<pre>MAIL=`echo $HOME/Mail`

:0
$MAIL/spam</pre>
<p>Next, I wrote a short Bash script to use Formail and Procmail to deliver all of the messages in the delayed delivery spam mailbox to the normal spam mailbox.</p>
<pre>#! /bin/bash

FORMAIL=/usr/bin/formail
PROCMAIL=/usr/bin/procmail
PROCMAILRC=$HOME/.procmail/spam.procmailrc

MAIL=$HOME/Mail
DELAY=$MAIL/delay_spam
TEMP=$MAIL/.spam
LOCK=$TEMP.lock

# Make sure there is delayed mail and we can get the lock (retry once)
if ( test -s $DELAY &#038;&#038; lockfile -r 1 $LOCK 2>/dev/null ); then

    # Add the delayed mail to the temp mailbox and empty the delayed mailbox
    cat $DELAY >> $TEMP &#038;&#038; cat /dev/null > $DELAY
    # Process each delayed message
    $FORMAIL -s $PROCMAIL $PROCMAILRC < $TEMP &#038;&#038; rm -f $TEMP

    # Delete the lock now that we are done
    rm -f $LOCK
fi</pre>
<p>Finally, I set the script to run daily using Cron. Now I am only interrupted by spam when I choose to be instead of every time a new message arrives. I have used the same technique to delay the delivery of emails to unimportant mailing lists so I only read them hourly instead of every time a message arrives.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2009/11/delaying-email-delivery-using-procmail-and-cron/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Allowing RSS Access on a Private MediaWiki</title>
		<link>http://blog.lundscape.com/2009/11/allowing-rss-access-on-a-private-mediawiki/</link>
		<comments>http://blog.lundscape.com/2009/11/allowing-rss-access-on-a-private-mediawiki/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 21:29:40 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=276</guid>
		<description><![CDATA[I run two Private MediaWiki which do not allow unauthenticated users to create accounts, edit pages, or read pages. I have whitelisted a few special pages including the login page. An example configuration is displayed below.
$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgWhitelistRead = array (
    "Special:Userlogin",
    "MediaWiki:Common.css",
   [...]]]></description>
			<content:encoded><![CDATA[<p>I run two Private MediaWiki which do not allow unauthenticated users to create accounts, edit pages, or read pages. I have whitelisted a few special pages including the login page. An example configuration is displayed below.</p>
<pre>$wgGroupPermissions['*']['createaccount'] = false;
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;
$wgWhitelistRead = array (
    "Special:Userlogin",
    "MediaWiki:Common.css",
    "MediaWiki:Common.js",
    "MediaWiki:Monobook.css",
    "MediaWiki:Monobook.js",
    "-"
    );</pre>
<p>The problem with this is that I want to be able to monitor these private wikis in my RSS client. Therefore, I added another two lines to the configuration to allow my desktop unauthenticated access to the recent changes RSS feed on my wikis. This could be changed to make it easy to punch a hole for multiple clients. The additions are shown below.</p>
<pre>if ($_SERVER['REMOTE_ADDR'] == "192.168.1.42")
    $wgWhitelistRead[] = "Special:RecentChanges";</pre>
<p>Now I can monitor both of my private wikis from my RSS client on my desktop computer. However, all other machines will still require authentication to get to the wiki.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2009/11/allowing-rss-access-on-a-private-mediawiki/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>(Even More) Advanced Bash Completion</title>
		<link>http://blog.lundscape.com/2009/11/even-more-advanced-bash-completion/</link>
		<comments>http://blog.lundscape.com/2009/11/even-more-advanced-bash-completion/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 00:57:40 +0000</pubDate>
		<dc:creator>Zachary Lund</dc:creator>
				<category><![CDATA[Shell]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Bash Completion]]></category>

		<guid isPermaLink="false">http://blog.lundscape.com/?p=242</guid>
		<description><![CDATA[In my previous post, I described how to set up tab completion for many common commands using these Bash completion files. This works well for established commands, but it doesn&#8217;t work so well for commands that I have written myself.
I use a command called &#8220;hc12-console&#8221; to connect to 68HC12 microcontrollers over a serial port. The [...]]]></description>
			<content:encoded><![CDATA[<p>In my previous <a href="/2009/02/advanced-bash-completion/">post</a>, I described how to set up tab completion for many common commands using these <a href="http://www.caliban.org/bash/index.shtml">Bash completion files</a>. This works well for established commands, but it doesn&#8217;t work so well for commands that I have written myself.</p>
<p>I use a command called &#8220;hc12-console&#8221; to connect to 68HC12 microcontrollers over a serial port. The command takes two arguments: the name of a microcontroller to connect to and a file to load. I only have two microcontrollers called &#8220;dragon1&#8243; and &#8220;dragon2&#8243;. Therefore, I want to be able to tab complete the first argument to one of those values only. The second argument should be the name of a file that ends in &#8220;.load&#8221;.</p>
<p>I do this with a function that checks the argument number and then completes it based on a specified list or by limiting the types of files that will be listed.</p>
<pre>_hc12console ()
{
	local cur

	COMPREPLY=()
	cur=${COMP_WORDS[COMP_CWORD]}

	# First argument completes with either dragon1 or dragon2
	if [[ $COMP_CWORD -eq 1 ]] ; then
		COMPREPLY=( $( compgen -W "dragon1 dragon2" -- $cur ) )
		return 0
	fi

	# Second argument completes with only files matching *.load
	if [[ $COMP_CWORD -eq 2 ]] ; then
		COMPREPLY=( $( compgen -f -X '!*.load' -- $cur ) )
		return 0
	fi

	# All other arguments will not auto-complete
	return 0
}
complete -F _hc12console hc12-console</pre>
<p>I added the script above to a file that my bashrc sources. It associates the function with the shell command, and then instead of manually typing out:</p>
<pre>hc12-console dragon1 file.load &lt;enter&gt;</pre>
<p>I can type:</p>
<pre>hc12&lt;tab&gt; &lt;tab&gt;1 &lt;tab&gt; &lt;enter&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.lundscape.com/2009/11/even-more-advanced-bash-completion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
