<?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>I Drivel &#187; linux</title>
	<atom:link href="http://blog.justinlintz.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.justinlintz.com</link>
	<description>whatever comes to mind</description>
	<lastBuildDate>Wed, 12 Oct 2011 01:37:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>NRPE returning no output?</title>
		<link>http://blog.justinlintz.com/2011/10/nrpe-returning-no-output/</link>
		<comments>http://blog.justinlintz.com/2011/10/nrpe-returning-no-output/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 01:37:13 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=200</guid>
		<description><![CDATA[<p>command[check_recent_core]=PLUGINPATH/check_recent_core.sh --file="$ARG1" --freshness=$ARG2$</p> <p>Spot the error? I only wasted an hour of my life and another 30 minutes of co-workers trying to figure out why I kept getting a "NRPE: No output returned from plugin" error in Nagios. The issue? $ARG1 is missing a closing &#8220;$&#8221;. *slams head on desk* </p> ]]></description>
			<content:encoded><![CDATA[<p><tt>command[check_recent_core]=PLUGINPATH/check_recent_core.sh --file="$ARG1" --freshness=$ARG2$</tt></p>
<p>Spot the error?  I only wasted an hour of my life and another 30 minutes of co-workers trying to figure out why I kept getting a <tt>"NRPE: No output returned from plugin"</tt> error in Nagios.  The issue?  <tt>$ARG1</tt> is missing a closing &#8220;$&#8221;.  *slams head on desk*  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2011/10/nrpe-returning-no-output/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Determining my most used focal length in photos with python and dcraw</title>
		<link>http://blog.justinlintz.com/2010/12/determining-my-most-used-focal-length-in-photos-with-python-and-dcraw/</link>
		<comments>http://blog.justinlintz.com/2010/12/determining-my-most-used-focal-length-in-photos-with-python-and-dcraw/#comments</comments>
		<pubDate>Tue, 28 Dec 2010 05:52:50 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=138</guid>
		<description><![CDATA[<p>For the holidays I got a new Canon 7D camera. I&#8217;ve been saving quite a few amazon gift cards over the last year that I was previously planning on using towards purchasing the camera but thankfully Santa delivered me one. My current lens collection consists of </p> 10-22mm f/3.5-4.5 70-200mm f/4 50mm f/1.8 18-55mm <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/12/determining-my-most-used-focal-length-in-photos-with-python-and-dcraw/">Determining my most used focal length in photos with python and dcraw</a></span>]]></description>
			<content:encoded><![CDATA[<p>For the holidays I got a new <a href="http://www.usa.canon.com/cusa/consumer/products/cameras/slr_cameras/eos_7d">Canon 7D</a> camera.  I&#8217;ve been saving quite a few amazon gift cards over the last year that I was previously planning on using towards purchasing the camera but thankfully Santa delivered me one.  My current lens collection consists of </p>
<ul>
<li><a href="http://www.usa.canon.com/cusa/consumer/products/cameras/ef_lens_lineup/ef_s_10_22mm_f_3_5_4_5_usm">10-22mm f/3.5-4.5</a></ul>
<ul>
<li><a href="http://www.usa.canon.com/cusa/consumer/products/cameras/ef_lens_lineup/ef_70_200mm_f_4l_usm">70-200mm f/4</a></ul>
<ul>
<li><a href="http://www.usa.canon.com/cusa/consumer/products/cameras/ef_lens_lineup/ef_50mm_f_1_8_ii">50mm f/1.8</a></ul>
<ul>
<li><a href="http://www.usa.canon.com/cusa/support/consumer/eos_slr_camera_systems/lenses/ef_s_18_55mm_f_3_5_5_6_usm">18-55mm f/3.5-5.6</a> (kit lens)</ul>
<p>The lens collection has been built over the last 4 years from when I first got my <a href="http://www.usa.canon.com/cusa/support/consumer/eos_slr_camera_systems/eos_digital_slr_cameras/digital_rebel_xt">Canon Rebel XT</a> and I&#8217;ve been fairly happy with them thus far.  As part of looking into what new lens to get I wanted to know what focal length I shot with the most over the previous years.  A quick look with</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">find</span> . <span style="color: #660033;">-type</span> f <span style="color: #660033;">-name</span> <span style="color: #ff0000;">'*.CR2'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> <span style="color: #660033;">-l</span></div></div>
<p>shows I have 4697 RAW images in my photos folder, so I&#8217;ll need some sort of automated solution to figure this out.</p>
<p>My first inclination was to poke around Python&#8217;s PIL and see if it supported reading of RAW images, it didn&#8217;t appear to do so that option was out.  I looked at the Canon RAW format at <a href="http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html">http://www.sno.phy.queensu.ca/~phil/exiftool/canon_raw.html</a> and contemplated doing some parsing of the files to extract the info I needed from the EXIF data.  I remembered in the past I had used <a href="http://ufraw.sourceforge.net/">UFRaw</a> to play around with RAW conversion in Linux a while back and saw they are using a nice simple tool to do their RAW parsing called <a href="http://www.cybercom.net/~dcoffin/dcraw/">dcraw</a>.  It&#8217;s a small C program that I was able to compile the source with the following commands&#8230;</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> libjpeg-dev liblcms-dev <br />
<span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #660033;">-o</span> dcraw <span style="color: #660033;">-O4</span> dcraw.c <span style="color: #660033;">-lm</span> <span style="color: #660033;">-ljpeg</span> <span style="color: #660033;">-llcms</span></div></div>
<p>Using dcraw seemed like the path of least resistance and now I just needed to wrap some code around it to go through all of my RAW images and extract the EXIF info and keep a hash table of the focal length value.  I whipped up a small python script and posted a gist of it over on github.<br />
<script src="http://gist.github.com/756716.js"></script><br />
It&#8217;s fairly straight forward and could easily be modified to do more, like collect aperture sizes or any other EXIF data.  I may go back and build it out a bit more to make it more flexible in what data it collects, but for now this suited my needs at the time.  My top 10 focal lengths ended up being</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Total pics to process: <span style="color: #000000;">4697</span><br />
Length: <span style="color: #000000;">50.0</span> &nbsp;, Count: <span style="color: #000000;">1624</span><br />
Length: <span style="color: #000000;">22.0</span> &nbsp;, Count: <span style="color: #000000;">576</span><br />
Length: <span style="color: #000000;">18.0</span> &nbsp;, Count: <span style="color: #000000;">423</span><br />
Length: <span style="color: #000000;">200.0</span> &nbsp;, Count: <span style="color: #000000;">404</span><br />
Length: <span style="color: #000000;">55.0</span> &nbsp;, Count: <span style="color: #000000;">373</span><br />
Length: <span style="color: #000000;">10.0</span> &nbsp;, Count: <span style="color: #000000;">192</span><br />
Length: <span style="color: #000000;">70.0</span> &nbsp;, Count: <span style="color: #000000;">176</span><br />
Length: <span style="color: #000000;">37.0</span> &nbsp;, Count: <span style="color: #000000;">74</span><br />
Length: <span style="color: #000000;">16.0</span> &nbsp;, Count: <span style="color: #000000;">33</span></div></div>
<p>Takes close to 11 seconds on average to calculate that for 4697 images.  </p>
<p>I had been wanting to upgrade my 50mm f/1.8 lens for a bit as I&#8217;d really started to notice the short comings of it.  The lens has a hard time focusing and also had a bit of a back focusing issue.  Since my Uncle borrows my camera a lot when he goes on vacation I worked out a deal with him to purchase the 50mm f/1.4 for me and in exchange I&#8217;d give him my old Canon Rebel XT with the kit lens and the 50mm f/1.8 lens.  </p>
<p>The kit lens was a great walk about lens so I&#8217;m currently trying to decide on a good and reasonably priced lens to cover somewhere in the 18-100mm range. I&#8217;m reading through a bunch of comments on amazon reviews and dpreview forums to figure out what my best bang for my buck would be for a lens in that range.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/12/determining-my-most-used-focal-length-in-photos-with-python-and-dcraw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python pip on Ubuntu Lucid Lynx</title>
		<link>http://blog.justinlintz.com/2010/09/python-pip-on-ubuntu-lucid-lynx/</link>
		<comments>http://blog.justinlintz.com/2010/09/python-pip-on-ubuntu-lucid-lynx/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 04:48:24 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=135</guid>
		<description><![CDATA[<p>Lately I&#8217;ve been reading up on Django a bit in an effort to get back into programming.  It seems the preferred way of running Django is inside a virtualenv environment.  I try to stick to packages when possible for installing applications and saw that the python-virtualenv package wasn&#8217;t too far behind at version 1.4.5, <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/09/python-pip-on-ubuntu-lucid-lynx/">Python pip on Ubuntu Lucid Lynx</a></span>]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been reading up on Django a bit in an effort to get back into programming.  It seems the preferred way of running Django is inside a <a href="http://pypi.python.org/pypi/virtualenv">virtualenv</a> environment.  I try to stick to packages when possible for installing applications and saw that the python-virtualenv package wasn&#8217;t too far behind at version 1.4.5, where the latest is at 1.5.1.  This appeared at first to suit me just fine until I discovered the version of pip that gets installed along with python-virtualenv is at 0.3.1, where the latest is at 0.8.1.  The version of pip installed is so old that it doesn&#8217;t have support for the &#8220;uninstall&#8221; command yet, blech.  Luckily you can do the following from within pip to upgrade itself</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">--upgrade</span> pip</div></div>
<p>Now back to reading about setting up a virtualenv environment</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/09/python-pip-on-ubuntu-lucid-lynx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configuring Varnish</title>
		<link>http://blog.justinlintz.com/2010/08/configuring-varnish/</link>
		<comments>http://blog.justinlintz.com/2010/08/configuring-varnish/#comments</comments>
		<pubDate>Sat, 14 Aug 2010 03:22:19 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=103</guid>
		<description><![CDATA[<p>At $WORK I&#8217;m currently working on deploying a pool of Varnish servers to sit in front of some Apache servers running Pressflow. On our current infrastructure we&#8217;ve been running Squid for the past few years with very good success , minus a hiccup or two along the way, one involving memory fragmentation (thank you <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/08/configuring-varnish/">Configuring Varnish</a></span>]]></description>
			<content:encoded><![CDATA[<p>At $WORK I&#8217;m currently working on deploying a pool of <a href="http://varnish-cache.org/">Varnish</a> servers to sit in front of some Apache servers running <a href="http://pressflow.org/">Pressflow</a>.  On our current infrastructure we&#8217;ve been running Squid for the past few years with very good success , minus a hiccup or two along the way, one involving memory fragmentation (thank you <a href="http://goog-perftools.sourceforge.net/doc/tcmalloc.html">tcmalloc</a>).  Varnish has a few nice features that Squid lacks.</p>
<li>The ability to PURGE objects using wildcards</li>
<li>Better support for multiple processors (Squid can benefit from multi procs when using AUFS)</li>
<li>Grace period that can be configured to serve objects from the cache after they&#8217;ve expired while fetching the new content from the backend.  You can also use this to serve up stale content if your backend is down</li>
<li>Ships with a nice set of command line tools (varnishtop,varnishlog,varnishstat,varnishhist,etc&#8230;)</li>
<li>A very flexible scripting/configuration language (you can even do inline C if you&#8217;re feeling saucy) that allows you to manipulate the objects at any point in the request or response (<a href="http://varnish-cache.org/raw-attachment/wiki/VCLExampleDefault/varnish-2.0.4-flow.jpg">See flow chart</a>)</li>
<p>There are many others but these are just a few off the top of my head and I&#8217;m still discovering what other capabilities Varnish has.  The site has not gone live yet so I&#8217;m still testing on a dev version of the site and have not had an opportunity to perform any load testing yet. So far with my current working configuration I&#8217;ve made the following tweaks</p>
<li>Stripped cookies off static objects</li>
<li>Stripped Google analytics cookies</li>
<li>Removed empty cookies</li>
<li>Configured a graceful period to serve up stale objects from cache</li>
<li>Added a debugging header to show weather the object was a cache HIT or MISS</li>
<p>The use of mod_expires on the Apache backend controls cache times for static assets (css,js,images,etc..).  In my googling around when reading about Varnish I see a lot of people are setting cache times in their VCLs.  IMO you should be letting the backend or application itself control the TTLs on objects.  Within your application you can set more defined TTLs for certain  sections of your site or even certain types of dynamic content without having to rely on complex VCL rules or deal with the deployment of the rules into Varnish.  While Varnish does support a &#8220;graceful&#8221; style restart, its not quite as eloquant as doing <i>service apache graceful</i>.  Kristian Lyngstol (one of the Varnish devs) has a good <a href="http://kristian.blog.linpro.no/2009/02/18/easy-reloading-of-varnish-vcl/">post</a> on his blog on dealing with this.  Also with the use of mod_expires you can set TTLs based on MIME-type within Apache.</p>
<p>One other thing I see a lot of people blindly recommending in configurations to deal with Varnish&#8217;s behavior of not caching cookies is to take the cookie value and add it into Varnish&#8217;s hash of the object.  e.g.</p>
<div class="codecolorer-container c default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="c codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sub vcl_hash <span style="color: #009900;">&#123;</span><br />
set req.<span style="color: #202020;">hash</span> <span style="color: #339933;">+=</span> req.<span style="color: #202020;">http</span>.<span style="color: #202020;">cookie</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></div>
<p>If a light bulb just went off in your head as to why this is a bad idea, kudos to you.  What you&#8217;re basically doing is creating a cache per-user on your Varnish server.  Your hit ratio will plummet from this config.  There are scenarios where this <em>can</em> be used in a good way.  In talking with some folks in #varnish on irc.linpro.no, a scenario where you&#8217;d want this is if say you had a cookie that was a display filter on your site or some sort of site customization that didn&#8217;t have a large number of combinations.</p>
<p>One thing that bothers me about Varnish currently is that it&#8217;s admin interface is completely unsecured.  By default it listens on localhost but without any authentication, anyone with a shell on your Varnish box can bring down your Varnish instance or modify the config in anyway they feel fit.  For those that allow dev&#8217;s on production servers to debug logs, this is a bit of a security concern.  I&#8217;m not really sure of a workaround for this, so if anyone has any ideas, leave it in the comments below.</p>
<p>If you use Cacti for trending, there are some great templates available over at the <a href="http://forums.cacti.net/viewtopic.php?p=182152">cacti forums</a>.  They utilize a python script that needs access to the admin interface.</p>
<p>I&#8217;ll probably post some more in the future on Varnish as I do further reading and testing with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/08/configuring-varnish/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thinkpad Trackpoint sensitivity on Ubuntu</title>
		<link>http://blog.justinlintz.com/2010/06/thinkpad-trackpoint-sensitivity-on-ubuntu/</link>
		<comments>http://blog.justinlintz.com/2010/06/thinkpad-trackpoint-sensitivity-on-ubuntu/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 00:27:54 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=97</guid>
		<description><![CDATA[<p>A while back I found some notes on configuring the sensitivity of my trackpoint on my Thinkpad T43 and took the time to tweak the values to get it just right. The commands were</p> /bin/echo -n 171 &#62; /sys/devices/platform/i8042/serio1/serio2/sensitivity /bin/echo -n 119 &#62; /sys/devices/platform/i8042/serio1/serio2/speed <p>In order to keep those values the same on reboot, <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/06/thinkpad-trackpoint-sensitivity-on-ubuntu/">Thinkpad Trackpoint sensitivity on Ubuntu</a></span>]]></description>
			<content:encoded><![CDATA[<p>A while back I found some notes on configuring the sensitivity of my trackpoint on my Thinkpad T43 and took the time to tweak the values to get it just right.  The commands were</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">171</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>devices<span style="color: #000000; font-weight: bold;">/</span>platform<span style="color: #000000; font-weight: bold;">/</span>i8042<span style="color: #000000; font-weight: bold;">/</span>serio1<span style="color: #000000; font-weight: bold;">/</span>serio2<span style="color: #000000; font-weight: bold;">/</span>sensitivity<br />
<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #000000;">119</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>devices<span style="color: #000000; font-weight: bold;">/</span>platform<span style="color: #000000; font-weight: bold;">/</span>i8042<span style="color: #000000; font-weight: bold;">/</span>serio1<span style="color: #000000; font-weight: bold;">/</span>serio2<span style="color: #000000; font-weight: bold;">/</span>speed</div></div>
<p>In order to keep those values the same on reboot, I placed those commands in /etc/rc.local.  I rebooted and&#8230; values got reset.  After struggling a bit and just giving up on the issue, I ended up just making a shell script that I would execute on boot each time (crappy solution).  Finally I got annoyed with the issue enough and researched it again some more and stumbled upon<a href="http://ubuntuforums.org/showpost.php?p=9365735&#038;postcount=13">this post on Ubuntu Forums</a>.  A couple of things I learned from that&#8230;</p>
<ol>
<li> The proper ways to set the values in the sysfs is to use udev rules, <a href="http://www.reactivated.net/writing_udev_rules.html">Writing udev rules</a></li>
<li> Even if I used a udev rule, there appears to be an issue where the device does not exist yet at the time the rule is processed to set the value for the device</li>
</ol>
<p><strong>Solution</strong> (per forum post) create a file <strong>/etc/udev/rules.d/trackpoint.rules</strong> and place the following in</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #007800;">SUBSYSTEM</span>==<span style="color: #ff0000;">&quot;serio&quot;</span>, <span style="color: #007800;">DRIVERS</span>==<span style="color: #ff0000;">&quot;psmouse&quot;</span>, ATTR<span style="color: #7a0874; font-weight: bold;">&#123;</span>description<span style="color: #7a0874; font-weight: bold;">&#125;</span>==<span style="color: #ff0000;">&quot;Synaptics pass-through&quot;</span>, <span style="color: #007800;">WAIT_FOR</span>=<span style="color: #ff0000;">&quot;/sys/devices/platform/i8042/serio1/serio2/sensitivity&quot;</span> ATTR<span style="color: #7a0874; font-weight: bold;">&#123;</span>sensitivity<span style="color: #7a0874; font-weight: bold;">&#125;</span>=<span style="color: #ff0000;">&quot;171&quot;</span>, ATTR<span style="color: #7a0874; font-weight: bold;">&#123;</span>speed<span style="color: #7a0874; font-weight: bold;">&#125;</span>=<span style="color: #ff0000;">&quot;119&quot;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/06/thinkpad-trackpoint-sensitivity-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Check for missing reverse DNS entries on network</title>
		<link>http://blog.justinlintz.com/2010/05/check-for-missing-reverse-dns-entries-on-network/</link>
		<comments>http://blog.justinlintz.com/2010/05/check-for-missing-reverse-dns-entries-on-network/#comments</comments>
		<pubDate>Wed, 26 May 2010 18:15:48 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=90</guid>
		<description><![CDATA[<p>A quick way to check your network for IPs missing reverse DNS entries&#8230;.</p> nmap -PE -sP 10.0.0.0/24 &#124; awk '{if ($2 ~ /^[[:digit:]]/ ) print $2}' ]]></description>
			<content:encoded><![CDATA[<p>A quick way to check your network for IPs missing reverse DNS entries&#8230;.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">nmap -PE -sP 10.0.0.0/24 | awk '{if ($2 ~ /^[[:digit:]]/ ) print $2}'</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/05/check-for-missing-reverse-dns-entries-on-network/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Support for authorized-keys.d/</title>
		<link>http://blog.justinlintz.com/2010/02/support-for-authorized-keys-d/</link>
		<comments>http://blog.justinlintz.com/2010/02/support-for-authorized-keys-d/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 05:02:41 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[thoughts linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/2010/02/support-for-authorized-keys-d/</guid>
		<description><![CDATA[<p>Why is there no subdir inside .ssh called authorized-keys.d where I can just throw my ssh keys and easily manage them by file name instead of having to edit the authorized-keys(2) file?</p> <p>I need to do some googling on this , a quick search yields this debian bug report on wishing for support for <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/02/support-for-authorized-keys-d/">Support for authorized-keys.d/</a></span>]]></description>
			<content:encoded><![CDATA[<p>Why is there no subdir inside .ssh called authorized-keys.d where I can just throw my ssh keys and easily manage them by file name instead of having to edit the authorized-keys(2) file?</p>
<p>I need to do some googling on this , a quick search yields this <a href="http://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg518628.html">debian bug report</a> on wishing for support for one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/02/support-for-authorized-keys-d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 64bit + iPhone sync</title>
		<link>http://blog.justinlintz.com/2010/01/windows-7-64bit-iphone-sync/</link>
		<comments>http://blog.justinlintz.com/2010/01/windows-7-64bit-iphone-sync/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 01:24:55 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=78</guid>
		<description><![CDATA[<p>I somehow attract issues whenever I build a new computer or do a fresh installation on my desktop.  I currently dual boot between Windows XP 64bit and  Ubuntu 9.10 (Karmic) which has served me well the last 3 years.  My current setup is running atop a fakeraid mirror which at the time, was a <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2010/01/windows-7-64bit-iphone-sync/">Windows 7 64bit + iPhone sync</a></span>]]></description>
			<content:encoded><![CDATA[<p>I somehow attract issues whenever I build a new computer or do a fresh installation on my desktop.  I currently dual boot between Windows XP 64bit and  Ubuntu 9.10 (Karmic) which has served me well the last 3 years.  My current setup is running atop a fakeraid mirror which at the time, was a PITA to get configured as it involved using a live cd and following a really long howto while crossing my fingers it would work.  Today the installer supports fakeraid out of the box so no poor soul would have to go through those installation steps.</p>
<p>I got a new 1TB hard drive for the holidays and I had been meaning to redo my setup for some time and finally took the plunge this weekend.  I also decided I was going to give Windows 7 a go.  With my current(now old) setup, I couldn&#8217;t install iTunes in Windows XP 64bit so I had to do all my iPhone syncing using a 32bit Windows XP install inside a Virtualbox VM inside of Ubuntu.  I would run into issues anytime I would have to do a firmware upgrade on my iPhone since the iPhone would disconnect from the VM during the firmware upgrade process and the USB filters I had in place to pass through the iPhone to the VM would run into a race condition with the OS while it tried to mount the iPhone as a photo device.  This would end up leaving my iPhone as a brick (but upgraded) and I&#8217;d have to restore from backup and re-sync all my music, a process that would take up to 4 hours.  The last time I did an iPhone upgrade, I learned my lesson and did the upgrade from a Mac, no restores needed and I didn&#8217;t need to do any syncing after.</p>
<p>With my new setup I was planning on doing all of my syncing in Windows 7, without having to worry about any issues with USB pass through or performance issues of doing the sync through a VM.  Once I got my Windows 7 install up and running, I installed iTunes and added my music to the library.  I went to go ahead and perform my first sync and noticed it began syncing then about 5 seconds later it would just finish.  I tried this a couple more times and noticed it was still not behaving right.  I figured I&#8217;d try to atleast backup my iPhone incase anything went wrong.  I began the backup process and went to go play some CoD MW2.  I came back an hour later and noticed no real progress on the backup of the iPhone.  I cancelled the backup process and then tried restarting the backup.  I let it sit for a couple of hours and it never completed.  Normally a backup will take maybe 10-15 minutes so I knew something was wrong.</p>
<p>I began Googling and right away I came upon <a href="http://discussions.apple.com/thread.jspa?threadID=2157442&amp;tstart=0">this thread </a>on the Apple forums.  The thread described a varying amount of issues with Windows 7 64bit and iTunes syncing.  Issues with people having their iPhone not recognized to certain chipsets causing sync issues.  I tried jumping around the thread a bit looking for some simple answers related to my issues, but most of the solutions were geared towards BIOS updates.  After some more Googling I found a thread on one of the MS support forums (sorry I lost the link) where a representative from MS was actually contributing to the thread and seemed to be working with developers on a hot fix for the issues.  The thread talked about users with issues with USB hard drives and iPhone issues as well. Later in the thread MS eventually came up with a hot fix for the issue so I figured I&#8217;d give it a go.  The hotfix can be found here <a href="http://support.microsoft.com/kb/976972">http://support.microsoft.com/kb/976972</a> .  I installed it and low and behold, it actually fixed my issue.  This is the first time I can remember downloading a hotfix for an issue I&#8217;ve had with Windows and it actually fixing the problem.  I&#8217;m now finishing syncing up my music to my iPhone which is syncing A LOT faster than going through a VM layer.  Hopefully someone will stumble across this blog post facing similar issues and it will solve their iTune woes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2010/01/windows-7-64bit-iphone-sync/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Reserved block space</title>
		<link>http://blog.justinlintz.com/2009/10/reserved-block-space/</link>
		<comments>http://blog.justinlintz.com/2009/10/reserved-block-space/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 23:17:16 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=52</guid>
		<description><![CDATA[<p>Normally when a partition fills up, you remove some files, freeing up some space and watch your disk usage drop in</p> df -h <p>The first time recently I ran into a situation where that wasn&#8217;t the case. I had filled up my root partition and after removing some files and moving some others to <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2009/10/reserved-block-space/">Reserved block space</a></span>]]></description>
			<content:encoded><![CDATA[<p>Normally when a partition fills up, you remove some files, freeing up some space and watch your disk usage drop in</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-h</span></div></div>
<p>The first time recently I ran into a situation where that wasn&#8217;t the case.  I had filled up my root partition and after removing some files and moving some others to another partition I noticed no change in my output of</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">df</span> <span style="color: #660033;">-h</span></div></div>
<p>Applications were crashing since they couldn&#8217;t write to the partition but I knew I had removed at least a few GB&#8217;s worth of data.  What gives?</p>
<p>After some frantic googling I stumbled upon something I hadn&#8217;t heard of before, known as &#8220;Reserved blocks&#8221;.  Paraphrasing the man page on tune2fs, Reserved blocks are a set of filesystem blocks set aside for use by privileged processes to avoid fragmentation as well as allow system daemons to function after all available disk space has been used up.  By default the filesystem sets aside 5% of the filesystem during formatting for use in reserved blocks.  If you have a large hard drive, 5% may be a bit much.  You can adjust this amount with the command</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tune2fs <span style="color: #660033;">-mX</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1</div></div>
<p>where X is the percentage you wish to change to and /dev/sda1 is the partition you wish to modify.  In order to get out of the hole I dug myself,  I used the command</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">tune2fs <span style="color: #660033;">-r</span> <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>sda1</div></div>
<p>to reset the block count to 0 and thus giving me back my space I had freed up.  Be sure that you have freed up space before running this command, as the reason reserved blocks exist is so in the instance when you have completely filled up your partition, you will still be able to run important daemons and commands without them crashing.  </p>
<p>Maybe I will finally add some monitoring to my own desktop to prevent this from happening to me.  So far I&#8217;ve been bitten by this twice, I noticed each time when pidgin began crashing and firefox wasn&#8217;t saving any cookies when logging into any sites.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2009/10/reserved-block-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online backup solution for Linux</title>
		<link>http://blog.justinlintz.com/2009/10/online-backup-solution-for-linux/</link>
		<comments>http://blog.justinlintz.com/2009/10/online-backup-solution-for-linux/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 04:42:07 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.justinlintz.com/?p=48</guid>
		<description><![CDATA[<p>The past couple of weeks I&#8217;ve begun looking into an online backup solution as I start to realize I&#8217;d be really really really pissed if something happened to my data.  Currently I&#8217;m running my desktop in a RAID 1 configuration using dmraid aka fakeraid, under Ubuntu Jaunty 9.04.  The reason I ended up having <span style="color:#777"> . . . &#8594; Read More: <a href="http://blog.justinlintz.com/2009/10/online-backup-solution-for-linux/">Online backup solution for Linux</a></span>]]></description>
			<content:encoded><![CDATA[<p>The past couple of weeks I&#8217;ve begun looking into an online backup solution as I start to realize I&#8217;d be really really really pissed if something happened to my data.  Currently I&#8217;m running my desktop in a RAID 1 configuration using dmraid aka <a href="https://help.ubuntu.com/community/FakeRaidHowto">fakeraid</a>, under Ubuntu Jaunty 9.04.  The reason I ended up having to use fakeraid was because I still dualboot Windows XP 64bit for doing photoshop work and the occasional game play.  I could do my photoshop work in a VM, but then I lose the advantage of a dual screen workflow when going through my <a href="htttp://flickr.com/photos/jlintz">photos</a>.</p>
<p>My initial reaction into doing online backups was to use <a href="http://www.mozy.com">Mozy</a> since they are owned by EMC and I wouldn&#8217;t have to entertain the thought of the company going under or running into any growth issues.  They also have the great price point of 4.99/month for unlimited backup storage.  Of course Mozy falls short on the basis that they don&#8217;t have a native linux client.  I&#8217;d have to run the client in my Windows VM under virtualbox and expose the whole Dom0 filesystem to the VM.  I only fire up my Windows VM as needed and didn&#8217;t care to have it running all the time, or forgetting to launch it and missing an important backup.  A couple of other downsides to Mozy,</p>
<ul>
<li>No ability to easily share files</li>
<li>Their external HD support is not straight forward, the device must be &#8220;fixed&#8221; and not &#8220;removable media&#8221;</li>
<li>You have to pay an additional fee for additional computers you want to backup</li>
</ul>
<p>Basically for a basic home user, their service is fine but I&#8217;m far from that.  Next up were a couple services that actually had native Linux clients, <a href="http://www.spideroak.com">SpiderOak</a> and <a href="http://memopal.com">MemoPal</a>.</p>
<p>MemoPal unfortunately looks to have abandoned their linux client, which was in beta anyway.  The <a href="http://betatest.memopal.com/index.php/Download">download page</a> page judging from the packages for Ubuntu 8.04, appears to have not been updated in a year.  Their price of 50 a year for 150GB of storage is fine for me as I won&#8217;t be backing up that much data , so I don&#8217;t truly need unlimited but it&#8217;s always a nice to have.  You can install the client on up to 10 computers to backup their data as well which is fine for me and I&#8217;d imagine most geeks.   Ultimately I didn&#8217;t end up going with them since their linux client development seems to have halted and trusting my backups to a beta client seems wrong (although i trusted gmail&#8217;s &#8220;beta&#8221; service for my primary email for years).</p>
<p>Finally that brings me to the one I ultimately ended up choosing, SpiderOak.  A few things that sold me on SpiderOak were</p>
<ul>
<li>A coupon for 30% off , seriously I may not have went with them if I had to pay 10/month for 100GB vs 7/month</li>
<li>Linux Client is actively developed, appears to be part of one code base</li>
<li>They open source various utilities and API&#8217;s for Python <a href="https://spideroak.com/code">https://spideroak.com/code</a></li>
<li>I can have multiple computers</li>
<li>It can run headless!  This may prove very useful as I can just run this on my linode virtual instead of backing up to my home machine first which has an upstream capped at 1 MBit/s.</li>
<li>One other odd thing that sold me a bit on them was they recently had a <a href="https://spideroak.com/blog/200909231600-regarding-recent-connection-issues">storage cluster fail</a> but they didn&#8217;t lose any of their customers data.</li>
</ul>
<p>Now thanks to Time Warner Cable&#8217;s crappy upstream it should only take me a week or so to upload my data initially , around 50GB.  I also signed up for the month by month payments just in case at anytime I decide I want to switch elsewhere, although I hope that isn&#8217;t the case as re-uploading all this data isn&#8217;t the fastest process.  I know there are a couple other backup options out there that I didn&#8217;t mention such as rsync.net , ibackup.com and dropbox, but those either didn&#8217;t fall into the definition of a backup solution (mainly sync) or the price point was just way off.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.justinlintz.com/2009/10/online-backup-solution-for-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

