<?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>Austin Matzko&#039;s Blog &#187; Linux</title>
	<atom:link href="http://austinmatzko.com/tag/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://austinmatzko.com</link>
	<description>A blog about philosophy, Christianity, web development and whatever else I feel like writing about.</description>
	<lastBuildDate>Wed, 16 Mar 2011 17:14:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2-RC4-18391</generator>
		<item>
		<title>sed and Multi-Line Search and Replace</title>
		<link>http://austinmatzko.com/2008/04/26/sed-multi-line-search-and-replace/</link>
		<comments>http://austinmatzko.com/2008/04/26/sed-multi-line-search-and-replace/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 17:21:15 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/?p=458</guid>
		<description><![CDATA[I&#8217;ve been experimenting with getting regular expression patterns to match over multiple lines using sed. For example, one might want to change &#60;p&#62;previous text&#60;/p&#62; &#60;h2&#62; &#60;a href=&#34;http://some-link.com&#34;&#62;A title here&#60;/a&#62; &#60;/h2&#62; &#60;p&#62;following text&#60;/p&#62; to &#60;p&#62;previous text&#60;/p&#62; No title here &#60;p&#62;following text&#60;/p&#62; sed cycles through each line of input one line at a time, so the most [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been experimenting with getting regular expression patterns to match over multiple lines using <a href="http://en.wikipedia.org/wiki/Sed"><code>sed</code></a>.  For example, one might want to change</p>
<div class="filosofo-highlight-light html4strict" style="font-family: monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p&gt;</span></span>previous text<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;h2&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://some-link.com&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>A title here<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/a&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/h2&gt;</span></span><br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p&gt;</span></span>following text<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p&gt;</span></span></div>
<p>to </p>
<div class="filosofo-highlight-light html4strict" style="font-family: monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p&gt;</span></span>previous text<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p&gt;</span></span><br />
No title here<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;p&gt;</span></span>following text<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/p&gt;</span></span></div>
<p><code>sed</code> cycles through each line of input one line at a time, so the most obvious way to match a pattern that extends over several lines is to concatenate all the lines into what is called <code>sed</code>&#8216;s &#8220;hold space,&#8221; then look for the pattern in that (long) string.  That&#8217;s what I do in the following lines:</p>
<div class="filosofo-highlight-light bash" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #c20cb9; font-weight: bold;">sed</span> -n <span style="color: #ff0000;">'<br />
# if the first line copy the pattern to the hold buffer<br />
1h<br />
# if not the first line then append the pattern to the hold buffer<br />
1!H<br />
# if the last line then ...<br />
$ {<br />
&nbsp; &nbsp; &nbsp; &nbsp; # copy from the hold to the pattern buffer<br />
&nbsp; &nbsp; &nbsp; &nbsp; g<br />
&nbsp; &nbsp; &nbsp; &nbsp; # do the search and replace<br />
&nbsp; &nbsp; &nbsp; &nbsp; s/&lt;h2.*&lt;/h2&gt;/No title here/g<br />
&nbsp; &nbsp; &nbsp; &nbsp; # print<br />
&nbsp; &nbsp; &nbsp; &nbsp; p<br />
}<br />
'</span> sample.php <span style="color: #000000; font-weight: bold;">&gt;</span> sample-edited.php;</div>
<p>A more compact version: </p>
<div class="filosofo-highlight-light bash" style="font-family: monospace;"><br />
<span style="color: #c20cb9; font-weight: bold;">sed</span> -n <span style="color: #ff0000;">'1h;1!H;${;g;s/&lt;h2.*&lt;/h2&gt;/No title here/g;p;}'</span> sample.php <span style="color: #000000; font-weight: bold;">&gt;</span> sample-edited.php;<br />
&nbsp;</div>
<p>As far as I can tell, that&#8217;s the most efficient way to match general multi-line patterns.  I initially thought it might be more efficient not to keep the complete input in the hold buffer, so I modified the algorithm to print out the string whenever a match is found:</p>
<div class="filosofo-highlight-light bash" style="font-family: monospace;"><br />
<span style="color: #808080; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #c20cb9; font-weight: bold;">sed</span> -n <span style="color: #ff0000;">'1h <br />
1!{<br />
&nbsp; &nbsp; &nbsp; &nbsp; # if the sought-after regex is not found, append the pattern space to hold space<br />
&nbsp; &nbsp; &nbsp; &nbsp; /&lt;h2.*&lt;/h2&gt;/ !H<br />
&nbsp; &nbsp; &nbsp; &nbsp; # copy hold space into pattern space<br />
&nbsp; &nbsp; &nbsp; &nbsp; g<br />
&nbsp; &nbsp; &nbsp; &nbsp; # if the regex is found, then...<br />
&nbsp; &nbsp; &nbsp; &nbsp; /&lt;h2.*&lt;/h2&gt;/ {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # the regular expression<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; s/&lt;h2.*&lt;/h2&gt;/No title here/g<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # print <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; p<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # read the next line into the pattern space<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; n<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; # copy the pattern space into the hold space<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; h<br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; # copy pattern buffer into hold buffer<br />
&nbsp; &nbsp; &nbsp; &nbsp; h<br />
}<br />
# if the last line then print<br />
$p<br />
'</span> sample.php <span style="color: #000000; font-weight: bold;">&gt;</span> sample-edited.php;<br />
&nbsp;</div>
<p>In the last example, <code>sed</code> concatenates lines only until it finds a match, and then it prints the line (after substituting the text).  Then, it starts again to concatenate the following lines.  </p>
<p>However, that approach is usually massively inefficient, as the regex work increases logarithmically.  Unless a <code>sed</code> guru can point out a better way, I&#8217;m going to continue using the first approach.  </p>
<p>I&#8217;ve put the following script, which I call &#8220;<code>sedml</code>,&#8221; for <code>sed</code> multi-line, in my bash path.</p>
<div class="filosofo-highlight-light bash" style="font-family: monospace;"><span style="color: #808080; font-style: italic;">#!/bin/sh</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">$</span>#&quot;</span> -lt <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <br />
<span style="color: #000000; font-weight: bold;">then</span><br />
<span style="color: #7a0874; font-weight: bold;">exit</span>;<br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<br />
<span style="color: #808080; font-style: italic;"># change the input file if no 3rd argument</span><br />
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> -z <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">$</span>3&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span><br />
<span style="color: #000000; font-weight: bold;">then</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">outputfile=</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">$</span>1&quot;</span><br />
<span style="color: #000000; font-weight: bold;">else</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #007800;">outputfile=</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">$</span>3&quot;</span><br />
<span style="color: #000000; font-weight: bold;">fi</span><br />
<span style="color: #c20cb9; font-weight: bold;">sed</span> -n <span style="color: #ff0000;">'<br />
# if the first line copy the pattern to the hold buffer<br />
1h<br />
# if not the first line then append the pattern to the hold buffer<br />
1!H<br />
# if the last line then ...<br />
$ {<br />
&nbsp; &nbsp; &nbsp; &nbsp; # copy from the hold to the pattern buffer<br />
&nbsp; &nbsp; &nbsp; &nbsp; g<br />
&nbsp; &nbsp; &nbsp; &nbsp; # do the search and replace<br />
&nbsp; &nbsp; &nbsp; &nbsp; '</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">$</span>2&quot;</span><span style="color: #ff0000;">'<br />
&nbsp; &nbsp; &nbsp; &nbsp; # print<br />
&nbsp; &nbsp; &nbsp; &nbsp; p<br />
}<br />
'</span> $<span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> $<span style="color: #000000;">1</span>.tmp;<br />
<span style="color: #c20cb9; font-weight: bold;">mv</span> -f $<span style="color: #000000;">1</span>.tmp <span style="color: #007800;">$outputfile</span>;<br />
&nbsp;</div>
<p>So I can replace multi-line patterns in multiple files like so:</p>
<div class="filosofo-highlight-light bash" style="font-family: monospace;">&nbsp;<span style="color: #c20cb9; font-weight: bold;">grep</span> -rl <span style="color: #ff0000;">'&lt;h2'</span> <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> i; <span style="color: #000000; font-weight: bold;">do</span> sedml <span style="color: #007800;">$i</span> <span style="color: #ff0000;">&quot;s/&lt;h2.*&lt;/h2&gt;/No title here/g&quot;</span> <span style="color: #007800;">$i</span>.tmp; <span style="color: #000000; font-weight: bold;">done</span>;</div>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2008/04/26/sed-multi-line-search-and-replace/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>How I Rip and Encode MP3s on the Ubuntu Linux Command Line</title>
		<link>http://austinmatzko.com/2008/04/10/shell-mp3-encoding/</link>
		<comments>http://austinmatzko.com/2008/04/10/shell-mp3-encoding/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 11:00:03 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[cdparanoia]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[lltag]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/?p=438</guid>
		<description><![CDATA[I like to know how to use the command line for everything I can. Here are the tools and commands I use to make mp3s. First, I rip from the CDROM to a wav file. cdparanoia 1 prokofiev1.wav cdparanoia lets me specify the input device, but I don&#8217;t need to, since the default&#8212;/dev/cdrom&#8212;is what I [...]]]></description>
			<content:encoded><![CDATA[<p>I like to know how to use the command line for everything I can.  Here are the tools and commands I use to make mp3s.</p>
<p>First, I rip from the CDROM to a <code>wav</code> file.  </p>
<p><code>cdparanoia 1 prokofiev1.wav</code></p>
<p><code>cdparanoia</code> lets me specify the input device, but I don&#8217;t need to, since the default&#8212;<code>/dev/cdrom</code>&#8212;is what I want.  The line above just says to rip the first track to a <code>wav</code> file named <code>prokofiev1.wav</code>.</p>
<p><code>lame -h prokofiev1.wav prokofiev1.mp3</code></p>
<p>Encode the <code>wav</code> file to a <code>mp3</code> file, in high quality (128 kb).</p>
<p><code>lltag --cddb prokofiev1.mp3</code></p>
<p><code>lltag</code> helps me look up the <a href="http://en.wikipedia.org/wiki/Cddb">CDDB</a> data about the track and then add it to the mp3. I&#8217;m first prompted to make a CDDB query:</p>
<p><strong><code>Enter CDDB query [<query>q] (no default, h for help) ?</code></strong></p>
<p>I&#8217;ve tried entering the hexadecimal strings I get from <code>cd-discid</code>, but I&#8217;ve never gotten it to return any results.  Instead, I enter &#8220;prokofiev violinsonaten&#8221; verbatim from the CD&#8217;s title.  I get one matching result, which I select, and then I choose the appropriate track and save the CDDB data. </p>
<p><code>id3ed -i prokofiev1.mp3</code> and <code>id3v2 -l prokofiev1.mp3</code> let me verify that the data has been saved. </p>
<p>Now I&#8217;m all set to import the mp3 to Banshee and then to my iPod. </p>
]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2008/04/10/shell-mp3-encoding/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>1 in 4 Million</title>
		<link>http://austinmatzko.com/2006/09/07/1-in-4-million/</link>
		<comments>http://austinmatzko.com/2006/09/07/1-in-4-million/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 15:43:57 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2006/09/07/1-in-4-million/</guid>
		<description><![CDATA[Apparently there are four million of us Ubuntu users (I&#8217;m assuming they&#8217;re including Kubuntu in the mix). That sounds like a lot, until you realize that it&#8217;s only about 2/3 the number of Windows computers that are zombies.]]></description>
			<content:encoded><![CDATA[<p>Apparently <a href="http://www.forbes.com/technology/2006/09/05/linux-ubuntu-opensource_cz_mr_0906shuttleworth.html?partner=rss">there are four million of us Ubuntu users</a> (I&#8217;m assuming they&#8217;re including Kubuntu in the mix).  That sounds like a lot, until you realize that it&#8217;s only about <a href="http://news.com.com/Microsoft+Zombies+most+prevalent+Windows+threat/2100-7349_3-6082615.html">2/3 the number of Windows computers that are zombies</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2006/09/07/1-in-4-million/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrade</title>
		<link>http://austinmatzko.com/2006/07/21/upgrade/</link>
		<comments>http://austinmatzko.com/2006/07/21/upgrade/#comments</comments>
		<pubDate>Sat, 22 Jul 2006 03:13:11 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Kubuntu]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2006/07/21/upgrade/</guid>
		<description><![CDATA[Yesterday I upgraded my main computer from Kubuntu 5.10 (Breezy Badger) to 6.06 (Dapper). It&#8217;s probably one of the most painless upgrades of any that I&#8217;ve done: I few lines changed and typed, and apt-get does it all. I&#8217;d even say Kubuntu (or Ubuntu) was so easy to upgrade that it&#8217;s almost ready to rival [...]]]></description>
			<content:encoded><![CDATA[<a id="p291" rel="attachment" class="imagelink" href="http://www.ilfilosofo.com/blog/2006/07/21/upgrade/3-d-desktop/" title="3-D Desktop"><img id="image291" class="sideAimage" src="http://www.ilfilosofo.com/wp-content/uploads/3ddesk.thumbnail.jpg" alt="3-D Desktop" /></a>

<p>Yesterday I upgraded my main computer from Kubuntu 5.10 (Breezy Badger) to 6.06 (Dapper).  It&#8217;s probably one of the most painless upgrades of any that I&#8217;ve done: I few lines changed and typed, and apt-get does it all.</p>
<span id="more-290"></span>
<p>I&#8217;d even say Kubuntu (or Ubuntu) was so easy to upgrade that it&#8217;s almost ready to rival Windows or Mac for usability, except for one step: something about the upgrade shot my Nvidia graphics drivers, meaning I had to SSH into the computer and reinstall them.  No big deal, but not something I picture the average user being happy about.</p>

<p>There seems to be better sound support in this latest version.  Firefox and Flash on K/Ubuntu are known to have sound problems, but adapting <a href="http://www.macewan.org/2006/06/01/howto-firefox-flash-video-sound-on-ubuntu-linux-dapper/">this fix</a> to my 32-bit-Firefox-on-64-bit-Linux-setup, I added a file named &#8220;firefoxrc&#8221; with just one line (<code>FIREFOX_DSP="aoss"</code>) to /usr/local/firefox32, forcing Firefox to use the ALSA sound server.  Setting the system sound server to ESD allows me to avoid the usual conflicts between the Flash and system sounds.</p>

<p>One cool feature of this version of KDE is 3-D representation of desktop switching, pictured.  Not really that useful, but fun to play with.</p>]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2006/07/21/upgrade/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Boston LinuxWorld</title>
		<link>http://austinmatzko.com/2006/04/06/boston-linuxworld/</link>
		<comments>http://austinmatzko.com/2006/04/06/boston-linuxworld/#comments</comments>
		<pubDate>Thu, 06 Apr 2006 19:02:46 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Boston]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2006/04/06/boston-linuxworld/</guid>
		<description><![CDATA[Today I dropped in on Boston&#8217;s LinuxWorld Expo. I was surprised at how few attendees there were; maybe it had to do with today&#8217;s being the last day of the conference. Those at the booths seemed a little desperate to get rid of their free t-shirts and pens. I&#8217;m probably na&#239;ve to think this odd, [...]]]></description>
			<content:encoded><![CDATA[<img src='http://www.ilfilosofo.com/wp-content/uploads/linuxworld.jpg' alt='LinuxWorld Expo'  class='sideAimage' /><p>Today I dropped in on Boston&#8217;s LinuxWorld Expo.  I was surprised at how few attendees there were; maybe it had to do with today&#8217;s being the last day of the conference. Those at the booths seemed a little desperate to get rid of their free t-shirts and pens.</p>

<p>I&#8217;m probably na&iuml;ve to think this odd, but whereas Red Hat had a large, multi-section booth in front, Fedora was tucked away in the back.  Are they pretending that they&#8217;re not related, at least when having company over?</p> 

]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2006/04/06/boston-linuxworld/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash for 64-bit Fedora Core 4</title>
		<link>http://austinmatzko.com/2006/03/21/flash-for-64-bit-fedora-core-4/</link>
		<comments>http://austinmatzko.com/2006/03/21/flash-for-64-bit-fedora-core-4/#comments</comments>
		<pubDate>Wed, 22 Mar 2006 03:58:47 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2006/03/21/flash-for-64-bit-fedora-core-4/</guid>
		<description><![CDATA[I complained last week that there&#8217;s no Flash for Linux 64-bit. Ziobudda asked why I didn&#8217;t just install the 32-bit Firefox. Why not? I couldn&#8217;t think of any good reason. So here&#8217;s how I did it. First of all, I wanted to use yum so I could avoid all dependency issues (not to mention it [...]]]></description>
			<content:encoded><![CDATA[<p>I complained last week that there&#8217;s no Flash for Linux 64-bit.  <a href="http://www.ilfilosofo.com/blog/2006/03/15/funny/#comment-555">Ziobudda asked</a> why I didn&#8217;t just install the 32-bit Firefox.   Why not?  I couldn&#8217;t think of any good reason.  So here&#8217;s how I did it.</p>

<p>First of all, I wanted to use yum so I could avoid all dependency issues (not to mention it makes everything really easy).  So that yum would know where to look for 32-bit Firefox distributions, I added a file named <code>fedora-base-i386.repo</code> in the <code>/etc/yum.repos.d/</code> directory, including this text (thanks to <a href="http://www.linuxquestions.org/questions/showthread.php?p=1786807">this forum</a> for the mostly correct info):</p>
<pre>
[base-i386]
name=base-i386
baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/4/i386/os/
gpgcheck=1
enabled=0
</pre> 
<p>
Having already un-installed my 64-bit Firefox, I ran the yum install for the 32-bit Firefox like so:<br />
<code>yum --enablerepo=base-i386 install firefox.i386</code><br />
and Firefox 32-bit was installed.</p>

<p>One remaining problem were the old Firefox extensions in the <code>.mozilla/firefox/.../extensions/</code> directory, but I just moved them all into another folder.</p>

<p>Next, I <a href="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">downloaded Flash 7</a>, extracted the file and ran the installer only to get the error message that Flash wouldn&#8217;t work with 64-bit architecture.</p>

<p><a href="http://www.developmentnow.com/g/82_2005_8_0_0_516563/Flash-Player-on-Linux-x86-64.htm">Here</a> I found the suggestion to change the Flash installation file (<code>flashplayer-installer</code>) so that it doesn&#8217;t look for i386 architecture.  Under the commented line &#8220;<code># check architecture</code>&#8221; in the <code>flashplayer-installer</code> file, I changed <code>i[3456]86)</code> to <code>x86_64)</code>, and it worked perfectly.</p>

<p>Missing most Flash-designed sites was no great loss, but now I can visit <a href="http://homestarrunner.com/">Homestar Runner</a> and <a href="http://www.youtube.com/">YouTube</a>.  And there&#8217;s no noticeable performance loss in using 32-bit Firefox instead of the 64-bit.</p>]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2006/03/21/flash-for-64-bit-fedora-core-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Funny</title>
		<link>http://austinmatzko.com/2006/03/15/funny/</link>
		<comments>http://austinmatzko.com/2006/03/15/funny/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 23:11:21 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/2006/03/15/funny/</guid>
		<description><![CDATA[I went to register for the LinuxWorld Expo coming to town next month, and I can&#8217;t see most of their site. I can&#8217;t see it because it&#8217;s Flash-based, and there&#8217;s no Flash for my computer&#8217;s operating system and architecture: Linux 64-bit.]]></description>
			<content:encoded><![CDATA[<p>I went to register for the <a href="http://www.linuxworldexpo.com/">LinuxWorld Expo</a> coming to town next month, and I can&#8217;t see most of their site.  I can&#8217;t see it because it&#8217;s Flash-based, and there&#8217;s no Flash for my computer&#8217;s operating system and architecture: Linux 64-bit.</p>]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2006/03/15/funny/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash Panned</title>
		<link>http://austinmatzko.com/2005/10/03/flash-panned/</link>
		<comments>http://austinmatzko.com/2005/10/03/flash-panned/#comments</comments>
		<pubDate>Mon, 03 Oct 2005 17:57:48 +0000</pubDate>
		<dc:creator>filosofo</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Jakob Nielsen]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.ilfilosofo.com/blog/?p=147</guid>
		<description><![CDATA[Today usability guru Jakob Nielsen released his list of the &#8220;Top Ten Web Design Mistakes of 2005.&#8221; I&#8217;m gratified to see that Flash is #3. I view it as a personal failure that Flash collected the bronze medal for annoyance. It&#8217;s been three years since I launched a major effort to remedy Flash problems and [...]]]></description>
			<content:encoded><![CDATA[<p>Today usability guru Jakob Nielsen released his list of the &#8220;<a href="http://www.useit.com/alertbox/designmistakes.html">Top Ten Web Design Mistakes of 2005</a>.&#8221;  I&#8217;m gratified to see that Flash is #3. </p>
<blockquote cite="http://www.useit.com/alertbox/designmistakes.html"><p>I view it as a personal failure that Flash collected the bronze medal for annoyance. It&#8217;s been three years since I launched a major effort to remedy Flash problems and published the guidelines for using Flash appropriately. When I spoke at the main Flash developer conference, almost everybody agreed that past excesses should be abandoned and that Flash&#8217;s future was in providing useful user interfaces.</p>

<p>Despite such good intentions, most of the Flash that Web users encounter each day is bad Flash with no purpose beyond annoying people. The one bright point is that splash screens and Flash intros are almost extinct. They are so bad that even the most clueless Web designers won&#8217;t recommend them, even though a few (even more clueless) clients continue to request them.</p>

<p>Flash is a programming environment and should be used to offer users additional power and features that are unavailable from a static page. Flash should not be used to jazz up a page. If your content is boring, rewrite text to make it more compelling and hire a professional photographer to shoot better photos. Don&#8217;t make your pages move. It doesn&#8217;t increase users&#8217; attention, it drives them away; most people equate animated content with useless content.</p>

<p>Using Flash for navigation is almost as bad. People prefer predictable navigation and static menus. </p></blockquote>

<p>Nielsen is right that Flash can have useful applications, but as he also points out, most of the time it&#8217;s used just for the &#8220;wow&#8221; effect.  And with Google&#8217;s creativity showing how far one can go with &#8220;Ajax&#8221;-based apps, the number of situations in which Flash is necessary is shrinking.</p>
<p>What I dislike about Flash the most and what makes it an anomaly on the Internet is that it&#8217;s a proprietary standard.  You have to run software made by Macromedia in order to view Flash.  Unfortunately, when Macromedia decides it doesn&#8217;t want to port Flash to a given operating system (as it has done with mine, Linux 64-bit), then users are out in the cold.  The number of those users is bound to increase, as mobile phones with web access become more common.  Almost no other significant web technology is proprietary.  From serving web pages to browsing them, you can do it all with open-source applications.  Why should Flash be the exception?</p>]]></content:encoded>
			<wfw:commentRss>http://austinmatzko.com/2005/10/03/flash-panned/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

