<?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>dannyman.toldme.com &#187; Linux</title>
	<atom:link href="http://dannyman.toldme.com/category/technical/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://dannyman.toldme.com</link>
	<description>Interesting bits of information and editorial, evolving online since 1995.</description>
	<lastBuildDate>Wed, 08 Feb 2012 17:23:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Notes: Make Ubuntu GUI Less Annoying</title>
		<link>http://dannyman.toldme.com/2011/12/07/ccsm-ubuntu-gui-tweaks/</link>
		<comments>http://dannyman.toldme.com/2011/12/07/ccsm-ubuntu-gui-tweaks/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 21:21:28 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=6316</guid>
		<description><![CDATA[If anyone knows how to reconcile Focus Follows Mouse with "menu bar at the top of the screen" I would love to hear it!  Or if you know how to configure the pager to something besides 2x2 ...]]></description>
			<content:encoded><![CDATA[<p>First, install <code>ccsm</code>.</p>
<p>Terminal windows resize themselves stupidly when changing font size.  I don&#8217;t know how to fix that, but in the CompizConfig Settings Manager, I can enable <strong>Resize Info </strong> to overlay the dimensions of any window as I resize it.</p>
<p>Often, when dragging a window around, it tries to go full-screen on me.  This is obnoxious!  Just disable <strong>Grid</strong> in CCSM.</p>
<p>If anyone knows how to reconcile Focus Follows Mouse with &#8220;menu bar at the top of the screen&#8221; I would love to hear it!  Or if you know how to configure the pager to something besides 2&#215;2 &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2011/12/07/ccsm-ubuntu-gui-tweaks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Latency Goggles for Linux</title>
		<link>http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/</link>
		<comments>http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 00:19:49 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=5909</guid>
		<description><![CDATA[As a Linux user, I can use <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/netem">netem</a> to induce added latency on my network interface.]]></description>
			<content:encoded><![CDATA[<p>While diagnosing why an internal web site is slow for some users, I got data that our overseas colleagues see ping latency to the web site of around 200 ms.  This is not unreasonable.  Some web sites that attach a lot of additional objects cause remote clients to have to open several connections and make several round-trips to load and render a web page.  What might work fine at 20 ms latency can really drag at 200 ms.</p>
<p>How to test this out?  As a Linux user, I can use <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/netem">netem</a> to induce added latency on my network interface:</p>
<pre>
# <b>ping -qc 2 google.com</b>
PING google.com (74.125.224.145) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5009ms
rtt min/avg/max/mdev = 4.136/4.197/4.258/0.061 ms
# <b>tc qdisc add dev wlan0 root netem delay 200ms</b>
# <b>ping -qc 2 google.com</b>
PING google.com (74.125.224.144) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5474ms
rtt min/avg/max/mdev = 205.006/205.034/205.062/0.028 ms

# <b>tc qdisc change dev wlan0 root netem delay 0ms</b>
# <b>ping -qc 2 google.com</b>
PING google.com (74.125.224.50) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5011ms
rtt min/avg/max/mdev = 4.117/4.182/4.248/0.092 ms
</pre>
<p>Note, I&#8217;m on wireless, so I&#8217;m tuning <code>wlan0</code>.  you&#8217;ll want to hit <code>eth0</code> or whatever is appropriate to your configuration.</p>
<hr />
<p>The <a href="http://developer.yahoo.com/yslow/">YSlow</a> plugin or the <a href="http://code.google.com/chrome/devtools/">Google Chrome Developer tool</a> Network tab can be helpful to see what is going on:</p>
<div id="attachment_5922" class="wp-caption aligncenter" style="width: 734px"><a href="http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/developer-1/" rel="attachment wp-att-5922"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/09/developer-1.png" alt="" title="developer-1" width="724" height="348" class="size-full wp-image-5922" /></a><p class="wp-caption-text">Google Chrome&#039;s Developer Tool Network view without extra latency.</p></div>
<div id="attachment_5923" class="wp-caption aligncenter" style="width: 734px"><a href="http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/developer-2/" rel="attachment wp-att-5923"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/09/developer-2.png" alt="" title="developer-2" width="724" height="348" class="size-full wp-image-5923" /></a><p class="wp-caption-text">Google Chrome&#039;s Developer Tool Network view with extra 200ms latency.</p></div>
<p>So, with my web site, an added 200 ms latency doubles total page load time from 0.8 seconds to 1.6 seconds.</p>
<p>Here&#8217;s what I see when I visit the problem web site:</p>
<div id="attachment_5926" class="wp-caption aligncenter" style="width: 734px"><a href="http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/jira-1/" rel="attachment wp-att-5926"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/09/jira-1.png" alt="" title="jira-1" width="724" height="348" class="size-full wp-image-5926" /></a><p class="wp-caption-text">A problem web site at normal latency.</p></div>
<div id="attachment_5927" class="wp-caption aligncenter" style="width: 734px"><a href="http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/jira-2/" rel="attachment wp-att-5927"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/09/jira-2.png" alt="" title="jira-2" width="724" height="348" class="size-full wp-image-5927" /></a><p class="wp-caption-text">A problem web site at additional 200ms latency.</p></div>
<p>Total page load time at 7.5 seconds is nearly three times slower than without latency.</p>
<hr />
<p>A very crude way to measure things is with <code>wget</code> on the command-line.</p>
<p>The wget man page mentions the -p (page requisites) option, then the author suggests <code>wget -E -H -k -K -p &lt;URL&gt;</code>.  (You&#8217;ll need to RTFM yourself&#8230;)  So I do:</p>
<pre>
$ <b>cd /tmp</b>
$ <b>sudo tc qdisc change dev wlan0 root netem delay 0ms</b>
$ <b>time wget -q -E -H -k -K -p http://google.com</b>

real	0m0.160s
user	0m0.010s
sys	0m0.000s
$ <b>sudo tc qdisc change dev wlan0 root netem delay 200ms</b>
$ <b>time wget -q -E -H -k -K -p http://google.com</b>

real	0m3.832s
user	0m0.010s
sys	0m0.000s
</pre>
<p>Of course, even with all those options, wget behaves very differently from a modern GUI web browser: there&#8217;s no caching, it doesn&#8217;t parse the DOM and it will blindly download requisites it doesn&#8217;t actually need.  (Even a large font file found in a CSS comment.)  And it does all its requests serially, whereas a modern GUI web browser will fetch several objects in parallel.  And whatever web browser you use over a connection with induced latency is not going to replicate the experience of remote users pulling page requisites from zippy local CDNs.</p>
<hr />
<p>At the end of the day, I proposed the following advice to my remote colleagues:</p>
<ol>
<li>Try tuning the web browser to use more concurrent TCP connections.</li>
<li>Try modifying browser behavior: middle-click faster-loading sub-pages in to new tabs, work on those tabs, then refer back to the slower-loading &#8220;dashboard&#8221; screen, reloading only when needed.</li>
</ol>
<p>I also tweaked the web application to make it possible to show a more lightweight &#8220;dashboard&#8221; screen with fewer objects hanging off of it.  This seems to improve load time on that page about 50%.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updating WordPress: Upgrading php53 on CentOS</title>
		<link>http://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/</link>
		<comments>http://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 20:21:57 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Testimonials]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=5411</guid>
		<description><![CDATA[If you have a self-hosted WordPress blog, you really ought to keep it up to date.]]></description>
			<content:encoded><![CDATA[<p>If you have a self-hosted WordPress blog, you really ought to keep it up to date.  Popular software is a popular security target, and as new exploits are discovered, new patches are deployed.  Fortunately, WordPress makes this super-easy.  Just go to <em>Dashboard &gt; Updates</em> and you can update with one click.  I basically get a free update any time I get it in my head to write something.</p>
<p>Except this morning, when I was told that an update was available, but:</p>
<p style="text-align: center"><a href="http://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/wordpress-php/" rel="attachment wp-att-5412"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/07/wordpress-php.png" alt="&quot;You cannot update because WordPress 3.2 requires PHP version 5.2.4 or higher. You are running version 5.1.6.&quot;" title="WordPress Update" width="710" height="250" class="aligncenter size-large wp-image-5412" /></a></p>
<p>On my CentOS VM, this was addressed by:</p>
<pre><strike>
sudo yum update
sudo service httpd restart
</strike></pre>
<p>Actually, it was a little difficult, because we&#8217;re replacing <code>php</code> with <code>php53</code>:</p>
<pre>
0-13:11 djh@www0 ~$ <strong>cat /etc/redhat-release</strong>
CentOS release 5.6 (Final)
0-13:11 djh@www0 ~$ <strong>rpm -q php</strong>
php-5.1.6-27.el5_5.3
0-13:11 djh@www0 ~$ <strong>yum list installed | grep ^php</strong>
php.x86_64                               5.1.6-27.el5_5.3              installed
php-cli.x86_64                           5.1.6-27.el5_5.3              installed
php-common.x86_64                        5.1.6-27.el5_5.3              installed
php-gd.x86_64                            5.1.6-27.el5_5.3              installed
php-mysql.x86_64                         5.1.6-27.el5_5.3              installed
php-pdo.x86_64                           5.1.6-27.el5_5.3              installed
1-13:11 djh@www0 ~$ <strong>sudo service httpd stop</strong>
Stopping httpd:                                            [  OK  ]
0-13:11 djh@www0 ~$ <strong>yum list installed | grep ^php | awk '{print $1}' </strong>
php.x86_64
php-cli.x86_64
php-common.x86_64
php-gd.x86_64
php-mysql.x86_64
php-pdo.x86_64
0-13:12 djh@www0 ~$ <strong>sudo yum remove `!!`</strong>
<em>sudo yum remove `yum list installed | grep ^php | awk '{print $1}'`</em>
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-cli.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-common.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-gd.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-mysql.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-pdo.x86_64 0:5.1.6-27.el5_5.3 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch          Version                 Repository        Size
================================================================================
Removing:
 php               x86_64        5.1.6-27.el5_5.3        installed        6.2 M
 php-cli           x86_64        5.1.6-27.el5_5.3        installed        5.3 M
 php-common        x86_64        5.1.6-27.el5_5.3        installed        397 k
 php-gd            x86_64        5.1.6-27.el5_5.3        installed        333 k
 php-mysql         x86_64        5.1.6-27.el5_5.3        installed        196 k
 php-pdo           x86_64        5.1.6-27.el5_5.3        installed        114 k

Transaction Summary
================================================================================
Remove        6 Package(s)
Reinstall     0 Package(s)
Downgrade     0 Package(s)

Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Erasing        : php-gd                                                   1/6
  Erasing        : php                                                      2/6
  Erasing        : php-mysql                                                3/6
  Erasing        : php-cli                                                  4/6
  Erasing        : php-common                                               5/6
warning: /etc/php.ini saved as /etc/php.ini.rpmsave
  Erasing        : php-pdo                                                  6/6 

Removed:
  php.x86_64 0:5.1.6-27.el5_5.3            php-cli.x86_64 0:5.1.6-27.el5_5.3
  php-common.x86_64 0:5.1.6-27.el5_5.3     php-gd.x86_64 0:5.1.6-27.el5_5.3
  php-mysql.x86_64 0:5.1.6-27.el5_5.3      php-pdo.x86_64 0:5.1.6-27.el5_5.3    

Complete!

0-13:13 djh@www0 ~$ <strong>sudo yum install php53 php53-mysql php53-gd</strong>
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: yum.singlehop.com
 * epel: mirror.steadfast.net
 * extras: mirror.fdcservers.net
 * updates: mirror.sanctuaryhost.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php53.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-cli = 5.3.3-1.el5_6.1 for package: php53
--> Processing Dependency: php53-common = 5.3.3-1.el5_6.1 for package: php53
---> Package php53-gd.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: libXpm.so.4()(64bit) for package: php53-gd
---> Package php53-mysql.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-pdo for package: php53-mysql
--> Running transaction check
---> Package libXpm.x86_64 0:3.5.5-3 set to be updated
---> Package php53-cli.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-common.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pdo.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package             Arch          Version                 Repository      Size
================================================================================
Installing:
 php53               x86_64        5.3.3-1.el5_6.1         updates        1.3 M
 php53-gd            x86_64        5.3.3-1.el5_6.1         updates        109 k
 php53-mysql         x86_64        5.3.3-1.el5_6.1         updates         92 k
Installing for dependencies:
 libXpm              x86_64        3.5.5-3                 base            44 k
 php53-cli           x86_64        5.3.3-1.el5_6.1         updates        2.4 M
 php53-common        x86_64        5.3.3-1.el5_6.1         updates        605 k
 php53-pdo           x86_64        5.3.3-1.el5_6.1         updates         67 k

Transaction Summary
================================================================================
Install       7 Package(s)
Upgrade       0 Package(s)

Total download size: 4.6 M
Is this ok [y/N]: <strong>y</strong>
Downloading Packages:
(1/7): libXpm-3.5.5-3.x86_64.rpm                         |  44 kB     00:00
(2/7): php53-pdo-5.3.3-1.el5_6.1.x86_64.rpm              |  67 kB     00:00
(3/7): php53-mysql-5.3.3-1.el5_6.1.x86_64.rpm            |  92 kB     00:00
(4/7): php53-gd-5.3.3-1.el5_6.1.x86_64.rpm               | 109 kB     00:00
(5/7): php53-common-5.3.3-1.el5_6.1.x86_64.rpm           | 605 kB     00:00
(6/7): php53-5.3.3-1.el5_6.1.x86_64.rpm                  | 1.3 MB     00:00
(7/7): php53-cli-5.3.3-1.el5_6.1.x86_64.rpm              | 2.4 MB     00:00
--------------------------------------------------------------------------------
Total                                            12 MB/s | 4.6 MB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php53-common                                             1/7
  Installing     : php53-pdo                                                2/7
  Installing     : php53-cli                                                3/7
  Installing     : libXpm                                                   4/7
  Installing     : php53                                                    5/7
  Installing     : php53-mysql                                              6/7
  Installing     : php53-gd                                                 7/7 

Installed:
  php53.x86_64 0:5.3.3-1.el5_6.1           php53-gd.x86_64 0:5.3.3-1.el5_6.1
  php53-mysql.x86_64 0:5.3.3-1.el5_6.1    

Dependency Installed:
  libXpm.x86_64 0:3.5.5-3                  php53-cli.x86_64 0:5.3.3-1.el5_6.1
  php53-common.x86_64 0:5.3.3-1.el5_6.1    php53-pdo.x86_64 0:5.3.3-1.el5_6.1   

Complete!
0-13:14 djh@www0 ~$ <strong>sudo service httpd start</strong>
Starting httpd:                                            [  OK  ]
</pre>
<p>And now I have successfully upgraded via the web UI.</p>
<p>Most days, I am not a CentOS admin, so if there is a better way to have done this, I am keen to hear.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>isatapd: IPv6 on Ubuntu</title>
		<link>http://dannyman.toldme.com/2011/06/08/can-haz-ipv6/</link>
		<comments>http://dannyman.toldme.com/2011/06/08/can-haz-ipv6/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 21:17:32 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=5226</guid>
		<description><![CDATA[My employer (<a href="http://www.cisco.com/">Cisco</a>) makes IPv6 available internally on a test basis.  All I had to do to get my Ubuntu laptop on IPv6 was:

<code>sudo apt-get install isatapd</code>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><a href="http://dannyman.toldme.com/2011/06/08/can-haz-ipv6/ipv6test/" rel="attachment wp-att-5227"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/06/ipv6test.png" alt="Yes, it looks like you're using IPv6 already." title="ipv6test" width="538" height="369" class="aligncenter size-full wp-image-5227" /></a></p>
<p><a href="http://everythingsysadmin.com/2011/06/what-world-ipv6-day-means-to-s.html">SysAdmins, check with Tom.</a></p>
<p>My employer (<a href="http://www.cisco.com/">Cisco</a>) makes IPv6 available internally on a test basis.  Once I configured the isatap hostname on my system, all I had to do to get my Ubuntu laptop on IPv6 was:</p>
<p><code>sudo apt-get install isatapd</code></p>
<p>I look forward to trying this on a few more systems:</p>
<p><code>sudo apt-get install isatapd &#038;&#038; ping6 -c 1 www.ipv6.cisco.com &#038;&#038; figlet -c 'I CAN HAZ IPv6!!'</code></p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2011/06/08/can-haz-ipv6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amazon.com MP3 Downloader on 64-bit Ubuntu</title>
		<link>http://dannyman.toldme.com/2011/03/15/amazon-com-mp3-downloader-ubuntu/</link>
		<comments>http://dannyman.toldme.com/2011/03/15/amazon-com-mp3-downloader-ubuntu/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 20:31:15 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=4559</guid>
		<description><![CDATA[Wrong architecture 'i386']]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll give Amazon.com credit for making their mp3 downloader available to Linux users:</p>
<p><a href="http://dannyman.toldme.com/2011/03/15/amazon-com-mp3-downloader-ubuntu/amazon-yay/" rel="attachment wp-att-4560"><img src="http://dannyman.toldme.com/wp-content/uploads/2011/03/amazon-yay.png" alt="" title="Amazon.com Supports Linux Users!  Mostly . . ." width="766" height="307" class="aligncenter size-full wp-image-4560" /></a></p>
<p>I clicked on Ubuntu, and Chrome downloaded amazonmp3.deb and the Ubuntu Software Center fired up and told me:</p>
<p style="text-align: center">Wrong architecture &#8216;i386&#8242;</p>
<p>That was frustrating.  I sent a note to Amazon.com thanking them for their Linux support and asking them to please consider rolling some x86_64 packages.  Then I asked Google for advice, and got this fine post:</p>
<p><a href="http://www.ensode.net/roller/dheffelfinger/entry/installing_amazon_mp3_downloader_under">http://www.ensode.net/roller/dheffelfinger/entry/installing_amazon_mp3_downloader_under</a></p>
<p>Works fine except the download link to getlibs is old and broken, so I figured I can recapitulate the recipe here:</p>
<p>1) Download amazonmp3.deb and then install it manually:</p>
<p><code>sudo dpkg -i --force-architecture Downloads/amazonmp3.deb</code></p>
<p>2) Download and install getlibs:  (Thanks for the corrected link, <a href="http://blogspot.jockeysridge.com/">bobxnc</a>!)</p>
<p><a href="http://frozenfox.freehostia.com/cappy/getlibs-all.deb">http://frozenfox.freehostia.com/cappy/getlibs-all.deb</a></p>
<p>(Your browser should hand the package off to an installer, else you&#8217;ll just do something like <code>sudo dpkg -i Downloads/getlibs-all.deb</code>.)</p>
<p>3) Run getlibs!</p>
<p>Looks something like this:</p>
<pre>
0-13:08 ~$ <b>sudo getlibs /usr/bin/amazonmp3</b>
libglademm-2.4.so.1: libglademm-2.4-1c2a
libgtkmm-2.4.so.1: libgtkmm-2.4-1c2a
libgiomm-2.4.so.1: libglibmm-2.4-1c2a
libgdkmm-2.4.so.1: libgtkmm-2.4-1c2a
libatkmm-1.6.so.1: libgtkmm-2.4-1c2a
libpangomm-1.4.so.1: libpangomm-1.4-1
libcairomm-1.0.so.1: libcairomm-1.0-1
libglibmm-2.4.so.1: libglibmm-2.4-1c2a
<em>No match for libboost_filesystem-gcc42-1_34_1.so.1.34.1
No match for libboost_regex-gcc42-1_34_1.so.1.34.1
No match for libboost_date_time-gcc42-1_34_1.so.1.34.1
No match for libboost_signals-gcc42-1_34_1.so.1.34.1
No match for libboost_iostreams-gcc42-1_34_1.so.1.34.1
No match for libboost_thread-gcc42-mt-1_34_1.so.1.34.1</em>
The following i386 packages will be installed:
libcairomm-1.0-1
libglademm-2.4-1c2a
libglibmm-2.4-1c2a
libgtkmm-2.4-1c2a
libpangomm-1.4-1
Continue [Y/n]?
Downloading ...
Installing libraries ...
</pre>
<p>3.1) If, like me, you got &#8220;no match for libboost&#8221; as above, or you get &#8220;amazonmp3: error while loading shared libraries: libboost_filesystem-gcc42-1_34_1.so.1.34.1: cannot open shared object file: No such file or directory&#8221; then <a href="http://ubuntuforums.org/showthread.php?p=9145072">do this bit</a>:</p>
<p><code>sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-date-time1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-filesystem1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-iostreams1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-regex1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-signals1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/universe/b/boost/libboost-thread1.34.1_1.34.1-16ubuntu1_i386.deb<br />
sudo getlibs -w http://ftp.osuosl.org/pub/ubuntu/pool/main/i/icu/libicu40_4.0.1-2ubuntu2_i386.deb</code></p>
<p><code>sudo ldconfig</code></p>
<p>4) Let the music play!</p>
<p>. . .</p>
<p>Q: What is getlibs?<br />
A: &#8220;Copyright: 2007; Downloads 32-bit libraries on 32-bit and 64-bit systems. For use with Debian and Ubuntu.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2011/03/15/amazon-com-mp3-downloader-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Avoiding Concurrent Crons: Easy File Locking!</title>
		<link>http://dannyman.toldme.com/2010/09/20/lockf-flock-cron/</link>
		<comments>http://dannyman.toldme.com/2010/09/20/lockf-flock-cron/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 18:04:21 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=3546</guid>
		<description><![CDATA[Old SysAdmin tip: keep your frequent-but-long-running cron jobs from running concurrently by adding some lightweight file locking to your cron entry.]]></description>
			<content:encoded><![CDATA[<p>Old SysAdmin tip: keep your frequent-but-long-running cron jobs from running concurrently by adding some lightweight file locking to your cron entry.  For example, if you have:</p>
<p><code>* 15 * * * /usr/local/bin/db-backup.sh</code></p>
<p>On FreeBSD you could use:</p>
<p><code>* 15 * * * /usr/bin/lockf -t 0 /tmp/db-backup.lock /usr/local/bin/db-backup.sh</code></p>
<p>Or on Linux:</p>
<p><code>* 15 * * * /usr/bin/flock -w 0 /tmp/db-backup.lock /usr/local/bin/db-backup.sh</code></p>
<p>Read up on the <code>lockf</code> or <code>flock</code> man pages before you go putting this in.  This can be a bit tricky because these can also be system calls.  Try &#8220;man 1 lockf&#8221; or the like to nail it down to the manual for the user-executable command.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2010/09/20/lockf-flock-cron/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FAQ: Why is SSH into my server so slow?!</title>
		<link>http://dannyman.toldme.com/2010/06/05/fix-your-dns-with-google/</link>
		<comments>http://dannyman.toldme.com/2010/06/05/fix-your-dns-with-google/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 18:50:18 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=3242</guid>
		<description><![CDATA[I have run in to this a zillion times. You SSH to a Unix server, type your password, and then wait a minute or two before you get the initial shell prompt, after which everything is reasonably zippy. The short answer is &#8220;probably, something is wrong with DNS . . . your server is trying [...]]]></description>
			<content:encoded><![CDATA[<p>I have run in to this a zillion times.  You SSH to a Unix server, type your password, and then wait a minute or two before you get the initial shell prompt, after which everything is reasonably zippy.</p>
<p>The short answer is &#8220;probably, something is wrong with DNS . . . your server is trying to look up your client but it can not, so it sits there for a couple of minutes until it times out, and then it lets you in.&#8221;</p>
<p>Yesterday I was working with <a href="http://www.romansharf.com/">an artist</a> who had a hosting account, and when he got in, I said:</p>
<p><code>sudo vim /etc/resolv.conf</code></p>
<p>He admitted that he had just copied the DNS configuration from his previous server.  How to fix this?  Well, he could check what nameservers are provided by his current hosting company . . . . or, I changed his file to read:</p>
<p><code>nameserver 8.8.8.8</code></p>
<p>&#8220;What&#8217;s that, localhost?&#8221;</p>
<p>&#8220;It&#8217;s Google!  Wherever you are, <a href="http://code.google.com/speed/public-dns/">they&#8217;ll give you DNS</a>.&#8221;</p>
<p>&#8220;Cool!!&#8221;</p>
<p>&#8220;Yes!!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2010/06/05/fix-your-dns-with-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Add a Swapfile at Boot</title>
		<link>http://dannyman.toldme.com/2010/05/28/ubuntu-linux-add-swap-file-at-boot/</link>
		<comments>http://dannyman.toldme.com/2010/05/28/ubuntu-linux-add-swap-file-at-boot/#comments</comments>
		<pubDate>Fri, 28 May 2010 16:49:29 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=3215</guid>
		<description><![CDATA[A while back I outfitted my personal workstation with 4GB of RAM. That&#8217;s plenty of memory and since disk space was tight I didn&#8217;t want to waste any on a swap partition, and I lived happily without swap for a very long time until I began using more virtualization. (I freed up space on my [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I outfitted my personal workstation with 4GB of RAM.  That&#8217;s plenty of memory and since disk space was tight I didn&#8217;t want to waste any on a swap partition, and I lived happily without swap for a very long time until I began using more virtualization.  (I freed up space on my physical desk top by migrating my work environment from a laptop to a virtual machine on my personal workstation.)</p>
<p>I wrote a script to <a href="/2006/10/24/howto-swapon-file/">add a &#8220;temporary&#8221; swap file on demand</a> but what I wanted was a swap file at boot.  That actually turns out to be pretty simple.  In this case, I just prepare the swap file:</p>
<pre>
FILE=/mnt/swapfile
SIZE=8388608 # 8 GB

dd if=/dev/zero of=$FILE bs=1024 count=$SIZE
mkswap $FILE $SIZE
swapon $FILE
swapon -s
</pre>
<p>Then, to make it stick, add this line to <code>/etc/fstab</code> just as you would for a swap partition:</p>
<p><code>/mnt/swapfile	none	swap	sw	0	0</code></p>
<p>This is a win for the Unix everything-is-a-file philosophy.</p>
<p>See Also: <a href="https://help.ubuntu.com/community/SwapFaq">Ubuntu Community Swap FAQ</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2010/05/28/ubuntu-linux-add-swap-file-at-boot/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud Server: Crude Performance Tuning</title>
		<link>http://dannyman.toldme.com/2010/05/20/rackspace-cloud-server-crude-performance-tuning/</link>
		<comments>http://dannyman.toldme.com/2010/05/20/rackspace-cloud-server-crude-performance-tuning/#comments</comments>
		<pubDate>Thu, 20 May 2010 16:32:35 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=3192</guid>
		<description><![CDATA[I recently migrated this web site to a virtual server at the Rackspace Cloud. I started with the cheapest, 256M slice, but after hitting some performance issues really quickly, I figured that the extra $10/month to grow the slice to 512M was worthwhile. Even so, I don&#8217;t think MySQL and Apache are tuned, out-of-the-box, for [...]]]></description>
			<content:encoded><![CDATA[<p>I recently migrated this web site to a virtual server at the <a href="http://www.rackspacecloud.com/">Rackspace Cloud</a>.  I started with the cheapest, 256M slice, but after hitting some performance issues really quickly, I figured that the extra $10/month to grow the slice to 512M was worthwhile.  Even so, I don&#8217;t think MySQL and Apache are tuned, out-of-the-box, for such &#8220;small&#8221; systems.</p>
<p>I am running WordPress, a PHP application, on Apache and MySQL, running on CentOS.  I am using <a href="http://munin-monitoring.org/">Munin</a> to track the system health.  Since MySQL performance tuning can be extremely complicated I have focussed my initial efforts on Apache.</p>
<p style="text-align: center">
<a href="http://dannyman.toldme.com/wp-content/uploads/2010/05/memory-day.png"><img class="aligncenter size-full wp-image-3194" title="memory-day" src="http://dannyman.toldme.com/wp-content/uploads/2010/05/memory-day.png" alt="" width="495" height="424" /></a>
</p>
<p>So, the memory graph would ideally top out at 512MB, but in practice, the system and programs allocate excess memory they rarely touch, and that gets paged out to swap.  It is when the swap activity gets high that system performance goes to heck.  A spike in system load is a good symptom of possible performance issues.</p>
<p style="text-align: center">
<a href="http://dannyman.toldme.com/wp-content/uploads/2010/05/swap-day.png"><img class="aligncenter size-full wp-image-3195" title="swap-day" src="http://dannyman.toldme.com/wp-content/uploads/2010/05/swap-day.png" alt="" width="495" height="280" /></a><br />
<a href="http://dannyman.toldme.com/wp-content/uploads/2010/05/load-day.png"><img class="aligncenter size-full wp-image-3197" title="load-day" src="http://dannyman.toldme.com/wp-content/uploads/2010/05/load-day.png" alt="" width="495" height="280" /></a>
</p>
<p>When things went bad on Wednesday, I tuned Apache down somewhat from the defaults and then enabled the Apache status page, and told Munin to go ahead and graph that.  I am new to Munin, but Slicehost has some excellent articles on <a href="http://articles.slicehost.com/2010/3/12/installing-munin-on-centos">installing</a> and <a href="http://articles.slicehost.com/2010/3/12/munin-configuration-and-testing-on-centos">configuring</a> it in my environment.</p>
<p style="text-align: center">
<a href="http://dannyman.toldme.com/wp-content/uploads/2010/05/apache_processes-day.png"><img class="aligncenter size-full wp-image-3193" title="apache_processes-day" src="http://dannyman.toldme.com/wp-content/uploads/2010/05/apache_processes-day.png" alt="" width="495" height="316" /></a>
</p>
<p>This morning Munin sent me e-mail that it was having trouble collecting data, so I took a look, and reset performance values for Apache based on the above graph:</p>
<pre>
&lt;IfModule prefork.c&gt;
StartServers      6
MinSpareServers   3
MaxSpareServers  12
ServerLimit      15
MaxClients       15
MaxRequestsPerChild  4000
&lt;/IfModule&gt;
</pre>
<p>Hopefully, this will hold.  I would love to audit the system memory use in greater detail to allow Apache some greater flexibility, but in the interests of achieving a stable system quickly, this will hopefully prove to be a good strategy.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2010/05/20/rackspace-cloud-server-crude-performance-tuning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Re-install All Packages</title>
		<link>http://dannyman.toldme.com/2010/05/05/ubuntu-reinstall-all-packages/</link>
		<comments>http://dannyman.toldme.com/2010/05/05/ubuntu-reinstall-all-packages/#comments</comments>
		<pubDate>Wed, 05 May 2010 21:13:02 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=3116</guid>
		<description><![CDATA[After some transient disk issues I was stuck with an Ubuntu VMWare image that was brain dead. I figured I would give the install CD a chance to fix but the Ubuntu install CD doesn&#8217;t have a fix-it option. (Really?!) Since the issue was somewhere in how Gnome and X were configured, I launched an [...]]]></description>
			<content:encoded><![CDATA[<p>After some transient disk issues I was stuck with an Ubuntu VMWare image that was brain dead.  I figured I would give the install CD a chance to fix but the Ubuntu install CD doesn&#8217;t have a fix-it option.  (Really?!)  Since the issue was somewhere in how Gnome and X were configured, I launched an xterm session and managed this command:</p>
<p><code>dpkg --get-selections \* | awk '{print $1}' | xargs -l1 aptitude reinstall</code></p>
<p>What that does is get a list of all packages installed on a system, then invoke &#8220;reinstall&#8221; for each package.  It took a few hours to run.</p>
<p>The Ubuntu forums had a recipe using some more straightforward Debian incantation, but that didn&#8217;t work for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2010/05/05/ubuntu-reinstall-all-packages/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Windows 7 vs Ubuntu 9.10</title>
		<link>http://dannyman.toldme.com/2009/12/02/windows-7-ubuntu-first-impression/</link>
		<comments>http://dannyman.toldme.com/2009/12/02/windows-7-ubuntu-first-impression/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 22:03:02 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=2731</guid>
		<description><![CDATA[So, I tried Windows 7 beta, and recently scored a copy of Windows 7 for my desktop PC, via employee discount. (I&#8217;d be willing to pay $50 for the OS, so $25 isn&#8217;t a bad deal. The again, Microsoft sent me some very large checks for my Tellme equity in 2007 so a very small [...]]]></description>
			<content:encoded><![CDATA[<p>So, I tried Windows 7 beta, and recently scored a copy of Windows 7 for my desktop PC, via employee discount.  (I&#8217;d be willing to pay $50 for the OS, so $25 isn&#8217;t a bad deal.  The again, Microsoft sent me some very large checks for my Tellme equity in 2007 so a very small Capitalist part of me is rooting for them.)</p>
<p><a href="http://www.flickr.com/photos/dannyman/4153687603/" title="Where do you want to install Windows? by dannyman, on Flickr"><img align="right" src="http://farm3.static.flickr.com/2586/4153687603_17f2487c9a_m.jpg" width="240" height="180" alt="Where do you want to install Windows?" /></a></p>
<p>It is pretty nice: basically a refresh of Windows XP, with extra spit-and-polish.  Zippier, too!  It boots and shuts down faster than XP or Ubuntu, and manages OS updates without requiring my intervention and subsequently breaking things, like Ubuntu does.  I was musing to my coworkers that if it had the following, I could switch from Linux:</p>
<p>1) A decent software packaging system.<br />
2) Built-in Virtual Desktops.<br />
3) Middle-button paste.</p>
<h3>Boot/Shutdown Speed</h3>
<p>I turn my computers off when I&#8217;m not using them.  I like that Firefox will remember tab sessions.  But waiting for an OS to boot is wasted time.</p>
<p>Despite recent improvements, Ubuntu still takes way too long to boot, and seemingly forever to shut down.  Windows 7, by contrast, is pretty darn zippy.  I like that!</p>
<p style="text-align: center;">Winner: <strong>Windows 7</strong></p>
<h3>System Updates</h3>
<p>So, for the record, I&#8217;m thinking to turn off system updates on my Ubuntu environments, because they aren&#8217;t worth it and they keep breaking my stuff.  I&#8217;ll just refresh twice a year when the new release comes out, therefor managing the pain of upgrades.  Windows updates are more important, given the constant security threats.  Fortunately, Windows does that for me without my noticing, save the stupid &#8220;I will forcibly reboot you in 5 minutes&#8221; thing that hasn&#8217;t hit me (yet?) on Windows 7.</p>
<p style="text-align: center;">Winner: <strong>Windows 7</strong></p>
<h3>Software Packaging</h3>
<p>Windows seems to have made some improvements with software packaging, and I gotta say it is convenient to go to a web site, click on an installer, and a few minutes later have the application running.  Of course, then there&#8217;s another icon on your desktop and the Yahoo! tool bar has been added to your web browser . . .</p>
<p>On Ubuntu, though, most of the time I go to a shell and type:</p>
<p><code>sudo aptitude install <em>foo</em></code></p>
<p>And there I go!</p>
<p>Sometimes software isn&#8217;t available in the central repositories, but 9.10 has made adding some PPAs easier.  And sometimes I go to a web site, click on a link to a .deb file, it downloads, the system asks for my password, and the software gets installed without leaving crappy toolbars in my environment.  Victory!</p>
<p style="text-align: center;">Winner: <strong>Ubuntu</strong></p>
<h3>Virtual Desktops</h3>
<p>Ubuntu&#8217;s Gnome interface would be nicer if I could drag windows to the side of the screen and they&#8217;d pop over to the next screen, like the fvwm2 pager.  But, I&#8217;m pretty well content with Ubuntu&#8217;s virtual desktop ability.</p>
<p>You could probably install a decent hack on Windows 7 to get this, but really, virtual desktops and pagers should be built in.</p>
<p style="text-align: center;">Winner: <strong>Ubuntu</strong></p>
<h3>Command Line Environment</h3>
<p>So, with Ubuntu I can fire off command shells with wild abandon and do what I need to do.  (I&#8217;m a Unix system administrator, so I relate to computers mostly by typing commands and scripting.)  Windows 7 has a new &#8220;PowerShell&#8221; feature that implements a few Unix commands.  After half an hour of searching I discovered that you can get to the PowerShell by hitting Windows+R and then typing &#8220;powershell&#8221; &#8212; heck forbid we should put this in the start menu or make it available by searching for &#8220;shell&#8221; but okay . . .</p>
<p>With Ubuntu, I can highlight text by dragging and clicking my mouse.  This is just like other environments, but instead of hitting control-C (or, ahem Open-Apple-C) to copy the highlighted text into your clipboard, and control-V (I mean, Command-V) to paste from your clipboard, with Unix, whatever you highlight goes straight to the clipboard, and you paste by tapping the middle mouse button.</p>
<p>That can be a little scary sometimes but once you get used to the convenience you really can&#8217;t go back to having to mouse <em>and</em> keyboard to cut and paste.</p>
<p>Once you figure out how to launch the PowerShell, <strong>you can not simply highlight text with the mouse.</strong>  Seriously, WTF!?  No, <a href="http://www.vistax64.com/powershell/122541-keyboard-cut-paste.html">this is how you copy-and-paste stuff with PowerShell</a>:</p>
<blockquote><p>Hit Alt+Space to bring up the console menu, then type &#8216;E&#8217; to bring up the &#8216;Edit&#8217; menu and then &#8216;k&#8217; to start copying or &#8216;P&#8217; to paste the text in the clipboard to the console. In &#8216;copying&#8217; mode, you just use the arrow keys while holding down the shift key to select text, and hit Enter to add the selection to the clipboard.</p></blockquote>
<p style="text-align: center"><a href="http://www.flickr.com/photos/dannyman/4154449286/" title="Durr by dannyman, on Flickr"><img src="http://farm3.static.flickr.com/2679/4154449286_d17ea5e992.jpg" width="500" height="375" alt="Durr" /></a><br />
&#8220;Ah, hello, Microsoft?  Yes, the 1980s called and they want their primitive user interface back.  Thanks!&#8221;</p>
<p>Update: You can launch PowerShell is a window that supports text highlighting by dragging the mouse via <strong>Start &gt; All Programs &gt; Windows PowerShell &gt; Windows PowerShell</strong>.  It looks like you can copy highlighted text with control+C and paste with the right mouse button.  (Getting closer, I guess!)</p>
<p style="text-align: center;">Winner: <strong>Ubuntu</strong></p>
<h3>Focus Follow Mouse</h3>
<p>Down in the accessibility menu, there&#8217;s an option for &#8220;Activate a window by hovering over it with a mouse&#8221; . . . but checking that option doesn&#8217;t actually change the behavior . . .</p>
<p>. . . correction: it does.  After some seconds it brings the window you are hovering over to front.  No, I just want focus, not raise!  <a href="/2008/02/12/geek/">Arrr!  Ubuntu knows how to do this, with just a little checkbox.</a></p>
<p>Update: There are <a href="http://www.sevenforums.com/general-discussion/9000-how-mouse-hover-makes-window-active.html">three ways to do this</a>.  The registry hack was my solution.</p>
<p style="text-align: center;">Winner: <strong>Ubuntu</strong></p>
<h3>Default Web Browser</h3>
<p>I&#8217;ll give Internet Explorer some credit; I can type whatever crazy thing I want into the URL bar and the second it realizes I didn&#8217;t type a URL, it goes over to Bing.  Nice!</p>
<p>But then the default behavior is to create new windows all over.  Seriously: what is the point of tabbed browsing if you don&#8217;t put stuff in the tabs?  The big fail though is that for whatever reason the WordPress HTML editor in Explorer keeps jumping up to the top of the text input window, which made working out this post a seriously annoying experience.</p>
<p>A quick install of Google Chrome and my web browsing experience not only interfaces well with WordPress and pops new windows into tabs, but I can type whatever crazy stuff I want into the URL bar and in a not-be-evil sort of way, it shunts me with due humility over to Bing.  So, Chrome is my new default web browser for Windows 7.  (And I&#8217;ll continue trying out Bing, even though I&#8217;m a Google fan-boy.)</p>
<p style="text-align: center;">Winner: <strong>Ubuntu</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2009/12/02/windows-7-ubuntu-first-impression/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>HOWTO: Ubuntu Support for Audio in XVidCap</title>
		<link>http://dannyman.toldme.com/2009/09/28/howto-ubuntu-xvidcap-audio-support/</link>
		<comments>http://dannyman.toldme.com/2009/09/28/howto-ubuntu-xvidcap-audio-support/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 15:05:26 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=2648</guid>
		<description><![CDATA[XVidCap is a very nice screen-capture program for Linux.  I have been dabbling in it to capture video of my desktop. Unfortunately, the binary offered by Ubuntu&#8217;s software distribution has audio disabled. I found a bug about that somewhere and added my two cents, then went and installed it manually. Then I had to reinstall [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xvidcap.sourceforge.net/">XVidCap</a> is a very nice screen-capture program for Linux.  I have been dabbling in it to capture video of my desktop.</p>
<p>Unfortunately, the binary offered by Ubuntu&#8217;s software distribution has audio disabled.  I found a bug about that somewhere and added my two cents, then went and installed it manually.  Then I had to reinstall it manually because the Ubuntu version had been bumped and the &#8220;newer&#8221; version replaced my audio-supporting version.</p>
<p><strong>Step 1: Remove Existing xvidcap</strong></p>
<p><code>sudo aptitude remove xvidcap</code></p>
<p><strong>Step 2: Install XVidCap from SourceForge</strong></p>
<p><a href="http://sourceforge.net/projects/xvidcap/">http://sourceforge.net/projects/xvidcap/</a> &#8212; click &#8220;download now&#8221; and the rest is all point-and-click.</p>
<p><strong>Step 3: Lock XVidCap Version</strong></p>
<p>Ubuntu will be quietly bide its time until it can &#8220;upgrade&#8221; xvidcap to a version that doesn&#8217;t support Audio.  Fortunately, you can tell it not to do that!</p>
<p>Open: <i>System > Administration > Synaptic Package Manager</i></p>
<p>Search for &#8220;xvidcap&#8221;</p>
<p>Select the package, go to the Package menu and select &#8220;Lock Version&#8221;</p>
<p>(From what I can tell, <code>sudo aptitude hold</code> won&#8217;t actually prevent xvidcap from being &#8220;upgraded.&#8221;)</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2009/09/28/howto-ubuntu-xvidcap-audio-support/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ubuntu: Turn off Periodic FSCK</title>
		<link>http://dannyman.toldme.com/2008/11/19/e2fsck-frog-off/</link>
		<comments>http://dannyman.toldme.com/2008/11/19/e2fsck-frog-off/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 18:24:37 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[annoyance]]></category>
		<category><![CDATA[e2fsck]]></category>
		<category><![CDATA[filessystem]]></category>
		<category><![CDATA[fsck]]></category>
		<category><![CDATA[troll]]></category>
		<category><![CDATA[tune2fs]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=1902</guid>
		<description><![CDATA[I halt my computer at night, and boot it in the morning. This reduces my carbon impact. Alas, Ubuntu for whatever brain-dead reason doesn&#8217;t trust its filesystem. As if we lived in the 1970s it insists on checking the filesystem consistency every thirtieth boot. I sip my morning coffee, check my workstation, and have to [...]]]></description>
			<content:encoded><![CDATA[<p>I halt my computer at night, and boot it in the morning.  This reduces my carbon impact.  Alas, Ubuntu for whatever brain-dead reason doesn&#8217;t trust its filesystem.  As if we lived in the 1970s it insists on checking the filesystem consistency every thirtieth boot.  I sip my morning coffee, check my workstation, and have to hit ESC . . .</p>
<p>So, I googled a bit, and found <a href="http://ubuntuforums.org/showthread.php?t=300477">a helpful forum thread</a>.  I thought I&#8217;d offer my own tiny variation:</p>
<pre>
0-09:57 dannhowa@T60p ~$ <b>sudo tune2fs -c 0 `mount | awk '$3 == "/" {print $1}'`</b>
tune2fs 1.40.8 (13-Mar-2008)
Setting maximal mount count to -1
</pre>
<p><b>Update:</b> <a href="http://wamukota.blogspot.com/">wamukota</a> made <a href="http://ubuntuforums.org/showpost.php?p=7218241&#038;postcount=24">an excellent suggestion</a>, that one can instead set an <em>interval</em> with the <code>-i</code> flag.  For example, one could set their computer to check every three months:</p>
<pre>
0-19:06 djh@noneedto ~$ <b>sudo tune2fs -i 3m `mount | awk '$3 == "/" {print $1}'`</b>
tune2fs 1.41.4 (27-Jan-2009)
Setting interval between checks to 7776000 seconds
</pre>
<p>Okay, that is a scary-looking command-line.  Let me break it down.  <span id="more-1902"></span>First, here are what filesystems we have mounted:</p>
<pre>
0-09:58 dannhowa@T60p ~$ <b>mount</b>
/dev/sda3 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.24-21-generic/volatile type tmpfs (rw)
/dev/sda1 on /C type fuseblk (rw,nosuid,nodev,noatime,allow_other,default_permissions,blksize=4096)
securityfs on /sys/kernel/security type securityfs (rw)
</pre>
<p>The command we really want to run turn off checking of <code>/</code> is:<br />
<code>sudo tune2fs -c 0 /dev/sda3</code></p>
<p>But everyone&#8217;s <code>/</code> is mounted somewhere different, based on what sort of disks you have and how they are partitioned.  If you wanted to boil it down in to one command you have to pluck the name of the disk from the <code>mount</code> command, and for this, <code>awk</code> is the shizzle.  For example, you could print the third word followed by the first word of each line this way:</p>
<pre>
0-10:05 dannhowa@T60p ~$ <b>mount | awk '{print $3" "$1}'</b>
/ /dev/sda3
/proc proc
/sys /sys
/var/run varrun
/var/lock varlock
/dev udev
/dev/shm devshm
/dev/pts devpts
/lib/modules/2.6.24-21-generic/volatile lrm
/C /dev/sda1
/sys/kernel/security securityfs
</pre>
<p>And add a dash of logic, if the third word is &#8220;/&#8221; then print the first word:</p>
<pre>
0-10:06 dannhowa@T60p ~$ <b>mount | awk '$3 == "/" {print $1}'</b>
/dev/sda3
</pre>
<p>And through the miracle of back-ticks:</p>
<pre>
0-10:07 dannhowa@T60p ~$ <b>sudo tune2fs -c 0 `mount | awk '$3 == "/" {print $1}'`</b>
tune2fs 1.40.8 (13-Mar-2008)
Setting maximal mount count to -1
</pre>
<p>Now, I am cocky and I maintain backups of important files.  Before doing what dannyman dot told you dot com, you may wish to take a glance at the <code>tune2fs</code> man page:</p>
<pre>
<b>OPTIONS</b>
       <b>-c</b> max-mount-counts
              Adjust  the  number of mounts after which the filesystem will be
              checked by <b>e2fsck</b>(8).  If max-mount-counts is 0 or -1, the  num‐
              ber  of  times  the filesystem is mounted will be disregarded by
              <b>e2fsck</b>(8) and the kernel.

              Staggering the mount-counts at which  filesystems  are  forcibly
              checked  will  avoid  all  filesystems being checked at one time
              when using journaled filesystems.

              You should  strongly  consider  the  consequences  of  disabling
              mount-count-dependent   checking  entirely.   Bad  disk  drives,
              cables, memory, and kernel bugs could all corrupt  a  filesystem
              without  marking  the  filesystem dirty or in error.  If you are
              using journaling on your filesystem, your filesystem will  never
              be marked dirty, so it will not normally be checked.  A filesys‐
              tem error detected by the kernel will still force an fsck on the
              next reboot, but it may already be too late to prevent data loss
              at that point.

              See also the -i option for time-dependent checking.
</pre>
<p>You might also experiment with a modern filesystem, by running FreeBSD or Solaris.</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2008/11/19/e2fsck-frog-off/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New York Times Reviews G1</title>
		<link>http://dannyman.toldme.com/2008/10/17/new-york-times-reviews-g1/</link>
		<comments>http://dannyman.toldme.com/2008/10/17/new-york-times-reviews-g1/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 00:21:17 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[About Me]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[News and Reaction]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Testimonials]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Bill Gates]]></category>
		<category><![CDATA[G1]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PC]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=1786</guid>
		<description><![CDATA[I should receive my first new mobile phone since 2004 on October 22. I don’t really need a new phone: the old Sidekick 2 is built like a tank and shows no sign of giving up the ghost any time soon. But I went and pre-ordered a G1 for three reasons . . .]]></description>
			<content:encoded><![CDATA[<p>I should receive my first new mobile phone since 2004 on October 22.  I don&#8217;t really need a new phone: the old Sidekick 2 is built like a tank and shows no sign of giving up the ghost any time soon.  But I went and pre-ordered a G1 for three reasons:<br />
1) I have a friend on Google&#8217;s Android team.<br />
2) To annoy the iPhone weenies.<br />
3) My employer made its targets, so I spend a little of my bonus check.</p>
<p>I haven&#8217;t actually used one yet, so I was pleased to catch <a href="http://www.nytimes.com/2008/10/16/technology/personaltech/16pogue.html">a review in the New York Times</a>.  Some of what I enjoyed:</p>
<blockquote><p>One crucial improvement over the iPhone: a Menu button. It summons a panel of big buttons for functions related to what you’re doing. It’s the equivalent of right-clicking a computer mouse.</p></blockquote>
<p>&#8220;Right mouse button!&#8221;  HA!</p>
<blockquote><p>Where Android really falls down is in the iPod department. There’s no companion program like iTunes to sync your photos, music and videos to the phone; you’re expected to drag these items to the phone manually after connecting via USB cable to your Mac or PC. More time-consuming fussiness.</p></blockquote>
<p>This is a win for me: I hate iTunes.  Dragging and dropping files is just the ticket, in my book.  I&#8217;ve been dealing with that interface metaphor for fifteen years and its more comfortable than dealing with the quirks of some new software package.  (Back when I had lots of issues with iTunes doing stuff like copying my library over twice.)  That, and I run Linux desktops.</p>
<blockquote><p>Some of the goodies in Android will reward the iPhone holdouts: voice dialing, picture messaging, built-in audio recording and the ability to turn any song into a ring tone are all included — no charge.</p></blockquote>
<p>Voice dialing?  That should be nice.  And audio recording might be fun, too.  Too bad the camera is supposedly crap, and no video.  But that&#8217;s why I have my Canon.</p>
<blockquote><p>The big news is the physical keyboard. It’s not pure joy, though. The keys don’t click down much. Worse, you have to keep turning the phone 90 degrees from its customary vertical orientation every time you need to enter text. That gets old fast.  And it’s bizarre that, even though the phone contains a tilt sensor like the iPhone’s, it’s not hooked up to the screen. Turning the phone 90 degrees to get a wider look at a photo or Web page doesn’t rotate the image. You have to do that manually, using a menu or by popping open the keyboard, which makes no sense.</p></blockquote>
<p>The keyboard is my biggest concern.  I think the Sidekick 2 keyboard is nearly ideal and it is a big reason I shun the iPhone.  Software bugs (sounds like the e-mail client is a mess) can be addressed by future patches or possibly third-party applications.  I like to think rotation can be sorted out down the road.</p>
<p>Overall, it sounds like the G1 will be the dowdier, more adaptable PC to the flashy smugness that is the iPhone.  And, I have to admit, while I love the turtleneck sweater I bought in France, I am a PC guy.  (I think that&#8217;s the point of the new Microsoft ads: Bill Gates is as big a schmuck as Jerry Seinfeld or any one else.)</p>
<p>Lastly, this is just sad:</p>
<blockquote><p>Finally, there’s no headphone jack. (Hello?!) If you want to use headphones, you have to buy and carry a special adapter that connects to the USB jack.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2008/10/17/new-york-times-reviews-g1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Video &#8220;Blue Flesh&#8221; Bug</title>
		<link>http://dannyman.toldme.com/2008/08/24/ubuntu-nvidia-video-violet-hue/</link>
		<comments>http://dannyman.toldme.com/2008/08/24/ubuntu-nvidia-video-violet-hue/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 00:12:14 +0000</pubDate>
		<dc:creator>dannyman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sundry]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Testimonials]]></category>
		<category><![CDATA[blue]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[EN9600GT]]></category>
		<category><![CDATA[hue]]></category>
		<category><![CDATA[nvidia]]></category>
		<category><![CDATA[the daily show]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://dannyman.toldme.com/?p=1606</guid>
		<description><![CDATA[This week I upgraded the guts in my desktop. For the video card I jumped up to an ASUS EN9600GT silent graphics card. It is pretty &#8220;bleeding edge&#8221; as far as Linux goes, and it is a double-wide card with a massive heatsink where others would have a fan. I like to reduce the white [...]]]></description>
			<content:encoded><![CDATA[<p>This week I upgraded the guts in my desktop.  For the video card I jumped up to an ASUS EN9600GT silent graphics card.  It is pretty &#8220;bleeding edge&#8221; as far as Linux goes, and it is a double-wide card with a massive heatsink where others would have a fan.  I like to reduce the white noise.</p>
<p>Unfortunately, it is too new for the currently-supported Ubuntu drivers.  I used <a href="https://help.ubuntu.com/community/NvidiaManual">Ubuntu&#8217;s NvidiaManual docs</a> to manually upgrade to <a href="http://www.nvidia.com/object/unix.html">the 173.14.12 drivers from NVidia&#8217;s site</a>, and then things were happier.  Except video playback.  Files and DVDs seem to work okay, but the colors are off, notably, people get rendered with blue or purple flesh.<span id="more-1606"></span></p>
<p style="text-align: center"><a href="http://www.flickr.com/photos/dannyman/2791132308/" title="hue-blue by dannyman, on Flickr"><img src="http://farm4.static.flickr.com/3255/2791132308_f6359f285e_o.png" width="522" height="532" alt="hue-blue" border=0 /></a></p>
<p>I tried Googling up the fix, but didn&#8217;t get far.  One page mentioned that I could run <code>nvidia-bug-report.sh</code> and send the debug log to <code>linux-bugs@nvidia.com</code>.  Support from a hardware developer?  For Linux?  Stranger things have happened.  I sent off a report on Friday night and on Saturday morning got an e-mail back from Aaron pointing me here:</p>
<p><a href="http://www.nvnews.net/vbulletin/showthread.php?t=107009">http://www.nvnews.net/vbulletin/showthread.php?t=107009</a></p>
<p>Verily, when I start X I have:</p>
<pre>
0-16:40 djh@noneedto ~$ <b>xvinfo | grep -A2 XV_HUE</b>
      "XV_HUE" (range 0 to 360)
              client settable attribute
              client gettable attribute (current value is 0)
</pre>
<p>And when I run a video and get blue people:</p>
<pre>
0-16:40 djh@noneedto ~$ <b>xvinfo | grep -A2 XV_HUE</b>
      "XV_HUE" (range 0 to 360)
              client settable attribute
              client gettable attribute (current value is 164)
</pre>
<p>Yet, they can be fixed like so:</p>
<pre>
0-16:40 djh@noneedto ~$ <b>xvattr -a XV_HUE -v 0</b>
Found Xv 2.2
XV_HUE set to 0
0-16:40 djh@noneedto ~$ <b>xvinfo | grep -A2 XV_HUE</b>
      "XV_HUE" (range 0 to 360)
              client settable attribute
              client gettable attribute (current value is 0)
</pre>
<p style="text-align: center"><a href="http://www.flickr.com/photos/dannyman/2790283583/" title="hue-good by dannyman, on Flickr"><img src="http://farm4.static.flickr.com/3282/2790283583_7a0bd0bbb8_o.png" width="522" height="532" alt="hue-good" border=0 /></a></p>
<p>Having the work-around moves this issue from awful to annoying.  I tried resetting <code>XV_HUE</code> and invoking different players.  I found these players producing the blue flesh bug:</p>
<ul>
<li>gxine</li>
<li>(Totem) Movie Player</li>
<li>mplayer</li>
</ul>
<p>It was starting to look grim, when I found that one player doesn&#8217;t mess up the hue setting:</p>
<ul>
<li>VLC media player</li>
</ul>
<p>Hopefully this bug gets worked out over the next few months.  I&#8217;d like to give Aaron Plattner and nVidia a great deal of credit not only for grappling with this issue but for providing customer support for their products.  Now I know which brand of video card to be loyal to!</p>
]]></content:encoded>
			<wfw:commentRss>http://dannyman.toldme.com/2008/08/24/ubuntu-nvidia-video-violet-hue/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/64 queries in 0.042 seconds using disk: basic
Object Caching 1035/1182 objects using disk: basic

Served from: dannyman.toldme.com @ 2012-02-08 23:38:40 -->
