<?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>Hawk&#039;s Babble-Log &#187; linux</title>
	<atom:link href="http://www.jedihawk.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jedihawk.com</link>
	<description>I&#039;m here to kick ass and chew bubblegum... and I&#039;m all out of bubblegum.</description>
	<lastBuildDate>Wed, 11 Jan 2012 15:21:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Ubuntu wants to restart often</title>
		<link>http://www.jedihawk.com/2011/11/02/ubuntu-wants-to-restart-often/</link>
		<comments>http://www.jedihawk.com/2011/11/02/ubuntu-wants-to-restart-often/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 15:15:46 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=1276</guid>
		<description><![CDATA[After most updates, Ubuntu wants to restart/reboot my system. In a word: No. I&#8217;m not running a Microsoft product here. One thing I like about linux is that it can run virtually forever. I run my system for months, sometimes years, between reboots. Why? Simple: I have a lot of stuff open. It takes a [...]]]></description>
			<content:encoded><![CDATA[<p>After most updates, Ubuntu wants to restart/reboot my system.</p>
<p><img src="http://www.jedihawk.com/wp-content/uploads/ubuntu_update_manager_wants_to_restart.png" alt="" title="ubuntu_update_manager_wants_to_restart" width="600" height="524" class="aligncenter size-full wp-image-1277" /></p>
<p>In a word: No.</p>
<p>I&#8217;m not running a Microsoft product here.  One thing I like about linux is that it can run virtually forever.  I run my system for months, sometimes years, between reboots.  Why?  Simple:  I have a lot of stuff open.  It takes a long time to set all of it up and get it running.  I&#8217;m not going to do that every other day or every week.  Not even every month.  If that means I only update once or twice a year, then so be it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/11/02/ubuntu-wants-to-restart-often/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to make a drive into a file in linux</title>
		<link>http://www.jedihawk.com/2011/08/26/how-to-make-a-drive-into-a-file/</link>
		<comments>http://www.jedihawk.com/2011/08/26/how-to-make-a-drive-into-a-file/#comments</comments>
		<pubDate>Sat, 27 Aug 2011 05:26:17 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[drives]]></category>
		<category><![CDATA[gzip]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=1179</guid>
		<description><![CDATA[A friend of mine asked me to help him make a copy of two drives. These drives work together on a RAID 0. With a RAID 0, you have approximately twice the speed, but also twice the chance of failure. So, understandably, they would like to have a backup of the system. But they don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine asked me to help him make a copy of two drives.  These drives work together on a <a href='http://en.wikipedia.org/wiki/Raid_0' target='_blank'>RAID 0</a>.  With a RAID 0, you have approximately twice the speed, but also twice the chance of failure.</p>
<p>So, understandably, they would like to have a backup of the system.  But they don&#8217;t want something that has to be installed, and then configured, and all that stuff.  They are not &#8220;linux people&#8221;.  They want something where they can yank out the old drives and insert two new drives and have it &#8220;just work&#8221;.</p>
<p>Here&#8217;s the overall procedure:</p>
<ul>
<li>Make a bootable <a href='http://knoppix.com/' target='_blank'>Knoppix</a> USB drive.</li>
<li>Connect a new drive to the system.  This new drive will store the two source disk images.</li>
<li>Boot Knoppix and Ctrl-Alt-F1 into command-line mode.</li>
<li>Make a file from the entire 1st disk and put it on the new disk.</li>
<li>If the other drive is not connected, shut the system down and connect the other drive.</li>
<li>Make a file from the entire 2nd disk and put it on the new disk.</li>
<li>Disconnect the new drive &#038; the USB drive, and reconnect the originals.</li>
<li>Boot it up again and watch it to make sure all is well.</li>
</ul>
<p>For the linux guru, here are the commands I used:</p>
<p><code><br />
fdisk -l<br />
</code></p>
<p><tt>fdisk</tt> is usually the tool you use to set up partitions from the command-line.  Using it like this with the <tt>-l</tt> switch gives you a list of all the partitions on all connected drives, whether they are mounted or not.  Very useful.</p>
<p><code><br />
dd if=/dev/sdc | gzip > drive1_250g_2011-08-19.img.gz<br />
</code></p>
<p>This is the magic linux command used to actually make the file from one whole disk.  <tt>dd</tt> is a command which simply routes data.  Every device in linux is a file, so it&#8217;s easy to read an entire disk.  In the above case, <tt>dd</tt> is getting it&#8217;s data (if = In File) from the device which represents the entire disk: <tt>/dev/sdc</tt>.  <tt>sdc</tt> means the third SCSI drive detected.  On your system, it may be <tt>sda</tt> or <tt>sdd</tt>.</p>
<p>By default, <tt>dd</tt> outputs data to STDOUT, so here I&#8217;m piping it into the <tt>gzip</tt> command, which compresses data.  If you don&#8217;t compress data, then you might end up with a file which is bigger than you expect when reading raw filesystems, due to the way filesystems lay down data with sector markers and whatnot.</p>
<p>Finally, I&#8217;m redirecting the output from <tt>gzip</tt> into a file, and I&#8217;m making sure that it has an extension which describes what kind of file it is.  But you can call it whatever you want.</p>
<p>The first time I tried this command, I used <tt>bzip2</tt> because it has better data compression routines and therefore makes smaller files.  But better compression also means more CPU computations, and that alone slowed down performance to an unacceptable level.  Why an unacceptable level?  This server that I was working on had to be fully online by 7am.  I took it offline and started work around midnight.  This gave me about 6 hours to copy the drives.  I gave myself an extra hour to debug and get it put back together and installed where it was in the rack, which should be plenty of time.</p>
<p>Using the above <tt>dd</tt> command with <tt>bzip2</tt>, I was able to copy about 9-11 MB / sec.  This put the total time for one drive at about 6-8 hours.  I didn&#8217;t have that much time.</p>
<p>Using the above <tt>dd</tt> command with <tt>gzip</tt>, I was able to copy about 40-45 MB / sec.  This put the total time for one drive at about 90-105 minutes.  Now I had enough time in one night to copy the drives.  Additionally, the files were very small with <tt>gzip</tt>, so <tt>bzip2</tt> would not have made a significant difference but would have taken much, much longer.</p>
<p><b>How did I know the rate of copy using <tt>dd</tt>?</b></p>
<p><code><br />
kill -USR1 (pid of dd)<br />
</code></p>
<p>First, find out what the Process ID is for the running <tt>dd</tt> command.  To do this, Ctrl-Alt-F2 into the second virtual terminal and run:</p>
<p><code><br />
ps aux | grep "dd if"<br />
</code></p>
<p>The PID is the first number on the <tt>dd</tt> line.  Once you&#8217;ve got that, use the above <tt>kill -USR1</tt> command and <tt>dd</tt> will output several lines of useful information (in the virtual terminal where it&#8217;s running), including how much data has been transferred and the rate.</p>
<p>I set it up so that it would do this automatically every 5 minutes like this:</p>
<p><code><br />
while kill -USR1 (pid of dd) ; do sleep 300 ; done<br />
</code></p>
<p>This <tt>while</tt> loop runs the stated command until that command returns false.  The body of the <tt>while</tt> loop simply <tt>sleep</tt>s for 5 minutes.  After starting this loop, Ctrl-Alt-F1 back into the first virtual terminal to watch <tt>dd</tt>&#8216;s progress.</p>
<p>I was fully successful in copying the two drives to files and had the server back in operation before 5am.</p>
<p>Once I got home, I ordered up two new drives exactly like the old ones.  Well, mostly exactly like the old ones.  Once they arrived, I connected one to my <a href='http://www.thinkgeek.com/computing/usb-gadgets/a7ea/' target='_blank'>SATA-to-USB drive adapter</a> and ran this:</p>
<p><code><br />
zcat (filename) | dd of=/dev/sdx<br />
</code></p>
<p><b>MAKE SURE YOU KNOW WHAT <tt>/dev/sdx</tt> is!</b>  Running this command on the wrong device will wipe out whatever is on that device, including your main linux filesystem!</p>
<p>How to find out the device you just plugged in?</p>
<p><code><br />
dmesg | tail<br />
</code></p>
<p>From the output of the above command, you should be able to figure it out.</p>
<p>Decompressing on the fly and writing to a drive like this via a SATA-to-USB interface will be very slow.  The max rate I achieved was 4M / sec.  More commonly, I achieved 3.8M / sec, which is a little more than 1M every 5 minutes.  That puts the total time up around 18 hours per drive.  But hey, I was in no hurry.  The drive finished up over night and then I did the other one.  It was the same command but with a different filename.</p>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/08/26/how-to-make-a-drive-into-a-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache 2.2.19 on Ubuntu 9.10</title>
		<link>http://www.jedihawk.com/2011/08/17/apache-2-2-19-on-ubuntu-9-10/</link>
		<comments>http://www.jedihawk.com/2011/08/17/apache-2-2-19-on-ubuntu-9-10/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 22:05:05 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[compile from source]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrading]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=1135</guid>
		<description><![CDATA[my procedure for upgrading Apache on Ubuntu without upgrading the entire OS.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re running a webserver on Ubuntu 9.10.  For various reasons, we decided to upgrade Apache without upgrading Ubuntu.  Docs for Apache I followed:<br />
<a href='http://httpd.apache.org/docs/2.2/install.html' target='_blank'>http://httpd.apache.org/docs/2.2/install.html</a></p>
<p>And here&#8217;s what I did:</p>
<p>1) Download the latest Apache source tarball.  In my case, it was Apache 2.2.19.</p>
<p><code><br />
wget http://apache.mirrors.tds.net//httpd/httpd-2.2.19.tar.bz2<br />
</code></p>
<p>2) Extract.</p>
<p><code><br />
tar xjvf httpd-2.2.19.tar.bz2<br />
cd httpd-2.2.19<br />
</code></p>
<p>3) Configure the build to be like our existing Apache install.  <a href='http://httpd.apache.org/docs/2.2/programs/configure.html' target='_blank'>Use your own <tt>./configure</tt> command</a>.</p>
<p><code><br />
./configure --prefix=/usr/local/apache2 --enable-mods-shared="all authn_file authz_default authz_groupfile authz_host authz_user deflate php5 proxy_http proxy rewrite ssl"<br />
</code></p>
<p>4) Build it.</p>
<p><code><br />
make &#038;&#038; echo done with step: make<br />
make install &#038;&#038; echo done with step: make install<br />
</code></p>
<p>5) Now comes the hard part.  I had to migrate our existing config tree over to this new custom source compile.  I started off by copying the entire <tt>/etc/apache2</tt> dir to <tt>/usr/local/apache2/conf</tt></p>
<p><code><br />
cp -a /etc/apache2/* /usr/local/apache2/conf/<br />
</code></p>
<p>I tried several configs, but the easiest thing to do was to rename Ubuntu&#8217;s old <tt>apache2.conf</tt> file to <tt>httpd.conf</tt> as that is the default config file Apache uses when it starts up.  I also took out Ubuntu&#8217;s <tt>Include</tt> line which included the file <tt>httpd.conf</tt> as I don&#8217;t want it trying to include itself endlessly.</p>
<p>After that, I just needed to update the config.</p>
<p>I updated the <tt>ServerRoot</tt> directive:</p>
<p><code><br />
#ServerRoot "/etc/apache2"<br />
ServerRoot "/usr/local/apache2"<br />
</code></p>
<p>I changed Apache&#8217;s default user to Ubuntu&#8217;s standard <tt>www-data</tt> user:</p>
<p><code><br />
User www-data<br />
Group www-data<br />
</code></p>
<p>Instead of keeping the tree of <tt>mods-available</tt> and <tt>mods-enabled</tt> and all those separate files and symlinks, I just put it all into the main <tt>httpd.conf</tt> file.  That works best for us; easier to maintain.</p>
<p>I used vim to edit our new <tt>httpd.conf</tt> file.  From within vim:</p>
<p><code><br />
:r !cat mods-enabled/*.load<br />
:r !cat mods-enabled/*.conf<br />
</code></p>
<p>Order is significant here; proxy_module first, then proxy_http_module:</p>
<p><code><br />
LoadModule proxy_module         /usr/local/apache2/modules/mod_proxy.so<br />
LoadModule proxy_http_module    /usr/local/apache2/modules/mod_proxy_http.so<br />
</code></p>
<p>I updated the paths for each module.  A standard Ubuntu module looks like this:</p>
<p><code><br />
LoadModule log_config_module    /usr/lib/apache2/modules/mod_log_config.so<br />
</code></p>
<p>But with my new custom compiled Apache, I needed this:</p>
<p><code><br />
LoadModule log_config_module  /usr/local/apache2/modules/mod_log_config.so<br />
</code></p>
<p>&#8230; because my new Apache lives in <tt>/usr/local/apache2</tt>.</p>
<p>I kept Ubuntu&#8217;s PHP5 binary install:</p>
<p><code><br />
LoadModule php5_module  /usr/lib/apache2/modules/libphp5.so<br />
</code></p>
<p>After all that config stuff, it was time to test it out.  I temporarily changed the ports from 80 to 180, and from 443 to 1443 (for SSL), and tried it out.</p>
<p><code><br />
/usr/local/apache2/bin/apachectl start<br />
</code></p>
<p>At this point, I have our original Apache running alongside my new custom-compiled one.  Cool.  But I&#8217;m done testing.</p>
<p><code><br />
/usr/local/apache2/bin/apachectl stop<br />
</code></p>
<p>Once I&#8217;m done testing and I see that it&#8217;s working on non-standard ports, it&#8217;s time to put the ports back and go live.  But there is one more important step here: the startup/control script!</p>
<p>Ubuntu uses <tt>/etc/init.d/apache2</tt> as the control script.  It has some fancy functions in it, sets some things using environment vars, and other stuff I don&#8217;t need.  So I used some functions from Ubuntu&#8217;s startup script, and some stuff from a generic startup script and came up with this:</p>
<p><code>
<pre>
#!/bin/sh

# init
PIDFILE=/usr/local/apache2/logs/httpd.pid

# functions

pidof_apache() {
  # if pidof is null for some reasons the script exits automagically
  # classified as good/unknown feature
  PIDS=$(pidof httpd) || true

  [ -e $PIDFILE ] &#038;&#038; PIDS2=$(cat $PIDFILE)

  # if there is a pid we need to verify that belongs to apache2
  # for real
  for i in $PIDS; do
    if [ "$i" = "$PIDS2" ]; then
      # in this case the pid stored in the
      # pidfile matches one of the pidof apache
      # so a simple kill will make it
      echo $i
      return 0
    fi
  done
  return 1
}

# start

case "$1" in

start)
echo "Starting Apache ..."
/usr/local/apache2/bin/apachectl start
;;

stop)
echo "Stopping Apache ..."
/usr/local/apache2/bin/apachectl stop
;;

graceful)
echo "Restarting Apache gracefully..."
/usr/local/apache2/bin/apachectl graceful
;;

restart)
echo "Restarting Apache ..."
/usr/local/apache2/bin/apachectl restart
;;

status)
PID=$(pidof_apache)
if [ -n "$PID" ]; then
  echo "Apache is running (pid $PID)."
  exit 0
else
  echo "Apache is not running."
  exit 1
fi
;;

*)
echo "Usage: '$0' {status|start|stop|restart|graceful}" >&#038;2
exit 64
;;

esac

exit 0
</pre>
<p></code></p>
<p>I renamed Ubuntu&#8217;s default Apache control script&#8230;</p>
<p><code><br />
cd /etc/init.d<br />
cp -a apache2 apache2.orig<br />
</code></p>
<p>&#8230; and installed the above into <tt>apache2</tt>&#8230;</p>
<p><code><br />
(copy script into your clipboard)<br />
cat > apache2<br />
(paste script)<br />
^D (Ctrl-D for Done)<br />
</code></p>
<p>The above procedure will completely overwrite your <tt>apache2</tt> script, so be sure you make a copy of it first.</p>
<p>And now for the moment of truth:</p>
<p><code><br />
./apache2.orig stop &#038;&#038; sleep 1 &#038;&#038; ./apache start<br />
</code></p>
<p>I hit our website and all was well.  We were down for about 2 seconds.  I can live with that downtime.</p>
<p>The nice thing about this is that if it doesn&#8217;t work, I can always go back to the stock, binary Apache that comes with Ubuntu.</p>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/08/17/apache-2-2-19-on-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HJ-Split Multi-Platform File Splitter</title>
		<link>http://www.jedihawk.com/2011/08/05/hj-split-multi-platform-file-splitter/</link>
		<comments>http://www.jedihawk.com/2011/08/05/hj-split-multi-platform-file-splitter/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 21:53:27 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[file splitter]]></category>
		<category><![CDATA[hj-split]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=1117</guid>
		<description><![CDATA[My experience with HJ-Split.]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.hjsplit.org/' target='_blank'>http://www.hjsplit.org/</a></p>
<p>I can recommend HJ-Split.</p>
<p>I have used HJ-Split in Windows, to split up a huge file, and send it to a friend of mine on a Mac.  There&#8217;s no way he is ever going to install it into his Mac, so I&#8217;m not sure if that version works, but HJ-Split works great in Windows.</p>
<p>I also used it to break up a large file and get it home and into my Linux system.  I used the software to break up a 31G file into 1.5G pieces, put the pieces on my 32G USB drive, took it home, copied all the pieces into my Linux machine at home, and then pieced it back together again using the &#8216;<tt>cat</tt>&#8216; command.  Worked perfectly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/08/05/hj-split-multi-platform-file-splitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Networks are getting worse</title>
		<link>http://www.jedihawk.com/2011/07/19/networks-are-getting-worse/</link>
		<comments>http://www.jedihawk.com/2011/07/19/networks-are-getting-worse/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 01:51:07 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[bad networks]]></category>
		<category><![CDATA[computer networking]]></category>
		<category><![CDATA[networks]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=1112</guid>
		<description><![CDATA[It seems to me, networks (in general) are getting worse. My network here at home, AT&#038;T U-verse, sucks in general. It works enough of the time that I don&#8217;t bother looking for another. But it&#8217;s not good. Example: I was downloading a radio show from one of my favorite DJ&#8217;s, S.A.M.E. Radio (Steve Anderson Music), [...]]]></description>
			<content:encoded><![CDATA[<p>It seems to me, networks (in general) are getting worse.</p>
<p>My network here at home, AT&#038;T U-verse, sucks in general.  It works enough of the time that I don&#8217;t bother looking for another.  But it&#8217;s not good.</p>
<p>Example:  I was downloading a radio show from one of my favorite DJ&#8217;s, <a href='http://www.sameradioshow.com/' target='_blank'>S.A.M.E. Radio (Steve Anderson Music)</a>, and the file gets to about 60% or so and then just stalls out.  My downloader (wget in this case) eventually times out and then automatically re-tries with resume, and gets the rest of the file.  This happens every week.</p>
<p>Example:  I help a local non-profit down the street with their networking needs.  Almost every day, their network fails completely, for no apparent reason.  We&#8217;ve tried changing routers, other networking equipment, testing for zombie machines hogging network, etc.  We&#8217;ve called the guys out there to check the line; they say all is well.  But I don&#8217;t think so.  No one seems to be able to find out the cause and fix the issue.  It&#8217;s an ongoing issue.</p>
<p>Example:  Recently, I needed to transfer a huge file (about 30G) from a remote server to my own machine or one of the servers that I control.  It was basically a backup.  It took me about a week to finally get this friggin&#8217; file.  I tried transferring with gFTP (Linux) but that timed-out.  I tried transferring with scp from the command-line, but that timed-out too.  I tried using wget/browser via Apache, but that also timed-out.  I tried initiating the transfer from the server to me, and from me to the server.  Nothing worked; the transfer started off great and fast, but then just fell to nothing and eventually timed out.  The only thing that finally worked was this:  I sent the file to another linux server I control (which happened relatively quickly but still took all night), then transfered the file to my work computer, then broke it up in to 1.5G pieces so that it would fit in a FAT32 filesystem, then put it on my 32G USB drive, then brought it home and copied all that into my home linux machine, then cat&#8217;ed it all back together again.  All because of crappy networks.</p>
<p>Example:  I was downloading some software from SourceForge with wget on the command-line (of course).  It got 80% done, then just timed out.  I let it sit there for a while and it finally re-started, resumed, and finished the file.</p>
<p>Failures like this didn&#8217;t used to happen.  Seems like they are happening a lot more these days.  What&#8217;s the world comin&#8217; to?!?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/07/19/networks-are-getting-worse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gentoo Linux sucks</title>
		<link>http://www.jedihawk.com/2011/01/11/gentoo-linux-sucks/</link>
		<comments>http://www.jedihawk.com/2011/01/11/gentoo-linux-sucks/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 05:39:06 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[failure]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[gentoo linux]]></category>
		<category><![CDATA[portage]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=919</guid>
		<description><![CDATA[Why Gentoo sucks ass.]]></description>
			<content:encoded><![CDATA[<p>When I first installed Gentoo, I thought it was pretty good.  It was not as easy as other distros (such as Ubuntu), but it gave me lots of control on how I wanted the system configured and set up and I really liked that.  I liked it so much that I was considering using it for my main development workstation here at home.</p>
<p>At work, we have an old mail server set up on Gentoo.  For some reason, another tech here rebooted it.  It would not come back up.  This happened in the middle of the afternoon, which is not the best time for things like this to happen.  So I connected to it with a Remote KVM (Keyboard, Video, Mouse) device and saw that it had failed to boot up.  It was sitting there at the console with a message like this:</p>
<blockquote><p>fsck.ext3: No such file or directory while trying to open /dev/sda3<br />
/dev/sda3:<br />
The superblock could not be read or does not describe a correct ext2<br />
filesystem.  If the device is valid and it really contains an ext2<br />
filesystem (and not swap or ufs or something else), then the superblock<br />
is corrupt, and you might try running e2fsck with an alternate superblock:<br />
    e2fsck -b 8193 <device><br />
</device></p></blockquote>
<p>This looked like a standard problem where I would need to manually run a repair on the filesystem and then reboot it.  However, I soon discovered that this was a very different issue.</p>
<p>Searching around, I found all kinds of stuff:</p>
<p><a href='http://forums.gentoo.org/viewtopic-t-840402-start-0.html' target='_blank'>http://forums.gentoo.org/viewtopic-t-840402-start-0.html</a><br />
<a href='http://forums.gentoo.org/viewtopic-t-840485.html' target='_blank'>http://forums.gentoo.org/viewtopic-t-840485.html</a><br />
<a href='http://forums.gentoo.org/viewtopic-t-712186-start-0.html' target='_blank'>http://forums.gentoo.org/viewtopic-t-712186-start-0.html</a></p>
<p>I tried re-compiling the kernel with different options (about half a dozen times).  I tried upgrading/downgrading specific packages such as &#8220;udev&#8221;, but that gave me lots of problems due to Portage bitching about USE flags, dependencies, masked packages, and so on.  Nothing but problems with Portage.  I tried boot-time options in the &#8220;kernel&#8221; line, at least 3 or four different ones.  I tried many changes/tweaks/etc.  <em>Nothing worked</em>.</p>
<p>Meanwhile, my boss is a very unhappy customer.  And when I say &#8220;unhappy&#8221;, I mean the kind of unhappy where he begins to imagine doing bad things with weapons to my head.  Luckily, he&#8217;s in another country.</p>
<p>But that doesn&#8217;t stop every other employee in the company from calling me up on my cell phone and telling me how I am personally ruining their lives for all eternity.</p>
<p>After a day or so of beating my head against the Gentoo Linux server, I said screw it and decided to migrate to a newer server.  This involved getting the networking to work, creating devices in /dev, starting daemons such as sshd, and so on.  But every step was difficult and cause me problems.  And all the while, people calling me asking when the mail server will be back up.</p>
<p>I finally get all the data migrated over to the new server but things are set up very differently on Ubuntu.  So it takes almost ALL weekend (working from home) to get the new server running right.</p>
<p>I can recommend <a href='http://www.ubuntu.com/' target='_blank'>Ubuntu</a>.  But I cannot recommend Gentoo.  Why?  Because all of this trouble and downtime was caused by an update.  An update that Portage did at some point earlier.  It was part of a whole system update.  If the system had never been rebooted, I would still not know it.  I would have no clue that the thing would not have booted up in the event of a power failure or whatever.</p>
<p>Go with Ubuntu.  Leave Gentoo for those geeks who love problems (because that&#8217;s what you&#8217;ll get).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2011/01/11/gentoo-linux-sucks/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>An open letter to Jeff Bezos (of Amazon.com)</title>
		<link>http://www.jedihawk.com/2009/05/21/an-open-letter-to-jeff-bezos-of-amazoncom/</link>
		<comments>http://www.jedihawk.com/2009/05/21/an-open-letter-to-jeff-bezos-of-amazoncom/#comments</comments>
		<pubDate>Fri, 22 May 2009 05:03:35 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[amazon kindle]]></category>
		<category><![CDATA[amazon.com]]></category>
		<category><![CDATA[jeff bezos]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=300</guid>
		<description><![CDATA[An open letter to Jeff Bezos on the Kindle, because I don't have a direct way to getting a letter to him.]]></description>
			<content:encoded><![CDATA[<p>Dear Jeff,</p>
<p>I have a lot of respect for you.  I think you&#8217;ve done amazing things with Amazon.com.  Indeed, truly remarkable things.  When idiot investors were walking away from your presentations, you were creating the amazing future which eventually became Amazon.com.</p>
<p>Example:  You started Amazon.com as a book store, then just took it to the moon.  Outstanding!</p>
<p>Example:  Amazon created wish-lists.  I don&#8217;t know if y&#8217;all were the first, but amazon.com was the first site I found that did wish-lists.  This made it easy for me to keep track of the items I was saving up for.</p>
<p>Example:  Amazon One-Click.  It&#8217;s very convenient, fast, and easy to set up.  Makes shopping on amazon.com a cakewalk!  No one else did that, and not many other sites do that now either.</p>
<p>Example:  Amazon Associates.  Made it possible for me to have an online bookstore without the actual bookstore (or moviestore, etc.).</p>
<p>Example:  Amazon Marketplace.  I&#8217;m not saying eBay hadn&#8217;t hit the mark first, but you guys there did a bank up job on the Marketplace and I still find amazing deals there, when I don&#8217;t want to pay full price, or when it&#8217;s out of print.</p>
<p>Example:  Amazon MP3.  I like being able to buy the songs that I like on an album, instead of being forced to buy the whole thing.  In the past, I have purchased CDs for just one song on the disc.  The downloaded MP3 is high bit-rate, and not DRM&#8217;ed.  This is a big point, as I can put it on any of my audio player devices (like my phone).</p>
<p>Example:  Amazon Unbox.  I just may use Unbox for all my video purchases.  I&#8217;m kinda undecided on it, but it&#8217;s still intriguing.  I can buy a movie and start watching it within about 10 minutes (sometimes less) right on my big-screen computer.  Nobody beats 10-minute shipping.  Plus, it&#8217;s there for me forever (can&#8217;t lose it); that&#8217;s a big plus.</p>
<p>And finally&#8230;  The Amazon Kindle.  Wow!  I love it!  I just LOVE IT!  This is the device that I want all my stuff on.  This is the one.  It&#8217;s just the right size, in my humble opinion, because I can slip it into my side pants pocket (even with the cover on).  I love all it&#8217;s features, except the DRM&#8217;ed books.  I can only read &#8216;em on the device, not anywhere else; that&#8217;s a minus.</p>
<p>From my perspective, it looks like you are giving us people/consumers what we want.  I think this is exactly the right thing to do.  How do you know what we want?  Do a survey.  Doing surveys with enough people will give you a very accurate picture of what we want.</p>
<p>In a <a href='http://www.charlierose.com/view/interview/10093' target='_blank'>Charlie Rose interview with Marc Andreessen</a> (creator of Netscape), Marc spoke about the Kindle.  He said something like, &#8220;Oh, Kindle, I mean, it&#8217;s just&#8211;it&#8217;s gigantic.&#8221;  He then went on about form factors&#8230; &#8220;The iPhone with a sort of three or four inch screen&#8230; a laptop or netbook with a 12 or 14 inch screen&#8230; and now you&#8217;ve got the Kindle with a sort of seven inch screen.&#8221;  He and Charlie Rose go on to talk about others making a bunch of little &#8220;pads&#8221;, or &#8220;net pads&#8221;&#8230; Marc continues: &#8220;Somebody will figure it out.  That thing, I mean, the Kindle does books and magazines and newspapers, but that form factor and that shape of a device and that weight in a couple of years is going to be doing video, it’s going to be doing music, it’s going to be doing video conferencing.  It’s going to be doing telephony.  It’s going to be doing Web browsing.  It’s going to be doing everything, right?  And so that’s the next &#8212; one of the fascinating things is that’s the next screen size and the next killer device, I think, is what’s going to happen.</p>
<p>In a recent interview, you were asked about putting other media (such as video) on the Kindle, and you said something like, &#8220;Would you use a Swiss-army knife at the dinner table?&#8221;</p>
<p>Actually, I would.  But that&#8217;s because I&#8217;m a geek.  And I <em>have</em> used a Swiss-army-knife-style spoon-and-fork thingy for eating a whole meal.  It worked quite well, no problemo.</p>
<p>Anyway, here&#8217;s my point:  I (the consumer) want a device just like the Kindle, which can do e-books (just like it does now), play my MP3s (with all the features of an iPod), full color e-paper, play movies (e-paper is almost there, you can watch <a href='http://www.youtube.com/watch?v=TTNOvS0tHDU' target='_blank'>demos on YouTube of video-capable e-paper now</a>), with a big SSD (Solid State Disk) to hold my entire library (of everything, audio/video/ebooks/PDFs/etc), two additional SD card slots for my own SD cards, wireless access to the internet (just like it does now), GPS services (just like it does now), longer battery life, and a good internet browser for web surfing &#038; email (such as Mozilla Firefox).  You could even hook it in to Amazon Unbox and sell me movies directly to my Kindle.  Cha-<em>ching!</em></p>
<p>I would pay a lot for a device that did all that.  I&#8217;d bet others would, too.</p>
<p>Cell phones come close, but they&#8217;re too small to read whole books on (plus they don&#8217;t use e-paper), and they&#8217;re also too small for movies/videos.  The best a cell phone has going for it is that it&#8217;s already networked.  I can do a lot with my little flip-phone: web, Gmail, Google Maps, Yahoo Mail, Facebook, Twitter, Flickr, texting, IMs, take pictures (and post them to Flickr), listen to my MP3s with sterio Bluetooth headphones, and so on, but it&#8217;s not a good e-book reader, and it doesn&#8217;t have a fast-enough processor for video.</p>
<p>Now, let me go back a step, back to before there was a Kindle.  Sony had a pretty good e-book reader, but it wasn&#8217;t networked, you needed to have a computer to put the books into it, there were not a lot of e-books available for it, and it cost a friggin&#8217; arm and a leg.</p>
<p>I would bet I could not have convinced <em>anyone</em> to put <em>any</em> money in to a project to create a cute little e-book reader which used e-paper, ran for days/weeks on a single charge, was networked (for <em>free</em>), had a deal with a big book-seller such as Amazon.com for all of it&#8217;s content, ran on a free, open-source operating system (Linux), and did all the other things (such as note-taking) that the Kindle does&#8230; and make it affordable.  <em>No way, bub.</em>  I would have been laughed at, all the way out the door.</p>
<p>Then Jeff Bezos creates and releases the Amazon Kindle.  Bam!, now it&#8217;s possible.  Before that, it was not within the realm of possibility.  Now that it&#8217;s been released, the Kindle has shown that such a device <em>is</em> actually possible&#8230; and <em>is really</em> what people want.</p>
<p>NOW I could convince someone to make such a device.  Indeed, I could convince someone (with money) to invest in a project to create the all-my-media-needs device described above, the one which is fully networked over the existing Sprint wireless network, portable (with long battery life), color e-paper, full-motion video, MP3/music player, with lots of storage, web browsing, email, VoIP, everything.</p>
<p>Google may already be working on such a device.  Google has money to throw around, and they&#8217;ve got talent as well.  Just look at what they did for cell phone operating systems with <a href='http://code.google.com/android/' target='_blank'>Android</a>.  They&#8217;ve also got a huge <a href='http://books.google.com/' target='_blank'>e-book project</a> already in production, and <a href='http://books.google.com/m' target='_blank'>one for the iPhone &#038; G1</a>.</p>
<p>The guy who owns that big news network, Rupert Murdoch, he&#8217;s got money to throw around.  And he loves the Kindle.  <a href='http://mediamemo.allthingsd.com/20090402/live-from-the-cable-show-rupert-murdoch-and-jeff-bewkes/' target='_blank'>I&#8217;d bet he&#8217;s working on a device</a> to do what you, Jeff Bezos, won&#8217;t let the Kindle become.</p>
<p>Let the Kindle fulfill it&#8217;s destiny.  Create an API for it and let people play around inside it and create with it (just like Google&#8217;s Android OS for cell phones).</p>
<p>If you don&#8217;t, you <em>will</em> lose the market to devices which <em>do what we want them to do</em>, not necessarily what <em>you</em> want them to do.  And if you lose the market, your dream of &#8220;everything ever printed available in the Kindle&#8221; will not happen.</p>
<p>Thanks for your time.</p>
<p>-Hawk<br />
Humble Kindle owner</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2009/05/21/an-open-letter-to-jeff-bezos-of-amazoncom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>powernow-k8: failing targ, change pending bit set</title>
		<link>http://www.jedihawk.com/2008/08/19/powernow-k8-failing-targ-change-pending-bit-set/</link>
		<comments>http://www.jedihawk.com/2008/08/19/powernow-k8-failing-targ-change-pending-bit-set/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 19:34:06 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[amd]]></category>
		<category><![CDATA[change pending bit set]]></category>
		<category><![CDATA[chkconfig]]></category>
		<category><![CDATA[cpuspeed]]></category>
		<category><![CDATA[failing targ]]></category>
		<category><![CDATA[powernow-k8]]></category>

		<guid isPermaLink="false">http://www.jedihawk.com/?p=170</guid>
		<description><![CDATA[powernow-k8: failing targ, change pending bit set
/etc/rc.d/init.d/cpuspeed stop
chkconfig --del cpuspeed]]></description>
			<content:encoded><![CDATA[	<p>When I first saw this message:</p>

	<p>powernow-k8: failing targ, change pending bit set</p>

	<p>I thought to myself, &#8220;Eh?&#8221;  I had no idea what it meant.  Then I did some research and discovered it was due to a hardware bug with some <span class="caps">AMD</span> processors, and that there was a process in linux (CentOS/Redhat) which was unable to update a bit due to this hardware bug.  This process was responsible for changing the speed of the processor on the fly, to help save power.</p>

	<p>However, this process then did the stupidest thing I&#8217;ve ever seen:  it repeatedly displayed this message to the console:</p>

	<p>powernow-k8: failing targ, change pending bit set<br />
Once<br />
powernow-k8: failing targ, change pending bit set<br />
per<br />
powernow-k8: failing targ, change pending bit set<br />
second.<br />
powernow-k8: failing targ, change pending bit set</p>

	<p>This is, without a doubt, the most suppressive error message I&#8217;ve ever seen.  Because it was displayed to the console once per second, I was unable to debug the issue using the console.  The best I could do was configure one of the network cards (blind, I might add), so that I could then <span class="caps">SSH</span> in to the machine from elsewhere.  Then I was able to debug it.</p>

	<p>Any process which repeatedly displays anything to the console, overwriting anything you&#8217;ve got up there, on any virtual terminal, is a suppressive process and should be completely eliminated with prejudice.</p>

	<p>Here&#8217;s what I did to stop these suppressive error messages:</p>

<pre># /etc/rc.d/init.d/cpuspeed stop
Disabling ondemand cpu frequency scaling:                  [  OK  ]</pre>

	<p>Now those annoying (and suppressive) error messages stopped appearing on the console, and I breathed a sigh of relief.  However, the dang thing would start back up again after a reboot:</p>

<pre># chkconfig --list cpuspeed
cpuspeed        0:off   1:on    2:on    3:on    4:on    5:on    6:off</pre>

	<p>chkconfig is telling you that this process will start for all runlevels except 0 and 6.</p>

	<p>Here&#8217;s what I did to prevent it from loading up again:</p>

<pre># chkconfig --del cpuspeed</pre>

	<p>Now check the status:</p>

	<p><tt># chkconfig&#8212;list cpuspeed<br />
service cpuspeed supports chkconfig, but is not referenced in any runlevel (run &#8216;chkconfig&#8212;add cpuspeed&#8217;)</tt></p>

	<p>There, it&#8217;s gone forever.  This did not fix the hardware bug, it just prevented my system from trying to change the cpu speed and, failing, spewing forth suppressive error messages all over the console continuously.</p>

	<p>I hope this helps.</p>

 ]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2008/08/19/powernow-k8-failing-targ-change-pending-bit-set/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PKG_CONFIG_PATH is wonderful</title>
		<link>http://www.jedihawk.com/2006/10/09/pkg_config_path-is-wonderful/</link>
		<comments>http://www.jedihawk.com/2006/10/09/pkg_config_path-is-wonderful/#comments</comments>
		<pubDate>Mon, 09 Oct 2006 17:09:30 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jedihawk.com/hawksblog/?p=132</guid>
		<description><![CDATA[I learned how to use PKG_CONFIG_PATH to step around default library installs]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m trying to install GTK+ version 2 (2.10.4) on my CentOS 4.4 (Red Hat compatible) system.  Right after I run the &#8216;./configure&#8217; command, I get a complaint about having the incorrect version of glib installed:</p>
<p><tt>checking for BASE\_DEPENDENCIES... Requested 'glib-2.0 >= 2.12.0' but version of GLib is 2.4.7<br />
configure: error: Package requirements (glib-2.0 >= 2.12.0    atk >= 1.9.0    pango >= 1.12.0    cairo >= 1.2.0) were not met.<br />
Consider adjusting the PKG\_CONFIG\_PATH environment variable if you<br />
installed software in a non-standard prefix.</tt></p>
<p>So I download and install glib from source.  It installs perfectly, no problemo.  Then I go back to my gtk install dir and run &#8216;./configure&#8217; again, but I get the _same exact complaint_.</p>
<p>This is really, _really_ annoying.</p>
<p>The thing to understand about this is that the newer glib I just installed was placed in &#8216;/usr/local/lib&#8217;, rather than &#8216;/usr/lib&#8217;.  But &#8216;/usr/lib&#8217; is checked first!  So the old version is found rather than the new one I just installed.</p>
<p>Solution:</p>
<p><tt>export PKG\_CONFIG\_PATH=/usr/local/lib/pkgconfig</tt></p>
<p>This tells pkg-config where to look for the proper (newer) installed libraries.  See here, this is the original:</p>
<p><tt>&gt; cat /usr/lib/pkgconfig/glib-2.0.pc<br />
prefix=/usr<br />
exec_prefix=/usr<br />
libdir=/usr/lib<br />
includedir=/usr/include</p>
<p>glib\_genmarshal=glib-genmarshal<br />
gobject\_query=gobject-query<br />
glib\_mkenums=glib-mkenums</p>
<p>Name: GLib<br />
Description: C Utility Library<br />
Version: 2.4.7<br />
Libs: -L${libdir} -lglib-2.0<br />
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include</tt></p>
<p>And this is the newer one I just installed:</p>
<p><tt>&gt; cat /usr/local/lib/pkgconfig/glib-2.0.pc<br />
prefix=/usr/local<br />
exec\_prefix=${prefix}<br />
libdir=${exec_prefix}/lib<br />
includedir=${prefix}/include</p>
<p>glib\_genmarshal=glib-genmarshal<br />
gobject\_query=gobject-query<br />
glib\_mkenums=glib-mkenums</p>
<p>Name: GLib<br />
Description: C Utility Library<br />
Version: 2.12.3<br />
Libs: -L${libdir} -lglib-2.0<br />
Cflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include</tt></p>
<p>[http://gtk.org/](http://gtk.org/)</p>
<p>Technical issues like this are what is keeping Linux off the mainstream desktop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2006/10/09/pkg_config_path-is-wonderful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Yahoo timeout vs Google timeout</title>
		<link>http://www.jedihawk.com/2006/04/14/yahoo-timeout-vs-google-timeout/</link>
		<comments>http://www.jedihawk.com/2006/04/14/yahoo-timeout-vs-google-timeout/#comments</comments>
		<pubDate>Sat, 15 Apr 2006 03:34:59 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://jedihawk.com/hawksblog/?p=100</guid>
		<description><![CDATA[what I think about Yahoo's lousy piss-poor 24-hour max login time]]></description>
			<content:encoded><![CDATA[<p>A &#8220;timeout&#8221; value is how long you wait for something to fail.</p>
<p>I use my Linux desktop as my primary workstation, and my Windoze machine is for anything that I can&#8217;t do in Linux, like RAdmin and games.</p>
<p>In Linux, I let everything run.  I let it run for months and months.  I let it run until it dies.  Then I start it back up again and let it run some more.</p>
<p>I usually don&#8217;t do this with my Windoze machine.  I usually shut it down when I&#8217;m done with it, or put it in Stand-by mode.</p>
<p>Okay, back to my point&#8230;  In Linux, I&#8217;ve got two browsers (at least) running all the time: Mozilla and Firefox.  Mozilla is the full suite of apps, so that&#8217;s what I use for my email too.  Firefox is just the Mozilla web browser.  I&#8217;ve got Mozilla running on my left monitor, and Firefox running on my right monitor.  This way I can log in to both my Yahoo Mail accounts at the same time.</p>
<p>Every day, I (usually) check my various email accounts.  I have about a dozen.  I have two for Yahoo, and just one for Google Mail.  I keep a tab open for each in Firefox, and one tab open in Mozilla for my primary Yahoo account.</p>
<p>Here&#8217;s the point:  Yahoo times out in 24 hours.  This means I have to re-login every day.  Google Mail sits there for two weeks, then I have to re-login.  Google&#8217;s 2-week timeout rocks.  Yahoo&#8217;s 24-hour timeout sucks ass.</p>
<p>Hey Yahoo, do you hear this?  Your 24-hour timeout _sucks ass_.  That means it&#8217;s _bad_, _too short_, and _annoying_.  Also it&#8217;s a _pain in the ass_ to have to re-login every day.  It&#8217;s a pain in the ass because I take full responsibility for the security of my computer&#8230; so _you don&#8217;t have to_.  You don&#8217;t have to bypass my responsibility on this; I know what I&#8217;m doing with my logins.</p>
<p>Google seems to appreciate this.  Thanks, Google.  Keep up the good work!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2006/04/14/yahoo-timeout-vs-google-timeout/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MySQL &#8216;File not found&#8217; error</title>
		<link>http://www.jedihawk.com/2005/12/09/mysql-file-not-found-error/</link>
		<comments>http://www.jedihawk.com/2005/12/09/mysql-file-not-found-error/#comments</comments>
		<pubDate>Sat, 10 Dec 2005 02:21:07 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://jedihawk.com/hawksblog/?p=66</guid>
		<description><![CDATA[open files corrects mysqldump: Got error: 1105: File 'filename' not found (Errcode: 24) when using LOCK TABLES]]></description>
			<content:encoded><![CDATA[<p>I ran into a problem the other day with our production machine running MySQL 4.1.11.</p>
<p>I have an automated system setup to make a backup of the entire database nightly.  During this procedure, I got this error:</p>
<pre>mysqldump: Got error: 1105: File '[filename]' not found
(Errcode: 24) when using LOCK TABLES</pre>
<p>I didn&#8217;t know what to make of it, as the [filename] that it was looking for was right there on the disk, and it had correct permissions.  I ran the mysqldump program manually and got the same error, but on a different file.  Much more research later and&#8230; as it turns out, the problem is NOT that it can&#8217;t find the file, but that the system had run out of file handles.  I added this line to <tt>/etc/my.cnf</tt>:</p>
<pre>open_files_limit=8192</pre>
<p>Then I restarted the database and all was well.</p>
<p>This is one of those rare cases where the error message is not entirely helpful.  I hope this helps explain things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2005/12/09/mysql-file-not-found-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Haxial Calculator</title>
		<link>http://www.jedihawk.com/2005/10/23/haxial-calculator/</link>
		<comments>http://www.jedihawk.com/2005/10/23/haxial-calculator/#comments</comments>
		<pubDate>Sun, 23 Oct 2005 14:57:30 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[engineering]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://jedihawk.com/hawksblog/?p=54</guid>
		<description><![CDATA[Review of the Haxial Calculator for the Windoze (Windows) PC]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hunting around for a good calculator for a while.  As part of this search (and before I picked up my TI V200), I downloaded a nice calculator called [The Haxial Calculator](http://haxial.com/products/calculator/), for Windoze (Windows).  Thankfully, it also runs in Linux.  They also have a version for the Mac.</p>
<p>The main design difference between this calculator and other calculator programs is that it&#8217;s designed to take advantage of the capabilities of a computer, rather than go through all the trouble to simulate a regular calculator device in a computer.</p>
<p>A very good example of a calculator device simulation for your computer is the [DreamCalc 3 Scientific and Graphicing Calculator](http://dreamcalc.com/).  This sucker rocks, is easy to use, does graphs, has a ticket (history) window, and I would have bought it until I found the [Haxial Calculator](http://haxial.com/products/calculator/).</p>
<p>Here is a screenshot:</p>
<p><a href='http://haxial.com/products/calculator/'><img src='/images/haxial_pic2.gif'/></a><br />
This is the standard calculator window.  Many more screenshots are available on [Haxial's website](http://haxial.com/products/calculator/).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2005/10/23/haxial-calculator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RH/FC RPM packages</title>
		<link>http://www.jedihawk.com/2005/02/07/rhfc-rpm-packages/</link>
		<comments>http://www.jedihawk.com/2005/02/07/rhfc-rpm-packages/#comments</comments>
		<pubDate>Mon, 07 Feb 2005 20:58:43 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[.rpm]]></category>
		<category><![CDATA[linux packages]]></category>
		<category><![CDATA[red hat]]></category>
		<category><![CDATA[rpm packages]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[good site for Red Hat / Fedora RPM packages: http://dag.wieers.com/packages/]]></description>
			<content:encoded><![CDATA[<p>Just found a good site for Red Hat / Fedora RPM packages:</p>
<p><a href='http://dag.wieers.com/packages/' target='_blank'>http://dag.wieers.com/packages/</a></p>
<p>Contains well over 1400 projects.</p>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2005/02/07/rhfc-rpm-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 sec DNS delay issue</title>
		<link>http://www.jedihawk.com/2005/02/07/5-sec-dns-delay-issue/</link>
		<comments>http://www.jedihawk.com/2005/02/07/5-sec-dns-delay-issue/#comments</comments>
		<pubDate>Mon, 07 Feb 2005 17:56:17 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[5 second dns delay]]></category>
		<category><![CDATA[dns delay]]></category>
		<category><![CDATA[fc3]]></category>
		<category><![CDATA[fedora core 3]]></category>
		<category><![CDATA[ipv6]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[How to remove 5-second DNS query delay in Fedora Core 3 linux.]]></description>
			<content:encoded><![CDATA[<p>Ever since I first upgraded my main linux machine to Fedora Core 3, I noticed a 5 second delay (per DNS server) for every lookup.  Well, almost every DNS lookup.  If I ran &#8216;host jedihawk.com&#8217; on the command line, it was instant.  But for all other programs, there was a very annoying 5-second delay / DNS server.</p>
<p>During my search for a solution, I found this site:</p>
<p><a href='http://www.mjmwired.net/resources/mjm-fedora-fc3.shtml#ipv6'>http://www.mjmwired.net/resources/mjm-fedora-fc3.shtml#ipv6</a></p>
<p>And therein lies the problem and solution: IPv6.  By default, FC3 tries to use IPv6 for all DNS lookups.  When that timed out, then it would use regular. IPv4.</p>
<p>So I disabled IPv6 using the command from the guide linked above:</p>
<p>(as root) &nbsp; <tt>echo "alias net-pf-10 off" >> /etc/modprobe.conf</tt></p>
<p>And then (believe it or not) you need to reboot.</p>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2005/02/07/5-sec-dns-delay-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RPMs: endless dependencies</title>
		<link>http://www.jedihawk.com/2005/02/03/rpms-endless-dependencies/</link>
		<comments>http://www.jedihawk.com/2005/02/03/rpms-endless-dependencies/#comments</comments>
		<pubDate>Fri, 04 Feb 2005 00:53:28 +0000</pubDate>
		<dc:creator>hawk</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[.rpm]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[redhat package management]]></category>
		<category><![CDATA[rpms]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[endless dependencies instance on redhat; compile from source.]]></description>
			<content:encoded><![CDATA[<p>This is why I dislike RPMs:</p>
<pre>[root@jedihawk work]# rpm -Uhv w32codec-0.90pre7-3.i386.rpm
warning: w32codec-0.90pre7-3.i386.rpm: V3 DSA signature: NOKEY, key ID e01260f1
error: Failed dependencies:
        rpm-build-tools is needed by w32codec-0.90pre7-3.i386

[root@jedihawk work]# rpm -Uhv rpm-build-tools-4.0.2-109.i386.rpm
warning: rpm-build-tools-4.0.2-109.i386.rpm: V3 DSA signature: NOKEY, key ID e01260f1
error: Failed dependencies:
        rpm-build = 4.0.2 is needed by rpm-build-tools-4.0.2-109.i386

[root@jedihawk work]# rpm -Uhv rpm-build-4.3.3-8.i386.rpm
error: Failed dependencies:
        rpm = 4.3.3-8 is needed by rpm-build-4.3.3-8.i386

[root@jedihawk work]# rpm -Uhv rpm-4.3.2-21.i386.rpm
Preparing...                ########################################### [100%]
        package rpm-4.3.2-21 is already installed

[root@jedihawk work]# rpm -Uhv rpm-build-4.3.3-8.i386.rpm
error: Failed dependencies:
        rpm = 4.3.3-8 is needed by rpm-build-4.3.3-8.i386

[root@jedihawk work]# rpm -Uhv rpm-4.3.3-8.i386.rpm
error: Failed dependencies:
        rpm = 4.3.2-21 is needed by (installed) rpm-python-4.3.2-21.i386
        rpm = 4.3.2-21 is needed by (installed) rpm-build-4.3.2-21.i386
        rpm = 4.3.2-21 is needed by (installed) rpm-devel-4.3.2-21.i386

[root@jedihawk work]# rpm -Uhv --force rpm-4.3.3-8.i386.rpm
error: Failed dependencies:
        rpm = 4.3.2-21 is needed by (installed) rpm-python-4.3.2-21.i386
        rpm = 4.3.2-21 is needed by (installed) rpm-build-4.3.2-21.i386
        rpm = 4.3.2-21 is needed by (installed) rpm-devel-4.3.2-21.i386

[root@jedihawk work]# rpm -Uhv --nodeps rpm-4.3.3-8.i386.rpm
Preparing...                ########################################### [100%]
   1:rpm                    ########################################### [100%]

[root@jedihawk work]# rpm -Uhv rpm-build-4.3.3-8.i386.rpm
Preparing...                ########################################### [100%]
   1:rpm-build              ########################################### [100%]

[root@jedihawk work]# rpm -Uhv rpm-build-tools-4.0.2-109.i386.rpm
warning: rpm-build-tools-4.0.2-109.i386.rpm: V3 DSA signature: NOKEY, key ID e01260f1
error: Failed dependencies:
        rpm-build = 4.0.2 is needed by rpm-build-tools-4.0.2-109.i386

[root@jedihawk work]# rpm -Uhv rpm-build-4.0.2-6x.i386.rpm
error: Failed dependencies:
        rpm = 4.0.2 is needed by rpm-build-4.0.2-6x.i386
        libbz2.so.0 is needed by rpm-build-4.0.2-6x.i386
        libdb-3.1.so is needed by rpm-build-4.0.2-6x.i386
        libdb.so.2 is needed by rpm-build-4.0.2-6x.i386
        librpm.so.0 is needed by rpm-build-4.0.2-6x.i386
        librpmbuild.so.0 is needed by rpm-build-4.0.2-6x.i386
        librpmio.so.0 is needed by rpm-build-4.0.2-6x.i386
</pre>
<p>It was here, at this point, that I gave up.  If a lowly programmer/sysadmin like me, who likes to play with linux, decides that it&#8217;s just not worth it, what do you think the average mouse-pusher is going to do?  Pursue this endless course?  No, I don&#8217;t think so.</p>
<p>I&#8217;ll just compile from source, it&#8217;s easier.</p>
<p>I should also point out that it&#8217;s fairly obvious why Windoze is the dominent desktop platform.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jedihawk.com/2005/02/03/rpms-endless-dependencies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

