<?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>Anchor Web Hosting Blog</title>
	<atom:link href="http://www.anchor.com.au/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.anchor.com.au/blog</link>
	<description>A view into the Anchor Engineroom</description>
	<lastBuildDate>Thu, 29 Jul 2010 06:35:57 +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>B4r tabz ftw</title>
		<link>http://www.anchor.com.au/blog/2010/07/b4r-tabz-ftw/</link>
		<comments>http://www.anchor.com.au/blog/2010/07/b4r-tabz-ftw/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 06:35:57 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[alcohol]]></category>
		<category><![CDATA[bar tab]]></category>
		<category><![CDATA[slip inn]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1483</guid>
		<description><![CDATA[There&#8217;s a word in Japanese, &#8220;nomunication&#8221;; it&#8217;s a portmanteau of the verb nomu (飲む to drink), and communication with which it rhymes. It describes the team-building and bonding that happens when the boss takes everyone out for a social night and covers the bar tab. This is precisely what a healthy proportion of Anchor was [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a word in Japanese, &#8220;nomunication&#8221;; it&#8217;s a portmanteau of the verb <em>nomu</em> (飲む to drink), and <em>communication</em> with which it rhymes. It describes the team-building and bonding that happens when the boss takes everyone out for a social night and covers the bar tab.</p>
<p>This is precisely what a healthy proportion of Anchor was out doing last night, along with some very good customers of ours. The Slip Inn is just a hop, skip and a server-reboot away from our offices on York St., and their courtyard out the back was a very cosy place to relax even with the rain pouring down outside.</p>
<div class="mceTemp">
<dl>
<dt><a href="http://www.anchor.com.au/blog/wp-content/uploads/2010/07/l33t_bar_tab.jpg"><img class="size-medium wp-image-1487" src="http://www.anchor.com.au/blog/wp-content/uploads/2010/07/l33t_bar_tab-300x199.jpg" alt="A photo of our receipt from Slip Inn" width="300" height="199" /></a></dt>
<dd>That is one l33t receipt</dd>
</dl>
</div>
<p>We decided it was time to call it quits when the bar tab hit $1337.60. And that, dear reader, is how we roll.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/07/b4r-tabz-ftw/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why software developers don&#8217;t make good system administrators</title>
		<link>http://www.anchor.com.au/blog/2010/05/why-software-developers-dont-make-good-system-administrators/</link>
		<comments>http://www.anchor.com.au/blog/2010/05/why-software-developers-dont-make-good-system-administrators/#comments</comments>
		<pubDate>Wed, 19 May 2010 00:55:55 +0000</pubDate>
		<dc:creator>Keiran Holloway</dc:creator>
				<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[WTF]]></category>
		<category><![CDATA[best practice]]></category>
		<category><![CDATA[dedicated server]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[system administration]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1283</guid>
		<description><![CDATA[Straight off the bat I would make something clear:  I have a lot of respect for software and web developers.  Being able to write clean, intelligent and efficient code is certainly one of the more difficult aspects within this industry. With this in mind, I think that anyone who is able to write a consistently [...]]]></description>
			<content:encoded><![CDATA[<p>Straight off the bat I would make something clear:  I have a lot of respect for software and web developers.  Being able to write clean, intelligent and efficient code is certainly one of the more difficult aspects within this industry. With this in mind, I think that anyone who is able to write a consistently high level of code based on often sketchy requirements and delivering this within the usual time pressures of business should be awarded some kind of medal.</p>
<p>That said, I can say with some confidence that we have the pleasure of working with some of the very best software and web developers both locally here in Australia as well as abroad.</p>
<p>Further to this, I can also add quite unreservedly that software developers really don&#8217;t make good system administrators.. And can you really blame them?</p>
<p>Allow me to elaborate a little bit here; As you may have already guessed from the above few paragraphs, software development is tough.  Being a good software developer is even tougher. Under the pretty exterior of most websites there an awful lot of work that goes into making the sites work.  Pulling this together requires a fair amount of consideration through-out all aspects of the software development process, from getting requirements and designing the application through to writing the code, testing, debugging and forever trying to squash that final elusive bug.  It takes someone with a fairly specific skill-set to be able to do all this and to do it well.</p>
<p>Something that I&#8217;ve noticed however, is software developers are sometimes expected to take on the role of server management and look after the on-going running and maintenance of the machine.  Whilst I can appreciate there&#8217;s a similarity between what a software developer and a system administrator does, &#8220;hey, they both do &#8216;computer stuff&#8217;&#8221;, the tasks which are completed by each roles are worlds apart.  A software developer really only cares about getting his or her application working within a specific environment the quickest way possible.  This can sometimes mean that there are  some rather drastic changes to the machine configuration with little consideration to the potentially negative implications. This is pretty understandable,  as far as they&#8217;re concerned, once they get the environment working with their application then they can just continue hacking away on their code.  Given they are probably under other tight deadlines or would just simply be preferring to get on with what they&#8217;re actually being paid to do without much consideration for the longevity and maintainability of the operating system environment.</p>
<p>This is something we see a lot of; from developers downloading source tarballs then compiling and installing software system-wide to running bleeding edge versions of software which just aren&#8217;t suited to being in production.</p>
<p>To give an example of an incident recently which has prompted this post, we had a client call up complaining that they couldn&#8217;t get their postgresql database to start. Whilst this was not on our <a href="http://www.anchor.com.au/dedicated-hosting/dedicated-support.py#complete">fully managed service</a>, we are always willing to help out or clients on a professional consulting basis.  Upon logging in we attempted to start postgresql  and witnessed it failing without too many clues as to what&#8217;s doing on.  Further investigation revealed the following in the postgresql startup logs:</p>
<blockquote><p>FATAL:  database files are incompatible with server<br />
DETAIL:  The database cluster was initialized with CATALOG_VERSION_NO 200812281, but the server was compiled with CATALOG_VERSION_NO 200904091.</p></blockquote>
<p>Further digging revealed that postgresql had recently been updated.. 14 hours ago to be precise. Subsequent to this the database engine had been stopped and then failed to start again.  The client in question actually uses this machine as a mail exchange for his clients and uses a postgresql back-end to manage the mail tables.  This means that for the duration of the outage, no email was working for any of the clients on the machine.  Yes, for 14 hours.  Ouch.</p>
<p>Once we had found the problem, all we needed to do was roll back to the previous version start up postgres and everything would be hunky-dory, right? Well.. Easier said than done.</p>
<p>In this case, the software developer had installed what appears to be a development version of postgresql which was (as the error message alludes to) released in January 2008.  That&#8217;s ok, we should just be able to reinstall the previous version from the RPM on the machine, right?  Wrong. Didn&#8217;t exist.</p>
<p>At this point in time we started to do a quick google and checking the postgresql website to see if they perhaps, just maybe, had a copy of this daily development release somewhere on the website.  No joy there&#8230;</p>
<p>I know! We take backups for any clients who chose to use our managed backup solution, and this client has opted for this service!  As part of our managed backups we roll-out an automated process to take a dump of all the databases and store locally on the disk!  Given this happens at midnight each night and the database stopped running at 8pm we&#8217;ll just be able to restore from the database dumps right?  Wrong.  We didn&#8217;t install postgresql and there is no process in place to do this.</p>
<p>So at this point in time, the dataset was still there but effectively useless and mail services were still down.  Fortunately, we were able to save the day by restoring all the binary files from this specific version of postgresql from backups and thus restore services for the client.  Whilst the motivation behind using this specific version is unknown, the software developer has since moved on and there is zero documentation.  This situation really shouldn&#8217;t have happened in the first place. This type of problem is actually something that we see more often then you would imagine.  We often have developers requesting specific versions of software to use in a production environment.  Obviously, we would strongly, strongly discourage the use of development versions within production (they&#8217;re called DEVELOPMENT versions for a reason, they simply haven&#8217;t been around long enough to be considered stable, reliable software).  However, from time to time  a specific feature or bug fixes within a specific development version which dictates we must install such a version.  This is something we can certainly get  working&#8230;  And, most importantly, keep the machine in a maintainable state! This means having supporting documentation as to the decisions made as well as making sure that routine maintenance tasks will not break the existing, carefully crafted configuration.</p>
<p>I also have another fond memory of a web developer who was having some niggling problems with tomcat and permissions and figured that the best way to solve the problem was using:</p>
<blockquote><p>chown tomcat / -R</p></blockquote>
<p>So, it got the web application working, but broke virtually every other service on the machine.  Can anyone say hosed file system permissions?</p>
<p>&#8230;Or how about the Windows machine which has 4, yes, 4 separate instances of MSSQL installed on it..  I digress.</p>
<p>Without wanting to turn this into a big marketing spiel, it is important to keep in mind that like software development, system administration can be a tough game too.   Obviously in the above examples using hind-sight we can easily identify the problems in what was done previously on the machines.  That said, at Anchor we are a team of system administrators who have been running complex systems for a long time now and have the experience to make sure that all the appropriate precautions are taken to make sure we don&#8217;t end up in these situations above.</p>
<p>Further to this we have numerous systems in place to pro-actively check services including database servers, 24/7. In the event of failure both audible and visual alerts are generated with notifications outside of hours being sent via SMS message service.  Even in the event that this happened on a fully managed machine it would never have resulted in 14 hours down time.  All said, I am not just trying to blow our own horn about how fantastically brilliant we are (ok, maybe, just a little), but what I am trying to get across is system administration is something that really requires an all or nothing attitude towards. If your website or associated hosting infrastructure is critical to your business&#8217; success then making sure the commitment to system management is commensurateable is absolutely imperative to success. Either through outsourcing via our fully managed support pack or by hiring a dedicated system administrator.   There really is no place for laissez-faire and utilising a software developer part-time for this role is only likely to cost more in the longer term.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/05/why-software-developers-dont-make-good-system-administrators/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phone system outage</title>
		<link>http://www.anchor.com.au/blog/2010/03/phone-system-outage/</link>
		<comments>http://www.anchor.com.au/blog/2010/03/phone-system-outage/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 21:31:11 +0000</pubDate>
		<dc:creator>Davy Jones</dc:creator>
				<category><![CDATA[Newsletter]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1465</guid>
		<description><![CDATA[On early evening of Tuesday the 30th of March the entire building in which Anchor&#8217;s offices are located at 81 York Street Sydney lost power. Our phone system is the only critical piece of infrastructure located in our office that is required to provide service as normal. Until power is restored our phones appear to [...]]]></description>
			<content:encoded><![CDATA[<p>On early evening of Tuesday the 30th of March the entire building in which Anchor&#8217;s offices are located at 81 York Street Sydney lost power. Our phone system is the only critical piece of infrastructure located in our office that is required to provide service as normal. Until power is restored our phones appear to be engaged to all callers.</p>
<p>If you require support please email us on support@anchor.com.au</p>
<p>If you need to speak with us please email us and we will call you back.</p>
<p>If you are on IRC you can find us at:</p>
<ul>
<li>Server: irc.oftc.net</li>
<li>Channel: #anchor</li>
</ul>
<p><strong>Important note:</strong></p>
<p>The loss of power does not have any effect on any hosted services since all hosting equipment is stored in a separate specialist facility with redundant power systems.</p>
<p><strong>What happened?</strong></p>
<p>Energy Australia identified and confirmed the fault to be within their network overnight and have since been carrying out emergency repairs. At this stage we expect power to be restored today (Wednesday the 31st of March) but no specific ETA has been given.</p>
<p><strong>How are we working around this?</strong></p>
<p>All of our level 2 staff have the ability to work remotely. Access to 100% of our systems including server management, email support, monitoring systems, customer information. All level 2 staff are currently working remotely until such time as power is restored in the office. </p>
<p><strong>Updates</strong></p>
<p>10:00 AM &#8211; We have one of two phases of power available. Power to phones and office workstations have been restored. We&#8217;re still without lights but otherwise business as usual.</p>
<p>1:00 PM &#8211; Full power restored and the lights are on again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/03/phone-system-outage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Belated cheers for the greenest day of the year</title>
		<link>http://www.anchor.com.au/blog/2010/03/belated-cheers-for-the-greenest-day-of-the-year/</link>
		<comments>http://www.anchor.com.au/blog/2010/03/belated-cheers-for-the-greenest-day-of-the-year/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 07:00:18 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[guinness]]></category>
		<category><![CDATA[st patrick]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1462</guid>
		<description><![CDATA[I think everyone in the office has just about recovered from St. Patrick&#8217;s day. Which is a good thing, what with the weekend coming up. Are we doin&#8217; it right? Honestly, the only glassware in the office is beer steins. This isn&#8217;t a problem, mind you&#8230;]]></description>
			<content:encoded><![CDATA[<p>I think everyone in the office has just about recovered from St. Patrick&#8217;s day. Which is a good thing, what with the weekend coming up.</p>
<p><a href="http://www.anchor.com.au/blog/wp-content/uploads/2010/06/DSC_1114_guinness_export1.jpg"><img class="alignnone size-medium wp-image-1478" src="http://www.anchor.com.au/blog/wp-content/uploads/2010/06/DSC_1114_guinness_export1-199x300.jpg" alt="" width="199" height="300" /></a></p>
<p>Are we doin&#8217; it right? Honestly, the only glassware in the office is beer steins. This isn&#8217;t a problem, mind you&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/03/belated-cheers-for-the-greenest-day-of-the-year/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automated server updates</title>
		<link>http://www.anchor.com.au/blog/2010/03/automated-server-updates/</link>
		<comments>http://www.anchor.com.au/blog/2010/03/automated-server-updates/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 06:31:39 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[WTF]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[updates]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1271</guid>
		<description><![CDATA[This is going to be a contentious one, but here at Anchor we think automatically applying updates to servers is a Good Thing. It&#8217;s definitely not for everyone, but in an environment like ours with hundreds of managed servers it&#8217;s the only way you&#8217;re going to get things done and get any sleep at night. [...]]]></description>
			<content:encoded><![CDATA[<p>This is going to be a contentious one, but here at Anchor we think automatically applying updates to servers is a Good Thing. It&#8217;s definitely not for everyone, but in an environment like ours with hundreds of managed servers it&#8217;s the only way you&#8217;re going to get things done and get any sleep at night.</p>
<p>Sysadmin of note <a href="http://en.wikipedia.org/wiki/Tom_Limoncelli">Tom Limoncelli</a> advocates rolling out updates to progressively more machines with prior testing beforehand to mitigate the scope of potential problems (it&#8217;s called &#8220;one, some, many&#8221;). It&#8217;s certainly a good strategy for a large number of homogenous computers, but what we&#8217;re talking about here is a bit smaller-scale.</p>
<p>Specifically, we have customers with servers that we never touch, we call this <a href="http://www.anchor.com.au/dedicated-hosting/dedicated-support.py#monitor">Anchor Monitor</a>. These customers often have particular environments that they&#8217;re better off supporting themselves, so we monitor the machine to ensure it&#8217;s still on the network, and leave it at that. Unfortunately they&#8217;re not always kept up to date, so one of the more recent improvements to our process has been to enable automatic updating by default &#8211; it&#8217;s up to the customer if they want to change this once it&#8217;s handed over to them.</p>
<p>We&#8217;ve <a href="http://www.anchor.com.au/hosting/dedicated/Automatic-updates-for-servers">written this into a short procedure</a> if you&#8217;re interested. It applies directly to Debian and Redhat distributions, but it&#8217;s easily portable to other systems. If you run Windows, it&#8217;ll already be hassling you every 20min for updates. <img src='http://www.anchor.com.au/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/03/automated-server-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSH ControlMaster: The Good, The Bad, The Ugly</title>
		<link>http://www.anchor.com.au/blog/2010/02/ssh-controlmaster-the-good-the-bad-the-ugly/</link>
		<comments>http://www.anchor.com.au/blog/2010/02/ssh-controlmaster-the-good-the-bad-the-ugly/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:55:58 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[Awesome]]></category>
		<category><![CDATA[controlmaster]]></category>
		<category><![CDATA[SSH]]></category>
		<category><![CDATA[system-maintenance]]></category>
		<category><![CDATA[system-management]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1451</guid>
		<description><![CDATA[Do you love SSH for the good it has done for mankind, but get annoyed by how long it takes to establish a connection over a high-latency connection? Perhaps you have a process that needs to make thousands of SSH connections, and you&#8217;d like a little extra speed from the whole thing. Either way, ControlMaster [...]]]></description>
			<content:encoded><![CDATA[<p>Do you love SSH for the good it has done for mankind, but get annoyed by how long it takes to establish a connection over a high-latency connection?  Perhaps you have a process that needs to make thousands of SSH connections, and you&#8217;d like a little extra speed from the whole thing.  Either way, <tt>ControlMaster</tt> is your new best friend.</p>
<p>The concept is very simple &#8212; rather than each new SSH connection to a particular server opening up a new TCP connection, you instead multiplex all of your SSH connections down one TCP connection.  The authentication only happens once, when the TCP connection is opened, and thereafter all your extra SSH sessions are sent down that connection.</p>
<p>If you&#8217;re SSHing between machines on the same LAN, or otherwise a short ping away, you probably wouldn&#8217;t notice the difference &#8212; the round-trip times are negligible.  However, when you&#8217;re doing transcontinental SSHing (which we do often, when we&#8217;re managing customer machines in the US), it&#8217;s a godsend.  On some trivial benchmarking I did when validating <tt>ControlMaster</tt> for our use, I found that we were saving nearly 2.5 seconds per connection &#8212; a drop from 3.3 seconds to 0.8.  Mighty convenient.</p>
<p>It&#8217;s simple to use, too.  If you just want to enable &#8220;opportunistic&#8221; multiplexing, you can do something as simple as this in your SSH config:                                                                                                                                      </p>
<pre>
Host *
ControlMaster auto
ControlPath ~/.ssh/cm_socket/%r@%h:%p
</pre>
<p>Then <tt>mkdir ~/.ssh/cm_socket</tt>, and you&#8217;re away.  Any time a connection to a remote server exists, it&#8217;ll be used as the master for any other connections.  Perusal of the <tt>ssh_config</tt>(5) manpage should give you the necessary hints to setup more restrictive configurations.  If you need to <em>disable</em> control master for a given connection (the reasons why this might be necessary will be covered shortly), you can pass <tt>-S none</tt> to <tt>ssh</tt> (or set <tt>ControlPath none</tt>).                   </p>
<hr />
<p>Whilst this basic setup is undeniable, pure, distilled awesome, there are some limitations and caveats to beware of.  The first, and most important, is that SSH session multiplexing isn&#8217;t particularly stable when you try to put a lot of data down it from a lot of connections at once.  This came to light fairly early on in my testing, when I stress-tested things by doing about 25 concurrent <tt>rsync</tt> runs all at once.  The result was a large number of rsync sessions going &#8220;aiee!&#8221; and falling over.  So, don&#8217;t do that.          </p>
<p>The second, semi-related problem, is a simple bandwidth issue.  For a given connection latency and TCP configuration, there is a hard limit to how fast you can send data, due to the time it takes to acknowledge the packets being received.  When you&#8217;re multiplexing multiple file transfers down the one TCP connection, therefore, your <em>total</em> transfer speed will be limited by this TCP speed limit.  Once again, it&#8217;s unlikely that this will cause you problems on a LAN (where round-trip delays are negligible), but in the high-latency world where connection sharing does the most good from a connection <em>setup</em> perspective, the speed limits will cause much wailing and gnashing of teeth.  So, the take home message is: if you&#8217;re doing a lot of heavy data transfer over SSH, <tt>ControlMaster</tt> probably isn&#8217;t the solution for your problems.  Instead, run multiple concurrent SSH connections, as the TCP speed limits are per-connection, so you can still fill your high-latency gigabit pipe &#8212; you just need lots of concurrent connections to do it (see also: BitTorrent).                </p>
<p>Finally, there is something of an annoyance with <tt>ControlMaster</tt>, and it&#8217;ll probably confuse you mightily when you first come across it.  Because all of your SSH sessions are multiplexed down a single TCP connection initiated by the first SSH session, that first session must stay alive until all of the other sessions are complete.  This problem will manifest itself as an apparent &#8220;hang&#8221; when you log out of the remote session that is acting as the master &#8212; instead of getting your local prompt back, SSH will just sit there.  If you Ctrl-C or otherwise kill this session, all of the other sessions you&#8217;ve got setup to that server will drop, so don&#8217;t do that.  Instead, when you logout of all the other sessions, the master will then return to the local prompt.</p>
<p>If you&#8217;re doing a high volume of SSH connections to a particular remote endpoint, consider setting up a dedicated master connection &#8212; that way it&#8217;ll always be available (and you don&#8217;t have to worry about master logout hangs).  I use a simple daemontools service, that runs <tt>ssh -MNn user@server</tt>.  Works an absolute treat.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/02/ssh-controlmaster-the-good-the-bad-the-ugly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>vi gangstas!</title>
		<link>http://www.anchor.com.au/blog/2010/01/vi-gangstas/</link>
		<comments>http://www.anchor.com.au/blog/2010/01/vi-gangstas/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:11:07 +0000</pubDate>
		<dc:creator>Barney Desmond</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[gangsta]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1423</guid>
		<description><![CDATA[Sampling shamelessly stolen from four fine folk, for your amusement. We love vi, everyone at Anchor uses it. &#8216;Cause it&#8217;s better than emacs, yo. . AWW SNAP, BRO! WE JUST IMPROVED YO GESTURE!! .]]></description>
			<content:encoded><![CDATA[<p>Sampling shamelessly stolen from <a href="http://www.homebrew.net/visign/">four fine folk</a>, for your amusement.</p>
<p><a href="http://www.anchor.com.au/blog/wp-content/uploads/2010/01/vi_gangstas.jpg"><img class="size-full wp-image-1425 alignnone" src="http://www.anchor.com.au/blog/wp-content/uploads/2010/01/vi_gangstas.jpg" alt="" width="330" height="247" /></a></p>
<p>We love vi, everyone at Anchor uses it.<br />
&#8216;Cause it&#8217;s better than emacs, yo.</p>
<p><span style="color: #ffffff">.</span></p>
<p><a href="http://www.anchor.com.au/blog/wp-content/uploads/2010/01/dsc_8470_final.jpg"><img class="size-medium wp-image-1424 alignnone" src="http://www.anchor.com.au/blog/wp-content/uploads/2010/01/dsc_8470_final-300x199.jpg" alt="" width="300" height="199" /></a></p>
<p><big>AWW SNAP, BRO! WE JUST I<strong>M</strong>PROVED YO GESTURE!!</big></p>
<p><span style="color: #ffffff">.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/01/vi-gangstas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Github / Anchor  Drinkup, Monday 18th Jan 2010</title>
		<link>http://www.anchor.com.au/blog/2010/01/github-anchor-drinkup-monday-18th-jan-2010/</link>
		<comments>http://www.anchor.com.au/blog/2010/01/github-anchor-drinkup-monday-18th-jan-2010/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 00:10:56 +0000</pubDate>
		<dc:creator>Keiran Holloway</dc:creator>
				<category><![CDATA[FTW]]></category>
		<category><![CDATA[Newsletter]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[drinks]]></category>
		<category><![CDATA[drinkup]]></category>
		<category><![CDATA[github]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1410</guid>
		<description><![CDATA[In Brief: Come down to the James Squire Brew house (King Street Wharf, Sydney) for a chance to have a few drinks with guys (and gals) from your friendly hosting company. In addition to this, we&#8217;re lucky to have special guests Tom and Scott of Github fame dropping in and you&#8217;ll have the opportunity to [...]]]></description>
			<content:encoded><![CDATA[<p>In Brief:  Come down to the James Squire Brew house (King Street Wharf, Sydney) for a chance to have a few drinks with guys (and gals) from your friendly hosting company.  In addition to this, we&#8217;re lucky to have special guests Tom and Scott of <a href="http://www.github.com">Github</a> fame dropping in and you&#8217;ll have the opportunity to have some beers, tell stories of 14&#8242; kangaroos, and discuss all things Github. </p>
<p>Anchor will be putting on drinks from 6pm. </p>
<p>Details:<br />
6pm, Monday, Jan 18th<br />
<a href="http://maps.google.com/maps/place?cid=14348182878035497946&amp;q=james+squire&amp;cd=1&amp;cad=src:pplink&amp;ei=BIhPS4WcFYGYowTHiu2MDQ&amp;sig2=mGRIRYeH9GZm512z8EOmXQ">James Squire Brewhouse</a><br />
22 Promenade King St Wharf, Sydney</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2010/01/github-anchor-drinkup-monday-18th-jan-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ERROR: SSH agent has too many keys</title>
		<link>http://www.anchor.com.au/blog/2009/12/error-ssh-agent-has-too-many-keys/</link>
		<comments>http://www.anchor.com.au/blog/2009/12/error-ssh-agent-has-too-many-keys/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 00:17:25 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[WTF]]></category>
		<category><![CDATA[authentication failure]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[SSH]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1400</guid>
		<description><![CDATA[Unfortunately, SSH doesn&#8217;t produce this error, although it darn well should&#8230; I just had a Github customer report that they couldn&#8217;t access their repos via SSH, despite it all working properly yesterday, and &#8220;not having changed anything&#8221;. A bit of debug logging and an inspired leap of intuition on the part of another sysadmin in [...]]]></description>
			<content:encoded><![CDATA[<p>Unfortunately, SSH <em>doesn&#8217;t</em> produce this error, although it darn well should&#8230;</p>
<p>I just had a Github customer report that they couldn&#8217;t access their repos via SSH, despite it all working properly yesterday, and &#8220;not having changed anything&#8221;.  A bit of debug logging and an inspired leap of intuition on the part of another sysadmin in the office, and the answer was quickly found.</p>
<p>First off, the symptoms:</p>
<ul>
<li>Debug logging showed that the user was connecting successfully, presenting six SSH keys (none of which were the key of interest) before disconnecting;
<li>The SSH key was in the user&#8217;s SSH agent (you can verify this with a quick <tt>ssh-add -l</tt>);</li>
<li><em>There were more than six keys in the SSH agent</em></li>
</ul>
<p>This last symptom is the key point.  As an anti-brute-force measure (I assume), SSH won&#8217;t allow a user to connect and present more than <tt>MaxAuthTries</tt> credentials (whether they be passwords or keys) before being forcibly disconnected.  The default value for this parameter (if you haven&#8217;t realised already) is six.</p>
<p>Whilst this makes a lot of sense for passwords (and a lesser, but still valid, measure for keys) it does mean that you effectively have a hard limit of six keys in your agent simultaneously (at least without using SSH configs to specify a single key to present to the server).  Any more than six keys, and you run the very real risk that the key you need to give to a particular server will be number seven in your agent, and all your authentications will fail miserably.</p>
<p>Bumping the value of <tt>MaxAuthTries</tt> to a much larger value works fine for Github &#8212; password auth is disabled, and if you can manage to brute force a key you&#8217;re welcome to what you can get &#8212; but you certainly can&#8217;t rely on inflating <tt>MaxAuthTries</tt> everywhere to get you out of trouble, so: <b>keep those SSH agents lean</b>, or at least specify <tt>IdentityFile</tt> for all your servers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/12/error-ssh-agent-has-too-many-keys/feed/</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>Monitor your servers like it&#8217;s 1996</title>
		<link>http://www.anchor.com.au/blog/2009/12/monitor-your-servers-like-its-1996/</link>
		<comments>http://www.anchor.com.au/blog/2009/12/monitor-your-servers-like-its-1996/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 00:43:23 +0000</pubDate>
		<dc:creator>matt</dc:creator>
				<category><![CDATA[WTF]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[thresholds]]></category>

		<guid isPermaLink="false">http://www.anchor.com.au/blog/?p=1398</guid>
		<description><![CDATA[Whilst I&#8217;m a fan of using percentages for my disk space checks, sometimes an explicit size is more appropriate. So, you&#8217;d expect the following to work nicely: $USER1$/check_disk -w 5G -c 1G -p /data/foo If you don&#8217;t actually test that this works (by artificially filling your disk and seeing what happens), you may be dismayed [...]]]></description>
			<content:encoded><![CDATA[<p>Whilst I&#8217;m a fan of using percentages for my disk space checks, sometimes an explicit size is more appropriate.  So, you&#8217;d expect the following to work nicely:</p>
<pre>
$USER1$/check_disk -w 5G -c 1G -p /data/foo
</pre>
<p>If you don&#8217;t actually test that this works (by artificially filling your disk and seeing what happens), you may be dismayed to find that you only get alerted when the disk has 5MB of free disk space.  Why is this?</p>
<p>Because Nagios, despite the fact that nobody has sweated the megabytes for about a gazillion years, doesn&#8217;t support &#8216;G&#8217; as a suffix for thresholds.  Oh, it&#8217;ll make a good show of pretending &#8212; after all, the output formatting options have &#8216;GB&#8217; as an option &#8212; but nope, for your thresholds it&#8217;s &#8220;5000M&#8221; all the way.</p>
<p>ROCK ON!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.anchor.com.au/blog/2009/12/monitor-your-servers-like-its-1996/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
