<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>I Can Has Linux?</title>
	
	<link>http://icanhaslinux.com</link>
	<description>Invisible Patent Infringement!</description>
	<lastBuildDate>Tue, 15 Dec 2009 15:00:38 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ICanHasLinux" /><feedburner:info uri="icanhaslinux" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Some hot deals are the beginning of headaches…</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/Y1BLQ-h6ctQ/</link>
		<comments>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 14:51:17 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[pushpinssuck]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=87</guid>
		<description><![CDATA[So I scored a Core 2 Duo E7200 processor for $30.
I place the chip  in my D975XBX, and the system doesn&#8217;t boot.
I put my old processor back in, and two pushpins on my heatsink break.
So I bundle up the wife and kids and run out to buy a new heatsink at Bestbuy. The heatsink [...]]]></description>
			<content:encoded><![CDATA[<p>So I scored a Core 2 Duo E7200 processor for $30.</p>
<p>I place the chip  in my D975XBX, and the system doesn&#8217;t boot.</p>
<p>I put my old processor back in, and two pushpins on my heatsink break.</p>
<p>So I bundle up the wife and kids and run out to buy a new heatsink at Bestbuy. The heatsink does not make contact with the chip when attached. I don&#8217;t know what the crap was wrong with it, I tried it several different times, different directions until I finally realized it uses the same pin setup as my old heatsink.</p>
<p>So I pull two pushpins from the new heatsink to replace the broken ones on the old heatsink.  One more pushpin is on its way to breaking, so I replace it too. I plop down on my laptop and look up my board revision&#8217;s C2D support. Well, I&#8217;m at revision 302 and I need 303 or 304 to be C2D-compatible at all. Even then, only the E6xxx series seem to work (and some E4xxx series). Definitely no E7200.</p>
<p>So I put the old CPU (a Pentium D 950) back into the unit and get it all seated. System boots up and I&#8217;m back up.</p>
<p>At least I&#8217;m right back where I started, and it only cost me $60 to not go anywhere.</p>
<p> <img src='http://icanhaslinux.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/some-hot-deals-are-the-beginning-of-headaches/</feedburner:origLink></item>
		<item>
		<title>Forking in xargs</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/QowmepuWKB4/</link>
		<comments>http://icanhaslinux.com/2009/12/15/effing-xargs/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 14:22:26 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[multithreaded]]></category>
		<category><![CDATA[xargs]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=83</guid>
		<description><![CDATA[xargs is probably one of the most useful CLI tools in Unix/Linux.
Many people just forget that xargs can fork processes, to multithread an otherwise slow operation.
If you have a directory full of WAV files you want to encode and a quad core, fork that.
ls *.wav&#124;xargs -n1 -P4 -i lame -h {} {}.mp3
rename &#8217;s/\.wav//g&#8217; *.mp3
The -P [...]]]></description>
			<content:encoded><![CDATA[<p>xargs is probably one of the most useful CLI tools in Unix/Linux.</p>
<p>Many people just forget that xargs can fork processes, to multithread an otherwise slow operation.</p>
<p>If you have a directory full of WAV files you want to encode and a quad core, fork that.</p>
<p><code>ls *.wav|xargs -n1 -P4 -i lame -h {} {}.mp3</code></p>
<p>rename &#8217;s/\.wav//g&#8217; *.mp3</p>
<p>The -P option is for the maximum number of processes. The -n option is to limit to 1 argument per xargs call.  The -i option gives us the {} substitution. Xargs will substitute the filename for {}. This means we get an output file called blah.wav.mp3, so I added the Perl utils rename step.</p>
<p>xargs has many uses with forking, and you could probably even use a VAAPI-enabled mencoder to transcode a whole directory of files this way.</p>
<p>Just don&#8217;t fork yourself or you&#8217;ll go blind.</p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/effing-xargs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/effing-xargs/</feedburner:origLink></item>
		<item>
		<title>GPS Phones and Telco Logging Infrastructure</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/dyag0SXE6a0/</link>
		<comments>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 13:43:19 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bigbrother]]></category>
		<category><![CDATA[cryptome]]></category>
		<category><![CDATA[FISA]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=79</guid>
		<description><![CDATA[This is an extension of a post I made on a gun forum. Someone had asked the feasibility of the infrastructure required to store iPhone user's GPS coordinates. They threw out the number of 30M iPhones.]]></description>
			<content:encoded><![CDATA[<p>This is an extension of a post I made on a gun forum. Someone had asked the feasibility of the infrastructure required to store iPhone user&#8217;s GPS coordinates. They threw out the number of 30M iPhones.</p>
<p>It would really be the next logical step in police data collection. Take a warrant for arrest, pull phone records for $30, intercept the guy on his way home from his dealer&#8217;s house.<br />
This wouldn&#8217;t be a burden placed upon the police, or even the NSA.  It would be a money-maker for the telcos.<br />
Lat/Lon can be packed as a 32-bit integer, unix timestamp is a 32-bit signed integer. Add in the telephone number and we&#8217;ll just call it 128 bits per reading.<br />
Minutes in a day, 1440, so 1440&#215;128 = 184,320 bits. 23,040 bytes per day.<br />
As you can see, data warehousing for this is next to nothing. An 8GB disk could hold 372,827 days worth of GPS readings.<br />
A day&#8217;s worth of GPS data for 30M users would be 675GB raw, before decompression and deduplication.<br />
That would be a pretty tall order for a small business, but if you add in a few hundred legal spying data purchases every day, it would pay for itself pretty quickly.</p>
<p>You&#8217;d need a small cluster of servers and you would likely need good SAN hardware. They already store more information than this about the calls that you make. They already have the infrastructure in place.</p>
<p>So is it feasible? Yes, without a doubt.</p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/12/15/gps-phones-and-telco-logging-infrastructure/</feedburner:origLink></item>
		<item>
		<title>batch rename with regexps, an addendum</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/GHN6367Bu1I/</link>
		<comments>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 15:49:59 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[batch rename]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[regexps]]></category>
		<category><![CDATA[rename]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/</guid>
		<description><![CDATA[You may have read my post on batch rename with perl&#8217;s &#8216;rename&#8217; script, but I recently discovered that it is helpful to read the man page.
I had a folder full of files that I wanted to rename, but I wanted to test things out first. I had settled for making a temporary directory and just [...]]]></description>
			<content:encoded><![CDATA[<p>You may have read my post on <a href="http://icanhaslinux.com/2007/09/13/batch-rename-with-regexps/">batch rename</a> with perl&#8217;s &#8216;rename&#8217; script, but I recently discovered that it is helpful to read the man page.</p>
<p>I had a folder full of files that I wanted to rename, but I wanted to test things out first. I had settled for making a temporary directory and just symlinking to the files that I wanted to modify. I would run my tests, look at the link names, then delete and recreate the links.</p>
<p>Well, that is no more. `rename` has an option -n, for &#8220;No Act&#8221;, that will not actually rename the files. Instead, it will just print the filenames that matched and what they would have been renamed to.</p>
<p>Perfect!</p>
<p>Anyway, as the old saying goes, RTFM!<br />
-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/11/20/batch-rename-with-regexps-an-addendum/</feedburner:origLink></item>
		<item>
		<title>Where’s LC?</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/v0O8b5H2rbk/</link>
		<comments>http://icanhaslinux.com/2009/11/12/wheres-lc/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 19:40:24 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/?p=74</guid>
		<description><![CDATA[Between work, my wife and my kids, I have been a busy man!
I hope to get a few more articles up soon, including finishing the series on find-fu.
Peace!
-LightningCrash
]]></description>
			<content:encoded><![CDATA[<p>Between work, my wife and my kids, I have been a busy man!</p>
<p>I hope to get a few more articles up soon, including finishing the series on find-fu.</p>
<p>Peace!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/11/12/wheres-lc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/11/12/wheres-lc/</feedburner:origLink></item>
		<item>
		<title>8 Steps to Becoming A `find` Fu Master — Pt 2</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/Ca_gCnYJP_I/</link>
		<comments>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 16:35:06 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[find]]></category>
		<category><![CDATA[findutils]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/</guid>
		<description><![CDATA[(This is the second part in a three part series. Review the Introduction Here)
Now for the second installment of your `find` fu mastery! We are going to cover four principles today:

Learning to use object types
 Using command execution
Using `find` to delete files
Limiting search depth

With no further ado,
1. Using object types in `find`
In the Linux/Unix filesystems [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This is the second part in a three part series. <a href="http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/">Review the Introduction Here</a>)</em></p>
<p>Now for the second installment of your `find` fu mastery! We are going to cover four principles today:</p>
<ol>
<li>Learning to use object types</li>
<li> Using command execution</li>
<li>Using `find` to delete files</li>
<li>Limiting search depth</li>
</ol>
<p>With no further ado,</p>
<p><strong>1. Using object types in `find`</strong></p>
<p>In the Linux/Unix filesystems there are more things than plain old regular files. Among then are symbolic links, directories, named pipes, block devices, character devices, and sockets. `find` will let you specify these items.</p>
<p>For instance, if I am looking for the baseq3 directory of my Quake3 installation, I can do the following:</p>
<p><code>find / -type d -name 'baseq3'</code></p>
<p>If I am looking for all symbolic links in a directory, I can do the following:</p>
<p><code>find . -type s</code></p>
<p>If I am looking for only files, I can specify &#8216;-type f&#8217;. This is handy by itself, but becomes more useful as you are executing commands for each of your search results. Which brings us to&#8230;</p>
<p><strong>2. Using Command Execution</strong></p>
<p>This is probably one of the most useful things that `find` has to offer. This is also one of the easiest ways to screw up your system and/or your day&#8217;s work. You have to be careful with this. Fortunately, `find` puts options in to help with that. We&#8217;ll cover those in a moment after we give some basics of command execution in `find`.</p>
<p>I have a directory full of PHP source code and I want to issue a find/replace on every file in the entire hierarchy to change a setting. The setting&#8217;s value is 12345 and I want to change it to 67890. You use the -exec option , put your command in, substitute the filename with {}, and put \; to denote the end of the command. Let&#8217;s take a look:</p>
<p><code>find ./ -type f -exec perl -pi -e 's/12345/67890/g' {} \;</code></p>
<p>This works great, except how do I know I&#8217;m not executing something that I don&#8217;t want to? Well,`find` has this covered with the &#8216;ok&#8217; option.</p>
<p><code>find ./ -type f -ok perl -pi -e 's/12345/67890/g' {} \;</code></p>
<p>This will now prompt you to OK everything that is done, line by line. Useful for if you&#8217;re going to do something where you&#8217;d like to know which files it&#8217;s operating on. However, `find` will truncate part of the command if it&#8217;s too long, so you don&#8217;t get to see exactly what it&#8217;s doing. You can always put an echo in front of your commands to see them in their entirety before you execute them.</p>
<p>`find` also has an -execdir and -okdir command, which operate in a different manner. -execdir operates as if you `cd` into the directory and then run the command. This can be handy if you don&#8217;t want to do the filename substitution with {}, maybe you want to run something inside every directory. If you have a directory full of source called src, and maybe you want to run the `make` command to compile everything, you could issue a `find` statement like so:</p>
<p><code>find ./src -type d -execdir make all \;</code></p>
<p>This is a bit messy but it illustrates my point.</p>
<p><strong> 3. Using `find` to delete files</strong></p>
<p>Speaking of dangerous operations, here&#8217;s another one you need to be very, very careful with.</p>
<p>But the easiest way to illustrate this would be to say maybe you downloaded a package for installation that contained a number of files that you do not want at all. Some shared packages come with .nfo files, .txt, .installs, .sfx, .subs, all sorts of unwanted garbage that you rarely want. Let&#8217;s allow `find` to delete that garbage, shall we?</p>
<p>I&#8217;m going to make these .sfx files disappear&#8230;</p>
<p><code>cd ~/Downloads/package/<br />
</code></p>
<p><code> find ./ -type f -name '*.sfx' -delete</code></p>
<p>Ta-da!</p>
<p>:jokerface:</p>
<p><strong>4. Limiting Search Depth</strong></p>
<p>So maybe you want to only go one directory deep. Maybe you don&#8217;t want to descend into any directories with your search. Maybe you want to search a filesystem without having `find` hop onto other drives in its search. `find` has got you covered like a fire team.</p>
<p>Descend only one directory:</p>
<p><code>find ./ -maxdepth 1</code></p>
<p>Don&#8217;t descend at all:</p>
<p><code>find ./ -maxdepth 0</code></p>
<p>Don&#8217;t search on filesystems or drives other than the current one:</p>
<p><code>find ./ -xdev</code></p>
<p>The above is particularly useful if you have a jump drive of some sort mounting in an inappropriate place.</p>
<p><strong>Wrapping up</strong>.</p>
<p>Can you snatch the pebble from your filesystem&#8217;s hand?</p>
<p>We train again later, grasshopper.</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/</feedburner:origLink></item>
		<item>
		<title>8 Steps to Becoming A `find` Fu Master — Introduction</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/7yHi79XYhlU/</link>
		<comments>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 13:52:51 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[find]]></category>
		<category><![CDATA[findutils]]></category>
		<category><![CDATA[gnu]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/</guid>
		<description><![CDATA[(This is the first part in a three part series. Read part two here.)
Introduction:
Among the tools you will use on a Linux system, few are more valuable than the find utility from findutils. Forget search bars: This is a more highly tailored search system that can help you find exactly what you&#8217;re looking for with [...]]]></description>
			<content:encoded><![CDATA[<p><em>(This is the first part in a three part series. Read <a href="http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/">part two here.</a>)</em></p>
<p><strong>Introduction:</strong></p>
<p>Among the tools you will use on a Linux system, few are more valuable than the find utility from findutils. Forget search bars: This is a more highly tailored search system that can help you find exactly what you&#8217;re looking for with great ease. It will also permit you to perform operations upon the files that you find, delete them, or just list them. If you do more than just browse the Internet with your Linux box, you need some sort of proficiency with find.</p>
<p><strong>Basics:</strong><br />
Find, at its simplest, will list everything in the filesystem beneath your current directory. This includes files, directories, symbolic links, FIFOs, sockets, and more other crap than you probably care to know about. Over 95% of your usage is going to be finding files and directories, so we&#8217;ll focus there.<br />
If you open up a terminal and type<br />
<code>cd<br />
find</code><br />
You&#8217;ll receive a list of everything in the filesystem below your current directory.<br />
Let&#8217;s limit that some. Let&#8217;s search for files that end in mp3.<br />
<code>find -name '*.mp3'</code></p>
<p>But wait, I know I had a file that ended in .MP3, why didn&#8217;t it show up? Well, the -name test is case sensitive. -iname is not. Let&#8217;s do the same thing with iname.</p>
<p><code>find -iname '*.mp3'</code></p>
<p>Ahh, there it is.<br />
I want to search my videos directory for the video of my friend&#8217;s birthday party. I know it was named Fred-something. Now I can introduce a directory in the search.</p>
<p><code>find ~/Videos/ -name '*Fred*'</code></p>
<p>Hah. Fred is silly.</p>
<p>Well, that&#8217;s the most basic that you&#8217;ll get with find, grasshopper. Now you must prove your skills to the sensei!</p>
<p>Well, sort of. You just have to wait for the next part of the series.</p>
<p>-LightningCrash</p>
<p><em>(This is the first part in a three part series. Read <a href="http://icanhaslinux.com/2009/02/06/8-steps-to-becoming-a-find-fu-master-pt-2/">part two here.</a>)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/02/05/8-steps-to-becoming-a-find-fu-master-introduction/</feedburner:origLink></item>
		<item>
		<title>HOWTO: Install Citrix ICA Client on Ubuntu 8.10 64-bit</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/p85Z1fLuFps/</link>
		<comments>http://icanhaslinux.com/2009/02/02/howto-install-citrix-ica-client-on-ubuntu-810-64-bit/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 16:22:05 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[citrix]]></category>
		<category><![CDATA[ica]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2009/02/02/howto-install-citrix-ica-client-on-ubuntu-810-64-bit/</guid>
		<description><![CDATA[First off, go ahead and install some libraries:
sudo apt-get install libxaw7 libmotif3
Go to http://www.citrix.com , click on &#8220;Downloads&#8221;, then click on &#8220;Citrix XenApp&#8221;, then select Linux clients. Download the tarball for Motif in your preferred language. Place it on your Desktop, and open a terminal.
cd ~/Desktop
mkdir citrix &#38;&#38; mv ./en.linuxx86.tar.gz ./citrix &#38;&#38; cd ./citrix
tar xvzf [...]]]></description>
			<content:encoded><![CDATA[<p>First off, go ahead and install some libraries:</p>
<p><code>sudo apt-get install libxaw7 libmotif3</code></p>
<p>Go to http://www.citrix.com , click on &#8220;Downloads&#8221;, then click on &#8220;Citrix XenApp&#8221;, then select Linux clients. Download the tarball for Motif in your preferred language. Place it on your Desktop, and open a terminal.</p>
<p><code>cd ~/Desktop<br />
mkdir citrix &amp;&amp; mv ./en.linuxx86.tar.gz ./citrix &amp;&amp; cd ./citrix<br />
tar xvzf en.linuxx86.tar.gz</code></p>
<p>sudo ./setupwfc</p>
<p>The install prompts should accept default input.</p>
<p>Now we&#8217;re going to need to go grab a 32-bit copy of libmotif3. Click <a href="http://packages.ubuntu.com/intrepid/i386/libmotif3/download">here</a> and select a mirror. Download the file to your Desktop.</p>
<p>Open up a terminal again, we&#8217;re going to pluck out the 32-bit motif libraries that we need.<br />
<code>cd ~/Desktop<br />
mkdir motif<br />
mv libmotif* ./motif/ &amp;&amp; cd ./motif<br />
ar -x ./libmotif*<br />
tar xvzf data.tar.gz<br />
cd ./usr/lib/<br />
cp * /usr/lib32/</code></p>
<p>Now go on and run <em>wfcmgr</em>!</p>
<p><a href="http://icanhaslinux.com/wp-content/uploads/2009/02/citrixon64.png" title="Citrix ICA Client running on Ubuntu 8.10 64-bit"><img src="http://icanhaslinux.com/wp-content/uploads/2009/02/citrixon64.png" alt="Citrix ICA Client running on Ubuntu 8.10 64-bit" /></a></p>
<p>Ta-da!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2009/02/02/howto-install-citrix-ica-client-on-ubuntu-810-64-bit/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2009/02/02/howto-install-citrix-ica-client-on-ubuntu-810-64-bit/</feedburner:origLink></item>
		<item>
		<title>Link for today: Bluetooth Proximity – Ubuntu HOWTO</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/1dWL2_RA2Gk/</link>
		<comments>http://icanhaslinux.com/2008/08/14/link-for-today-bluetooth-proximity-ubuntu-howto/#comments</comments>
		<pubDate>Thu, 14 Aug 2008 15:16:35 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2008/08/14/link-for-today-bluetooth-proximity-ubuntu-howto/</guid>
		<description><![CDATA[Link to Howto
I&#8217;ve used this successfully and can attest to how handy it is. Kudos to Iceni for putting that Howto together.
BT dongles are getting cheap enough today that this is very doable. Most phones have BT already, so why not try it out?
Linksys also makes a USB Bluetooth adapter with a movable antenna. I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ubuntuforums.org/showthread.php?t=702372" target="_blank">Link to Howto</a></p>
<p>I&#8217;ve used this successfully and can attest to how handy it is. Kudos to Iceni for putting that Howto together.</p>
<p>BT dongles are getting cheap enough today that this is very doable. Most phones have BT already, so why not try it out?</p>
<p>Linksys also makes a USB Bluetooth adapter with a movable antenna. I&#8217;ve not heard anything about that particular adapter, but I would wager that its range is greater than that of normal Bluetooth dongles.</p>
<p>That&#8217;s it for today!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2008/08/14/link-for-today-bluetooth-proximity-ubuntu-howto/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2008/08/14/link-for-today-bluetooth-proximity-ubuntu-howto/</feedburner:origLink></item>
		<item>
		<title>basics in awk</title>
		<link>http://feedproxy.google.com/~r/ICanHasLinux/~3/mCu9dHvJzTY/</link>
		<comments>http://icanhaslinux.com/2008/08/13/basics-in-awk/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 13:48:59 +0000</pubDate>
		<dc:creator>LightningCrash</dc:creator>
				<category><![CDATA[awk]]></category>
		<category><![CDATA[ihatereadingbooks]]></category>

		<guid isPermaLink="false">http://icanhaslinux.com/2008/08/13/basics-in-awk/</guid>
		<description><![CDATA[awk is a very, very useful command-line program that any Linux/Unix ninja should be familiar with. Awk is specifically geared towards processing text, and it was actually a combination of awk and sed that were an inspiration for Perl.
To start with, awk has three major elements that you need to be aware of when you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>awk is a very, very useful command-line program that any Linux/Unix ninja should be familiar with. Awk is specifically geared towards processing text, and it was actually a combination of awk and sed that were an inspiration for Perl.</p>
<p>To start with, awk has three major elements that you need to be aware of when you&#8217;re working with it. These are the field separator, the pattern, and the action for the pattern.</p>
<p>Your fied separator is obviously what is inbetween the text elements you want to work with. If you open up a terminal and type &#8216;ps -elf&#8217;, you&#8217;ll see that this would just be spaces. Some files, like CSV files, have commas as the separator. Awk can be told what to look for via the -F option on the command-line, or in the program itself. For one-off piping, I prefer to do it via the -F option.</p>
<p>The pattern is much like an  &#8216;if &#8230; then&#8217; statement in other programming languages. If there isn&#8217;t a pattern, the action specified will be applied to all rows of input.</p>
<p>What makes awk handy is that it gives you capabilities that the `cut` command simply can&#8217;t provide.  For instance, if I have a twenty-column CSV and I would like to spit out the third and eleventh column, I can execute the following:</p>
<p><code>awk -F','    '{print $3 FS $11}' file.input</code></p>
<p>The -F&#8217;,&#8217; tells awk that the input fields will be separated by commas. The area enclosed in the braces is the action I talked about earlier. I didn&#8217;t specify a pattern before the action, so the action was applied to every line of input. &#8220;<code>print $3 FS $11</code>&#8221; tells awk to print to the screen the third field of input, the field separator (which we defined as a comma with the -F&#8217;,'), and the eleventh field of input.</p>
<p>If I wanted to do the same, but only print lines where the third field was over a number, say, 110, I could execute the following:</p>
<p><code>awk -F','    '$3 &gt; 110 {print $3 FS $11}'" file.input</code></p>
<p>The pattern before the braces functions much like an &#8220;if &#8230; then&#8221;. If the third field is over 110, awk prints out the third field, the field separator, and the eleventh field.</p>
<p>There is much, much more that you can do with awk, but this should be enough to hint you in the right direction. I know I use awk daily for various tasks related to command-line mischief.  A common thing I use awk for is to manipulate /etc/passwd, where some user account information is stored.</p>
<p>Fortunately, GNU awk is often smart enough to pick up the field separators without specifying the -F option. For instance, /etc/passwd is separated by a colon &#8220;:&#8221;, but GNU awk automatically recognizes this. It&#8217;s worth noting that on some other systems without GNU utilities, awk may behave in ways that you don&#8217;t anticipate.</p>
<p>That&#8217;s it for the moment, just some small tips to get you moving. I&#8217;d recommend picking up a book on AWK. I recommend you pick up a copy of &#8220;The AWK Programming Language&#8221; by Aho, Kernighan and Weinberger. It only makes sense, since they are the creators of AWK. I have also been told that the O&#8217;Reilly AWK book is very good. In addition, the GNU awk is well-documented all over the Internet, so you shouldn&#8217;t be lacking in study material if you put some effort into it.</p>
<p>Until next time!</p>
<p>-LightningCrash</p>
]]></content:encoded>
			<wfw:commentRss>http://icanhaslinux.com/2008/08/13/basics-in-awk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://icanhaslinux.com/2008/08/13/basics-in-awk/</feedburner:origLink></item>
	</channel>
</rss>
