<?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>Ash Searle's Blog &#187; Rant</title>
	<atom:link href="http://hexmen.com/blog/category/rant/feed/" rel="self" type="application/rss+xml" />
	<link>http://hexmen.com/blog</link>
	<description>On programming, and other things...</description>
	<lastBuildDate>Thu, 03 Dec 2009 10:29:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>The MacBook Pro&#8217;s not so&#160;bad&#8230;</title>
		<link>http://hexmen.com/blog/2009/02/macbook-pro-not-so-bad/</link>
		<comments>http://hexmen.com/blog/2009/02/macbook-pro-not-so-bad/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 11:36:15 +0000</pubDate>
		<dc:creator>Ash</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://hexmen.com/blog/?p=72</guid>
		<description><![CDATA[Two years after moaning about my MacBook Pro I figure it&#8217;s time for an update: It&#8217;s not so bad&#8230; Thanks to various blog comments I managed to solve most of the niggles I had with the laptop: muted the startup sound This was pretty straight forward: download StartupSound.prefPane and choose the appropriate settings (I ticked [...]]]></description>
			<content:encoded><![CDATA[<p>Two years after <a href="http://hexmen.com/blog/2007/02/i-hate-my-macbook-pro/">moaning about my MacBook Pro</a> I figure it&#8217;s time for an update:</p>
<p>It&#8217;s not so bad&#8230;</p>
<p>Thanks to various blog comments I managed to solve most of the niggles I had with the laptop:</p>
<dl>
<dt>muted the startup sound</dt>
<dd>This was pretty straight forward: download <a href="http://www5e.biglobe.ne.jp/~arcana/software.en.html">StartupSound.prefPane</a> and choose the appropriate settings (I ticked the &#8220;Mute&#8221; box next to &#8220;Startup Volume&#8221; which seems to work fine.)</dd>
<dt>reconfigured keyboard layout using Ukulele</dt>
<dd>(definitely a personal preference) I configured a <a href="http://en.wikipedia.org/wiki/Keyboard_layout">keyboard layout</a> to match UK PC keyboards: backtick (<code>`</code>) to the left of <kbd>1</kbd>, hash# and tilde~ next to return, at@ and double-quote&#8221; reversed (double-quote via <kbd>Shift+2</kbd>) and finally (I think) putting backslash and pipe| to the left of <kbd>Z</kbd>)  If you want it, you can <a href="http://hexmen.com/uploads/British%20PC.keylayout">download my British PC keyboard layout</a> (if I remember right, you have to move the file into <code>/System/Library/Keyboard Layouts/</code> and may need to restart before you can choose it in System Preferences / International / Input Menu &#8211; and if you want a decent icon you&#8217;ll need the <a href="http://hexmen.com/uploads/British%20PC.icns">flag icon</a> to bung in the <code>Keyboard Layouts</code> folder too.)</p>
<p>There is still one rather annoying aspect of the keyboard layout: it changes back to a Mac layout whenever I use <a href="http://www.opera.com">Opera</a> and tab into a password field &#8211; god knows what that&#8217;s all about!?  I&#8217;ve got used to it now though and can quickly change back with <kbd>Apple+Space</kbd></p>
</dd>
<dt>Better sleep &#038; hibernate</dt>
<dd>Apple must have distributed a software update including fixes so waking up from sleep became a lot faster and more reliable.  I&#8217;ve been months without shutting my Mac down, though I&#8217;ve recently changed my power settings so it goes into stand-by if I close the lid while plugged in, but goes into deep sleep if I close the lid while running off battery.  What I&#8217;d really like is a way to say &#8220;go into stand-by for 15 minutes, then go into deep-sleep&#8221; &#8211; I think that&#8217;d be better when you&#8217;re running of battery and carting your computer from room to room &#8211; but want it to go into deep-sleep if you hit the motorway for 2 hours.</dd>
<dt>Region-free DVD</dt>
<dd>Hackers are great.  About 8 months on from writing my bitch-post someone pointed out some a <a href="http://forum.rpc1.org/viewtopic.php?t=43012&#038;start=0">forum thread pointing to new firmware</a>.  Upgrading the firmware and installing <a href="http://xvi.rpc1.org/">Region X</a> means I can actually view DVDs I paid for&#8230; (Is that a &#8220;w00t!&#8221; I hear at the back?)</dd>
</dl>
<p>It&#8217;s nice to have been pointed to solutions by readers, but there were a couple of physical issues readers couldn&#8217;t fix: the position of the drive slot, and the crappy return key.</p>
<p>( I realise I&#8217;m only one of a million voices shouting in the wind, but) Apple have redesigned the new MacBook Pros to put the DVD slot where it should be (on the side) and they&#8217;ve added an option to let you specify a US keyboard when you order a Mac online (giving chunky <kbd>Return</kbd> and <kbd>Shift</kbd> keys, and proper labelling to say <strong>META</strong>, <strong>ALT</strong> and <strong>OPTION</strong>)</p>
<p>I need to test-drive the new chicklet keyboard before deciding whether I&#8217;d be happy using a new MacBook Pro, but with the US keyboard layout and another region-free DVD hack, I think I&#8217;d quite happily upgrade.  Of course Apple have made some changes that put me off too:</p>
<ol>
<li>you have to pay <em>more</em> for a matte display (it used to be the other way round: glossy screens cost more, but designers prefer matte displays for better colour accuracy, so Apple made the most common and desirable option the one that costs a premium.  That&#8217;s business!)</li>
<li>unremovable battery.  On some days that doesn&#8217;t sound so bad: the pro (long battery life) outweighs the con (high one-off replacement cost after 3-4 years.)  But&#8230; I&#8217;ve been through the experience of defective batteries: my original MBP battery got burning hot and buckled over the course of a few months.  I&#8217;d hate to think what would happen if the battery was wrapped around the PCB and pushing against all edges of a one-piece case.</li>
<li>non-upgradeable memory.  Well, kinda.  This is a consequence of a non-removable battery &#8211; the option to upgrade from 4 to 8GB looks like it has to be done at the point of ordering, and for a hefty charge.  Then again&#8230; 4GB of memory ought to be just fine, and (if it really comes down to it) I&#8217;m sure there&#8217;ll be a 32-step upgrade guide to replace the memory modules as soon as a memory supplier begins to sell them.</li>
</ol>
<p>All in all, I&#8217;m pretty happy with my MacBook Pro these days.  I get on better with OS X then Windows for a couple of reasons.  I prefer Apple subtle nudge reminding you there&#8217;s a monthly / bi-monthly software update ready to install &#8211; compare that to Microsoft&#8217;s randomly timed &#8220;I&#8217;m gonna restart your computer in 5 minutes&#8221; auto-upgrade annoyance (and yes, I&#8217;m well aware of &#8220;<code>net stop wuauserv</code>&#8221; to stop the nagging &#8211; I can&#8217;t remember how many times I&#8217;ve had to type that in.)  Plus, the BSD / *nix nature of OS X allows me to setup a development environment that behaves much closer to our live <a href="http://www.centos.org">CentOS</a> servers than <a href="http://www.cygwin.com">Cygwin</a> on Windows does.</p>
<p>I bought a Mac Mini last summer while rumours of a new revision were reaching fever pitch &#8211; I&#8217;m glad I didn&#8217;t wait.  The Mini&#8217;s been an absolute pleasure &#8211; running damn-near silently and without issues.  But that&#8217;s wandering off track.</p>
<p>I do have a new hate though: Sky HD.  Compared to my recently deceased TiVo, SkyHD is one of the most incompetent PVRs I&#8217;ve ever had the displeasure of using.  The only reason I haven&#8217;t cancelled my Sky subscription completely is because (as far as I know) there&#8217;s no other way to get Sky 1 &#8211; and I do like Lost, 24, Battlestar Gallactica and all the big American productions that come to Sky first&#8230;</p>
<p>And now I&#8217;m <em>really</em> off track.  Sky HD&#8217;s a gripe for another day&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://hexmen.com/blog/2009/02/macbook-pro-not-so-bad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bloody hosting&#160;providers</title>
		<link>http://hexmen.com/blog/2008/08/bloody-hosting-providers/</link>
		<comments>http://hexmen.com/blog/2008/08/bloody-hosting-providers/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 10:22:38 +0000</pubDate>
		<dc:creator>Ash</dc:creator>
				<category><![CDATA[Rant]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://hexmen.com/blog/?p=59</guid>
		<description><![CDATA[Choosing a hosting provider can be a difficult process, especially when you&#8217;re on a budget. I&#8217;m heavily involved with ewelike, a product information and price-comparison site that we&#8217;re slowly improving as we integrate more price and information feeds. Of course you can&#8217;t actually see ewelike right now, as our hosting provider&#8216;s been trying to commit [...]]]></description>
			<content:encoded><![CDATA[<p>Choosing a hosting provider can be a difficult process, especially when you&#8217;re on a budget.</p>
<p>I&#8217;m heavily involved with <a href="http://ewelike.com">ewelike</a>, a product information and price-comparison site that we&#8217;re <em>slowly</em> improving as we integrate more price and information feeds.</p>
<p>Of course you can&#8217;t actually <em>see</em> ewelike right now, as <a href="http://www.flexiscale.com/">our hosting provider</a>&#8216;s been trying to commit <a href="http://en.wikipedia.org/wiki/Hari_kari">hari kari</a> for the last 3 days.</p>
<p>On-demand computing?  Not quite.</p>
<p><strong>Update: 2008-09-01</strong> <a href="http://ewelike.com">ewelike</a> came back to life on Friday night.  Aside from some recoverable table-corruption, I think we&#8217;ve emerged relatively unscathed &#8211; and possibly a little bit wiser.</p>
<h3>Decisions on a shoe-string</h3>
<p>We didn&#8217;t have the option of cloud-computing when we started, and we definitely didn&#8217;t have the venture capital to buy our own hardware.  Our choice was between shared-hosting and private-servers.</p>
<p>We chose shared-hosting with <a href="http://www.dreamhost.com">dreamhost</a>.  Compared to service providers in England, dreamhost offered an enticing package with plenty of storage and bandwidth included.  We&#8217;d got a good feel about them as we knew plenty of designers, developers and bloggers that used or recommended them.</p>
<p>Setup was simple, and we were pleasantly surprised by the freedom offered for a shared-hosting platform &#8211; they even allowed users to install custom-compiled copies of PHP to run on.</p>
<p>Sadly, we suffered a few reliability issues, and we never had any guarantee of performance.  Once our database started to grow and performance dropped, we realized we need to look around at someone else  (at this point, we&#8217;d had too many reliability issues to give dreamhost&#8217;s private servers a go.)</p>
<p>There were so many options for private-servers that we suffered a touch of analysis-paralysis.  Should we rent or buy?  Build our own server, or let someone else do it?  Which flavor of Linux should we go for?</p>
<p>And then cloud-computing took off.</p>
<h3>Cloud computing</h3>
<p>After looking at various grid services, we narrowed our options to <a href="http://aws.amazon.com/ec2">Amazon&#8217;s Elastic Compute Cloud</a> and <a href="http://www.flexiscale.com">Flexiscale</a>.  Running a price-comparison site using Amazon&#8217;s platform just felt wrong &#8211; including Amazon is price-comparison is almost mandatory, but storing their competitor&#8217;s prices, product images and information within Amazon&#8217;s data-centers?  That&#8217;s just weird.</p>
<p>The FlexiScale service is provided by <a href="http://www.xcalibre.co.uk/index.html">xcalibre</a>, a UK-based company I use to host the hexmen site, run by a team I&#8217;ve found supportive and responsive in the past.  The most enticing things about FlexiScale were fast setup times, low startup costs, and simple methods for improving (virtual) server performance &#8211; with straight-forward billing costs.</p>
<p>We&#8217;ve been running on a Flexiscale for a few months without any problems.  Until a few days ago.</p>
<h3>Your risk or mine?</h3>
<p>When Amazon&#8217;s EC2 service had an outage earlier this year, I asked a friend &#8220;would you rather deal with regular outages yourself, or put-up with occasional problems completely out of your control?&#8221;</p>
<p>We&#8217;d been thinking about hosting something ourselves: our own PCs in our own homes, using our own broadband connections.  The hardware would probably be the most reliable piece of the puzzle, and the broadband the least.  In fact, we worked on the assumption that we&#8217;d probably be missing for an hour or so every week, with the occasional issue where we&#8217;d be gone for a few hours (and ranting down the phone at our ISP.)</p>
<p>The risks of home-hosting seemed too great.  Much better to go with a professional outfit with monitoring and procedures in place to resolve the inevitable problems as quickly and painlessly as possible.</p>
<h3>Misery</h3>
<p>Ewelike&#8217;s been down 3 days now.  <strong>Three days!</strong>  I know we&#8217;ve still got a lot of work to do to build-up traffic and a loyal user-base, and that&#8217;s probably a saving grace at this point.  I&#8217;d hate to be clock-watching thinking &#8220;that&#8217;s another thousand pounds lost&#8230;  And another&#8230;&#8221;.</p>
<p>I&#8217;m going to crawl off and figure out how to handle fail-over in future.  Do we need to go so far as having the app ready to run on two different clouds?  Would we be paranoid enough to have primary and secondary name-servers pointing to different services, just in-case one goes down?</p>
<p>It&#8217;s time to stop wallowing and crack on with things &#8211; but first I&#8217;ll get my English on and make a nice cup of tea.  That&#8217;ll fix it.</p>
]]></content:encoded>
			<wfw:commentRss>http://hexmen.com/blog/2008/08/bloody-hosting-providers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP grievance number&#160;1</title>
		<link>http://hexmen.com/blog/2008/07/php-grievance-number-1/</link>
		<comments>http://hexmen.com/blog/2008/07/php-grievance-number-1/#comments</comments>
		<pubDate>Thu, 10 Jul 2008 18:44:19 +0000</pubDate>
		<dc:creator>Ash</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://hexmen.com/blog/?p=51</guid>
		<description><![CDATA[There&#8217;s a lot to hate about PHP. Maybe that&#8217;s harsh: nothing&#8217;s perfect, every language has it&#8217;s strength and weaknesses, and noone ever suggested using PHP for everything. Bearing that in mind, I&#8217;m using PHP daily, and you get used to a lot of quirks and foibles, and it&#8217;s easy to forget how truly shit it [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s a lot to hate about PHP.</p>
<p>Maybe that&#8217;s harsh: nothing&#8217;s perfect, every language has it&#8217;s strength and weaknesses, and noone ever suggested using PHP for <em>everything</em>.</p>
<p>Bearing that in mind, I&#8217;m using PHP <em>daily</em>, and you get used to a lot of quirks and foibles, and it&#8217;s easy to forget how truly shit it is.</p>
<p>Take arrays for example.  Please; please take &#8216;em.</p>
<p>Skipping the &#8220;needle, haystack&#8221; parameter ordering farce, there are two things I dislike.</p>
<ol>
<li>array access warnings</li>
<li>array access</li>
</ol>
<p>First, the warnings.</p>
<p>The language designers must have made a choice between checked vs. unchecked array access:  should this throw a warning, or shouldn&#8217;t it:</p>
<pre><code>
$titles = array("Philosopher's Stone", "Chamber of Secrets");

// accessing an element that doesn't exist:
$title = $titles[2];
</code></pre>
<p>They decided it should &#8211; it&#8217;s just a &#8220;Notice&#8221;; easily hidden with appropriate <code>php.ini</code> settings.  I can live with that;  it&#8217;s been a while, but doesn&#8217;t Java throws a wobbly when you fall off the end of an array too?</p>
<p>My grievance is here, when you make a typo:</p>
<pre><code>
$titles = array("Philosopher's Stone", "Chamber of Secrets");
$tiltes[2] = "Prisoner of Azkaban";
</code></pre>
<p>No errors, no warnings, no notices.  Idiot-fingers just created a new array <code>$tiltes</code>, assigning a vitally important piece of information to a variable that shouldn&#8217;t exist!</p>
<p>That&#8217;s a bit stupid, isn&#8217;t it?  Bit of a design-decision inconsistency?</p>
<p>Onto array access: it would be nice &#8211; and when I say nice, I mean <em>obvious, natural and expected</em> &#8211; to write:</p>
<pre><code>
$head = $dom-&gt;get_elements_by_tagname('head')[0];
</code></pre>
<p>PHP&#8217;s <code>getElementsByTagName</code> returns an <code>array</code>; we&#8217;re expecting a single <code>&lt;head&gt;</code> element, so try to skip the bullshit and access it straight-off.  But we can&#8217;t, because PHP&#8217;s compiler can&#8217;t handle array-access on function return-values.</p>
<p>Object access?  Sure, no problem.  Calling a method of an object in an array inside another array is no problem:</p>
<p><code>$book['chapter']['title']-&gt;display('html')</code></p>
<p>But if you want to access an array element returned from a function, choose a different language.</p>
]]></content:encoded>
			<wfw:commentRss>http://hexmen.com/blog/2008/07/php-grievance-number-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Amazon&#8217;s bizarre &#8220;Free HDMI cable&#8221;&#160;deal</title>
		<link>http://hexmen.com/blog/2008/02/amazons-bizarre-free-hdmi-cable-deal/</link>
		<comments>http://hexmen.com/blog/2008/02/amazons-bizarre-free-hdmi-cable-deal/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 10:45:18 +0000</pubDate>
		<dc:creator>Ash</dc:creator>
				<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://hexmen.com/blog/2008/02/amazons-bizarre-free-hdmi-cable-deal/</guid>
		<description><![CDATA[Sony don&#8217;t include an HDMI cable with the UK&#8217;s PlayStation 3 console (40GB version). But, if you buy it from Amazon, they&#8217;ll give you an HDMI cable free &#8211; if you ask for it. As Jacob Nielsen (usability expert) said: Amazon is no longer the role model for e-commerce design. I totally agree. I completely [...]]]></description>
			<content:encoded><![CDATA[<p>Sony don&#8217;t include an HDMI cable with the UK&#8217;s <a href="http://ewelike.com/products/145518">PlayStation 3 console</a> (40GB version).  But, if you buy it from Amazon, they&#8217;ll give you an HDMI cable free &#8211; if you ask for it.</p>
<p>As Jacob Nielsen (usability expert) said: <a href="http://www.useit.com/alertbox/20050725.html">Amazon is no longer the role model for e-commerce design</a>.  I totally agree.  I completely missed the opportunity to get a free HDMI cable, and I blame their UI.</p>
<p>It&#8217;s my own fault.  I&#8217;ve become a bit lazy, and trust Amazon to do the right thing.  I buy stuff from them quite regularly, and the only thing I really check is (a) the price, and (b) is it really being sold by Amazon (or one of their market-place sellers.)</p>
<p>I missed seeing the offer completely!  As I write, <a href="http://www.amazon.co.uk/gp/product/B000WNDP5M?ie=UTF8&#038;tag=ewelike0a-21&#038;linkCode=as2&#038;camp=1634&#038;creative=6738&#038;creativeASIN=B000WNDP5M">Amazon are flogging the PS3 for £279</a>.  Right below it they show an HDMI cable as a &#8220;perfect partner&#8221; &#8211; to buy with the PS3 for £299.98 &#8211; i.e. it looks like the cable costs £19.99.</p>
<p>I may be a cheap-skate, but I wouldn&#8217;t spend £20 on a random cable &#8211; I&#8217;d either buy as cheap a no-name brand as possible (£5 or £10), or double-up and spend £40 on a brand I trust (QED or Ixos.)</p>
<p>Anyhow.  It turns out that if you go for the £299.98 deal, Amazon take the £20 off at checkout time&#8230;  you don&#8217;t even have to mail-in a rebate form.  I find that a little misleading&#8230; on the one hand it&#8217;s great that they&#8217;re giving away a free HDMI cable &#8211; and on the other, they&#8217;re pretending it&#8217;s not.</p>
<p>I guess I&#8217;m just miffed because I didn&#8217;t read the small-print and completely missed the deal.  I&#8217;m said to say I lost a little faith in Amazon today.</p>
<p>If they&#8217;d surprised me with the cable I&#8217;d be delighted, and shout their praises.  As it is, I&#8217;m a little saddened, and feel I have to pore over every product page in future.  My casual shopping days are over.</p>
]]></content:encoded>
			<wfw:commentRss>http://hexmen.com/blog/2008/02/amazons-bizarre-free-hdmi-cable-deal/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>UK Petition: Ban the Bog&#160;Troll</title>
		<link>http://hexmen.com/blog/2007/05/ban-the-bog-troll/</link>
		<comments>http://hexmen.com/blog/2007/05/ban-the-bog-troll/#comments</comments>
		<pubDate>Thu, 31 May 2007 14:39:04 +0000</pubDate>
		<dc:creator>Ash</dc:creator>
				<category><![CDATA[Rant]]></category>

		<guid isPermaLink="false">http://hexmen.com/blog/2007/05/ban-the-bog-troll/</guid>
		<description><![CDATA[Officially known as bathroom attendants, the bog troll lurks in bars and clubs, interrupting customers&#8217; casual hygiene routine by obstructing sinks and hand-dryers and extorting money for performing such mundane tasks as turning on taps and distributing paper towels. The bog troll is a menace. The bog troll does not encourage hygiene, it prevents it. [...]]]></description>
			<content:encoded><![CDATA[<p>Officially known as <a href="http://en.wikipedia.org/wiki/Bathroom_attendant">bathroom attendants</a>, the bog troll lurks in bars and clubs, interrupting customers&#8217; casual hygiene routine by obstructing sinks and hand-dryers and extorting money for performing such mundane tasks as turning on taps and distributing paper towels.</p>
<p>The bog troll is a menace.  The bog troll does not encourage hygiene, it prevents it.  Once the third-pint breaks the seal, regular users have no wish to pay an extra pound to offload their processed beer.  With typical British manners, bathroom visitors are put in an uncomfortable position: wash their hands tax-free and risk offending the troll; or leave the bathroom unclean, hygiene-be-damned.</p>
<p>Many customers choose the latter.  Damn you Bog Troll!  Damn you for hoarding the paper towels.  Damn you for covering three sinks with CK One.  Damn you and your tray of Chupa Chups.</p>
<p>Please help us regulate this scourge, sign the <a href="http://petitions.pm.gov.uk/BanTheBogTroll/">Ban The Bog Troll petition</a> at Downing Street.</p>
<p>This has been a public service announcement.  Thank you.</p>
<p>Official Site: <a href="http://www.banthebogtroll.com/">Ban The Bog Troll</a> </p>
]]></content:encoded>
			<wfw:commentRss>http://hexmen.com/blog/2007/05/ban-the-bog-troll/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
