<?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>Blag o&#039; dkam</title>
	<atom:link href="http://da.nmilne.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://da.nmilne.com</link>
	<description>p0wning tubez</description>
	<lastBuildDate>Sat, 07 Aug 2010 12:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>On Daemons</title>
		<link>http://da.nmilne.com/?p=441</link>
		<comments>http://da.nmilne.com/?p=441#comments</comments>
		<pubDate>Sat, 07 Aug 2010 12:59:25 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Booko]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=441</guid>
		<description><![CDATA[New post on Daemons over on the Booko blog.]]></description>
			<content:encoded><![CDATA[<p>New post on <a href="http://blog.booko.com.au/?p=359">Daemons</a> over on the Booko blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=441</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s not just Books.</title>
		<link>http://da.nmilne.com/?p=429</link>
		<comments>http://da.nmilne.com/?p=429#comments</comments>
		<pubDate>Thu, 12 Nov 2009 11:18:57 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=429</guid>
		<description><![CDATA[If you had the idea that books were the only thing Australians over paid for (I know, none of you believe that) check this out from Nintendo. The new Super Mario Bros. has an RRP in the US of $49 USD which is $50.235 AUD. You can buy it on Amazon.  According to EBGames, the [...]]]></description>
			<content:encoded><![CDATA[<p>If you had the idea that books were the only thing Australians over paid for (I know, none of you believe that) check this out from Nintendo. The new Super Mario Bros. has an RRP in the US of $49 USD which is $50.235 AUD.  You can buy it on <a href="http://www.amazon.com/gp/product/B002BRZ9G0/ref=s9_simz_gw_s0_p63_i1?pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=center-2&amp;pf_rd_r=0BE0G321NJDR49Y47N6V&amp;pf_rd_t=101&amp;pf_rd_p=470938631&amp;pf_rd_i=507846">Amazon</a>.  According to <a href="http://www.ebgames.com.au/wii-147793-New-Super-Mario-Bros-Nintendo-Wii">EBGames</a>, the RRP for the Australian version is $98 AUD, for a markup of almost 100% of the US price.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=429</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google gets some numbers numbers from the world bank</title>
		<link>http://da.nmilne.com/?p=425</link>
		<comments>http://da.nmilne.com/?p=425#comments</comments>
		<pubDate>Thu, 12 Nov 2009 02:37:11 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=425</guid>
		<description><![CDATA[Via The Age]]></description>
			<content:encoded><![CDATA[<p><iframe width="600" height="500" frameborder="0" scrolling="no" marginwidth="0" marginheight="0" src="http://www.google.com/publicdata/embed?ds=wb-wdi&amp;met=sh_dyn_mort&amp;idim=country:AUS:USA:NOR:NZL:FIN&amp;tstart=-315619200000&amp;tunit=Y&amp;tlen=47"></iframe></p>
<p>Via <a href="http://news.theage.com.au/breaking-news-technology/google-routes-world-bank-data-to-fact-seekers-20091112-iaax.html">The Age</a></p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=425</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing on the Master branch</title>
		<link>http://da.nmilne.com/?p=424</link>
		<comments>http://da.nmilne.com/?p=424#comments</comments>
		<pubDate>Mon, 02 Nov 2009 12:48:46 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[git development]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=424</guid>
		<description><![CDATA[Check it out: http://blog.booko.com.au/?p=319]]></description>
			<content:encoded><![CDATA[<p>Check it out: <a href="http://blog.booko.com.au/?p=319">http://blog.booko.com.au/?p=319</a></p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=424</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with git post-commit</title>
		<link>http://da.nmilne.com/?p=422</link>
		<comments>http://da.nmilne.com/?p=422#comments</comments>
		<pubDate>Sat, 24 Oct 2009 04:17:57 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=422</guid>
		<description><![CDATA[Over on the Booko Blog.]]></description>
			<content:encoded><![CDATA[<p>Over on the <a href="http://blog.booko.com.au/?p=308">Booko Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=422</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Are you an artist in search of prizes to enter?</title>
		<link>http://da.nmilne.com/?p=417</link>
		<comments>http://da.nmilne.com/?p=417#comments</comments>
		<pubDate>Sun, 04 Oct 2009 12:16:06 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=417</guid>
		<description><![CDATA[If so, a friend of mine is running an art prize. Check it out: http://www.therealartprize.com/ Entry is free and there&#8217;s a cash prize. Nothing to loose!]]></description>
			<content:encoded><![CDATA[<p>If so, a friend of mine is running an art prize. Check it out: <a href="http://www.therealartprize.com/">http://www.therealartprize.com/</a></p>
<p>Entry is free and there&#8217;s a cash prize. Nothing to loose!</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=417</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On Users and Passwords</title>
		<link>http://da.nmilne.com/?p=415</link>
		<comments>http://da.nmilne.com/?p=415#comments</comments>
		<pubDate>Wed, 23 Sep 2009 12:24:10 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Booko]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=415</guid>
		<description><![CDATA[Just posted on the Booko Blogo an article about implementing Users and Passwords.]]></description>
			<content:encoded><![CDATA[<p>Just posted on the Booko Blogo an article about implementing <a href="http://blog.booko.com.au/?p=272">Users and Passwords</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=415</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Need a MacBook Pro?</title>
		<link>http://da.nmilne.com/?p=403</link>
		<comments>http://da.nmilne.com/?p=403#comments</comments>
		<pubDate>Sun, 30 Aug 2009 10:32:12 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=403</guid>
		<description><![CDATA[I&#8217;m selling my last one on Ebay right now! Get yourself a bargain!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m selling my last one on <a href="http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&amp;item=320418238912">Ebay</a> right now!</p>
<p>Get yourself a bargain!</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=403</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making Booko work better with Google</title>
		<link>http://da.nmilne.com/?p=399</link>
		<comments>http://da.nmilne.com/?p=399#comments</comments>
		<pubDate>Mon, 24 Aug 2009 00:57:50 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Booko]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=399</guid>
		<description><![CDATA[Over on the Booko Blog.]]></description>
			<content:encoded><![CDATA[<p>Over on the <a href="http://blog.booko.com.au/?p=257">Booko Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=399</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sysadmin triage</title>
		<link>http://da.nmilne.com/?p=382</link>
		<comments>http://da.nmilne.com/?p=382#comments</comments>
		<pubDate>Mon, 08 Jun 2009 01:33:35 +0000</pubDate>
		<dc:creator>dkam</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[SysAdmin]]></category>

		<guid isPermaLink="false">http://da.nmilne.com/?p=382</guid>
		<description><![CDATA[Back when I was a professional sysadmin (now I just do it for fun) I came up with a few simple tests to perform on misbehaving hosts. These tests are very obvious and easy to check, but they&#8217;re worth remembering because too often we&#8217;re tempted to look for complex solutions to problems that, initially, look complex. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Back when I was a professional sysadmin (now I just do it for fun) I came up with a few simple tests to perform on misbehaving hosts. These tests are very obvious and easy to check, but they&#8217;re worth remembering because too often we&#8217;re tempted to look for complex solutions to problems that, initially, look complex. It&#8217;s humbling just how often what looks like a complex software issue, really isn&#8217;t complex at all.</p>
<p>So when things go wrong, before reverting the last change, before breaking out gdb and strace and before tweaking your software on your production host, spend 5 minutes and run through these quick, simple tests &#8211; there&#8217;s a high likelihood that you&#8217;ll solve your problem quickly. (I&#8217;m sure there&#8217;s other tests you can do &#8211; these are the ones burnt into my mind)</p>
<h2>#1 &#8211; Disk space</h2>
<p>Don&#8217;t laugh &#8211; running out of disk space can cause you pain in so many ways it&#8217;ll spin your head.   Check all partitions, including /tmp, /var/tmp and /var. Running out of tmp means applications won&#8217;t be able to write temporary files which, depending on the app, may make it behave very strangely. /var is used for many things including logging in /var/log &#8211; not being able to log will make some software cry like a baby &#8211; i.e. it may crash and you&#8217;ll have no idea why &#8211; it certainly won&#8217;t be in the log file.  Databases like MySQL don&#8217;t like having no room to write in /var/lib/mysql &#8211; Don&#8217;t be surprised if you get some db corruption. With MySQL, you may be able to start the database and even connect to it with the mysql client, leading you to look elsewhere &#8211; but checking disk space will take you seconds.</p>
<p>[sourcecode language='shell']<br />
dkam@vihko:~$ df -h<br />
Filesystem            Size  Used Avail Use% Mounted on<br />
/dev/sda1             9.4G  7.1G  1.8G  80% /<br />
udev                   10M  116K  9.9M   2% /dev<br />
shm                   128M     0  128M   0% /dev/shm<br />
[/sourcecode]</p>
<p>Don&#8217;t forget to check iNodes too &#8211; running out of inodes can cause the same issues as diskspace but is less obvious &#8211; checking for it is just as easy though:</p>
<p>[sourcecode language='shell']<br />
dkam@vihko:~$ df -ih<br />
Filesystem            Inodes   IUsed   IFree IUse% Mounted on<br />
/dev/sda1               1.2M    445K    772K   37% /<br />
udev                     32K    1.1K     31K    4% /dev<br />
shm                      32K       1     32K    1% /dev/shm<br />
[/sourcecode]</p>
<h2>#2 - DNS resolution</h2>
<p>DNS resolution problems can cause your system and application to hang or timeout in very strange ways.</p>
<p>Some applications will log the name of inbound network connections, performing reverse lookups. If no NS is available, these connections may start to take a long time to connect, as the software waits for the resolver to timeout. If only the first listed NS has failed, this timeout may be variable in length, but probably around 15 seconds. If you see weird lags or delays, check your name servers. This can happen when you&#8217;re trying to ssh into the host &#8211; if you&#8217;re getting delays connecting via ssh, check DNS.  If your software makes connections to external databases for example, and is configured to address them by name, you&#8217;ll see these timeouts.</p>
<p>This one can be tricky because some software will cache the name resolution and some local resolvers may cache &#8211; meaning you&#8217;ll see delays or timeouts sometimes, but not consistently.</p>
<p>Name lookups should be under a second, preferably in the low 100&#8242;s of milliseconds.<br />
[sourcecode language='shell']<br />
dkam@vihko:~$ time host www.apple.com<br />
www.apple.com is an alias for www.apple.com.akadns.net.<br />
www.apple.com.akadns.net has address 17.251.200.32</p>
<p>real	0m0.132s<br />
user	0m0.000s<br />
sys	0m0.000s<br />
dkam@vihko:~$ time host www.apple.com<br />
www.apple.com is an alias for www.apple.com.akadns.net.<br />
www.apple.com.akadns.net has address 17.251.200.32</p>
<p>real	0m0.011s<br />
user	0m0.000s<br />
sys	0m0.000s<br />
[/sourcecode]<br />
You can see that in the second run, the name server had cached the value and returned much faster.</p>
<p>It also pays to check each nameserver listed in /etc/reslov.conf:<br />
[sourcecode language='shell']<br />
dig www.google.com @208.78.97.155<br />
[/sourcecode]<br />
Naturally replace 208.78.97.155 with your name server&#8217;s IP. </p>
<p>Check &#8220;man resolv.conf&#8221; for more information.</p>
<h2>#3 &#8211; Ulimits</h2>
<p>The most common ulimit&#8217;s that I&#8217;ve come across is max number of open files, but you may see others including max user processes.  This one is generally obvious if the software is running as a regular user &#8211; when you try to connect as that user you will see error messages about being unable to allocate resources. Editing a file or trying to read a man page will error out if you&#8217;re at the maximum number of open files.  Network connections fall into this category also &#8211; so you may not be able to open network connections either.</p>
<p>The more likely scenario is that the software is running as a different user &#8211; one that people don&#8217;t log in as.  Try logging in as, or su -&#8217;ing to the user &#8211; if you can&#8217;t or you can but the user can&#8217;t open files, check the ulimits.  In Bash, try &#8220;ulimit -a&#8221; to view your limits. Different OSs limit these values in different ways &#8211; check your OS doco for details.</p>
<h2>#4 - /dev/random</h2>
<p>This is a little esoteric and is pretty unlikely, but /dev/random is used for lots of reasons &#8211; the most common use that you may have problems with is login with software that uses stuff like <a href="http://en.wikipedia.org/wiki/CRAM-MD5">CRAM-MD5</a>. Random data is used as part of the authentication process and when there&#8217;s not enough random data, logging in will be slow or may timeout completely.  Most software should probably fall back to using /dev/urandom.  You can time how long it takes to read 1kb of random data like this:</p>
<p>[sourcecode language='shell']<br />
dkam@vihko:~$ dd if=/dev/urandom of=/dev/null bs=1K count=10<br />
10+0 records in<br />
10+0 records out<br />
10240 bytes (10 kB) copied, 0.002011 s, 5.1 MB/s<br />
[/sourcecode]</p>
<h2>#5 - permissions</h2>
<p>Generally this will only bite you when you&#8217;ve made changes or updated software &#8211; check that config files are readable, data directories are read/writable and that executables are executable.</p>
]]></content:encoded>
			<wfw:commentRss>http://da.nmilne.com/?feed=rss2&amp;p=382</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
