<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>James Titcumb</title>
	
	<link>http://www.asgrim.com</link>
	<description>Subscribe to the shiny feed of my life, get the latest updates on whatever PHP code I'm doing, or what I'm doing at the weekend. Includes daily digests of my Twitter feed!</description>
	<lastBuildDate>Wed, 05 Oct 2011 19:50:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/asgrimthemighty" /><feedburner:info uri="asgrimthemighty" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>50.883827</geo:lat><geo:long>-1.250339</geo:long><image><link>http://www.asgrim.com/</link><url>http://www.asgrim.com/wp-content/uploads/2008/04/jamesnhan-295x300.jpg</url><title>James and Hannah</title></image><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/asgrimthemighty" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fasgrimthemighty" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>Thank you for subscribing to my blog!</feedburner:browserFriendly><item>
		<title>a bra size dictated on an android phone</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/unpbQ220T-4/</link>
		<comments>http://www.asgrim.com/2011/10/05/a-bra-size-dictated-on-an-android-phone/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 19:50:34 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[dictate]]></category>
		<category><![CDATA[dictation]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[recognition]]></category>
		<category><![CDATA[siri]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/10/05/a-bra-size-dictated-on-an-android-phone/</guid>
		<description>this is so how&amp;#8217;s the android voice recognition work on writing a blog sites and I really hated on my phone. I&amp;#8217;ve noticed the long sentences take a while to process this thing apple stock. and I still haven&amp;#8217;t figured out how to do area jamaica. do androids credit I&amp;#8217;ve noticed that I&amp;#8217;m in love [...]</description>
			<content:encoded><![CDATA[<p>this is so how&#8217;s the android voice recognition work on writing a blog sites and I really hated on my phone. I&#8217;ve noticed the long sentences take a while to process this thing apple stock. and I still haven&#8217;t figured out how to do area jamaica. do androids credit I&#8217;ve noticed that I&#8217;m in love so there is quite a lot of background noise. this isn&#8217;t going to well so I&#8217;m going to hang out. I hope apple theory is better than this.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=unpbQ220T-4:Ua1tW6I0zxI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=unpbQ220T-4:Ua1tW6I0zxI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=unpbQ220T-4:Ua1tW6I0zxI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=unpbQ220T-4:Ua1tW6I0zxI:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/unpbQ220T-4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/10/05/a-bra-size-dictated-on-an-android-phone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/10/05/a-bra-size-dictated-on-an-android-phone/</feedburner:origLink></item>
		<item>
		<title>Diablo 3 Beta Launched</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/wsffsXBUSbg/</link>
		<comments>http://www.asgrim.com/2011/09/21/diablo-3-beta-launched/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 13:00:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[blizzard]]></category>
		<category><![CDATA[day9]]></category>
		<category><![CDATA[diablo]]></category>
		<category><![CDATA[diablo 3]]></category>
		<category><![CDATA[diablo iii]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2119</guid>
		<description>A while ago (two years ago pretty much) I wrote about Diablo 3 when they released some gameplay videos, teasers, and so on. Now the existence of D3 is becoming much more of a reality, and it is pants-wettingly exciting. Word on the street is that there is a closed beta going on. Chances are [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/09/diablo-3-logo.jpg"><img class="alignleft size-medium wp-image-2129" title="diablo-3-logo" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/09/diablo-3-logo-300x249.jpg" alt="" width="300" height="249" /></a>A while ago (two years ago pretty much) <a href="http://www.asgrim.com/2008/09/16/diablo-3-speculating-the-future/">I wrote about Diablo 3</a> when they released some gameplay videos, teasers, and so on. Now the existence of D3 is becoming much more of a reality, and it is pants-wettingly exciting. Word on the street is that there is a closed beta going on. Chances are pretty high that I won&#8217;t get an invite, but here&#8217;s hoping, eh?</p>
<p>I&#8217;ve gotta say, having briefly skimmed through <a href="http://www.youtube.com/watch?v=thGq2G2aGXo">Day9&#8242;s D3 stream</a> from yesterday, I am really excited. I just hope it lives up to my expectations. Bear in mind, I still play Diablo 2+exp quite often (although I wouldn&#8217;t say I&#8217;m a hardcore player by any means), D2 has set the bar incredibly high. It&#8217;s one of my favourite games of all time, and I really hope that the D3 release won&#8217;t just be spurned by rabid D2 fans finding out that D3 is a pile of tosh (ahem &#8211; WoW).</p>
<p>So &#8211; read more about Diablo 3 <a href="http://eu.battle.net/d3/en/">here</a>, or read the <a href="http://eu.battle.net/d3/en/blog/2985426">Beta announcement</a> and <a href="http://eu.battle.net/d3/en/blog/2889057">opt-in FAQs</a>.</p>
<p>SO EXCITING!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wsffsXBUSbg:9tLGmydaMU4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wsffsXBUSbg:9tLGmydaMU4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wsffsXBUSbg:9tLGmydaMU4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wsffsXBUSbg:9tLGmydaMU4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/wsffsXBUSbg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/09/21/diablo-3-beta-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/09/21/diablo-3-beta-launched/</feedburner:origLink></item>
		<item>
		<title>Zend Certified Engineer – I am PHP 5.3 Certified!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/3_HilJuxU24/</link>
		<comments>http://www.asgrim.com/2011/09/09/zend-certified-engineer-i-am-php-5-3-certified/#comments</comments>
		<pubDate>Fri, 09 Sep 2011 12:08:01 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[5.3]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[Certification]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[php5.3]]></category>
		<category><![CDATA[zce]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2120</guid>
		<description>Yep &amp;#8211; this morning I took and passed my first Zend Certified Engineer qualification. As with all the candidates, we are bound by a Non Disclosure Agreement, but my tip for anyone wanting to take the exam is to practise and revise more. I found the questions much trickier than I thought they were going [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.zend.com/en/store/education/certification/yellow-pages.php#show-ClientCandidateID=ZEND010150"><img class="alignleft size-full wp-image-2122" title="zce-php5-3-logo" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/09/zce-php5-3-logo.gif" alt="" width="73" height="68" /></a>Yep &#8211; this morning I took and passed my first Zend Certified Engineer qualification. As with all the candidates, we are bound by a Non Disclosure Agreement, but my tip for anyone wanting to take the exam is to practise and revise more. I found the questions much trickier than I thought they were going to be (based off the PHP5 mock tests I had left), but rightfully so. Good times people!</p>
<p><del>Oh yes, by the way I know the link doesn&#8217;t work yet, but I&#8217;m informed it can take 24-48 hours for my Zend Yellow Pages entry to become live&#8230;</del> It&#8217;s live now <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3_HilJuxU24:pHAsdZhv7Ig:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3_HilJuxU24:pHAsdZhv7Ig:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3_HilJuxU24:pHAsdZhv7Ig:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3_HilJuxU24:pHAsdZhv7Ig:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/3_HilJuxU24" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/09/09/zend-certified-engineer-i-am-php-5-3-certified/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/09/09/zend-certified-engineer-i-am-php-5-3-certified/</feedburner:origLink></item>
		<item>
		<title>Adding a Custom Form Validator to Zend Framework</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/9rfb0F4YrD0/</link>
		<comments>http://www.asgrim.com/2011/08/22/adding-a-custom-form-validator-to-zend-framework/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 19:14:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[validate]]></category>
		<category><![CDATA[validator]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[zf]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2113</guid>
		<description>Simples: &amp;#60;?php // IN THE FORM $field-&amp;#62;addPrefixPath&amp;#40;'NS_Validate_', '../library/NS/Validate', 'validate'&amp;#41;; $field-&amp;#62;setLabel&amp;#40;'Enter one'&amp;#41; -&amp;#62;setRequired&amp;#40;true&amp;#41; -&amp;#62;addValidator&amp;#40;'ValueEqualsOne'&amp;#41;; &amp;#160; // In library/NS/Validate/ValueEqualsOne.php class NS_Validate_ValueEqualsOne extends Zend_Validate_Abstract &amp;#123; const DOESEQUALONE = 'doesequalone'; &amp;#160; protected $_messageTemplates = array&amp;#40; self::DOESEQUALONE =&amp;#62; &amp;#34;This value does not equal one&amp;#34;, &amp;#41;; &amp;#160; public function isValid&amp;#40;$value&amp;#41; &amp;#123; $this-&amp;#62;_setValue&amp;#40;$value&amp;#41;; &amp;#160; if&amp;#40;$value == 1&amp;#41; return true; &amp;#160; $this-&amp;#62;_error&amp;#40;&amp;#41;; return [...]</description>
			<content:encoded><![CDATA[<p>Simples:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #666666; font-style: italic;">// IN THE FORM</span>
<span style="color: #000088;">$field</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">addPrefixPath</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'NS_Validate_'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'../library/NS/Validate'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'validate'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$field</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">setLabel</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Enter one'</span><span style="color: #009900;">&#41;</span>
  <span style="color: #339933;">-&gt;</span><span style="color: #004000;">setRequired</span><span style="color: #009900;">&#40;</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span>
  <span style="color: #339933;">-&gt;</span><span style="color: #004000;">addValidator</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'ValueEqualsOne'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// In library/NS/Validate/ValueEqualsOne.php</span>
<span style="color: #000000; font-weight: bold;">class</span> NS_Validate_ValueEqualsOne <span style="color: #000000; font-weight: bold;">extends</span> Zend_Validate_Abstract
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">const</span> DOESEQUALONE <span style="color: #339933;">=</span> <span style="color: #0000ff;">'doesequalone'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$_messageTemplates</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">self</span><span style="color: #339933;">::</span><span style="color: #004000;">DOESEQUALONE</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;This value does not equal one&quot;</span><span style="color: #339933;">,</span>
	<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> isValid<span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_setValue<span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$value</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
			<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span>_error<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>I&#8217;m not sure yet how to get around having to do the addPrefixPath call every time, but I&#8217;ll have to do some hacking I guess&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=9rfb0F4YrD0:pZ125HnM2Y0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=9rfb0F4YrD0:pZ125HnM2Y0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=9rfb0F4YrD0:pZ125HnM2Y0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=9rfb0F4YrD0:pZ125HnM2Y0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/9rfb0F4YrD0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/08/22/adding-a-custom-form-validator-to-zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/08/22/adding-a-custom-form-validator-to-zend-framework/</feedburner:origLink></item>
		<item>
		<title>Breakfast</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/wWfT-rR7-QM/</link>
		<comments>http://www.asgrim.com/2011/08/07/breakfast/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 11:46:40 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Our Baby]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[bacon]]></category>
		<category><![CDATA[breakfast]]></category>
		<category><![CDATA[France]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[granny]]></category>
		<category><![CDATA[jasper]]></category>
		<category><![CDATA[kali]]></category>
		<category><![CDATA[memories]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[puppy]]></category>
		<category><![CDATA[sausage]]></category>
		<category><![CDATA[swimming]]></category>
		<category><![CDATA[tandy]]></category>
		<category><![CDATA[toast]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2106</guid>
		<description>Jasper made some breakfast this morning and it looked good. So me and Freyja went to the shop and got our own breakfast, which I have to say is much better. Purely because our sausages were made out of real meat. And ours has bacon. Real bacon. Mmmm bacon. Bacon is good. And toast. The only [...]</description>
			<content:encoded><![CDATA[<p><a href="http://jspr.tndy.me/breakfast/">Jasper made some breakfast</a> this morning and it looked good. So me and Freyja went to the shop and got our own breakfast, which I have to say is much better. Purely because our sausages were made out of <em>real</em> meat. And ours has bacon. <em>Real</em> bacon. Mmmm bacon. Bacon is good. And toast. The only thing that&#8217;s not as good is the picture, but I&#8217;m no photographer, so I used my camera phone.</p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/breakfast.jpg"><img class="aligncenter size-medium wp-image-2107" title="breakfast" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/breakfast-300x179.jpg" alt="" width="300" height="179" /></a></p>
<p>I also thought I&#8217;d throw in a picture of Kali and Freyja for luck. Freyja is shown here modelling her new buoyancy aid that her Granny (my Mum) bought for her to go swimming in France.</p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/IMAG0353.jpg"><img class="aligncenter size-medium wp-image-2109" title="IMAG0353" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/IMAG0353-300x179.jpg" alt="" width="300" height="179" /></a></p>
<p>Kali couldn&#8217;t resist getting in the picture either, although I&#8217;m not sure she realises what it&#8217;s all about. She&#8217;s definitely a puppy, and more than a handful. Taking her on walks is a real struggle, but I&#8217;m sure we&#8217;ll get there. She&#8217;s only 15 weeks old bless her, but my she&#8217;s growing! In fact, this is her like 5 minutes ago:</p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/IMAG0417.jpg"><img class="aligncenter size-medium wp-image-2110" title="IMAG0417" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/08/IMAG0417-300x179.jpg" alt="" width="300" height="179" /></a></p>
<p>If you&#8217;re wondering what the white powder is all over her head, it&#8217;s not dandruff, it&#8217;s sand from Freyja&#8217;s sand table we were playing with earlier and Kali decided to roll in some sand that had fallen off. Silly puppy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wWfT-rR7-QM:nNYRQ5NBofI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wWfT-rR7-QM:nNYRQ5NBofI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wWfT-rR7-QM:nNYRQ5NBofI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wWfT-rR7-QM:nNYRQ5NBofI:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/wWfT-rR7-QM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/08/07/breakfast/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/08/07/breakfast/</feedburner:origLink></item>
		<item>
		<title>Base URL in Zend Framework</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/cBzs0T1vFlQ/</link>
		<comments>http://www.asgrim.com/2011/07/30/base-url-in-zend-framework/#comments</comments>
		<pubDate>Sat, 30 Jul 2011 22:14:25 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[base]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[helper]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[zf]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2102</guid>
		<description>I have a nasty habit of not adding base URLs to my projects because I never think about anyone else who might use it. Anyway, you can get the base URL like this: In a Controller $this-&amp;#62;getFrontController&amp;#40;&amp;#41;-&amp;#62;getBaseUrl&amp;#40;&amp;#41; In a View script $this-&amp;#62;baseUrl&amp;#40;&amp;#41; Reminder really, nothing more. It would be nice to know if there was [...]</description>
			<content:encoded><![CDATA[<p>I have a nasty habit of not adding base URLs to my projects because I never think about anyone else who might use it. Anyway, you can get the base URL like this:</p>
<p><strong>In a Controller</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getFrontController</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getBaseUrl</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p><strong>In a View script</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">baseUrl</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span></pre></div></div>

<p>Reminder really, nothing more. It would be nice to know if there was a less long winded way of getting the base URL everywhere though&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cBzs0T1vFlQ:C0JXYaZFKqs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cBzs0T1vFlQ:C0JXYaZFKqs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cBzs0T1vFlQ:C0JXYaZFKqs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cBzs0T1vFlQ:C0JXYaZFKqs:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/cBzs0T1vFlQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/07/30/base-url-in-zend-framework/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/07/30/base-url-in-zend-framework/</feedburner:origLink></item>
		<item>
		<title>Woah! A Real Blog Post!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/JtIWrd2Jlg0/</link>
		<comments>http://www.asgrim.com/2011/05/15/woah-a-real-blog-post/#comments</comments>
		<pubDate>Sun, 15 May 2011 16:28:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[chill]]></category>
		<category><![CDATA[deniz]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[holiday]]></category>
		<category><![CDATA[holidays]]></category>
		<category><![CDATA[olu]]></category>
		<category><![CDATA[Ölüdeniz]]></category>
		<category><![CDATA[stress]]></category>
		<category><![CDATA[turkey]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/05/15/woah-a-real-blog-post/</guid>
		<description>My attempts to actually do proper blog posts (excluding Metal Mummy Movie Memes which appear to have dominated my blog since it launched) have been failing miserably of late. For this I do profusely apologise. I&amp;#8217;m sure you all share the insane busyness that has been engulfing my life, and I know for a fact [...]</description>
			<content:encoded><![CDATA[<p>My attempts to actually do proper blog posts (excluding Metal Mummy Movie Memes which appear to have dominated my blog since it launched) have been failing miserably of late. For this I do profusely apologise. I&#8217;m sure you all share the insane busyness that has been engulfing my life, and I know for a fact many of my friends do! In fact the only thing I&#8217;ve been doing recently is working and finding any moment I can to better myself at Starcraft 2, which isn&#8217;t going too well in all honesty. Never mind, this blog post is sponsored by my long awaited holiday which has suddenly freed up my time. Laptops are being left at home, and phones will be switched off &#8211; yes this will be an <em>actual real life holiday</em>! </p>
<p>We&#8217;re currently sat in Stoke on Trent (in Linda&#8217;s <em>freezing</em> cold house) sorting out the final bits and pieces of packing and shopping (hooray I have real flip flops now). Hannah is busy writing a couple of blog posts so that prompted me to do the same! </p>
<p>For those that don&#8217;t know, I&#8217;m taking a 7 day break from the stress of life, work and PHP and swanning off to Ölüdeniz in Turkey to enjoy some quality family time with Hannah, Freyja and the mother-in-law-to-be. I don&#8217;t have any specific plans for what to do, but I know that I&#8217;m going to do my best to chill to the max. I really am exhausted and really can&#8217;t wait to just unplug from everything. So&#8230; if my server goes down, or there&#8217;s an emergency at work, well you guys will just have to cope without me for a little while. It&#8217;s probably not such a bad thing if my server goes down for a while&#8230; less of my inane rubbish that spurts forth from my fingers into your eyes. And&#8230; with my low blogging frequency no-one will probably notice anyway!</p>
<p>So, here&#8217;s to me finally having a holiday, I can&#8217;t wait. So long and thanks for all the fish. Thanks for reading folks, that&#8217;s a wrap.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JtIWrd2Jlg0:CxXozW8LGLM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JtIWrd2Jlg0:CxXozW8LGLM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JtIWrd2Jlg0:CxXozW8LGLM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JtIWrd2Jlg0:CxXozW8LGLM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/JtIWrd2Jlg0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/05/15/woah-a-real-blog-post/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/05/15/woah-a-real-blog-post/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 10</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/MWR0gMgMSmo/</link>
		<comments>http://www.asgrim.com/2011/04/26/metal-mummys-movie-meme-week-10/#comments</comments>
		<pubDate>Tue, 26 Apr 2011 12:19:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[horror]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[orphanage]]></category>
		<category><![CDATA[scare]]></category>
		<category><![CDATA[scary]]></category>
		<category><![CDATA[the orphanage]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2093</guid>
		<description>Hannah&amp;#8217;s Metal Mummy Movie Meme is going from strength to strength and this week is the 10th week of running! Well done baby, keep it up! This week&amp;#8217;s theme is Horror&amp;#8230; I&amp;#8217;m going for one that is a fantastic film which I love, and although it is a horror film, most of it doesn&amp;#8217;t scare me [...]</description>
			<content:encoded><![CDATA[<p>Hannah&#8217;s <a href="http://www.metalmummy.co.uk/2011/04/metal-mummys-movie-meme-week-10/">Metal Mummy Movie Meme</a> is going from strength to strength and this week is the 10th week of running! Well done baby, keep it up! This week&#8217;s theme is <strong>Horror</strong>&#8230; I&#8217;m going for one that is a fantastic film which I love, and although it <em>is</em> a horror film, most of it doesn&#8217;t scare me apart from one particular scene that I find quite creepy&#8230;</p>
<p><strong>The Orphanage </strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/orphanage.jpg"><img class="alignright size-medium wp-image-2095" title="orphanage" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/orphanage-300x154.jpg" alt="" width="300" height="154" /></a>As I said, <a href="http://www.imdb.com/title/tt0464141/">the film</a> as a whole I didn&#8217;t find particularly scary. A great story and has parts in that would probably scare others, but as a generalisation I would say I&#8217;m not scared by this film. Apart from one particular scene towards the end of the film where they play a game called &#8220;Knock on the Wall&#8221;. It brings out creepy ghost children and there&#8217;s just something about that that just makes me want to hide under a cushion. It&#8217;s just creepy, those ghostly children creeping up on her like that. Argh! Probably going to have nightmares now Hannah brought up this topic&#8230; doh!</p>
<p>Anyway, head on over to <a href="http://www.metalmummy.co.uk/2011/04/metal-mummys-movie-meme-week-10/">Hannah&#8217;s <strong>amazing</strong> blog</a> and check out all the other entries &#8211; NOW!!</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg"></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MWR0gMgMSmo:Nq34QHu0Jbw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MWR0gMgMSmo:Nq34QHu0Jbw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MWR0gMgMSmo:Nq34QHu0Jbw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MWR0gMgMSmo:Nq34QHu0Jbw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/MWR0gMgMSmo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/04/26/metal-mummys-movie-meme-week-10/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/04/26/metal-mummys-movie-meme-week-10/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 9</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/lSGZLa1mLro/</link>
		<comments>http://www.asgrim.com/2011/04/19/metal-mummys-movie-meme-week-9/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 12:39:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[actress]]></category>
		<category><![CDATA[bond]]></category>
		<category><![CDATA[dame]]></category>
		<category><![CDATA[dench]]></category>
		<category><![CDATA[favourite]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[helen]]></category>
		<category><![CDATA[james]]></category>
		<category><![CDATA[jovovich]]></category>
		<category><![CDATA[judi]]></category>
		<category><![CDATA[m]]></category>
		<category><![CDATA[maggie]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[milla]]></category>
		<category><![CDATA[mirren]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[smith]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2086</guid>
		<description>My stonkingly gorgeous fiancée Hannah has today put up another Metal Mummy&amp;#8217;s Movie Meme post, so I&amp;#8217;m right back in there, like a buzzard. This week&amp;#8217;s category is Favourite Actress, and I agree this is quite a hard one. I made a shortlist which includes Helen Mirren, Maggie Smith, Milla Jovovich, but I finally settled on&amp;#8230; Dame [...]</description>
			<content:encoded><![CDATA[<p>My stonkingly gorgeous fiancée Hannah has today put up another Metal Mummy&#8217;s Movie Meme post, so I&#8217;m right back in there, like a buzzard. This week&#8217;s category is <strong>Favourite Actress</strong>, and I agree this is quite a hard one. I made a shortlist which includes <a href="http://www.imdb.com/name/nm0000545/">Helen Mirren</a>, <a href="http://www.imdb.com/name/nm0001749/">Maggie Smith</a>, <a href="http://www.imdb.com/name/nm0000170/">Milla Jovovich</a>, but I finally settled on&#8230;</p>
<p><strong>Dame Judi Dench</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/JudiDench.jpg"><img class="alignright size-medium wp-image-2087" title="JudiDench" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/JudiDench-300x199.jpg" alt="" width="300" height="199" /></a>I think Judi Dench is fantastic &#8211; she makes a brilliant M. She&#8217;s got a huge film history and lots of stage acting experience, including directing. She&#8217;s been awarded a myriad of awards and recognised all over the place. With such a good career, you&#8217;d think I&#8217;d have more to talk about, but she is so well known it&#8217;s hard to find anything new to talk about her, so I&#8217;ll leave at that!</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=lSGZLa1mLro:IiPPRsIDTD0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=lSGZLa1mLro:IiPPRsIDTD0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=lSGZLa1mLro:IiPPRsIDTD0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=lSGZLa1mLro:IiPPRsIDTD0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/lSGZLa1mLro" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/04/19/metal-mummys-movie-meme-week-9/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/04/19/metal-mummys-movie-meme-week-9/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 8</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/4Z_pUM2qND0/</link>
		<comments>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-8/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 12:27:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[beowulf]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[grendel]]></category>
		<category><![CDATA[iceland]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[rape]]></category>
		<category><![CDATA[troll]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2060</guid>
		<description>So hot on the heels of my horrendously late Week 7 post, here is my Week 8 post. This week&amp;#8217;s topic is World Cinema and I have just the film in mind that I don&amp;#8217;t think anyone else will write about! Huzzah! Beowulf &amp;#38; Grendel No, this is not the animated film starring Ray Winstone, [...]</description>
			<content:encoded><![CDATA[<p>So hot on the heels of my horrendously late Week 7 post, here is my Week 8 post. <a href="http://www.metalmummy.co.uk/2011/04/metal-mummys-movie-meme-week-8/">This week&#8217;s topic</a> is <strong>World Cinema</strong> and I have just the film in mind that I don&#8217;t think anyone else will write about! Huzzah!</p>
<p><strong>Beowulf &amp; Grendel</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/stellan.jpg"><img class="alignright size-medium wp-image-2062" title="stellan" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/stellan-300x207.jpg" alt="" width="300" height="207" /></a>No, this is not <a href="http://www.imdb.com/title/tt0442933/">the animated film</a> starring Ray Winstone, Anthony Hopkins and Angelina Jolie, which although is alright, it&#8217;s not a patch on <a href="http://www.imdb.com/title/tt0402057/">the live-action 2005 film</a> starring Gerard Butler and Stellan Skarsgård (who, incidentally, is fantastic, and also stars as Bootstrap Bill Turner in Pirates of the Carribean, as well as Cerdic, a famous anglo-saxon king, in King Arthur). This proves that IMDB are wrong with their ratings on this one (6.5 for animated, 6.1 for live-action &#8211; it should be 7 for animated, 8 for live-action).</p>
<p>The film is an almost stylised version of the original poem, and it&#8217;s gritty and bloody. The film is Icelandic and I think really captures what I imagine that era to be like. Plenty of mead, raping, pillaging, blood and most importantly&#8230; troll rape. Yes you heard &#8211; this film has a slightly disturbing scene in which &#8230; well, I&#8217;ll leave it up to you to watch. I recommend this film &#8211; but take it with a pinch of salt. It&#8217;s just a great action film. With troll rape.</p>
<p><strong>Bonus Points: </strong>Another foreign film I think is brilliant is <a href="http://www.imdb.com/title/tt0317248/">City of God</a>! So runner up to that&#8230;</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4Z_pUM2qND0:HK6Ro88h05M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4Z_pUM2qND0:HK6Ro88h05M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4Z_pUM2qND0:HK6Ro88h05M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4Z_pUM2qND0:HK6Ro88h05M:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/4Z_pUM2qND0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-8/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-8/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 7</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/mDbmkbMgU_M/</link>
		<comments>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-7/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 12:25:53 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[awesome]]></category>
		<category><![CDATA[brilliant]]></category>
		<category><![CDATA[cheek]]></category>
		<category><![CDATA[dead]]></category>
		<category><![CDATA[evil]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[gore]]></category>
		<category><![CDATA[horror]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[tongue]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2053</guid>
		<description>Oh man, I&amp;#8217;m so late with this Hannah is going to smack me around a bit&amp;#8230; anyway, Metal Mummy is back with another Movie Meme and this week the topic is simply (hah!) the 80&amp;#8242;s. Wow such a short theme title, yet covers a whole decade of films. There are no genre restrictions or anything &amp;#8211; [...]</description>
			<content:encoded><![CDATA[<p>Oh man, I&#8217;m so late with this Hannah is going to smack me around a bit&#8230; anyway, <a href="http://www.metalmummy.co.uk/">Metal Mummy</a> is back with <a href="http://www.metalmummy.co.uk/2011/04/metal-mummys-movie-meme-week-7/">another Movie Meme</a> and this week the topic is simply (hah!) <strong>the 80&#8242;s</strong>. Wow such a short theme title, yet covers a whole decade of films. There are no genre restrictions or anything &#8211; just the 80&#8242;s. I&#8217;m just going to go with the first awesome film I can think of because I&#8217;m so damn late with this post&#8230; sorry Hannah!</p>
<p><strong>The Evil Dead</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/Evildead.jpg"><img class="alignright size-medium wp-image-2055" title="Evildead" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/Evildead-209x300.jpg" alt="" width="209" height="300" /></a>This is arguably one of the best horror films of all time. In it&#8217;s time it was groundbreaking, and now, it&#8217;s&#8230; well it&#8217;s just fantastic still. It&#8217;s timeless and never ceases to amuse me. Sam Raimi did himself proud with this film and used inventive filming techniques throughout. Shocking, yet noticeably tongue-in-cheek, this over-the-top horror/gore film really hits the spot with me. Never mind all these blockbusters and action films of the 80&#8242;s &#8211; this is where it&#8217;s at &#8211; low budget brilliance. Bruce Campbell is just fantastic and perfectly cast, and the sequels are almost on par, if yet many times more daft and ludicrous.</p>
<p>Dead by dawn!</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mDbmkbMgU_M:GMmLESoSy70:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mDbmkbMgU_M:GMmLESoSy70:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mDbmkbMgU_M:GMmLESoSy70:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mDbmkbMgU_M:GMmLESoSy70:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/mDbmkbMgU_M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/04/14/metal-mummys-movie-meme-week-7/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 6</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/GE7DHBM5xL8/</link>
		<comments>http://www.asgrim.com/2011/04/05/metal-mummys-movie-meme-week-6/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 09:35:03 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[chick]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[flick]]></category>
		<category><![CDATA[flicks]]></category>
		<category><![CDATA[gush]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[notebook]]></category>
		<category><![CDATA[romance]]></category>
		<category><![CDATA[the]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2043</guid>
		<description>With a record number of entries this week, Hannah&amp;#8217;s Metal Mummy&amp;#8217;s Movie Meme really is becoming quite a hit! So proud of you hun, so despite the horrendous theme of this week being Chick Flicks, I feel I should take part. So without further ado, my choice is: The Notebook I have to say, The [...]</description>
			<content:encoded><![CDATA[<p>With a record number of entries this week, Hannah&#8217;s <a href="http://www.metalmummy.co.uk/">Metal Mummy&#8217;s</a> Movie Meme really is becoming quite a hit! So proud of you hun, so despite the horrendous theme of this week being <strong>Chick Flicks</strong>, I feel I should take part. So without further ado, my choice is:</p>
<p><strong>The Notebook</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/thenotebook.jpg"><img class="alignright size-medium wp-image-2045" title="thenotebook" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/04/thenotebook-300x199.jpg" alt="" width="300" height="199" /></a>I have to say, <a href="http://www.imdb.com/title/tt0332280/">The Notebook</a> is actually a rather fantastic film. It&#8217;s a truly idyllic romance film which has plenty of moments to make any lady gush. Based starting in 1940, the protagonists Noah and Allie meet and are inevitably destined to be together. It&#8217;s a real fairytale-inspired story with turmoil and heartbreak. A truly soppy film which I&#8217;m normally a fan of, but it does a really good job of getting you to empathise with the characters and thus getting more involved in the story.</p>
<p>I was, however, disappointed that a laptop didn&#8217;t feature in the film&#8230;</p>
<p>Oh and <a href="http://www.imdb.com/name/nm1046097/">Rachel McAdams</a> is fit in it. Much better than that Mean Girls crap anyway.</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GE7DHBM5xL8:mqdlmbD7qQs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GE7DHBM5xL8:mqdlmbD7qQs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GE7DHBM5xL8:mqdlmbD7qQs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GE7DHBM5xL8:mqdlmbD7qQs:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/GE7DHBM5xL8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/04/05/metal-mummys-movie-meme-week-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/04/05/metal-mummys-movie-meme-week-6/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 5</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/zLKsSlAAkFk/</link>
		<comments>http://www.asgrim.com/2011/03/26/metal-mummys-movie-meme-week-5/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 14:19:40 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[chris]]></category>
		<category><![CDATA[christopher]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[imdb]]></category>
		<category><![CDATA[lee]]></category>
		<category><![CDATA[lord]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[rings]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2036</guid>
		<description>Well another week has passed and my lovely Hannah has done another Metal Mummy&amp;#8217;s Movie Meme. This week&amp;#8217;s topic is your favourite actor. Initially when Hannah asked me, I had no idea. There are so many good actors. I&amp;#8217;ll focus on this one&amp;#8230; Sir Christopher Lee A fantastic English actor he is, Sir Christopher Lee [...]</description>
			<content:encoded><![CDATA[<p>Well another week has passed and my lovely Hannah has done another Metal Mummy&#8217;s Movie Meme. This week&#8217;s topic is your favourite actor. Initially when Hannah asked me, I had no idea. There are so many good actors. I&#8217;ll focus on this one&#8230;</p>
<p><strong>Sir Christopher Lee</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/christopher_lee1.jpg"><img class="alignright size-full wp-image-2038" title="christopher_lee1" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/christopher_lee1.jpg" alt="" width="300" height="327" /></a>A fantastic English actor he is, <a href="http://www.imdb.com/name/nm0000489/">Sir Christopher Lee</a> has been in numerous films. According to IMDB, he&#8217;s done/doing 269 films, and at a ripe old age of 88 is an impressive feat. That&#8217;s 3 films a year, and considering the Lord of the Rings trilogy took over 5 years to make by itself, I&#8217;m not quite sure how he did it&#8230; Nevertheless, this brilliant actor has been in many fantastic films and his deep, strong voice is instantly recognisable.</p>
<p>In fact his escapades are not just limited to screen acting, but he also does voice work (who wouldn&#8217;t with such a fantastic voice?) and does a surprising amount of singing for various artists and for his own work and featured on a couple of <a href="http://en.wikipedia.org/wiki/Rhapsody_of_Fire">Rhapsody</a>&#8216;s albums.</p>
<p>A truly multi-talented man he is, I think Sir Christopher Lee is truly deserving of &#8220;my favourite actor&#8221; this week <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Click the lovely logo to visit Hannah&#8217;s blog and <a href="http://www.metalmummy.co.uk/2011/03/metal-mummy-movie-meme-week-5/">join in the fun</a>!</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zLKsSlAAkFk:SeoBxD0KWR4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zLKsSlAAkFk:SeoBxD0KWR4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zLKsSlAAkFk:SeoBxD0KWR4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zLKsSlAAkFk:SeoBxD0KWR4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/zLKsSlAAkFk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/26/metal-mummys-movie-meme-week-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/26/metal-mummys-movie-meme-week-5/</feedburner:origLink></item>
		<item>
		<title>Facebook’s Press Enter To Post Comments</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/ZK1sJ1REDzY/</link>
		<comments>http://www.asgrim.com/2011/03/16/facebooks-press-enter-to-post-comments/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 21:39:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2029</guid>
		<description>Facebook often make changes and users backlash and threaten to boycott Facebook and all sorts. I actually sympathise with Facebook. It is difficult with so many users to make even small changes as people get so used to clicking in particular places to get certain information. Change is bad for the masses, but to evolve [...]</description>
			<content:encoded><![CDATA[<p>Facebook often make changes and users backlash and threaten to boycott Facebook and all sorts. I actually sympathise with Facebook. It is difficult with so many users to make even small changes as people get so used to clicking in particular places to get certain information. Change is bad for the masses, but to evolve Facebook and keep it fresh, it must be done. The masses calm down after a week or so when they get used to the change and realise it&#8217;s actually quite useful.</p>
<p>Facebook&#8217;s latest change today makes sense from a design perspective &#8211; it looks nice and saves a tiny amount of fragile space. They have entirely removed the &#8220;Comment&#8221; button when commenting on statuses and photographs. I don&#8217;t have a problem with hitting enter to post a comment &#8211; but what about people who can&#8217;t press enter? Smartphones come to mind (I sometimes use the full Facebook site to get to event details as the native Android app doesn&#8217;t have much more than an event summary) and also users with disabilities. What about those who can&#8217;t use keyboards and have to use a mouse or other pointing device? How are they to hit enter? It&#8217;s only a brief musing and there are probably ways around it, but there is something comforting about having a button to click. In a web where we are trained to click on-screen buttons to make stuff happen, it seems odd to have to click a physical button to get an action to happen - despite me spending half my life in a Linux CLI hitting &#8220;Enter&#8221; to make things happen &#8211; I know, double-standards, right?</p>
<p>So what are your thoughts on this? Is it more or less useable? Should there still be a clickable link or button to submit the comment form? Do you care? Does it matter? Am I just fabricating rubbish to blog about because I&#8217;ve run out of things to talk about? Is that a three-headed monkey over there?</p>
<p><strong>Old style:</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/old-fb-comment.jpg"><img class="alignnone size-full wp-image-2030" title="old--fb-comment" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/old-fb-comment.jpg" alt="" width="408" height="103" /></a></p>
<p><strong>New style:</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/new-fb-comment.jpg"><img class="alignnone size-full wp-image-2031" title="new-fb-comment" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/new-fb-comment.jpg" alt="" width="408" height="88" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZK1sJ1REDzY:oP9UoqP2yCQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZK1sJ1REDzY:oP9UoqP2yCQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZK1sJ1REDzY:oP9UoqP2yCQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZK1sJ1REDzY:oP9UoqP2yCQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/ZK1sJ1REDzY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/16/facebooks-press-enter-to-post-comments/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/16/facebooks-press-enter-to-post-comments/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 4</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/5_rbxk5myKc/</link>
		<comments>http://www.asgrim.com/2011/03/15/metal-mummys-movie-meme-week-4/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 13:23:06 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[actor]]></category>
		<category><![CDATA[blood]]></category>
		<category><![CDATA[can]]></category>
		<category><![CDATA[catch]]></category>
		<category><![CDATA[damon]]></category>
		<category><![CDATA[departedf]]></category>
		<category><![CDATA[diamond]]></category>
		<category><![CDATA[dicaprio]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[films]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[jack]]></category>
		<category><![CDATA[juliet]]></category>
		<category><![CDATA[leonardo]]></category>
		<category><![CDATA[mark]]></category>
		<category><![CDATA[martin]]></category>
		<category><![CDATA[matt]]></category>
		<category><![CDATA[me]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[nicholson]]></category>
		<category><![CDATA[romeo]]></category>
		<category><![CDATA[sheen]]></category>
		<category><![CDATA[the departed]]></category>
		<category><![CDATA[titanic]]></category>
		<category><![CDATA[wahlberg]]></category>
		<category><![CDATA[you]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=2013</guid>
		<description>This week&amp;#8217;s Metal Mummy&amp;#8217;s Movie Meme is chosing a film about actor Leonardo DiCaprio. He&amp;#8217;s done quite a few great films, but someone has already done the one I was thinking of whilst reading Hannah&amp;#8217;s blog post. So I&amp;#8217;m going to do&amp;#8230; The Departed Starring alongside Matt Damon, Jack Nicholson, Mark Wahlberg and Martin &amp;#8220;Father [...]</description>
			<content:encoded><![CDATA[<p>This week&#8217;s <a href="http://www.metalmummy.co.uk/2011/03/metal-mummy-movie-meme-week-4/">Metal Mummy&#8217;s Movie Meme</a> is chosing a film about actor <a href="http://www.imdb.com/name/nm0000138/">Leonardo DiCaprio</a>. He&#8217;s done quite a few great films, but someone has already done the one I was thinking of whilst reading Hannah&#8217;s blog post. So I&#8217;m going to do&#8230;</p>
<p><strong><a href="http://www.imdb.com/title/tt0407887/">The Departed</a></strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/thedeparted.gif"><img class="alignright size-full wp-image-2020" title="thedeparted" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/thedeparted.gif" alt="" width="428" height="276" /></a>Starring alongside Matt Damon, Jack Nicholson, Mark Wahlberg and Martin &#8220;Father of #tigerblood&#8221; Sheen, DiCaprio plays an under cover police officer in a tangled web of gangster mayhem. Double bluffing and twisty turns make this film really enjoyable &mdash; and importantly for this film unpredictable.</p>
<p>My other favourite films starring Leo are Titanic (sorry Hannah, but I think it was fab), Blood Diamond, Catch Me If You Can and Romeo and Juliet (which was a close second to my choice this week!).</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5_rbxk5myKc:rXsWi2IuVOM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5_rbxk5myKc:rXsWi2IuVOM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5_rbxk5myKc:rXsWi2IuVOM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5_rbxk5myKc:rXsWi2IuVOM:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/5_rbxk5myKc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/15/metal-mummys-movie-meme-week-4/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/15/metal-mummys-movie-meme-week-4/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 3</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Of6GIrMuaro/</link>
		<comments>http://www.asgrim.com/2011/03/14/metal-mummys-movie-meme-week-3/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 13:37:42 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[directors]]></category>
		<category><![CDATA[film]]></category>
		<category><![CDATA[lord]]></category>
		<category><![CDATA[meme]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[mummy]]></category>
		<category><![CDATA[of]]></category>
		<category><![CDATA[rings]]></category>
		<category><![CDATA[the]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1994</guid>
		<description>So here&amp;#8217;s another non-geeky post courtesy of my wench over at Metal Mummy. Her increasingly-popular movie meme, imaginatively titled Metal Mummy&amp;#8217;s Movie Meme sporting the Twitter hash tag #mmmm (which unfortunately results in many unrelated tweets to do with food, sex and other things that make you go &amp;#8220;mmmm&amp;#8221;), has been a hit and even [...]</description>
			<content:encoded><![CDATA[<p>So here&#8217;s another non-geeky post courtesy of my wench over at <a href="http://www.metalmummy.co.uk/">Metal Mummy</a>. Her increasingly-popular movie meme, imaginatively titled <em>Metal Mummy&#8217;s Movie Meme</em> sporting the Twitter hash tag <a href="http://twitter.com/#!/search/%23mmmm">#mmmm</a> (which unfortunately results in many unrelated tweets to do with food, sex and other things that make you go &#8220;mmmm&#8221;), has been a hit and even featured on <a href="http://www.bmbblog.co.uk/2011/03/15-of-the-best-parent-blogging-carnivals-and-memes-.html">the British Mummies Blog</a>. Also she has been quoted in <a href="http://www.realparenting.co.uk/wordpress/03/11/to-work-or-not-to-work-career-choices-after-a-baby/">an article on Real Parenting</a>. So well done baby! Keep it up.</p>
<p>Unfortunately I have been rather lax this week and have only just gotten around to doing my post for this week. The theme for this week is <a href="http://www.metalmummy.co.uk/2011/03/metal-mummy-movie-meme-week-3/">Directors</a>, and Hannah unsurprisingly chose <a href="http://www.imdb.com/name/nm0276349/">Shane Meadows</a>, a fellow Stokie with bald head and really bushy eyebrows. So who should I choose for this one? Well I&#8217;m going to nominate some with the films I like from the director to help myself then pick a winner:</p>
<ol>
<li><a href="http://www.imdb.com/name/nm0001392/">Peter Jackson</a> (LOTR, King Kong)</li>
<li><a href="http://www.imdb.com/name/nm0893659/">Gore Verbinski</a> (POTC, The Mexican)</li>
<li><a href="http://www.imdb.com/name/nm0000600/">Sam Raimi</a> (Evil Dead, Drag Me To Hell)</li>
<li><a href="http://www.imdb.com/name/nm0000229/">Steven Spielberg</a> (Indiana Jones, Jaws, ET, Hook, Jurrasic Park, Saving Private Ryan, Catch Me If You Can, The Terminal, War of the Worlds)</li>
<li><a href="http://www.imdb.com/name/nm0634240/">Christopher Nolan</a> (Momento, Batman Begins, Inception)</li>
<li><a href="http://www.imdb.com/name/nm0001708/">Joel Schumacher</a> (Lost Boys, Falling Down, Tigerland, Phone Booth, POTO, Number 23)</li>
<li><a href="http://www.imdb.com/name/nm0000399/">David Fincher</a> (Se7en, Fight Club, Panic Room, Curious Case Ben Button, Social Network)</li>
<li><a href="http://www.imdb.com/name/nm0905152/">Wachowski</a> <a href="http://www.imdb.com/name/nm0905154/">Brothers</a> (Matrix)</li>
<li><a href="http://www.imdb.com/name/nm0000116/">James Cameron</a> (Terminator, Rambo 2, Aliens, True Lies, Titanic, Avatar)</li>
</ol>
<p>My issue with this topic is that there are so many films I love, but they&#8217;re all by different actors. This by no means is a bad thing &#8211; it just shows that there are many talented directors out there who really know their stuff and how to help make a film good. So my &#8220;short&#8221; list is done, now who to pick?? They are all good, so this is by no means a reflection on their talent, but my winner is&#8230;</p>
<p><strong>Peter Jackson</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/peterjackson.jpg"><img class="alignright size-full wp-image-2010" title="The Lord of the Rings: The Return of the King" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/peterjackson.jpg" alt="" width="360" height="310" /></a>I hadn&#8217;t heard of him until the Lord of the Rings Trilogy, but boy those films are collectively an absolute masterpiece. Having just finished re-watching the extended edition (taken me about 3 months of watching bits at lunch!), it&#8217;s fresh in my memory. The films are engrossing not unlike a book might be. I don&#8217;t think anyone could&#8217;ve imagined up a better look and feel for the films.</p>
<p>Of course it wasn&#8217;t just Peter Jackson who made the Lord of the Rings films so amazing, there was an enormous cast behind it, all making the films so fantastic as they turned out to be.</p>
<p>I was sceptical, being a Lord of the Rings book fan, but the films really did deliver above and beyond expectations. Peter Jackson did himself proud with these films. His King Kong remake gets a nod too as it was a great film, although that is not the primary reason.</p>
<p>The exciting point about this is that <a href="http://www.imdb.com/title/tt0903624/">The Hobbit</a> films are also being worked on at the moment! I have heard snippets of news here and there on it, such as actors new and returning, but I was glad to learn that Jackson will be back at the helm. Only he can do these films justice, and after Lord of the Rings, I have very high expectations&#8230;</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Of6GIrMuaro:UnNt52GT0Fw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Of6GIrMuaro:UnNt52GT0Fw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Of6GIrMuaro:UnNt52GT0Fw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Of6GIrMuaro:UnNt52GT0Fw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Of6GIrMuaro" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/14/metal-mummys-movie-meme-week-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/14/metal-mummys-movie-meme-week-3/</feedburner:origLink></item>
		<item>
		<title>Comparison Editor Stops Working in Eclipse PDT</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/5pbfAHOiHu0/</link>
		<comments>http://www.asgrim.com/2011/03/03/comparison-editor-stops-working-in-eclipse-pdt/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 20:42:13 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[compare]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[diff]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[pdt]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1992</guid>
		<description>This was a bit annoying &amp;#8211; basically I did some updates and so on to Eclipse PDT a month or so ago and after I found the comparison editor (e.g. right click two files &amp;#62; Compare With &amp;#62; Each Other, or comparing Git history) had stopped working. It just showed a blank grey screen and [...]</description>
			<content:encoded><![CDATA[<p>This was a bit annoying &#8211; basically I did some updates and so on to Eclipse PDT a month or so ago and after I found the comparison editor (e.g. right click two files &gt; Compare With &gt; Each Other, or comparing Git history) had stopped working. It just showed a blank grey screen and nothing worked (e.g. Checking for software updates). I hate fiddling with Eclipse to make it work (I hate Java) so I didn&#8217;t bother doing it. But today I really needed it. Thankfully it&#8217;s actually <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=326194">a reported bug</a> that has a solution. So you don&#8217;t have to trawl through the whole bug report, basically the steps I took to fix it (from the bug) are:</p>
<ul>
<li>Go to Help &gt; Install New Software</li>
<li>Enter <strong>http://download.eclipse.org/releases/helios</strong> into the &#8220;Work with&#8221; address</li>
<li>Wait for it to download the packages list</li>
<li>Type <strong>PHP</strong> into the filter text box</li>
<li>Three packages should appear, incidentally they are all the same at time of writing.</li>
<li>Check <strong>PHP Development Tools (PDT) SDK Feature 2.2.1.v20101001-2300-</strong>&#8230; (snip)</li>
<li>Click next and follow the normal installation procedure for packages</li>
</ul>
<p>This worked for me gladly, and hopefully it&#8217;ll work for you if you have the issue, but as I&#8217;m no expert with Eclipse-wrangling, I&#8217;m afraid I can&#8217;t offer any more support on this if it doesn&#8217;t work, but good luck, hey?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5pbfAHOiHu0:1iRNkFkn65A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5pbfAHOiHu0:1iRNkFkn65A:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5pbfAHOiHu0:1iRNkFkn65A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5pbfAHOiHu0:1iRNkFkn65A:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/5pbfAHOiHu0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/03/comparison-editor-stops-working-in-eclipse-pdt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/03/comparison-editor-stops-working-in-eclipse-pdt/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 2</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/W9mfrZRoyTc/</link>
		<comments>http://www.asgrim.com/2011/03/01/metal-mummys-movie-meme-week-2/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 13:48:56 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[boobies]]></category>
		<category><![CDATA[memento]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[schnidler's list]]></category>
		<category><![CDATA[sin city]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1984</guid>
		<description>So my fabulous fiancée is continuing her new meme (which I found out last week is pronounced like &amp;#8220;cream&amp;#8221;&amp;#8230; if you ever wondered&amp;#8230;), Metal Mummy&amp;#8217;s Movie Meme. This week is Black and White films. Again she made it quite broad, but this is particularly difficult for me. I am an avid lover of great quality movies, and [...]</description>
			<content:encoded><![CDATA[<p>So my fabulous fiancée is continuing her new meme (which I found out last week is pronounced like &#8220;cream&#8221;&#8230; if you ever wondered&#8230;), Metal Mummy&#8217;s Movie Meme. This week is Black and White films. Again she made it quite broad, but this is particularly difficult for me. I am an avid lover of great quality movies, and strive to have everything in High Definition, so when an old black &amp; white film comes on I fall asleep pretty much.</p>
<p>A couple of suggestions were Sin City (lots of boobies!!) and Schindlers List. I&#8217;m sorry for this, and I&#8217;ll probably get a lot of stick for this, but I found Schnidler&#8217;s List quite a boring film, and I fell asleep. So I did a bit of Googling, and came across <a href="http://en.wikipedia.org/wiki/List_of_post-1960s_films_in_black-and-white">this list</a>, which helped me find my film of choice:</p>
<p><strong>Memento</strong></p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/220px-Memento_poster.jpg"><img class="alignright size-full wp-image-1985" title="220px-Memento_poster" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/03/220px-Memento_poster.jpg" alt="" width="220" height="325" /></a>This film I really enjoyed. It sort of goes backwards and forwards through the story, so you have to concentrate a bit, but I love films like that, because if you do concentrate, you engage with the film more, and I think in turn enjoy the film more. This one has Guy Pearce in a great role and it&#8217;s well worth a watch. In HD of course <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Definately check it out, and of course check out Sin City if you haven&#8217;t (how could you not have seen that??? It&#8217;s got lots of boobies in it!)</p>
<p>Yay for boobies!</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg"></a></p>
<div style="clear: both;"></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=W9mfrZRoyTc:kiUJ4CYH4zk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=W9mfrZRoyTc:kiUJ4CYH4zk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=W9mfrZRoyTc:kiUJ4CYH4zk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=W9mfrZRoyTc:kiUJ4CYH4zk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/W9mfrZRoyTc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/03/01/metal-mummys-movie-meme-week-2/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/03/01/metal-mummys-movie-meme-week-2/</feedburner:origLink></item>
		<item>
		<title>Metal Mummy’s Movie Meme: Week 1</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/k3_LfYkuLSU/</link>
		<comments>http://www.asgrim.com/2011/02/22/metal-mummys-movie-meme-week-1/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 13:24:30 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[MMMM]]></category>
		<category><![CDATA[blood]]></category>
		<category><![CDATA[death]]></category>
		<category><![CDATA[gore]]></category>
		<category><![CDATA[killing]]></category>
		<category><![CDATA[mmmm]]></category>
		<category><![CDATA[movie]]></category>
		<category><![CDATA[murder]]></category>
		<category><![CDATA[rambo]]></category>
		<category><![CDATA[violence]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1964</guid>
		<description>I&amp;#8217;m taking part in Metal Mummy&amp;#8217;s Movie Meme &amp;#8211; yay! This week is 21st Century Films, but I&amp;#8217;m rubbish at thinking so I&amp;#8217;m going with the first modern film that is good that comes to my head. Rambo &amp;#8230; is a undeniably an awesome ultra-violent film. Well, for people that like guns and silly violence anyway. It&amp;#8217;s [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;m taking part in Metal Mummy&#8217;s Movie Meme &#8211; yay! This week is <strong><a href="http://www.metalmummy.co.uk/2011/02/metal-mummys-movie-meme-week-1/">21st Century Films</a></strong>, but I&#8217;m rubbish at thinking so I&#8217;m going with the first modern film that is good that comes to my head.</p>
<p><strong><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/02/rambo.jpg"><img class="alignright size-full wp-image-1965" title="rambo" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/02/rambo.jpg" alt="" width="320" height="213" /></a><a href="http://www.imdb.com/title/tt0462499/">Rambo</a></strong></p>
<p>&#8230; is a undeniably an awesome ultra-violent film. Well, for people that like guns and silly violence anyway. It&#8217;s got to be the choice film for me. Sly Stallone pummelling countless bodies with his lovely big 50 cal (pictured) is pure genius. Senseless, bloody violence.</p>
<p>Some would moan that the plot is weak or whatever, but they don&#8217;t quite understand clearly. Rambo isn&#8217;t about plot (even though the plot, although not the strongest, does have some ties to real-world situation&#8230; daft, I know!). It&#8217;s about macho-ism and slick death. If you get squeamish, this ain&#8217;t the film for you either. It&#8217;s not a slasher in the way the Friday 13th series is, but it&#8217;s a different concept. It has lots of guns, an excessively high body count and is great fun to watch. Sly Stallone is brilliant at it, and I think it&#8217;s nearly the best Rambo film to be honest, behind <a href="http://www.imdb.com/title/tt0083944/">First Blood</a>. It&#8217;s even better in HD &#8211; so make sure you get it on Sky+HD or <a href="http://www.amazon.co.uk/gp/product/B00171EE3A?ie=UTF8&amp;tag=mypre-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00171EE3A">Blu-ray</a><img style="border: none !important; margin: 0px !important; display: none;" src="http://www.assoc-amazon.co.uk/e/ir?t=mypre-21&amp;l=as2&amp;o=2&amp;a=B00171EE3A" border="0" alt="" width="1" height="1" />. Definately a film for a <a href="http://www.youtube.com/watch?v=YhVhcNTT5GQ">romantic</a> night in with the wench. Whilst clutching your <a href="http://www.asgrim.com/2008/01/09/new-gun/">assault rifle</a>. Drinking a <a href="http://www.bulmers.com">cider</a> with <a href="http://www.find-me-a-gift.co.uk/ak-bullet-ice-cube-tray.html">AK47 bullet ice cubes</a>.</p>
<p><strong>Bonus prize:</strong> Goes to the fantastic 2008 film <a href="http://www.imdb.com/title/tt0887912/">The Hurt Locker</a>. Although there are so many films I&#8217;m starting to think of that I could&#8217;ve written about (e.g. LOTR), The Hurt Locker is a fantastic film and very modern. It&#8217;s not ultra-violent, but it has a fantastic storyline and Jeremy Renner is fantastic in it. Again, worth a check out on <a href="http://www.amazon.co.uk/gp/product/B002KAIVMC?ie=UTF8&#038;tag=mypre-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=B002KAIVMC">Blu-ray</a><img src="http://www.assoc-amazon.co.uk/e/ir?t=mypre-21&#038;l=as2&#038;o=2&#038;a=B002KAIVMC" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important; display: none;" />.</p>
<p><a href="http://www.metalmummy.co.uk/"><img src="http://www.metalmummy.co.uk/wp-content/uploads/2011/02/MMMM-v2-copy.jpg" alt="" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=k3_LfYkuLSU:Y8ghaNohjgk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=k3_LfYkuLSU:Y8ghaNohjgk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=k3_LfYkuLSU:Y8ghaNohjgk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=k3_LfYkuLSU:Y8ghaNohjgk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/k3_LfYkuLSU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/22/metal-mummys-movie-meme-week-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/22/metal-mummys-movie-meme-week-1/</feedburner:origLink></item>
		<item>
		<title>Site Requires a More Current Browser – IE 5.5</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/1YIVXGcDMHE/</link>
		<comments>http://www.asgrim.com/2011/02/12/site-requires-a-more-current-browser-ie-5-5/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 23:55:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[netscape]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1960</guid>
		<description>I actually came across this today. In case you can&amp;#8217;t see the screengrab I made, or think it&amp;#8217;s doctored (apart from blurring the application name), it really does genuinely say: &amp;#8230;requires a more current browser, such as Internet Explorer 5.5 (Windows), Mozilla 1.7, Firefox 1.0 or Netscape 7.2. I had to actually read it a [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/02/current-browser-wtf.png"><img class="alignnone size-full wp-image-1961" title="current-browser-wtf" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/02/current-browser-wtf.png" alt="" width="541" height="152" /></a></p>
<p>I actually came across this today. In case you can&#8217;t see the screengrab I made, or think it&#8217;s doctored (apart from blurring the application name), it really does genuinely say:</p>
<blockquote><p>&#8230;requires a more current browser, such as Internet Explorer 5.5 (Windows), Mozilla 1.7, Firefox 1.0 or Netscape 7.2.</p></blockquote>
<p>I had to actually read it a few times. To put it a little more in perspective, I&#8217;m using Google Chrome 9.0.597.84&#8230; What I don&#8217;t get is why <em>anyone</em> would think IE 5.5 is a current browser, in any sense of the word. Well&#8230; that&#8217;s shoddy browser detection for you!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=1YIVXGcDMHE:BTv0W-_JX0w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=1YIVXGcDMHE:BTv0W-_JX0w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=1YIVXGcDMHE:BTv0W-_JX0w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=1YIVXGcDMHE:BTv0W-_JX0w:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/1YIVXGcDMHE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/12/site-requires-a-more-current-browser-ie-5-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/12/site-requires-a-more-current-browser-ie-5-5/</feedburner:origLink></item>
		<item>
		<title>Open Source Licenses – huh?</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/0rSicLj4qDU/</link>
		<comments>http://www.asgrim.com/2011/02/12/open-source-licenses-huh/#comments</comments>
		<pubDate>Sat, 12 Feb 2011 19:50:20 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[epl]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[lgpl]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[mit]]></category>
		<category><![CDATA[mpl]]></category>
		<category><![CDATA[open]]></category>
		<category><![CDATA[osi]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1955</guid>
		<description>OK so yesterday evening I released my first bit of Open Source code. Which is great, because I can start giving back to the community. Unfortunately this produces a new problem which I&amp;#8217;m really confused about now&amp;#8230; what license to use? Just to point out, that this isn&amp;#8217;t a guide to Open Source Licenses and [...]</description>
			<content:encoded><![CDATA[<p>OK so <a href="http://www.asgrim.com/2011/02/11/my-first-open-source-thingy/">yesterday evening</a> I released <a href="https://github.com/Asgrim/MAL">my first bit of Open Source code</a>. Which is great, because I can start giving back to the community. Unfortunately this produces a new problem which I&#8217;m really confused about now&#8230; what license to use? Just to point out, that this isn&#8217;t a guide to Open Source Licenses and I can&#8217;t help you choose which one &#8211; not because I&#8217;m mean or don&#8217;t want to reveal my secrets &#8211; but because I honestly don&#8217;t know either. I&#8217;m currently using <a href="http://www.opensource.org/licenses/gpl-3.0.html">GNU GPLv3</a> but that may change (and as the copyright holder, I <em>believe</em> that I can change the license willy-nilly or something&#8230; I hope). Benjie <a href="http://www.asgrim.com/2011/02/11/my-first-open-source-thingy/comment-page-1/#comment-44459">suggested</a> I use <a href="http://www.opensource.org/licenses/bsd-license">BSD</a>/<a href="http://www.opensource.org/licenses/mit-license.php">MIT</a> licenses, and that&#8217;s sort of what kicked this turmoil in my head off.</p>
<p>These are the things I&#8217;m trying to bear in mind when hunting for a license to use:</p>
<ul>
<li>I don&#8217;t want people to bundle the code in closed-source programs without having a link to where the source code can be found for my modules</li>
<li>I don&#8217;t mind if people use it in a money making software as long as I&#8217;m attributed to it</li>
<li>I&#8217;d encourage (but not force) modifications to be sent back to me to improve the original package</li>
<li>I wouldn&#8217;t want it forked for the purpose of making money (i.e. I don&#8217;t mind if it&#8217;s used as part of a money making software, but I don&#8217;t want it to be distributed on it&#8217;s own to make money)</li>
<li>I want to use it in my own projects (some of which are closed source)</li>
</ul>
<p>Bear in mind this list isn&#8217;t strict, I&#8217;m actually quite flexible with my needs. I&#8217;ve sort  of narrowed it down to <a href="http://www.opensource.org/licenses/gpl-3.0.html">GPL</a>, <a href="http://www.opensource.org/licenses/lgpl-3.0.html">LGPL</a>, <a href="http://www.opensource.org/licenses/mit-license.php">MIT</a>, <a href="http://www.opensource.org/licenses/bsd-license">BSD</a>, <a href="http://www.opensource.org/licenses/mozilla1.1">MPL</a> or <a href="http://www.opensource.org/licenses/eclipse-1.0">EPL</a>. Which to be fair, is most of the &#8220;bigger&#8221; ones.</p>
<p>Or am I over thinking this whole thing? It&#8217;s just a bunch of code I&#8217;ve written that probably only I find useful, so is there any point in thinking too much about a license, and just go with MIT or BSD (what the hells the difference in those two anyway?!?). Answers on a postcode kthxbai. Or just comment <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><strong>Update</strong>: Here are some links I&#8217;m looking at which might be handy when choosing you&#8217;re own open source license:</p>
<ul>
<li><a href="http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html">http://www.codinghorror.com/blog/2007/04/pick-a-license-any-license.html</a></li>
<li><a href="http://www.zdnet.com/blog/burnette/how-to-pick-an-open-source-license-part-2/131">http://www.zdnet.com/blog/burnette/how-to-pick-an-open-source-license-part-2/131</a></li>
<li><a href="http://www.opensource.org/licenses/category">http://www.opensource.org/licenses/category</a></li>
<li><a href="http://blog.milkingthegnu.org/2008/03/10-answers-for.html">http://blog.milkingthegnu.org/2008/03/10-answers-for.html</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0rSicLj4qDU:yvq6uNBB3FU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0rSicLj4qDU:yvq6uNBB3FU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0rSicLj4qDU:yvq6uNBB3FU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0rSicLj4qDU:yvq6uNBB3FU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/0rSicLj4qDU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/12/open-source-licenses-huh/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/12/open-source-licenses-huh/</feedburner:origLink></item>
		<item>
		<title>My First Open Source Thingy</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/rlOSXvhdUMY/</link>
		<comments>http://www.asgrim.com/2011/02/11/my-first-open-source-thingy/#comments</comments>
		<pubDate>Fri, 11 Feb 2011 23:42:33 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[zf]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1952</guid>
		<description>So tonight I released the start of some useful PHP libraries I use when I&amp;#8217;m doing Zend Framework coding. Right now there&amp;#8217;s hardly anything there (an eBay Trading API client, and a DbTable Mapper tool) but I&amp;#8217;m planning on adding more stuff as I find it useful. It&amp;#8217;s released under the GNU GPLv3, although to [...]</description>
			<content:encoded><![CDATA[<p>So tonight I released the start of some useful PHP libraries I use when I&#8217;m doing Zend Framework coding. Right now there&#8217;s hardly anything there (an eBay Trading API client, and a DbTable Mapper tool) but I&#8217;m planning on adding more stuff as I find it useful. It&#8217;s released under the GNU GPLv3, although to be frank I have no idea what is good and what&#8217;s not&#8230;</p>
<p>What&#8217;s quite special for me is that this is the first time I&#8217;ve actually released my own source code under an open source license. I&#8217;ve done plenty of development in my time, but for such a long time I&#8217;ve wanted to give back to the community. I know it&#8217;s not a huge amount at the moment, but it&#8217;s a start and I hope to build on it, and hopefully someone, somewhere, will find it useful and perhaps even contribute back one day.</p>
<p>I&#8217;ve called my libraries &#8220;MAL&#8221; which (hat-tip to <a href="http://twitter.com/robertbasic">@robertbasic</a> here!) stands for Mighty Asgrim&#8217;s Libraries&#8230; which will do just fine I guess. I didn&#8217;t come up with anything better, and &#8220;MAL&#8221; is quite catch anyway.</p>
<p>Anyway, if you&#8217;d like to check it out, take a peek on github at: <a href="https://github.com/Asgrim/MAL">https://github.com/Asgrim/MAL</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=rlOSXvhdUMY:Qj_EwssfPKk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=rlOSXvhdUMY:Qj_EwssfPKk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=rlOSXvhdUMY:Qj_EwssfPKk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=rlOSXvhdUMY:Qj_EwssfPKk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/rlOSXvhdUMY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/11/my-first-open-source-thingy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/11/my-first-open-source-thingy/</feedburner:origLink></item>
		<item>
		<title>Recipe: Home Made Tomato Soup</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/0-cX94l5GoQ/</link>
		<comments>http://www.asgrim.com/2011/02/07/recipe-home-made-tomato-soup/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 20:21:44 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[basil]]></category>
		<category><![CDATA[celery]]></category>
		<category><![CDATA[potato]]></category>
		<category><![CDATA[puree]]></category>
		<category><![CDATA[rosemary]]></category>
		<category><![CDATA[soup]]></category>
		<category><![CDATA[stock]]></category>
		<category><![CDATA[tomato]]></category>
		<category><![CDATA[vegetable]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1868</guid>
		<description>Soup is always a winner when you&amp;#8217;re ill and my favourite is always tomato soup. Making your own is pretty much as easy as getting a tin, and here&amp;#8217;s how it&amp;#8217;s done&amp;#8230; Ingredients 6-10 Large on the vine tomatoes 1pt Vegetable stock Basil &amp;#38; Rosemary 1 fist-sized white potato 1 Large celery stick Tomato purée [...]</description>
			<content:encoded><![CDATA[<p>Soup is always a winner when you&#8217;re ill and my favourite is always tomato soup. Making your own is pretty much as easy as getting a tin, and here&#8217;s how it&#8217;s done&#8230;</p>
<p><strong>Ingredients</strong></p>
<ul>
<li>6-10 Large on the vine tomatoes</li>
<li>1pt Vegetable stock</li>
<li>Basil &amp; Rosemary</li>
<li>1 fist-sized white potato</li>
<li>1 Large celery stick</li>
<li>Tomato purée</li>
</ul>
<p><strong>Instructions</strong></p>
<p>Cut the stalks nubs out of the tomatoes. Roughly slice. Peel and roughly slice the potato into 1-2cm chunks. Roughly chop the celery.</p>
<p>Heat a large saucepan with butter and olive oil. Add the potato chunks and sauté briefly. Add the tomatoes, stock, herbs and celery. Add a squirt of tomato purée and stir thoroughly. Gently boil with the lid on for 15-20 minutes, seasoning as necessary. Take off the heat and leave to cool.</p>
<p>Once cooled, liquidise everything and warm back up on the hob. Serve with buttered crusty bread and a nice wine.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0-cX94l5GoQ:aMKCt7urBdo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0-cX94l5GoQ:aMKCt7urBdo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=0-cX94l5GoQ:aMKCt7urBdo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=0-cX94l5GoQ:aMKCt7urBdo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/0-cX94l5GoQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/07/recipe-home-made-tomato-soup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/07/recipe-home-made-tomato-soup/</feedburner:origLink></item>
		<item>
		<title>Block Single IP Address with iptables</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/51lUKAmYtU8/</link>
		<comments>http://www.asgrim.com/2011/02/06/block-single-ip-address-with-iptables/#comments</comments>
		<pubDate>Sun, 06 Feb 2011 20:36:09 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[brute]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[force]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[single]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1947</guid>
		<description>I occasionally get some kind of a brute force attack trying to get into my server. Thankfully it&amp;#8217;s pretty easy to spot (/var/log/auth.log gets filled quickly), and just as easy to put a stop to (unfortunately not once-and-for-all). All you need is iptables installed (apt-get install iptables), and just run: $ iptables -A INPUT -s [...]</description>
			<content:encoded><![CDATA[<p>I occasionally get some kind of a brute force attack trying to get into my server. Thankfully it&#8217;s pretty easy to spot (/var/log/auth.log gets filled quickly), and just as easy to put a stop to (unfortunately not once-and-for-all).</p>
<p>All you need is iptables installed (apt-get install iptables), and just run:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ iptables <span style="color: #660033;">-A</span> INPUT <span style="color: #660033;">-s</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>ip_address<span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #660033;">-j</span> DROP</pre></div></div>

<p>Where [ip_address] is the IP from the logs that you want to block.</p>
<p>You can view your current iptables firewall list and check the IP has been added by:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ iptables <span style="color: #660033;">-L</span>
Chain INPUT <span style="color: #7a0874; font-weight: bold;">&#40;</span>policy ACCEPT<span style="color: #7a0874; font-weight: bold;">&#41;</span>
target     prot opt <span style="color: #7a0874; font-weight: bold;">source</span>               destination
DROP       all  --  <span style="color: #7a0874; font-weight: bold;">&#91;</span>ip_address<span style="color: #7a0874; font-weight: bold;">&#93;</span>         anywhere
<span style="color: #660033;">--snip--</span></pre></div></div>

<p>Easy! There are other ways of stopping attacks such as brute force attacks (such as limiting access to SSH to certain IPs for example) but this is just a simple quick post, I&#8217;m not going into massive security rant here!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=51lUKAmYtU8:KQDZTpFHAo4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=51lUKAmYtU8:KQDZTpFHAo4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=51lUKAmYtU8:KQDZTpFHAo4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=51lUKAmYtU8:KQDZTpFHAo4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/51lUKAmYtU8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/06/block-single-ip-address-with-iptables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/06/block-single-ip-address-with-iptables/</feedburner:origLink></item>
		<item>
		<title>A Couple of Tips For Setting Up DeployHQ Servers</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/VPZpU_lGcG4/</link>
		<comments>http://www.asgrim.com/2011/02/04/a-couple-of-tips-for-setting-up-deployhq-servers/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 22:11:22 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[codebase]]></category>
		<category><![CDATA[codebasehq]]></category>
		<category><![CDATA[commands]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[deployhq]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[sftp]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1944</guid>
		<description>One of the excellently useful tools by the awesome aTech Media is the handy deployment tool DeployHQ. It&amp;#8217;s incredibly easy to use &amp;#8211; in fact they say &amp;#8220;So simple, your Nan could deploy your project!&amp;#8221; And once it&amp;#8217;s all set up it really is that simple. I won&amp;#8217;t go into the details of how it all [...]</description>
			<content:encoded><![CDATA[<p>One of the excellently useful tools by the awesome <a href="http://atechmedia.com/">aTech Media</a> is the handy deployment tool <a href="http://www.deployhq.com/">DeployHQ</a>. It&#8217;s incredibly easy to use &#8211; in fact they say &#8220;So simple, your Nan could deploy your project!&#8221; And once it&#8217;s all set up it really is that simple. I won&#8217;t go into the details of how it all works because it&#8217;s easy enough to sign up for a trial yourself and have a play!</p>
<p>One thing I did run in to was configuring my FTP server. It turns out that the user that DeployHQ logs in as needs write access! Whodathunkit, rite?!?! So anyway, make sure the FTP user you&#8217;ve created for DeployHQ to deploy to your FTP server has the right access to read, write and delete files. DeployHQ will just say it can&#8217;t connect, rather than a useful message such as &#8220;we connected fine, but couldn&#8217;t write a test file&#8221; because that&#8217;s what they do &#8211; to check your FTP is set up OK they try uploading a file and deleting it.</p>
<p>But the whole last paragraph is a bit null and void really because the <em>best</em> way to deploy with DeployHQ is to use SSH/SFTP server to deploy. It gives you the awesomely powerful tool of being able to not just upload, but run commands before or after, for example you might need to create some directories before the upload, or perhaps delete a cache or something. Or after upload you might need to chmod/chown a file, or check a project (e.g. Zend Framework) out using SVN once your own project is uploaded. SFTP makes this so much more flexible on DeployHQ, so I highly recommend setting that up. Not only is it easy, but you can do SSH key authentication instead of user/passwords. Huzzah!</p>
<p>While you&#8217;re looking at handy tools, why not sign up to the super useful and powerful project management and code hosting tool <a href="http://www.codebasehq.com/t/vy1vushh8we3mh7j">CodebaseHQ</a> (please use this link as it&#8217;s an affiliate link!).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VPZpU_lGcG4:HoJDP99n-OE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VPZpU_lGcG4:HoJDP99n-OE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VPZpU_lGcG4:HoJDP99n-OE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VPZpU_lGcG4:HoJDP99n-OE:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/VPZpU_lGcG4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/04/a-couple-of-tips-for-setting-up-deployhq-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/04/a-couple-of-tips-for-setting-up-deployhq-servers/</feedburner:origLink></item>
		<item>
		<title>Recipe: Home Made Schnitzel</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/oDyG4dzQAIg/</link>
		<comments>http://www.asgrim.com/2011/02/02/recipe-home-made-schnitzel/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 21:12:22 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[bread]]></category>
		<category><![CDATA[breadcrumbs]]></category>
		<category><![CDATA[escalopes]]></category>
		<category><![CDATA[flour]]></category>
		<category><![CDATA[milk]]></category>
		<category><![CDATA[pork]]></category>
		<category><![CDATA[schnitzel]]></category>
		<category><![CDATA[turkey]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1833</guid>
		<description>I&amp;#8217;ve made this lovely dish a few times now &amp;#8211; it&amp;#8217;s simple, quick and a lot of fun actually! This recipe would also work well with other meats such as turkey. Ingredients (serves 2) 2x Pork Chops or Loins 2x Slices of stale bread 50ml semi-skimmed milk Plain Flour Instructions Make sure you leave some [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve made this lovely dish a few times now &#8211; it&#8217;s simple, quick and a lot of fun actually! This recipe would also work well with other meats such as turkey.</p>
<p><strong>Ingredients (serves 2)<br />
</strong></p>
<ul>
<li><span style="text-decoration: underline;"></span>2x Pork Chops or Loins</li>
<li>2x Slices of stale bread</li>
<li>50ml semi-skimmed milk</li>
<li>Plain Flour</li>
</ul>
<p><strong>Instructions</strong></p>
<p><em>Make sure you leave some bread out to go stale over 24 hours or so before preparation.</em></p>
<p>Whiz the bread in a food processor into very fine breadcrumbs. Put in a pasta plate or slightly curved plate. Take another plate of the same and put in your milk, place that bowl to the left of your breadcrumbs. In another plate, to the left of the milk plate, put a handful of plain flour.</p>
<p>Next, take your pork chops or loins and cut off any large pieces of fat. Wrap in cling film and flatten with a rolling pin or meat tenderiser, taking care that the chop stays in one piece. Flatten the meat until it is between 5-10mm thick.</p>
<p>Once your meat has been flattened, take one and place in the flour bowl, coating thoroughly. Dip quickly in the milk and quickly shake off the excess, and finally place the meat in the breadcrumbs. Cover with some loose breadcrumbs and press down firmly to ensure they stick to the milk. Put to the side on a plate, and repeat the process with the other chop.</p>
<p>Heat a griddle pan on medium with a good lug of olive oil and gently cook the chops until the breadcrumbs are a lovely golden colour and the meat is cooked through.</p>
<p>Serve with a nice salad or mash and fresh vegetables.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oDyG4dzQAIg:EkcBcYBsu2I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oDyG4dzQAIg:EkcBcYBsu2I:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oDyG4dzQAIg:EkcBcYBsu2I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oDyG4dzQAIg:EkcBcYBsu2I:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/oDyG4dzQAIg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/02/02/recipe-home-made-schnitzel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/02/02/recipe-home-made-schnitzel/</feedburner:origLink></item>
		<item>
		<title>Locking Down By IP in PHP</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/bdmD8n24sN0/</link>
		<comments>http://www.asgrim.com/2011/01/30/locking-down-by-ip-in-php/#comments</comments>
		<pubDate>Sun, 30 Jan 2011 17:12:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[check]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[lock]]></category>
		<category><![CDATA[range]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1888</guid>
		<description>Sometimes I need to lock certain pages (e.g. webservices) down by IP address(es). It&amp;#8217;s a pretty simple task, even when it comes to IP ranges: $allowed_ips = array&amp;#40;&amp;#41;; $allowed_ips&amp;#91;&amp;#93; = array&amp;#40;&amp;#34;192.168.0.0&amp;#34;, &amp;#34;192.168.0.11&amp;#34;&amp;#41;; // A range of IP addresses $allowed_ips&amp;#91;&amp;#93; = &amp;#34;192.168.0.50&amp;#34;; // A single IP address &amp;#160; $remote_addr = $_SERVER&amp;#91;'REMOTE_ADDR'&amp;#93;; &amp;#160; $invalid_ip = true; &amp;#160; [...]</description>
			<content:encoded><![CDATA[<p>Sometimes I need to lock certain pages (e.g. webservices) down by IP address(es). It&#8217;s a pretty simple task, even when it comes to IP ranges:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$allowed_ips</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$allowed_ips</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;192.168.0.0&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;192.168.0.11&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// A range of IP addresses</span>
<span style="color: #000088;">$allowed_ips</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;192.168.0.50&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// A single IP address</span>
&nbsp;
<span style="color: #000088;">$remote_addr</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REMOTE_ADDR'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$invalid_ip</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">foreach</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed_ips</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$allowed_ip</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">is_array</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed_ip</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Range check the IP</span>
    <span style="color: #000088;">$l_remote_addr</span> <span style="color: #339933;">=</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$remote_addr</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$l_remote_addr</span> <span style="color: #339933;">&gt;=</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed_ip</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$l_remote_addr</span> <span style="color: #339933;">&lt;=</span> <span style="color: #990000;">ip2long</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$allowed_ip</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #000088;">$invalid_ip</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$remote_addr</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$allowed_ip</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$invalid_ip</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$invalid_ip</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'HTTP/1.1 403 Forbidden'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;403 Forbidden - IP not allowed&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The concept of this is actually pretty simple. First I build an array of IP addresses I want to allow through. There are two options &#8211; first is a range, presented in an array format, the first being the lowest IP to allow and the second being the highest IP to allow. The second example is a single IP address &#8211; pretty straightforward.</p>
<p>All we do then is get the client&#8217;s IP from $_SERVER and loop through our allowed IPs. If it&#8217;s an array, we convert the IP addresses to their long format (i.e. numeric) and do a simple range check. If it&#8217;s a normal IP, we do a straight comparison. If it&#8217;s a valid IP, just toggle the boolean to false.</p>
<p>Finally, if the boolean hasn&#8217;t been toggled and the IP has not been flagged as an allowed IP, then just send some kind of message&#8230;</p>
<p>One drawback doing this comes to mind though, specifically with the range check &#8211; I am not sure exactly how this would operate across multiple subnets, so it may be an idea to limit the range to a single subnet (e.g. 192.168.0.0 up to 192.168.255.255 might react badly when compared to 192.168.0.0 up to 192.168.0.255). I haven&#8217;t got enough time to look into it as I&#8217;m snowed under with client work, but it&#8217;s at least a basic idea that could prove handy!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=bdmD8n24sN0:_18tPIFZNo8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=bdmD8n24sN0:_18tPIFZNo8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=bdmD8n24sN0:_18tPIFZNo8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=bdmD8n24sN0:_18tPIFZNo8:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/bdmD8n24sN0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/30/locking-down-by-ip-in-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/30/locking-down-by-ip-in-php/</feedburner:origLink></item>
		<item>
		<title>My CodebaseHQ v4 Wishlist</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/a835seU0mjk/</link>
		<comments>http://www.asgrim.com/2011/01/28/my-codebasehq-v4-wishlist/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 21:37:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[codebase]]></category>
		<category><![CDATA[codebasehq]]></category>
		<category><![CDATA[deployhq]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[task]]></category>
		<category><![CDATA[tickets]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1925</guid>
		<description>I&amp;#8217;ve started using CodebaseHQ recently for hosting Git repositories, managing client requests and ideas (using the tickets) and time tracking to start giving me more of an idea of how much I should be billing my clients. I&amp;#8217;ve been absolutely loving it, and I&amp;#8217;m excited to hear they&amp;#8217;re working on a v4 big update which [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve started using <a href="http://www.codebasehq.com/t/vy1vushh8we3mh7j">CodebaseHQ</a> recently for hosting Git repositories, managing client requests and ideas (using the tickets) and time tracking to start giving me more of an idea of how much I should be billing my clients. I&#8217;ve been absolutely loving it, and I&#8217;m excited to hear they&#8217;re working on a <a href="http://www.codebasehq.com/v4">v4</a> big update which I&#8217;m hoping to be part of the beta for. There&#8217;s a few things I&#8217;d like to see in the next update:</p>
<h3>Time Tracking</h3>
<p>I&#8217;ve found time tracking to be invaluable &#8211; I&#8217;ve not done it for freelance/personal projects before, but I&#8217;m starting to find it really useful &#8211; in fact more useful to me than time tracking at work. At work it&#8217;s important to our commercial team to see how much a task has &#8220;cost&#8221; them as it were, but previously I was of the mindset &#8220;why bother with my own stuff&#8221;? I have since realised it&#8217;s important because it places a truer value on a fixed cost quote you have given the client. You may have over or undercharged a client, and although your contract may not allow you to charge more (or less!), it allows you to learn from your mistakes and charge your next client more effectively.</p>
<p>What I&#8217;d like to see in Codebase v4 is the ability to view the time spent on a particular project overall. Then I can calculate what I should have charged the client based on an hourly rate. Additionally, I&#8217;d like to see it broken down by category (for example I spent 40% of my time doing Database work), and also when you&#8217;re viewing a ticket to see the total time logged against that ticket &#8211; although that is slightly less important I feel.</p>
<h3>Better Integration with DeployHQ</h3>
<p>DeployHQ is another fantastic tool, and with any paid-for Codebase account you get a free DeployHQ account with up to 5 projects &#8211; so it&#8217;s a no-brainer really. It makes deployment easy from any Git/Hg/SVN repository (not just ones you host on Codebase!), but I&#8217;d like to see it get even easier. Firstly I&#8217;d like to be able to automatically log in to my linked DeployHQ account so I don&#8217;t have to enter another set of credentials. Secondly I&#8217;d like to be able to link a Codebase project to a DeployHQ project and click a button in Codebase to automatically open the deployment wizard (again, without having to log in). I think that&#8217;d make my life just a little bit easier.</p>
<h3>Better Ticket Management</h3>
<p>I really like the simplicity of the tickets. It&#8217;s just enough information for me to handle without getting it really complicated, and far more useful that GitHub&#8217;s ticket system (comprising of description and comments, and a status of open or closed &#8211; and that&#8217;s it). Using milestones with tickets is also a no-brainer and makes life so much easier. I would like to be able to sort by more than one thing in the ticket list though &#8211; e.g. by Priority then by Status. I&#8217;d also like to see the ability to change the available ticket types. Even though Bug, Enhancement and Task covers off most bases, I&#8217;d like to be able to add a couple more types in, e.g. &#8220;Wireframing&#8221; or &#8220;Design&#8221;.</p>
<h3>HTTP Public Read-Only Git Repositories</h3>
<p>I&#8217;d like to be able to share an HTTP read-only git repository URL for people to clone source for some of my open-source type projects, e.g. http://codebasehq.com/&lt;username&gt;/&lt;project&gt;/&lt;repo&gt;.git but that&#8217;s only a &#8220;nice to have&#8221; thing. I can cope without it&#8230;</p>
<h3>Don&#8217;t Remove The Ability to Archive Projects</h3>
<p>I&#8217;m not saying this because I&#8217;ve heard they&#8217;re removing it, I&#8217;m saying don&#8217;t even think about it because it&#8217;s one of the most useful things about Codebase. The ability to archive a project and safely store old clients code without having to archive them to a separate server is just fantastic. Not only that, but the ability to re-open the project in case your client needs more stuff done is simply terrific. I love this feature, so to pre-empt any move to remove this feature, please please don&#8217;t remove it! <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Conclusion</h3>
<p>Reading that list back shows that they are all minor things really, which shows just how powerful and useful Codebase is. I highly recommend you sign up for a 15-day trial and check it out for yourself. I do ask that if my article helped twist your arm that you use my affiliate link to sign up which is:</p>
<h2><a href="http://www.codebasehq.com/t/vy1vushh8we3mh7j">http://www.codebasehq.com/t/vy1vushh8we3mh7j</a></h2>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a835seU0mjk:ILwMZz1wIT0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a835seU0mjk:ILwMZz1wIT0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a835seU0mjk:ILwMZz1wIT0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a835seU0mjk:ILwMZz1wIT0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/a835seU0mjk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/28/my-codebasehq-v4-wishlist/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/28/my-codebasehq-v4-wishlist/</feedburner:origLink></item>
		<item><title>Links for 2011-01-16 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/pV7ocE3qmvw/AsgrimTheMighty</link><pubDate>Mon, 17 Jan 2011 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2011-01-16</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://jsonviewer.stack.hu/"&gt;Online JSON Viewer&lt;/a&gt;&lt;br/&gt;
Handy JSON viewer which is quite nice to use, visualises it a bit like Firebug.&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/pV7ocE3qmvw" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2011-01-16</feedburner:origLink></item><item>
		<title>365: Jan 11</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/ftiMxiPm1is/</link>
		<comments>http://www.asgrim.com/2011/01/11/365-jan-11/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 23:08:26 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/11/365-jan-11/</guid>
		<description>Oops forgot yesterday&amp;#8230; can see my enthusiasm for this idea fading already and I&amp;#8217;m not even 2 weeks in&amp;#8230; so here&amp;#8217;s a view from my side of the bed anyway&amp;#8230;</description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-1294787263233.jpg" /></p>
<p>Oops forgot yesterday&#8230; can see my enthusiasm for this idea fading already and I&#8217;m not even 2 weeks in&#8230; so here&#8217;s a view from my side of the bed anyway&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ftiMxiPm1is:MRK5azc6-WU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ftiMxiPm1is:MRK5azc6-WU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ftiMxiPm1is:MRK5azc6-WU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ftiMxiPm1is:MRK5azc6-WU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/ftiMxiPm1is" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/11/365-jan-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/11/365-jan-11/</feedburner:origLink></item>
		<item>
		<title>365: Jan 9</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/__HsB3RSuto/</link>
		<comments>http://www.asgrim.com/2011/01/09/365-jan-9/#comments</comments>
		<pubDate>Sun, 09 Jan 2011 12:24:56 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/09/365-jan-9/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-IMAG0072.jpg" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=__HsB3RSuto:pk_xr9u3X98:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=__HsB3RSuto:pk_xr9u3X98:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=__HsB3RSuto:pk_xr9u3X98:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=__HsB3RSuto:pk_xr9u3X98:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/__HsB3RSuto" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/09/365-jan-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/09/365-jan-9/</feedburner:origLink></item>
		<item>
		<title>365: Jan 8</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/yWJ0PF1gQ1Y/</link>
		<comments>http://www.asgrim.com/2011/01/08/365-jan-8/#comments</comments>
		<pubDate>Sat, 08 Jan 2011 13:43:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/08/365-jan-8/</guid>
		<description>New tyres fitted!</description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-IMAG0066.jpg" /></p>
<p>New tyres fitted!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yWJ0PF1gQ1Y:DQ6WtvcmOSA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yWJ0PF1gQ1Y:DQ6WtvcmOSA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yWJ0PF1gQ1Y:DQ6WtvcmOSA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yWJ0PF1gQ1Y:DQ6WtvcmOSA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/yWJ0PF1gQ1Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/08/365-jan-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/08/365-jan-8/</feedburner:origLink></item>
		<item>
		<title>365: Jan 7</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/CQJrxCY4IoQ/</link>
		<comments>http://www.asgrim.com/2011/01/07/365-jan-7/#comments</comments>
		<pubDate>Fri, 07 Jan 2011 17:04:58 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1914</guid>
		<description></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1916" title="Photo512-sm" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/Photo512-sm.jpg" alt="" width="500" height="375" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=CQJrxCY4IoQ:o_AlzLRqyGo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=CQJrxCY4IoQ:o_AlzLRqyGo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=CQJrxCY4IoQ:o_AlzLRqyGo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=CQJrxCY4IoQ:o_AlzLRqyGo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/CQJrxCY4IoQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/07/365-jan-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/07/365-jan-7/</feedburner:origLink></item>
		<item>
		<title>365: Jan 6</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/FP2XmhXJIqw/</link>
		<comments>http://www.asgrim.com/2011/01/06/365-jan-6/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 21:28:29 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/06/365-jan-6/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-IMAG0063.jpg" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=FP2XmhXJIqw:jdAAPRrNFOg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=FP2XmhXJIqw:jdAAPRrNFOg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=FP2XmhXJIqw:jdAAPRrNFOg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FP2XmhXJIqw:jdAAPRrNFOg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/FP2XmhXJIqw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/06/365-jan-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/06/365-jan-6/</feedburner:origLink></item>
		<item>
		<title>365: Jan 5</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/ZVQJWUE1aQ0/</link>
		<comments>http://www.asgrim.com/2011/01/05/365-jan-5/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 21:10:25 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/05/365-jan-5/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-IMAG0058.jpg" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZVQJWUE1aQ0:iXQMXHCy6u4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZVQJWUE1aQ0:iXQMXHCy6u4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=ZVQJWUE1aQ0:iXQMXHCy6u4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=ZVQJWUE1aQ0:iXQMXHCy6u4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/ZVQJWUE1aQ0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/05/365-jan-5/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/05/365-jan-5/</feedburner:origLink></item>
		<item>
		<title>365: Jan 4</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/pPKmNQLtGAA/</link>
		<comments>http://www.asgrim.com/2011/01/04/365-jan-4/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 22:43:10 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/04/365-jan-4/</guid>
		<description></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-IMAG0057.jpg" /></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=pPKmNQLtGAA:VJw7tC7Czew:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=pPKmNQLtGAA:VJw7tC7Czew:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=pPKmNQLtGAA:VJw7tC7Czew:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=pPKmNQLtGAA:VJw7tC7Czew:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/pPKmNQLtGAA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/04/365-jan-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/04/365-jan-4/</feedburner:origLink></item>
		<item>
		<title>365: Jan 3</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/AMgm3OMDefg/</link>
		<comments>http://www.asgrim.com/2011/01/03/365-jan-3/#comments</comments>
		<pubDate>Mon, 03 Jan 2011 16:51:11 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1902</guid>
		<description></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/SDC13190.jpg"><img class="aligncenter wp-image-1904" title="Walking on the seafront" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/SDC13190-768x1024.jpg" alt="" width="500" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=AMgm3OMDefg:pFBy8K5e2b0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=AMgm3OMDefg:pFBy8K5e2b0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=AMgm3OMDefg:pFBy8K5e2b0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=AMgm3OMDefg:pFBy8K5e2b0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/AMgm3OMDefg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/03/365-jan-3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/03/365-jan-3/</feedburner:origLink></item>
		<item>
		<title>365: Jan 2 (New project maybe…)</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/JUwOj1cpu_w/</link>
		<comments>http://www.asgrim.com/2011/01/02/365-new-project-maybe/#comments</comments>
		<pubDate>Sun, 02 Jan 2011 20:33:21 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[365]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2011/01/02/365-new-project-maybe/</guid>
		<description>I don&amp;#8217;t know if I&amp;#8217;ll keep this up or not but friends of mine (@jaspertandy and @kat_southseamum) have done this. In fact it was Kat starting it on the 1st that prompted me&amp;#8230; so a day late I&amp;#8217;m going to start my own 365 project, even though it&amp;#8217;ll end up probably being 10 or so. [...]</description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter wp-image-1904" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2011/01/wpid-1294000097694.jpg" alt="image" width="500" height="299" /></p>
<p>I don&#8217;t know if I&#8217;ll keep this up or not but friends of mine (@jaspertandy and @kat_southseamum) have done this. In fact it was Kat starting it on the 1st that prompted me&#8230; so a day late I&#8217;m going to start my own 365 project, even though it&#8217;ll end up probably being 10 or so. But if it does work, it&#8217;ll get me back into blogging more regularly maybe!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JUwOj1cpu_w:D8jJIzKoc74:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JUwOj1cpu_w:D8jJIzKoc74:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JUwOj1cpu_w:D8jJIzKoc74:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JUwOj1cpu_w:D8jJIzKoc74:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/JUwOj1cpu_w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2011/01/02/365-new-project-maybe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2011/01/02/365-new-project-maybe/</feedburner:origLink></item>
		<item><title>Links for 2010-12-20 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/SQcdbGK8-q8/AsgrimTheMighty</link><pubDate>Tue, 21 Dec 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-12-20</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.lornajane.net/posts/2010/Preparing-for-ZCE-5.3"&gt;Preparing for ZCE 5.3 - LornaJane&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fivesimplesteps.com/books/the-24-ways-annual-2010"&gt;The 24 Ways Annual 2010 | Five Simple Steps&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/SQcdbGK8-q8" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-12-20</feedburner:origLink></item><item><title>Links for 2010-12-17 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/BzbZVPXJfO4/AsgrimTheMighty</link><pubDate>Sat, 18 Dec 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-12-17</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://techcrunch.com/2010/12/16/is-yahoo-shutting-down-del-icio-us/"&gt;Is Yahoo Shutting Down Del.icio.us? [Update: Yes]&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/BzbZVPXJfO4" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-12-17</feedburner:origLink></item><item>
		<title>November 2010 Metal Releases</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/VpkicAlpD2U/</link>
		<comments>http://www.asgrim.com/2010/12/16/november-2010-metal-releases/#comments</comments>
		<pubDate>Thu, 16 Dec 2010 21:04:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[monthly metal]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1894</guid>
		<description>Sorry this one&amp;#8217;s a bit late &amp;#8211; it&amp;#8217;s been so crazy in the lead-up to Yuletide, but boy we have some good stocking fillers here for any discerning metalhead: Ross the Boss &amp;#8211; Hailstorm (Spotify) Aborym &amp;#8211; Psychogrotesque (Spotify) Atheist &amp;#8211; Jupiter (Spotify) Behemoth &amp;#8211; Evangelia Heretika (Live DVD) (Spotify) Gwar &amp;#8211; Bloody Pit of [...]</description>
			<content:encoded><![CDATA[<p>Sorry this one&#8217;s a bit late &#8211; it&#8217;s been so crazy in the lead-up to Yuletide, but boy we have some good stocking fillers here for any discerning metalhead:</p>
<ul>
<li>Ross the Boss &#8211; Hailstorm (<a href="http://open.spotify.com/album/6UO5gvQd0GH5x3aAy7rMGE">Spotify</a>)</li>
<li>Aborym &#8211; Psychogrotesque (<a href="http://open.spotify.com/album/1z7kvpOEEhIg4QcsyTa0cS">Spotify</a>)</li>
<li>Atheist &#8211; Jupiter (Spotify)</li>
<li>Behemoth &#8211; Evangelia Heretika (Live DVD) (Spotify)</li>
<li>Gwar &#8211; Bloody Pit of Horror (Spotify)</li>
<li>Impaled Nazarene (Spotify)</li>
<li>Sodom &#8211; In War and Pieces (Spotify)</li>
<li>Agalloch &#8211; Marrow of the Spirit</li>
</ul>
<p>I&#8217;m certainly looking forward to Agalloch&#8217;s new record, but alas as always with the ones I really look forward to it&#8217;s not on Spotify yet &#8211; Enslaved&#8217;s Axioma Ethica Odini is <em>still not available</em> on Spotify! Ross the Boss for any discerning Manowar fan and Aborym for those who like industrialised black metal. Looking forward to seeing the Behemoth DVD Evangelia Heretika though which is pretty cool they&#8217;ve put that on Spotify &#8211; and I hear Nergal has found a marrow donor which is great news. The new Gwar is out for some gunk filled mayhem (although I&#8217;m sure listening at home doesn&#8217;t give the same experience as seeing them live&#8230;) and a few other new releases peppered in there.</p>
<p>December is going to be a pretty quiet month, it doesn&#8217;t like there&#8217;s going to be much out, and even Death&#8217;s &#8216;Live in Japan&#8217; DVD won&#8217;t be out because apparently it was being made available <a href="http://www.roadrunnerrecords.com/blabbermouth.net/news.aspx?mode=Article&amp;newsitemID=148406">without permission</a>&#8230; gah!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VpkicAlpD2U:Q3Sw1kOorTA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VpkicAlpD2U:Q3Sw1kOorTA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VpkicAlpD2U:Q3Sw1kOorTA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VpkicAlpD2U:Q3Sw1kOorTA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/VpkicAlpD2U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/12/16/november-2010-metal-releases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/12/16/november-2010-metal-releases/</feedburner:origLink></item>
		<item>
		<title>Urgh life is so busy…</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/EwGL6trgcOM/</link>
		<comments>http://www.asgrim.com/2010/12/15/urgh-life-is-so-busy/#comments</comments>
		<pubDate>Wed, 15 Dec 2010 22:58:01 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[talking]]></category>
		<category><![CDATA[words]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/2010/12/15/urgh-life-is-so-busy/</guid>
		<description>Yeah I completely fell out the habit of making a weekly &amp;#8220;what I did&amp;#8221; post didn&amp;#8217;t&amp;#8230; I didn&amp;#8217;t think it was that interesting anyway &amp;#8211; recounting whatever rubbish I did on whatever day. I&amp;#8217;ll post less frequently probably, but here&amp;#8217;s what&amp;#8217;s been happening recently. You must be living under a rock if you&amp;#8217;re not caught [...]</description>
			<content:encoded><![CDATA[<p>Yeah I completely fell out the habit of making a weekly &#8220;what I did&#8221; post didn&#8217;t&#8230; I didn&#8217;t think it was that interesting anyway &#8211; recounting whatever rubbish I did on whatever day. I&#8217;ll post less frequently probably, but here&#8217;s what&#8217;s been happening recently.</p>
<p>You must be living under a rock if you&#8217;re not caught up in the mayhem that is the lead up to Yule. It&#8217;s been manic for us and the worst is yet to come&#8230; somehow we have to manage to fit in seeing all the family. We&#8217;re going to see my grandparents and Kevin and Juli this weekend which is great &#8211; two birds, one Stone (or 4 to be precise&#8230;). It&#8217;s nice though because my &#8220;gy gy&#8217;s&#8221; love seeing Freyja. It must be quite a feeling being grandparents.. so I can&#8217;t blame them really. </p>
<p>Taking of Freyja, she&#8217;s been talking more and more and is slowly forming more real-sounding words. If you&#8217;ve met her you&#8217;ll know that she loves to babble inherently so its reassuring to know she&#8217;s starting to learn real words now such as Apple, star, butterfly, and a host of others. I read somewhere that between 18-20 months toddlers learn about 10 new words a day, and I&#8217;d say she&#8217;s not far off that! She&#8217;s still a stroppy madam though.. but she hits us less now though which is good. Putting her in her cot with no toys and the light on (to distinguish from bed time) seems to be doing the trick, and of course is used if there is no other option. Generally a telling off does the trick but sometimes doing that blows things up a bit and some time out is really needed. The joys of parenthood <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Of course with Yule coming up we have been stocking up the spare bedroom with presents&#8230; you can move in there even less than normal! We&#8217;ve preordered a turkey crown from M&#038;S and I&#8217;m looking forward to cooking a good dinner&#8230; </p>
<p>I don&#8217;t really have much else to say to be honest. So&#8230; until next time! </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=EwGL6trgcOM:Orq8M1O_MZk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=EwGL6trgcOM:Orq8M1O_MZk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=EwGL6trgcOM:Orq8M1O_MZk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=EwGL6trgcOM:Orq8M1O_MZk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/EwGL6trgcOM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/12/15/urgh-life-is-so-busy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/12/15/urgh-life-is-so-busy/</feedburner:origLink></item>
		<item><title>Links for 2010-12-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/yZIKK5K03QM/AsgrimTheMighty</link><pubDate>Sat, 11 Dec 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-12-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://xkcd.com/832/"&gt;xkcd: Tic-Tac-Toe&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/yZIKK5K03QM" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-12-10</feedburner:origLink></item><item><title>Links for 2010-11-30 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/1T3_6FkbX2s/AsgrimTheMighty</link><pubDate>Wed, 01 Dec 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-11-30</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way"&gt;scie.nti.st &amp;raquo; Hosting Git repositories, The Easy (and Secure) Way&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/1T3_6FkbX2s" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-11-30</feedburner:origLink></item><item>
		<title>The Future Is Here: 360° Interactive Video</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/-Nhb1_UGpK4/</link>
		<comments>http://www.asgrim.com/2010/11/30/the-future-is-here-360%c2%b0-interactive-video/#comments</comments>
		<pubDate>Tue, 30 Nov 2010 14:03:03 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[360]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[degree]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1891</guid>
		<description>Never mind all this 3D rubbish that&amp;#8217;s coming out in cinemas across the first world, this is the future and is really impressive. It&amp;#8217;s a 360﻿﻿° interactive video showreel and well worth a play with. yellowBird showreel via the talented @AdamWintle</description>
			<content:encoded><![CDATA[<p>Never mind all this 3D rubbish that&#8217;s coming out in cinemas across the first world, <em>this</em> is the future and is really impressive. It&#8217;s a 360﻿﻿° interactive video showreel and well worth a play with.</p>
<p><a href="http://www.yellowbirdsdonthavewingsbuttheyflytomakeyouexperiencea3dreality.com/showreel">yellowBird showreel</a></p>
<p>via the talented <a href="http://twitter.com/AdamWintle">@AdamWintle</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-Nhb1_UGpK4:C13XQTi3vO8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-Nhb1_UGpK4:C13XQTi3vO8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-Nhb1_UGpK4:C13XQTi3vO8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-Nhb1_UGpK4:C13XQTi3vO8:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/-Nhb1_UGpK4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/30/the-future-is-here-360%c2%b0-interactive-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/30/the-future-is-here-360%c2%b0-interactive-video/</feedburner:origLink></item>
		<item><title>Links for 2010-11-29 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/4L-8u_LksfY/AsgrimTheMighty</link><pubDate>Tue, 30 Nov 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-11-29</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.viget.com/extend/effectively-using-git-with-subversion/"&gt;Effectively Using Git With Subversion | Viget Extend&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/4L-8u_LksfY" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-11-29</feedburner:origLink></item><item><title>Links for 2010-11-26 [del.icio.us]</title><link>http://feedproxy.google.com/~r/asgrimthemighty/~3/OmCrxq1FlNU/AsgrimTheMighty</link><pubDate>Sat, 27 Nov 2010 00:00:00 PST</pubDate><guid isPermaLink="false">http://del.icio.us/AsgrimTheMighty#2010-11-26</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://pauldowman.com/2008/07/26/how-to-convert-from-subversion-to-git/"&gt;Paul Dowman &amp;raquo; How to convert from Subversion to Git&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/OmCrxq1FlNU" height="1" width="1"/&gt;</description><feedburner:origLink>http://del.icio.us/AsgrimTheMighty#2010-11-26</feedburner:origLink></item><item>
		<title>HTC Desire HD review</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Zyhdcm0UolE/</link>
		<comments>http://www.asgrim.com/2010/11/19/htc-desire-hd-review/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 16:13:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[desire]]></category>
		<category><![CDATA[froyo]]></category>
		<category><![CDATA[HD]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[iphoner]]></category>
		<category><![CDATA[mobile me]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[sense]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1843</guid>
		<description>I&amp;#8217;ve had this brilliant phone for a good couple of weeks and I have to say it&amp;#8217;s brilliant. It&amp;#8217;s much bigger than many phones, but not chunky &amp;#8211; it&amp;#8217;s because of it&amp;#8217;s huge 4.3 inch LCD screen. The colours on it are brilliant and it is lightening quick. It comes preloaded with Android 2.2 (Froyo [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve had this brilliant phone for a good couple of weeks and I have to say it&#8217;s brilliant. It&#8217;s much bigger than many phones, but not chunky &#8211; it&#8217;s because of it&#8217;s huge 4.3 inch LCD screen. The colours on it are brilliant and it is lightening quick. It comes preloaded with Android 2.2 (Froyo &#8211; which is an american shortening of frozen yoghurt, which is basically ice cream but not as tasty), all the features that comes with it, and is topped with a sprinkling of the much improved HTC Sense UI.</p>
<p>I have to say the htcsense.com website is a bit rubbish at the moment &#8211; the phone locator doesn&#8217;t work at all so I&#8217;m not relying on that if I lose my phone, and I tried remotely locking it, and that didn&#8217;t work either. None of my contacts were synced, and the messaging features didn&#8217;t work either. I have to say, it&#8217;s a brilliant idea, and if it actually worked would be a brilliant <em>free</em> rival to Apple&#8217;s MobileMe service &#8211; again if it actually worked and they introduced a bit more services for it.</p>
<p>But still &#8211; the phone itself I can hardly fault. As I said, the UI is responsive, there is all the apps you need on the Android Market &#8211; although I don&#8217;t install that many apps as I simply don&#8217;t have a need for 250,000 apps that are on the Apple App Store. Even Android Market&#8217;s latest figure of 160,000 is <em>more</em> than plenty apps than I will ever install, let alone need.</p>
<p>Those who know me know that I&#8217;m supposedly anti-Apple, but I&#8217;m not. I&#8217;m anti-their huge prices, although many Apple users justify the price with quality. But I really do think the HTC Desire HD is good value for money. It&#8217;s <em>at least</em> on par with the iPhone, and I&#8217;d possibly risk at saying it&#8217;s better, especially for the price. It&#8217;s not a cheap phone by many accounts &#8211; around the £470 mark but only a small dent in your wallet compared to the Apple  iPhone 4 32GB which costs a whopping £681 (prices quickly pinched from a quick Google Product search).</p>
<p>The only quirk I&#8217;ve had with it is that after a few days of running it does slow right down to a crawl, and I&#8217;ve not figured out which app is causing it yet, but a restart fixes that no problem. Restarting the Desire HD isn&#8217;t even a problem as compared to my HTC Magic, which took a good 5 or 6 minutes to restart, the Desire HD probably takes less than a minute, so I hardly even notice it.</p>
<p>Well worth my money I think &#8211; I&#8217;m on a £30 per month contract on Vodafone via Phones 4 u who were probably the quickest to get it in stock, and I also got half price line rental for the first 3 months or something making it even cheaper! I highly recommend this phone to anyone looking to get a new smart phone but can&#8217;t stomach the high (and <em>in my opinion</em> unjustifiable) contract costs of the iPhone 4.</p>
<p>And before anyone thinks it, no I wasn&#8217;t paid to write this review, this is my honest opinion!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Zyhdcm0UolE:vVu6JAqsSdw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Zyhdcm0UolE:vVu6JAqsSdw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Zyhdcm0UolE:vVu6JAqsSdw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Zyhdcm0UolE:vVu6JAqsSdw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Zyhdcm0UolE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/19/htc-desire-hd-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/19/htc-desire-hd-review/</feedburner:origLink></item>
		<item>
		<title>Going to School Soon!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/zA6zYV9sbSs/</link>
		<comments>http://www.asgrim.com/2010/11/18/going-to-school-soon/#comments</comments>
		<pubDate>Thu, 18 Nov 2010 20:11:58 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1879</guid>
		<description>Wednesday last week &amp;#8211; I didn&amp;#8217;t manage to get any shopping done in the end, oh well. I went to see Annihilator instead, which was awesome! Nothing like a bit of Thrash to lighten the evening. Thursday our friends came over, we had some pizza and watched the new series The Walking Dead, which was [...]</description>
			<content:encoded><![CDATA[<p>Wednesday last week &#8211; I didn&#8217;t manage to get any shopping done in the end, oh well. I went to see Annihilator instead, which was awesome! Nothing like a bit of Thrash to lighten the evening. Thursday our friends came over, we had some pizza and watched the new series The Walking Dead, which was rather awesome and I think I shall be watching it all &#8211; zombies are great.</p>
<p>Friday I was dead tired after work &#8211; it&#8217;s been so busy recently as everyone is working really hard at the moment and as always there&#8217;s a lot on &#8211; keeps me on my toes I suppose! So in the evening we cooked an absolutely gorgeous lamb chop with some veg and chilled in front of the telly.</p>
<p>Saturday was my Aunty Joan&#8217;s 50th birthday party so me and Freyja trekked up to Somerset with Sam, Collin and the children. It was lovely seeing everyone although I wasn&#8217;t actually at the party too long because Freyja got really grumpy and tired so I took her back to my cousin Katie&#8217;s and put her to bed. I wasn&#8217;t looking forward to sleeping in the same room as her as last time we did that she screamed the whole night through&#8230; but this time she was so much better. She did keep waking up which kept me up for most of the night, and at 6:45am she literally didn&#8217;t stop chatting at me for about 30 minutes until I gave in and put her in bed with me, and she fell asleep briefly! Bless her, she&#8217;s not done that for ages. Oddly enough, I did have a slight hangover in the morning as well, despite only having 3 cans and a pint, so after the journey home we had <em>more</em> pizza for dinner and I did a bit of work on my current client&#8217;s site while Hannah went to work.</p>
<p>Monday was lovely though &#8211; I got Hannah a lovely big bunch of Roses which she loved and a nice card, and we went out for a scrummy meal at <a href="http://www.brasserie8kingsroad.co.uk/">8 Kings Road</a> which only had one other table at the time so we pretty much had one waiter, and then they left to so we had the waiter to ourselves! He was an excellent waiter, and I couldn&#8217;t fault anything there. The food was fantastic, and I&#8217;d definitely go there again.</p>
<p>Tuesday was not quite as posh &#8211; Hannah was working, so Phil came over and we scoffed another pizza. However all this pizza does not come without a price. I spent most of Wednesday feeling really ill which lasted all day, and I was even shivering under a double duvet doubled up wrapped up around me&#8230; it&#8217;s put me off pizza for a while anyway, which is probably a good thing! Even though it is so yummy&#8230; In fact, Hannah did a <a href="http://www.metalmummy.co.uk/2010/11/operation-compulsive-dominos/">Dominos review</a> recently, so have a read of that link.</p>
<p>So today, as the topic suggests, we went to have a look at Freyja&#8217;s pre-school! We turned up just as it was starting so all the kids were just arriving and all playing around. She was really excited, and after a quick chat (and trying to restrain her), she ran along and started playing with the other children which was great to see. When we got home today we went on an epic tidying mission &#8211; started in Freyja&#8217;s bedroom and swept through the whole house like a hurricane &#8211; except instead of destroying everything, it was cleaned! We did pretty well except for the vacuuming didn&#8217;t get done, but that can wait. Hannah&#8217;s gone out for a drink with her friends now &#8211; we had a lovely Tuna steak for dinner and I&#8217;m going to get on with some client work now, so until next week!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zA6zYV9sbSs:_j_xSHxQTIc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zA6zYV9sbSs:_j_xSHxQTIc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zA6zYV9sbSs:_j_xSHxQTIc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zA6zYV9sbSs:_j_xSHxQTIc:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/zA6zYV9sbSs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/18/going-to-school-soon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/18/going-to-school-soon/</feedburner:origLink></item>
		<item>
		<title>Recipe: Sausages &amp; Tomato Sauce</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/BNehKKIYavw/</link>
		<comments>http://www.asgrim.com/2010/11/15/recipe-sausages-tomato-sauce/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 21:09:04 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[garlic]]></category>
		<category><![CDATA[mustard]]></category>
		<category><![CDATA[sausages]]></category>
		<category><![CDATA[tomato sauce]]></category>
		<category><![CDATA[tomatoes]]></category>
		<category><![CDATA[white]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1835</guid>
		<description>This is a simple dish that I concocted off my own head when we didn&amp;#8217;t really have much in. It&amp;#8217;s simple, and not bad for a quick meal! Ingredients (serves 3/4) 6 sausages of your choice Tin of chopped tomatoes English mustard Salt &amp;#38; Pepper 175ml White wine Tomato Purée Garlic to taste Sage, Rosemary [...]</description>
			<content:encoded><![CDATA[<p>This is a simple dish that I concocted off my own head when we didn&#8217;t really have much in. It&#8217;s simple, and not bad for a quick meal!</p>
<p><strong>Ingredients (serves 3/4)</strong></p>
<ul>
<li>6 sausages of your choice</li>
<li>Tin of chopped tomatoes</li>
<li>English mustard</li>
<li>Salt &amp; Pepper</li>
<li>175ml White wine</li>
<li>Tomato Purée</li>
<li>Garlic to taste</li>
<li>Sage, Rosemary</li>
<li>Olive Oil</li>
</ul>
<p><strong>Method</strong></p>
<p>Skin the sausages so they are soft and pop them in the frying pan in a little olive oil and the garlic, randomly cutting them up with a wooden spoon as you stir them around and seal them. Add in the white wine and season with salt &amp; pepper and the herbs. Reduce the wine down by about half, add tomatoes, a squirt of tomato purée and 2 tea spoons of English mustard. Cover and continue to cook on medium for about 30 minutes.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=BNehKKIYavw:JBqfU7bsYS4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=BNehKKIYavw:JBqfU7bsYS4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=BNehKKIYavw:JBqfU7bsYS4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=BNehKKIYavw:JBqfU7bsYS4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/BNehKKIYavw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/15/recipe-sausages-tomato-sauce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/15/recipe-sausages-tomato-sauce/</feedburner:origLink></item>
		<item>
		<title>Mylyn: repository returned an unknown project</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/-zzliZMP4cQ/</link>
		<comments>http://www.asgrim.com/2010/11/15/mylyn-repository-returned-an-unknown-project/#comments</comments>
		<pubDate>Mon, 15 Nov 2010 14:14:24 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[attributes]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[mylyn]]></category>
		<category><![CDATA[pdt]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[returned]]></category>
		<category><![CDATA[unknown]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1882</guid>
		<description>Just a quickie mainly for my own reference. If you get this message: The repository returned an unknown project. Please update the repository attributes. The fix is pretty simple, but is not obvious unless you know it&amp;#8217;s there&amp;#8230; Just right click the task list query that has the error, go to &amp;#8220;Repository&amp;#8221; then &amp;#8220;Update Repository [...]</description>
			<content:encoded><![CDATA[<p>Just a quickie mainly for my own reference. If you get this message:</p>
<blockquote><p>The repository returned an unknown project. Please update the repository attributes.</p></blockquote>
<p>The fix is pretty simple, but is not obvious unless you know it&#8217;s there&#8230; Just right click the task list query that has the error, go to &#8220;Repository&#8221; then &#8220;Update Repository Configuration&#8221;. Not sure why it happens, but it happened to me and this fixed it. Bling.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-zzliZMP4cQ:BxNXOsF-Y6Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-zzliZMP4cQ:BxNXOsF-Y6Q:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-zzliZMP4cQ:BxNXOsF-Y6Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-zzliZMP4cQ:BxNXOsF-Y6Q:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/-zzliZMP4cQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/15/mylyn-repository-returned-an-unknown-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/15/mylyn-repository-returned-an-unknown-project/</feedburner:origLink></item>
		<item>
		<title>Applying CSS to new HTML5 elements</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/TWNWLGm27fQ/</link>
		<comments>http://www.asgrim.com/2010/11/14/applying-css-to-new-html5-elements/#comments</comments>
		<pubDate>Sun, 14 Nov 2010 22:32:55 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[apply]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[elements]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[shiv]]></category>
		<category><![CDATA[style]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1873</guid>
		<description>When writing my new sites I try to use the new features of HTML5 and CSS3 and so on where appropriate. Specifically at the moment I&amp;#8217;m styling up a blog posts page and want to apply style to the new HTML5 &amp;#60;footer&amp;#62; tag. Firstly, to use the new HTML5 elements as you would&amp;#8217;ve a &amp;#60;div&amp;#62; [...]</description>
			<content:encoded><![CDATA[<p>When writing my new sites I try to use the new features of HTML5 and CSS3 and so on where appropriate. Specifically at the moment I&#8217;m styling up a blog posts page and want to apply style to the new HTML5 &lt;footer&gt; tag.</p>
<p>Firstly, to use the new HTML5 elements as you would&#8217;ve a &lt;div&gt; in XHTML or older HTML, you need to tell your clients&#8217; browser to render these new elements as block-level:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">article<span style="color: #00AA00;">,</span> aside<span style="color: #00AA00;">,</span> footer<span style="color: #00AA00;">,</span> header<span style="color: #00AA00;">,</span> section <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span>
    <span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>Once that&#8217;s done you&#8217;ll also need to include a special Javascript for older Internet Explorer browsers to enable styling of the new elements. I&#8217;ve not had a chance to look at this script in detail (it&#8217;s minified, I&#8217;m lazy&#8230;), but I&#8217;m confident it&#8217;ll do the job. Just to note that it&#8217;s only Internet Explorer you need this fix for &#8211; Gecko and WebKit-based browsers automatically style any unknown elements (and thus these new HTML5 elements). The script homepage at time of writing is <a href="http://remysharp.com/2009/01/07/html5-enabling-script/">here</a>, all credit for the script goes to Remy Sharp. To use it, simply put this in your  tag:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;!--[if lt IE 9]&gt;
&lt;script src=&quot;http://html5shim.googlecode.com/svn/trunk/html5.js&quot;&gt;&lt;/script&gt;
&lt;![endif]--&gt;</pre></div></div>

<p>The script is hosted on Google Code, but you can download it to put on your own server to save an extra DNS request.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=TWNWLGm27fQ:pL3Shvs7s3w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=TWNWLGm27fQ:pL3Shvs7s3w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=TWNWLGm27fQ:pL3Shvs7s3w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=TWNWLGm27fQ:pL3Shvs7s3w:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/TWNWLGm27fQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/14/applying-css-to-new-html5-elements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/14/applying-css-to-new-html5-elements/</feedburner:origLink></item>
		<item>
		<title>Freyja Loves Fireworks – FACT!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/aBUYbutpEd8/</link>
		<comments>http://www.asgrim.com/2010/11/10/freyja-loves-fireworks-fact/#comments</comments>
		<pubDate>Wed, 10 Nov 2010 19:05:53 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Our Baby]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Airsoft]]></category>
		<category><![CDATA[canapes]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[fallout]]></category>
		<category><![CDATA[ferrero]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[luke]]></category>
		<category><![CDATA[pyramid]]></category>
		<category><![CDATA[rocher]]></category>
		<category><![CDATA[shopping]]></category>
		<category><![CDATA[UCAP]]></category>
		<category><![CDATA[vegas]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1841</guid>
		<description>So Tuesday at work they attempted to build a Ferrero Rocher pyramid. We ended up building about 3 different pyramids, none of which were as impressive as the advert, as you can see. For the evening me and Hannah made a big old list of stuff to do: Do some my clients site Play Fallout: [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/11/pyramid.jpg"><img class="size-medium wp-image-1863 alignright" title="pyramid" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/11/pyramid-300x200.jpg" alt="" width="300" height="200" /></a>So Tuesday at work they attempted to build a Ferrero Rocher pyramid. We ended up building about 3 different pyramids, none of which were as impressive as the advert, as you can see. For the evening me and Hannah made a big old list of stuff to do:</p>
<ul>
<li>Do some my clients site</li>
<li>Play Fallout: New Vegas</li>
<li>Cook dinner</li>
<li>Food shop</li>
<li>Order Freyja&#8217;s main Christmas present</li>
<li>Sell old mobile</li>
<li>Do my accounts</li>
</ul>
<p>Out of that list all I managed to do was do some of my clients site, cook dinner, and Hannah ordered Freyja&#8217;s present. It was a productive evening because of doing the website, but everything else was shelved so I left it to the next day&#8230;</p>
<p>&#8230; which was Wednesday. It was a busy day at work as normal, and we got lazy and ordered pizza for dinner. I did however get to play about 10 minutes of Fallout: New Vegas before we flaked out and went to bed.</p>
<p>Thursday was a day of many deliveries for Hannah. Our new tumble drier came, which has been fantastic in this November Rain (Hah! Music reference&#8230;). Freyja&#8217;s main Christmas present from me and Hannah arrived as well, a shiny new toy kitchen thing which cost a pretty penny, but hopefully she&#8217;ll enjoy. We also had Tesco come, which reminds me, I need to get on with doing the shopping for next week!</p>
<p>Friday wasn&#8217;t too eventful (well, it was at work, had a big old meeting to discuss Phones&#8230;) &#8211; Hannah was working in the evening, so I got some client work done. When getting Freyja ready for bed, the fireworks started of course though. They&#8217;re noisy and unavoidable and thankfully didn&#8217;t keep her up too much. The great thing is seeing her face when they went off and lit up the sky &#8211; I wrapped her up nice and warm and we stood out the front of the house watching quite an impressive home firework display by one of our neighbours. She loved it and pointed and squeaked every time one went off.</p>
<p>Saturday I went shopping for some Christmas bits &#8211; big mistake. It was horrendously busy and full of annoying people. Anyone who knows me knows that I hate crowds and the general public, so it was a bit of a nightmare for me. Standing in a shop waiting for them to look up the item because Hannah&#8217;s Christmas present happened to not have a price tag and me sweating buckets and Freyja writhing and crying in her pram is really not my idea of a good time. I tried going to town to look at some book shops, but it was crowded, annoying and Freyja started whining so I just had to leave. We had home made Tomato Soup for dinner (I thought it fitting, being fireworks &#8220;weekend&#8221;), which was scrummy and Freyja loved it too. She loves home cooked food, and I swear she has a &#8220;home-cooked-food&#8221; detector that makes her not want to eat anything else&#8230; she knows what&#8217;s good for her at least!</p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/11/suitedbootedlockedloaded.jpg"><img class="size-medium wp-image-1865 alignleft" title="suitedbootedlockedloaded" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/11/suitedbootedlockedloaded-300x171.jpg" alt="" width="300" height="171" /></a>Sunday was awesome &#8211; me and 3 others from the Deco got suited, booted, locked and loaded for Russell&#8217;s private day at UCAP Virus. Everyone played fairly, I don&#8217;t think I even heard anyone utter the words &#8220;Take yer f**king hit!!&#8221; which was really good. People were being tactical, not being idiots, and I think everyone had a lot of fun. Monday again was uneventful &#8211; Hannah worked, and I was shattered so I flaked out and watched crap telly, just like Sunday.</p>
<p>Yesterday me and Freyja went for a trip to our boss Luke&#8217;s house for his birthday celebrations and had a canapé evening. Most of the couple of hours I was there was me chasing her around making sure she didn&#8217;t smash Luke&#8217;s glass cabinets filled with expensive-looking glasses with the pool balls she was throwing around violently&#8230; so it was a bit of a relief when she was settled down to bed. On the downside, it looks like I need my car looked at &#8211; the orange engine light has come on so I&#8217;m going to have to take it in to have the computer checked to see what&#8217;s wrong with it. Not that we can actually afford to get it fixed&#8230; Gah!</p>
<p>Anyway, I&#8217;d better get on with doing the shopping (I love shopping online!), and get Hannah some dinner! Ta ta for now folks, enjoy your week.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=aBUYbutpEd8:AH-JH47zo0Q:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=aBUYbutpEd8:AH-JH47zo0Q:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=aBUYbutpEd8:AH-JH47zo0Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=aBUYbutpEd8:AH-JH47zo0Q:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/aBUYbutpEd8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/10/freyja-loves-fireworks-fact/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/10/freyja-loves-fireworks-fact/</feedburner:origLink></item>
		<item>
		<title>October 2010 Metal Releases</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/VqmPF-n8M2M/</link>
		<comments>http://www.asgrim.com/2010/11/03/october-2010-metal-releases/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 20:20:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[monthly metal]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1849</guid>
		<description>So October was a bit of a sorry month for metal really, but despite there only being 5 or so half decent metal records out, there&amp;#8217;s a couple of real gems here: Grave Digger &amp;#8211; The Clans Will Rise Again (Spotify) Rhapsody of Fire &amp;#8211; The Cold Embrace of Fear (Spotify) Triptykon &amp;#8211; Shatter (EP) [...]</description>
			<content:encoded><![CDATA[<p>So October was a bit of a sorry month for metal really, but despite there only being 5 or so half decent metal records out, there&#8217;s a couple of real gems here:</p>
<ul>
<li>Grave Digger &#8211; The Clans Will Rise Again (<a href="http://open.spotify.com/album/7zDWoscPd9SwF5x82SGxfN">Spotify</a>)</li>
<li>Rhapsody of Fire &#8211; The Cold Embrace of Fear (<a href="http://open.spotify.com/album/36OpXmFWlCZH81MOXTCdeD">Spotify</a>)</li>
<li>Triptykon &#8211; Shatter (EP) (<a href="http://open.spotify.com/album/7eLsjPN2tQj3vpMZ5zpWyz">Spotify</a>)</li>
<li>Firewind &#8211; Days of Defiance (<a href="http://open.spotify.com/album/3MxZKuIEz2sDQLZ8RAu1no">Spotify</a>)</li>
<li>Helloween &#8211; 7 Sinners</li>
</ul>
<p>I&#8217;m excited by Rhapsody of Fire&#8217;s new album and I gave it a first listen today. Not a bad effort but I&#8217;ll need to give it a couple more spins. Particularly good this month though is the short but sweet Triptykon EP &#8220;Shatter&#8221;. Continuing in the vein of Celtic Frost&#8217;s Monotheist and Eparistera Daimones and but taking it to a new doomy level, Triptykon is suitably evil and well worth a listen. A fantastic bonus to the EP are live versions of Celtic Frost classics Circle of the Tyrants and Dethroned Emperor, which sound heavier than ever and bring back memories of Wacken 2006.</p>
<p>I&#8217;ve updated my <a href="http://open.spotify.com/user/asgrim/playlist/7xhpTNMWEFkwmVhNsAMua2">New metal albums 2010 Spotify playlist</a>, which is now collaborative as well, so if you spot something I missed (excluding the new Cradle of Filth album please&#8230;) feel free to add it in!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VqmPF-n8M2M:5ObhuR1G-QY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VqmPF-n8M2M:5ObhuR1G-QY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=VqmPF-n8M2M:5ObhuR1G-QY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=VqmPF-n8M2M:5ObhuR1G-QY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/VqmPF-n8M2M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/03/october-2010-metal-releases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/03/october-2010-metal-releases/</feedburner:origLink></item>
		<item>
		<title>Busy busy busy week…</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/a0v5UBCUC4g/</link>
		<comments>http://www.asgrim.com/2010/11/02/busy-busy-busy-week/#comments</comments>
		<pubDate>Tue, 02 Nov 2010 19:14:26 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[angry birds]]></category>
		<category><![CDATA[battery]]></category>
		<category><![CDATA[breakdown]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[chilli]]></category>
		<category><![CDATA[chinese]]></category>
		<category><![CDATA[collin]]></category>
		<category><![CDATA[fallout]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[hangover]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[htc desire]]></category>
		<category><![CDATA[juli]]></category>
		<category><![CDATA[kevin]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[pizza]]></category>
		<category><![CDATA[pumpkin]]></category>
		<category><![CDATA[robin hood]]></category>
		<category><![CDATA[sam]]></category>
		<category><![CDATA[sbo]]></category>
		<category><![CDATA[sky box office]]></category>
		<category><![CDATA[tenth hole]]></category>
		<category><![CDATA[vegas]]></category>
		<category><![CDATA[water margin]]></category>
		<category><![CDATA[zombie]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1831</guid>
		<description>Since last Wednesday (my last regular blog post), it feels like a million years, it&amp;#8217;s been so busy and we&amp;#8217;ve done loads of stuff. Thursday I made some home made &amp;#8220;schnitzel&amp;#8221;. I say that in quotes as I suppose it wasn&amp;#8217;t really schnitzel, it was just flat pork with breadcrumbs. It was yummy anyway, I [...]</description>
			<content:encoded><![CDATA[<p>Since last Wednesday (<a href="http://www.asgrim.com/2010/10/20/two-weeks-of-catchup/">my last regular blog post</a>), it feels like a million years, it&#8217;s been so busy and we&#8217;ve done loads of stuff. Thursday I made some home made &#8220;schnitzel&#8221;. I say that in quotes as I suppose it wasn&#8217;t really schnitzel, it was just flat pork with breadcrumbs. It was yummy anyway, I should probably put the recipe up!</p>
<p>Anyway, my Aunt Juli and Uncle Kevin came down to see us (but mostly Freyja), and Sam and Collin and the children came over too and we had a nice afternoon of all 4 children making a mess (that&#8217;s Freyja, Finley, Amelie and Uncle Kevin&#8230;) of the living room. In the late afternoon after Sam and Collin left we went out for a lovely meal at Water Margin in Portsmouth which is always a winner in my book &#8211; I love Chinese food and &#8220;all you can eat&#8221; Chinese is even better. After we came back and put Freyja to bed I helped Uncle Kevin with <a href="http://www.buy-bassett.biz/">his new site</a>, which we managed to smash through his list in a couple of hours with a couple of drinks&#8230;</p>
<p>Sunday was nice, we went to <a href="http://www.thetenthhole.co.uk/">the Tenth Hole</a> with Leila, Pete and friends. Hannah absolutely loves this place, but I find it far too busy and I&#8217;m really not sure about it. The cakes are nice, but I don&#8217;t think they&#8217;re that amazing. Still, Hannah enjoyed it which is good, but Freyja does get irritable after a while there because she can&#8217;t really run around much.</p>
<p>Monday we were planning to go up to my Grandparents (a.k.a &#8220;the Gy Gys&#8221;), but alas this was massively delayed by a completely dead car battery. Thankfully a very helpful chap saved the day, first by helping us jump start the car (which failed), and then by taking me to the nearby garage to get a new battery. We are ever so thankful to him, and I doubt he reads this blog, but thank you for your help! Anyway, we made it to lovely Kingsbury Episcopi and had a lovely day and yummy scampi &amp; chips there, and were sent home happy.</p>
<p>Tuesday Phil came over and we typically had Two for Tuesdays pizza night and watched <a href="http://www.imdb.com/title/tt0955308/">Robin Hood</a> on Sky box office (although not in HD as annoyingly it wasn&#8217;t on until 3:30am&#8230;?!). It&#8217;s not a bad film, but it wasn&#8217;t as good as I was hoping. <a href="http://www.imdb.com/title/tt0102798/">Robin Hood: Prince of Thieves</a> really set the bar high for me and I think I was hoping it would be as good as that, but it failed to deliver on my expectations. I suppose as an entirely separate film (which, in fairness it should be) it was good. Worth a watch, but maybe wait until it comes on regular Sky Movies HD if you haven&#8217;t seen it yet.</p>
<p>Wednesday I cooked a nice Sausage and Tomato sauce type meal &#8211; very simple to do (again, I should probably put the recipe up&#8230;) and it was very tasty so Freyja will be having that for dinner tonight &#8211; hopefully she&#8217;ll like that. I also ordered my new phone, an <a href="http://en.wikipedia.org/wiki/HTC_Desire_HD">HTC Desire HD</a>. Unfortunately Thursday morning I was informed it would be delayed&#8230; anger ensued&#8230; Anyway, Friday they said it was dispatched so I didn&#8217;t have to wait too long as it arrived on Saturday morning, woohoo! It&#8217;s very shiny.</p>
<p>Saturday, Hannah&#8217;s mum came down and I went to see a friend about a website for a bit then ended up in the pub until about 2am&#8230; urgh. I felt really hungover Sunday, and I&#8217;m not sure why, I didn&#8217;t even feel drunk and I had only had 4 pints&#8230; so I was pretty useless for the whole day, and really didn&#8217;t feel like going out that evening. However later, after a rather overly chillified Pumpkin and Chilli soup, I perked up a bit, and went out with 3 zombie girls who all looked fantastic in their makeup and everything. A fun night was had by all however, and I&#8217;m sure you&#8217;ll see the pictures on Hannah&#8217;s facebook.</p>
<p>Yesterday (Monday), was again knocked out by hangover pretty much and I spent most of the day playing Angry Birds, which I&#8217;m addicted to&#8230; however Hannah surprised me with a copy of Fallout: New Vegas when she came home from work so I got all excited and may have given it a hug and maybe more&#8230; So after I&#8217;ve done a bit more of my client&#8217;s site tonight I&#8217;ll be getting on with that and stealing the telly from Hannah. That brings me up to now, and I should really get some dinner on because I&#8217;m hungry.</p>
<p>Until next time my friends&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a0v5UBCUC4g:_VQb_JT6ofg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a0v5UBCUC4g:_VQb_JT6ofg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=a0v5UBCUC4g:_VQb_JT6ofg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=a0v5UBCUC4g:_VQb_JT6ofg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/a0v5UBCUC4g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/11/02/busy-busy-busy-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/11/02/busy-busy-busy-week/</feedburner:origLink></item>
		<item>
		<title>Baby Modelling – My Thoughts</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/d9L3L5QmWYc/</link>
		<comments>http://www.asgrim.com/2010/10/22/baby-modelling-my-thoughts/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 18:46:24 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Our Baby]]></category>
		<category><![CDATA[babies]]></category>
		<category><![CDATA[baby]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[hannah]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[precious]]></category>
		<category><![CDATA[thoughts]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1825</guid>
		<description>We&amp;#8217;ve had the suggestion from many different people that we should enter Freyja into competitions and model her for companies and so on. Hannah and I have discussed this a few times when the suggestion comes up, and we just can&amp;#8217;t justify it. The lure of prizes and money is the, and when our budget [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/10/freyjatowel.jpg"><img class="alignleft size-medium wp-image-1826" title="freyjatowel" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/10/freyjatowel-300x225.jpg" alt="" width="300" height="225" /></a>We&#8217;ve had the suggestion from many different people that we should enter Freyja into competitions and model her for companies and so on. Hannah and I have discussed this a few times when the suggestion comes up, and we just can&#8217;t justify it.</p>
<p>The lure of prizes and money is the, and when our budget is so tight and doesn&#8217;t give us any spending money for ourselves, it can be quite tempting.</p>
<p>However, being a model isn&#8217;t easy on the baby. Sure they try and make it as easy as possible, give them breaks, pamper them, let them play and so on, but there is so much travelling to locations or studios and it can be tiring for the little ones. I may have a total misconception of the whole thing, as &#8211; to be honest &#8211; I&#8217;ve not seen how much a baby model does.</p>
<p>However, The risk of stress and losing her sparkle that makes her such a happy little baby is too much for me and Hannah. Freyja means more to me than anything, and I want her to have the best upbringing I can. I want her to make great choices with what she wants to do with her life, and I want her to become proud of what she has achieved. She can&#8217;t do that if she&#8217;s already born into a life of modelling.</p>
<p>Sure I&#8217;d love to see my daughters face on billboards or baby products, and I&#8217;d love to have a bit of extra cash, but she is worth so much more than any of that. She&#8217;s my little girl, and you can call it being selfish (and it probably is), and I don&#8217;t want to share her with anyone but those who love her.</p>
<p>Mine&#8230; my precious&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=d9L3L5QmWYc:RWJ-2xCPR3g:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=d9L3L5QmWYc:RWJ-2xCPR3g:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=d9L3L5QmWYc:RWJ-2xCPR3g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=d9L3L5QmWYc:RWJ-2xCPR3g:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/d9L3L5QmWYc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/10/22/baby-modelling-my-thoughts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/10/22/baby-modelling-my-thoughts/</feedburner:origLink></item>
		<item>
		<title>Two Weeks of Catchup!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/oT3q9KCRRxs/</link>
		<comments>http://www.asgrim.com/2010/10/20/two-weeks-of-catchup/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 19:04:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Airsoft]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[hannah]]></category>
		<category><![CDATA[harry brown]]></category>
		<category><![CDATA[illness]]></category>
		<category><![CDATA[japanese]]></category>
		<category><![CDATA[phil]]></category>
		<category><![CDATA[rob zombie]]></category>
		<category><![CDATA[sakura]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[sick]]></category>
		<category><![CDATA[sushi]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1821</guid>
		<description>Oops, I missed the last 2 weeks posts. Admittedly for Friday and Saturday I didn’t even have a blog whilst I set up my new server configuration for High Availability. So this will cover the last 2 weeks. What’s gone on? Well plenty of stuff. I went to Combat South on Sunday which was fun, [...]</description>
			<content:encoded><![CDATA[<p>Oops, I missed the last 2 weeks posts. Admittedly for Friday and Saturday I didn’t even have a blog whilst I set up my new server configuration for High Availability. So this will cover the last 2 weeks. What’s gone on? Well plenty of stuff. I went to Combat South on Sunday which was fun, and took Phil with us for his first session. He enjoyed, Jon enjoyed and it was a good day (although raining to begin with).</p>
<p>Weeks progress as normal really – go to work, come home, give Freyja dinner, get her ready for bed, put her to sleep, collapse on sofa in front of tellybox. Normally on Tuesdays, Hannah goes to work as well so I’m left to do everything on my own, but there is an upside in that I get to spend time with just me and Freyja which is nice. If she’s in a good mood… She’s been teething lots over the last 7 days or so; her canines are coming through so she’s been mega grumpy recently.</p>
<p>Last Saturday me and Freyja made an impromptu visit to Somerset to see my granny who had just bought a PC (from previously owning a Mac) and couldn’t figure out how to get it connected. So I drove for an hour and a half up and fixed it for her. Things I do! Never mind, it was nice seeing them anyway!</p>
<p>We went to see my skin and blister on Sunday as well which was nice but Freyja was very ill and sicked up all over our car seat! Oh dear, think it was a tummy bug, because I had the same thing on the Tuesday, how annoying. I spent all day in bed sleeping pretty much. A nice change, but I hate being ill as I feel really unproductive and useless… Anyway, a couple of days later and Hannah got it as well as she was sicking up all night, so we all got it in the end.</p>
<p>Friday came and Hannah got all excited as Rob Zombie tickets were released for his tour in February 2011. Needless to say she was on the phone before 9am trying to get tickets. I managed to get them in the end through TicketWeb, so we are going to the gig, hooray!</p>
<p>Tom came down on the Saturday as well, and we had all the good times. We went to Sakura Japanese restaurant which was exceedingly good – I love Japanese food and Sakura was great. Next time I must try their sushi as I had a rice dish (sushi + drinking = bad combination). Sunday obviously was spent being hungover mostly, although I wasn’t too bad – probably because Tom forced me to drink plenty of water before bed – thanks Tom!</p>
<p>And Monday was great too – had Phil over after work, ordered in some pizza and watched Harry Brown which was absolutely 100% fantastic. I’d highly recommend this film to anyone, and is one of the best films I’ve seen for a long time. Brilliant. You can read <a href="http://morticalzombie.blogspot.com/2010/10/film-review-harry-brown.html">Hannah’s review</a> on it, which pretty much sums up my thoughts as well. Last night I did some work on a client’s site, and I’d better get on with some more now as Hannah’s at work. C’est la vie!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oT3q9KCRRxs:q1pH_y3aoXs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oT3q9KCRRxs:q1pH_y3aoXs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=oT3q9KCRRxs:q1pH_y3aoXs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=oT3q9KCRRxs:q1pH_y3aoXs:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/oT3q9KCRRxs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/10/20/two-weeks-of-catchup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/10/20/two-weeks-of-catchup/</feedburner:origLink></item>
		<item>
		<title>Religious Hatred</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/QzTLomFHN-k/</link>
		<comments>http://www.asgrim.com/2010/10/07/religious-hatred/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 12:46:37 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[bigot]]></category>
		<category><![CDATA[bigotry]]></category>
		<category><![CDATA[daily mail]]></category>
		<category><![CDATA[druid]]></category>
		<category><![CDATA[druidism]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[melanie]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[paganism]]></category>
		<category><![CDATA[phillips]]></category>
		<category><![CDATA[prejudice]]></category>
		<category><![CDATA[racist]]></category>
		<category><![CDATA[religion]]></category>
		<category><![CDATA[religious hatred]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1807</guid>
		<description>I thought we lived in a society that tolerates other religions, races, disabilities and so on. Clearly I am sorely mistaken. One article caught my attention (thanks Dan Mullins!) which was written by Mail Online columnist Melanie Phillips. I have never seen such blatant religious prejudice and general bigotry in my life. The entire article [...]</description>
			<content:encoded><![CDATA[<p>I thought we lived in a society that tolerates other religions, races, disabilities and so on. <strong>Clearly I am sorely mistaken.</strong></p>
<p>One article caught my attention (thanks Dan Mullins!) which was written by Mail Online columnist Melanie Phillips. I have never seen such blatant religious prejudice and general bigotry in my life. The entire article demeans Druidism and pagan religions as a whole. I&#8217;m clearly not the only one annoyed by this article, here&#8217;s a comment I have seen on Facebook (I have taken their name off for privacy, but if you wrote this and would like your name put in please let me know):</p>
<blockquote><p>That article made my blood boil within the first  few paragraphs. I am no religious man by any means but to say that one  religion is more deserving of the title &#8216;Religion&#8217; than another is plain  ignorance and more akin to the behaviour of the&#8230; witchfinders than it is of any modern open minded human being.</p></blockquote>
<p>Melanie Phillips attempts to discredit Druidism as a religion and tries to justify her clearly flawed opinion that Druidism is a less worthy religion that Christianity, despite pagan religions pre-dating Judeo-Christian religions.</p>
<p>Lets break this article down bit by bit:</p>
<blockquote><p>Will someone please tell me this is all a joke.</p></blockquote>
<p>Wow &#8211; what a way to start an article titled &#8220;Druids as an official religion? [...]&#8220;. It really sets the tone and makes me hate her instantly.</p>
<blockquote><p>the  [Charity] Commission says it accepts that the Druids worship nature and that they  also believe in the spirits of places such as mountains and rivers, as  well as in ‘divine guides’. This, apparently, makes them qualify as a religion.</p></blockquote>
<p>Who are you, Melanie Phillips, to qualify anything as a religion? Surely the people that need to do that should not be intolerant of other religions and bigoted.</p>
<blockquote><p>Can it be long before the BBC transmits Stones Of Praise, or solemnly invites listeners to Radio 4’s Thought For The Day to genuflect to a tree?</p></blockquote>
<p>This is pointless sarcasm. You could say the same of any official religion.</p>
<blockquote><p>After all, the Druids don’t do any harm to anyone. What skin is it off anyone else’s nose how they are categorised? Well,  it actually matters rather a lot. Elevating them to the same status as  Christianity is but the latest example of how the bedrock creed of this  country is being undermined. More than that, it is an attack upon the  very concept of religion itself.</p></blockquote>
<p>I&#8217;m sorry &#8211; Druids are attacking what now? Druids are normal people carrying out their normal lives and those I have met have been very caring, generous people who are tolerant of other religions. And hold on &#8211; the bedrock creed? Last time I checked the British Isles have <em>always</em> had a multitude of religions, many of which pre-date Christianity. What about Anglo-Saxon paganism? Bards? Vates? Oh wait, and Druidism as well! Melanie is clearly misinformed about the country she&#8217;s living in and it&#8217;s history.</p>
<blockquote><p>If the Druids qualify as a religion, can other cults such as the Scientologists be far behind?</p></blockquote>
<p>That&#8217;s hardly a comparison Melanie! Comparing a small body of beliefs interested in self-help formed in 1952 to a strong unfaltering religion that dates back possibly more than 2200 years ago.</p>
<blockquote><p>How on earth has our supposedly rational society come to subscribe to so much totally barking mumbo-jumbo?</p></blockquote>
<p>Melanie, you are clearly misguided about our rational society, and Druidism itself. I&#8217;m not sure what is more &#8220;totally barking&#8221; &#8211; believing actual objects that exist have spirits, or believing in something that has been hotly debated to even exist. Not only that, believing that the world was created in 7 days, a virgin gave birth and a dead man came back to life and moved a rock. Religions interest me, and I&#8217;m not saying the stuff in the bible didn&#8217;t happen, but it&#8217;s a lot less believable than &#8220;life&#8221; flowing throw trees and plants.And finally, the closing paragraph:</p>
<blockquote><p>Anyone who thinks radical  egalitarianism is progressive has got this very wrong. We are hurtling  backwards in time to a more primitive age.</p></blockquote>
<p>So you think no-one should be equal? You might as well go and abuse every other religion and say that Islam, Judaism, Sikhs, and every other religion are making our country a worse place. It&#8217;s absolute rubbish and this article is complete tripe. As one of my friends put it, this article &#8220;is not worthy of lining our rabbits&#8217; hutches&#8221;.</p>
<p>Well, I have put in a complaint to the <a href="http://www.pcc.org.uk/complaints/process.html">Press Complaints Commission</a> as well as e-mailing the <a href="mailto:editorial@dailymailonline.co.uk">editorial office of the Mail Online</a> &#8211; I think Melanie Phillips owes Druids and pagans in general a good apology. If you feel as strongly as I do about this then I implore you to do the same.</p>
<p>Finally, if you want to read the whole bigoted article, <a href="http://www.dailymail.co.uk/debate/article-1317490/Druids-official-religion-Stones-Praise-come.html">click here</a>.</p>
<p><strong>Update 15:18: </strong>Someone has made a <a href="http://www.petitiononline.com/druid1/">petition for an apology from Melanie Phillips</a> &#8211; sign it!</p>
<p><strong>Update 16:25: </strong>The Press Complaints Commission have received &#8220;a number of complaints&#8221; about the article and are investigating.</p>
<p><strong>Update 11th Oct 10:06: </strong>The petition ended with a healthy 4,187 signatures, and the petition is being walked to the Daily Mail office and the Press Complaints Commission today at midday. Good luck to all those who are attending the walk-in!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=QzTLomFHN-k:93982DH-V2w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=QzTLomFHN-k:93982DH-V2w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=QzTLomFHN-k:93982DH-V2w:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=QzTLomFHN-k:93982DH-V2w:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/QzTLomFHN-k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/10/07/religious-hatred/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/10/07/religious-hatred/</feedburner:origLink></item>
		<item>
		<title>Words and Body Bits</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/SjE54vDabxY/</link>
		<comments>http://www.asgrim.com/2010/10/02/words-and-body-bits/#comments</comments>
		<pubDate>Sat, 02 Oct 2010 13:38:32 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Airsoft]]></category>
		<category><![CDATA[baby]]></category>
		<category><![CDATA[eyes]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[home]]></category>
		<category><![CDATA[laser]]></category>
		<category><![CDATA[pew]]></category>
		<category><![CDATA[schnitzel]]></category>
		<category><![CDATA[telly]]></category>
		<category><![CDATA[week]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1805</guid>
		<description>As a promise to Hannah I&amp;#8217;m making new regular &amp;#8220;personal&amp;#8221; blog posts that aren&amp;#8217;t to do with geeky computery things. So here we go. Sunday we went to see Tom/Soph/Joss/Luke/Laurie for a lovely schnitzel dinner and to have a bit of banter. It&amp;#8217;s always nice seeing them as I don&amp;#8217;t get to see &amp;#8220;them lot&amp;#8221; [...]</description>
			<content:encoded><![CDATA[<p>As a promise to Hannah I&#8217;m making new regular &#8220;personal&#8221; blog posts that aren&#8217;t to do with geeky computery things. So here we go.</p>
<p>Sunday we went to see Tom/Soph/Joss/Luke/Laurie for a lovely schnitzel dinner and to have a bit of banter. It&#8217;s always nice seeing them as I don&#8217;t get to see &#8220;them lot&#8221; as much as I&#8217;d like to, but it&#8217;s so much more difficult organising to come up sometimes. Monday evening Hannah went out for drinks for Mark&#8217;s birthday so I was left at home, apparently I was asleep when she came back so whatever was on telly must&#8217;ve been interesting&#8230; Tuesday she was working so again I was almost left on my own, but thankfully Phil came over and we watched The Hangover which was surprisingly funny and worth a watch for some giggles. Wednesday we had an evening in by ourselves (a rare occurrence now that Hannah&#8217;s working many days!) so we spread out on the sofa and watched some telly. Thursday I went to a &#8220;focus advisory group&#8221; to help Leila formulate some ideas for her new business venture, the Esteem Engine, which looks very promising and I think she wants me to do her website, so that&#8217;ll be more work for me to do! Yesterday Hannah was working again so I invited Phil over and we watched a couple of &#8220;An Idiot Abroad&#8221; episodes over a few beers and curry.</p>
<p>This morning Freyja has been super cute and saying great words such as &#8220;teeth&#8221;, &#8220;cheese&#8221;, &#8220;daddy&#8221; and &#8220;mummy&#8221;. She can touch lots of parts of her body when asked to as well now &#8211; her nose, eyes, ears, teeth, tongue, head, toes and tummy. She&#8217;s getting so clever at things, and the other day she built a whole tower out of mega blocks whilst I was at work and being really social with Hannah&#8217;s friends&#8217; babies. Unfortunately as it&#8217;s the weekend I have to change all the poopy nappies. Today we&#8217;re off to get my eyes looked at for suitability for laser eye surgery which will be fun, and tomorrow I&#8217;m going airsofting again, woohoo! Roll on tomorrow&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=SjE54vDabxY:xBSL1lU2TL4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=SjE54vDabxY:xBSL1lU2TL4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=SjE54vDabxY:xBSL1lU2TL4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=SjE54vDabxY:xBSL1lU2TL4:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/SjE54vDabxY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/10/02/words-and-body-bits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/10/02/words-and-body-bits/</feedburner:origLink></item>
		<item>
		<title>September 2010 Metal Releases</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/5tMAR0u3lNY/</link>
		<comments>http://www.asgrim.com/2010/10/02/september-2010-metal-releases/#comments</comments>
		<pubDate>Sat, 02 Oct 2010 13:18:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[monthly metal]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1803</guid>
		<description>I&amp;#8217;m starting this as hopefully a new regular monthly blog to highlight new metal releases each month. I find myself losing touch with what new albums are out, so I&amp;#8217;m going to regularly check sources from now on and compile this monthly list of new metal albums/eps/singles etc. that interest me. Also those of you [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;m starting this as hopefully a new regular monthly blog to highlight new metal releases each month. I find myself losing touch with what new albums are out, so I&#8217;m going to regularly check sources from now on and compile this monthly list of new metal albums/eps/singles etc. that interest me.</p>
<p>Also those of you on Spotify &#8211; I&#8217;ve made a new Collaborative playlist of 2010 new metal releases &#8211; <a href="http://open.spotify.com/user/asgrim/playlist/7xhpTNMWEFkwmVhNsAMua2">clicky here</a> for that. Please only add good metal or you shall be slain! Many (if not all) new albums in my lists will be on this Spotify list with any luck. KTHXBAI.</p>
<p>So here&#8217;s the first one &#8211; September 2010&#8242;s new releases, with Spotify links where possible</p>
<ul>
<li><strong>Death Angel &#8211; </strong>Relentless Retribution (<a href="http://open.spotify.com/album/4BmuNlMj4HqrfFALFlOCux">Spotify</a>)</li>
<li><strong>Suicidal Tendencies &#8211; </strong>No Mercy Fool!/The Suicidal Family (<a href="http://open.spotify.com/album/5Q9XRmD1Z9IVF4Tlz0MsSK">Spotify</a>)</li>
<li><strong>Kamelot &#8211; </strong>Poetry for the Poisoned</li>
<li><strong>Accept &#8211; </strong>Blood of the Nations (<a href="http://open.spotify.com/album/6T80H5s6erzitHa3rYFwMj">Spotify</a>)</li>
<li><strong>Elvenking &#8211; </strong>Red Silent Tides (<a href="http://open.spotify.com/album/6EBS4dy1OuniFYGI0Zs3Pn">Spotify</a>)</li>
<li><strong>Therion &#8211; </strong>Sitra Ahra (<a href="http://open.spotify.com/album/4kDsvFOvEgjyXT88SRVvel">Spotify</a>)</li>
<li><strong>Dimmu Borgir &#8211; </strong>Abrahadabra (<a href="http://open.spotify.com/album/5VPKs6gnbaIUgjLdBd8TnQ">Spotify</a>)</li>
<li><strong>The Crown</strong> &#8211; Doomsday King (<a href="http://open.spotify.com/album/136bJPzzW71InZBzWz1j3t">Spotify</a>)</li>
<li><strong>Enslaved &#8211; </strong>Axioma Ethica Odini</li>
<li><strong>Halford &#8211; </strong>Halford IV &#8211; Made of Metal</li>
</ul>
<p>September looks a pretty good month for metal. I&#8217;m particularly excited by Enslaved&#8217;s new album Axioma Ethica Odini, but regrettably it&#8217;s not on Spotify yet so I&#8217;ve not managed to give it a listen yet. Also I found out that The Crown (previously Crown of Thorns) have reformed with a new singer and released a new album, Doomsday King, which is still brutal as ever &#8211; give it a listen if you can, and while you&#8217;re there check out some of their <a href="http://open.spotify.com/user/asgrim/playlist/0Lh0lXvTixm57FcyrgWkGT">older albums</a>! I&#8217;ve given Dimmu Borgir&#8217;s new album a few listens, but I&#8217;m just not sure on it yet (although it&#8217;s growing on me) &#8211; it seems to be a bit <em>messy</em> but it&#8217;s an interesting new direction. My prediction is that the <em>next </em>album they do is going to be killer when they figure themselves out without Mustis and Vortex.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5tMAR0u3lNY:KWVSah_yD4M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5tMAR0u3lNY:KWVSah_yD4M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=5tMAR0u3lNY:KWVSah_yD4M:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=5tMAR0u3lNY:KWVSah_yD4M:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/5tMAR0u3lNY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/10/02/september-2010-metal-releases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/10/02/september-2010-metal-releases/</feedburner:origLink></item>
		<item>
		<title>A Kitten Dies Every Time Someone Mentions Screen Scraping</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/-JyrVoFkuNU/</link>
		<comments>http://www.asgrim.com/2010/09/30/a-kitten-dies-every-time-someone-mentions-screen-scraping/#comments</comments>
		<pubDate>Thu, 30 Sep 2010 22:00:29 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[scraping]]></category>
		<category><![CDATA[screen]]></category>
		<category><![CDATA[transfer]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1796</guid>
		<description>Yes, it&amp;#8217;s true. I can&amp;#8217;t stand screen scraping for several reasons. It&amp;#8217;s not exactly the easiest thing to implement in most cases (often the data you need is behind login forms that don&amp;#8217;t use standard HTTP authentication). It probably breaks the terms and conditions of using the site you&amp;#8217;re trying to scrape from Even a [...]</description>
			<content:encoded><![CDATA[<p>Yes, it&#8217;s true. I can&#8217;t stand screen scraping for several reasons.</p>
<ul>
<li>It&#8217;s not exactly the easiest thing to implement in most cases (often the data you need is behind login forms that don&#8217;t use standard HTTP authentication).</li>
<li>It probably breaks the terms and conditions of using the site you&#8217;re trying to scrape from</li>
<li>Even a tiny change on the remote site could ruin your scrape, and its out of your control. Often when things change, you have to pretty much go back to the drawing board</li>
<li>There are a few ways of screen scraping (regex, DOM loading, xpath etc.)</li>
<li>It&#8217;s a lot of work when it would probably be easier to just ask the site in question for some sort of feed</li>
<li>It&#8217;s a zillion times harder (if not impossible) when using AJAXified sites</li>
<li>Using DOM loading may not work if the site does not validate</li>
</ul>
<p>There is only one thing that comes to mind that makes screen scraping just marginally easier, and that is the much more descriptive HTML5 tags that are coming out, but even then I&#8217;m not sure how useful that might be.</p>
<p>Correct me if I&#8217;m wrong, but it seems to me that screen scraping is a total waste of time?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-JyrVoFkuNU:gLWqRpl5N9E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-JyrVoFkuNU:gLWqRpl5N9E:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=-JyrVoFkuNU:gLWqRpl5N9E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=-JyrVoFkuNU:gLWqRpl5N9E:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/-JyrVoFkuNU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/30/a-kitten-dies-every-time-someone-mentions-screen-scraping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/30/a-kitten-dies-every-time-someone-mentions-screen-scraping/</feedburner:origLink></item>
		<item>
		<title>PHP Basics – where next?</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/uZ76mu_B27c/</link>
		<comments>http://www.asgrim.com/2010/09/26/php-basics-where-next/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 15:49:59 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[basics]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[survey]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1794</guid>
		<description>Hi folks. Not sure if you&amp;#8217;ve seen my recent behemoth posts (part 1 and part 2), and if you haven&amp;#8217;t please check them out.  had intended to do a full on series of these posts but before writing a load more I wanted to gauge whether anyone will actually find them useful or not. So [...]</description>
			<content:encoded><![CDATA[<p>Hi folks. Not sure if you&#8217;ve seen my recent behemoth posts (<a href="http://www.asgrim.com/2010/08/30/php-basics-part-i-hello-classy-world/">part 1</a> and <a href="http://www.asgrim.com/2010/09/19/php-basics-part-ii-getting-objective-with-databases/">part 2</a>), and if you haven&#8217;t please check them out.  had intended to do a full on series of these posts but before writing a load more I wanted to gauge whether anyone will actually find them useful or not.</p>
<p>So &#8211; my questions are:</p>
<ol>
<li>Did you find the posts useful? Interesting?</li>
<li>If I continued doing the posts, what topics would you like to see me cover?</li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uZ76mu_B27c:TYXBC3Lt5LA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uZ76mu_B27c:TYXBC3Lt5LA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uZ76mu_B27c:TYXBC3Lt5LA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uZ76mu_B27c:TYXBC3Lt5LA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/uZ76mu_B27c" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/26/php-basics-where-next/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/26/php-basics-where-next/</feedburner:origLink></item>
		<item>
		<title>I’m getting moaned at!</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/uWGdSf9WIP4/</link>
		<comments>http://www.asgrim.com/2010/09/26/im-getting-moaned-at/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 10:04:37 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[hannah]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1801</guid>
		<description>Right, I&amp;#8217;m getting moaned at by Hannah. Apparently I don&amp;#8217;t blog about my &amp;#8220;personal&amp;#8221; stuff any more (i.e. Freyja). So I&amp;#8217;m going to make a target of making at least one blog post a week relating to my personal life as well as my irregular posts about technical mumbo jumbo. If I had my own [...]</description>
			<content:encoded><![CDATA[<p>Right, I&#8217;m getting moaned at by Hannah. Apparently I don&#8217;t blog about my &#8220;personal&#8221; stuff any more (i.e. Freyja). So I&#8217;m going to make a target of making at least one blog post a week relating to my personal life as well as my irregular posts about technical mumbo jumbo. If I had my own way, technically because this post is in the &#8220;Personal&#8221; category, that makes this one my first week&#8217;s post, but I don&#8217;t think that&#8217;ll wash with Hannah&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uWGdSf9WIP4:synwrXD3hfU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uWGdSf9WIP4:synwrXD3hfU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=uWGdSf9WIP4:synwrXD3hfU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=uWGdSf9WIP4:synwrXD3hfU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/uWGdSf9WIP4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/26/im-getting-moaned-at/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/26/im-getting-moaned-at/</feedburner:origLink></item>
		<item>
		<title>Convert Type 1 Mac fonts to TTF in Linux</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/zBRMWKTEUJE/</link>
		<comments>http://www.asgrim.com/2010/09/23/convert-type-1-mac-fonts-to-ttf-in-linux/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 21:16:15 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[conversion]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[fontforge]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[pfb]]></category>
		<category><![CDATA[postscript]]></category>
		<category><![CDATA[t1unmac]]></category>
		<category><![CDATA[truetype]]></category>
		<category><![CDATA[ttf]]></category>
		<category><![CDATA[type 1]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1788</guid>
		<description>I recently had a client who used a specific font for their design, and their designer sent me the font. However, the font was a Postscript Type 1 font in Mac OS X format, which meant it was split into something called a &amp;#8220;resource fork&amp;#8221; I believe. The easiest format for me working on a [...]</description>
			<content:encoded><![CDATA[<p>I recently had a client who used a specific font for their design, and their designer sent me the font. However, the font was a Postscript Type 1 font in Mac OS X format, which meant it was split into something called a &#8220;resource fork&#8221; I believe. The easiest format for me working on a Linux machine is TTF or similar &#8211; i.e. a single font file that is truly cross-platform. After much Googling I&#8217;ve just come up with the solution that works for me.</p>
<p><strong>Legal note: </strong>Please bear in mind that fonts have hairy licensing surrounding them and often their license does not allow you to convert to another format. Check with your legal beagle first. This tip is just for informational purposes, and does not mean you can just go ahead and convert fonts willy nilly! I won&#8217;t be held responsible if you get in trouble for doing this, you have been warned!</p>
<p>Install the prerequisite software for this, t1utils and FontForge:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> t1utils fontforge</pre></div></div>

<p>Now you need to convert the hidden file to PFB (Printer Font Binary) using t1unmac. The file you&#8217;re looking for will probably be in a folder called &#8220;__MACOSX&#8221;. The file will be hidden and named something like ._FontName and won&#8217;t be zero bytes big! If the files are zero bytes big, you&#8217;re in the wrong place. In your terminal, change directory to where the font file you want to convert are, and do:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">t1unmac <span style="color: #660033;">--appledouble</span> ._FontName <span style="color: #000000; font-weight: bold;">&amp;</span>gt; FontName.pfb</pre></div></div>

<p>Then you need to use FontForge to convert this to TTF. Press Alt+F2 (in Ubuntu) and type &#8220;fontforge&#8221;.</p>
<p>The FontForge open dialog should appear, and navigate to your .pfb file and open it. Go to File &gt; Generate Fonts, select &#8220;TrueType&#8221; as the type and press Save. There may be a few warning messages, and I don&#8217;t know for sure how it affects the output, but I ignored the messages and it seemed to work fine.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zBRMWKTEUJE:T8OkTlN3oMk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zBRMWKTEUJE:T8OkTlN3oMk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=zBRMWKTEUJE:T8OkTlN3oMk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=zBRMWKTEUJE:T8OkTlN3oMk:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/zBRMWKTEUJE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/23/convert-type-1-mac-fonts-to-ttf-in-linux/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/23/convert-type-1-mac-fonts-to-ttf-in-linux/</feedburner:origLink></item>
		<item>
		<title>Posts not cut off in feeds</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/4e9MTiqbF4E/</link>
		<comments>http://www.asgrim.com/2010/09/20/posts-not-cut-off-in-feeds/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 19:23:00 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[apology]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[more]]></category>
		<category><![CDATA[tag]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1786</guid>
		<description>Hi folks, just a quick message to say sorry for the PHP classes tutorials being so long in feed readers, I did write them with &amp;#8220;More&amp;#8221; tags but it didn&amp;#8217;t seem to work, and nothing annoys me more than having a massive long blog post in my feed reader &amp;#8211; it makes me not want [...]</description>
			<content:encoded><![CDATA[<p>Hi folks, just a quick message to say sorry for the PHP classes tutorials being so long in feed readers, I <em>did</em> write them with &#8220;More&#8221; tags but it didn&#8217;t seem to work, and nothing annoys me more than having a massive long blog post in my feed reader &#8211; it makes me not want to read it. Please read it though, please don&#8217;t just skim over it! <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Love me x</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4e9MTiqbF4E:cUooZLHtkVw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4e9MTiqbF4E:cUooZLHtkVw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4e9MTiqbF4E:cUooZLHtkVw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4e9MTiqbF4E:cUooZLHtkVw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/4e9MTiqbF4E" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/20/posts-not-cut-off-in-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/20/posts-not-cut-off-in-feeds/</feedburner:origLink></item>
		<item>
		<title>PHP Basics – Part II: Getting Objective With Databases</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/dTPlvTfjka4/</link>
		<comments>http://www.asgrim.com/2010/09/19/php-basics-part-ii-getting-objective-with-databases/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 10:48:32 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[objective]]></category>
		<category><![CDATA[objects]]></category>
		<category><![CDATA[orientated]]></category>
		<category><![CDATA[PDO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[prepared]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[statements]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1641</guid>
		<description>Databases are normally an integral part of your website. Whenever you see dynamic content (e.g. news posts, event listings, calendars etc.), you can almost guarantee it&amp;#8217;s driven by a database. Due to the open source nature of PHP, the number one choice when it comes to databases is MySQL. As I use MySQL day in, [...]</description>
			<content:encoded><![CDATA[<p>Databases are normally an integral part of your website. Whenever you see dynamic content (e.g. news posts, event listings, calendars etc.), you can almost guarantee it&#8217;s driven by a database. Due to the open source nature of PHP, the number one choice when it comes to databases is <a href="http://www.mysql.com/">MySQL</a>. As I use MySQL day in, day out, I&#8217;ll be focusing on this, but don&#8217;t forget there are other options available. These include <a href="http://www.postgresql.org/">PostgreSQL</a>, <a href="http://www.sqlite.org/">SQLite</a>, and <a href="http://www.microsoft.com/sql">Microsoft SQL Server</a> (commonly just called &#8220;MSSQL&#8221;) which are all worth checking out. Your choices aren&#8217;t just limited to these though as there are plenty of enterprise level database servers (which include MySQL and others by the way!) available.</p>
<h3>So what is a database?</h3>
<p>In summary, a database is somewhere you can store data. All the databases I mentioned in the preamble are based on <a href="http://en.wikipedia.org/wiki/SQL">SQL</a> which stands for Structured Query Language. They are all <em>based</em> on a common language (I say <em>based</em> because they extend the SQL language and add their own features) which attempts to give pre-defined structure to storing and retrieving data. Not only do you have a huge choice of different SQL servers, you have a choice of different database storage, such as <a href="http://aws.amazon.com/s3/">Amazon S3</a>, <a href="http://www.mongodb.org/">MongoDB</a>, <a href="http://couchdb.apache.org/">CouchDB</a> and many others. CouchDB for example is what&#8217;s known as a document-orientated database, but that&#8217;s a whole different kettle of fish.</p>
<p>SQL and database storage in general is a mammoth topic, so before you go any further into this article, I suggest you read up on some <a href="http://dev.mysql.com/doc/refman/5.1/en/tutorial.html">MySQL introductory tutorials</a> first. I&#8217;ll continue this PHP tutorial with the assumption you know basic MySQL.<br />
<span id="more-1641"></span></p>
<h3>Wrapping The Database &#8211; PDO</h3>
<p>PHP has many useful functions and classes built in that are hugely helpful when querying databases. One of these is <a href="http://www.php.net/pdo">PDO</a>, or <strong>P</strong>HP <strong>D</strong>ata <strong>O</strong>bjects, which are a set of classes that help in simplifying (or providing an abstraction layer) between databases and PHP classes. PDO is a great object orientated way to get into using databases in your code. Let&#8217;s start by looking at a simple output of the contents of a database table. First we need to create our table and insert a few rows:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">CREATE</span> <span style="color: #990099; font-weight: bold;">TABLE</span> <span style="color: #008000;">`news`</span> <span style="color: #FF00FF;">&#40;</span>
  <span style="color: #008000;">`id`</span> <span style="color: #999900; font-weight: bold;">INT</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #FF9900; font-weight: bold;">AUTO_INCREMENT</span> <span style="color: #990099; font-weight: bold;">PRIMARY KEY</span> <span style="color: #000033;">,</span>
  <span style="color: #008000;">`posted`</span> <span style="color: #999900; font-weight: bold;">DATETIME</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #000033;">,</span>
  <span style="color: #008000;">`author`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span> <span style="color: #008080;">32</span> <span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #000033;">,</span>
  <span style="color: #008000;">`title`</span> <span style="color: #999900; font-weight: bold;">VARCHAR</span><span style="color: #FF00FF;">&#40;</span> <span style="color: #008080;">64</span> <span style="color: #FF00FF;">&#41;</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #000033;">,</span>
  <span style="color: #008000;">`content`</span> <span style="color: #999900; font-weight: bold;">TEXT</span> <span style="color: #CC0099; font-weight: bold;">NOT</span> <span style="color: #9900FF; font-weight: bold;">NULL</span>
<span style="color: #FF00FF;">&#41;</span> <span style="color: #990099; font-weight: bold;">ENGINE</span> <span style="color: #CC0099;">=</span> MYISAM <span style="color: #000033;">;</span>
&nbsp;
<span style="color: #990099; font-weight: bold;">INSERT</span> <span style="color: #990099; font-weight: bold;">INTO</span> <span style="color: #008000;">`news`</span> <span style="color: #FF00FF;">&#40;</span><span style="color: #008000;">`posted`</span> <span style="color: #000033;">,</span> <span style="color: #008000;">`author`</span> <span style="color: #000033;">,</span> <span style="color: #008000;">`title`</span> <span style="color: #000033;">,</span> <span style="color: #008000;">`content`</span><span style="color: #FF00FF;">&#41;</span>
  <span style="color: #990099; font-weight: bold;">VALUES</span> <span style="color: #FF00FF;">&#40;</span> <span style="color: #008000;">'2010-04-01 14:30:00'</span> <span style="color: #000033;">,</span>  <span style="color: #008000;">'james'</span><span style="color: #000033;">,</span>  <span style="color: #008000;">'Some title'</span><span style="color: #000033;">,</span>  <span style="color: #008000;">'Some content of the news article in this field.'</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">,</span>
    <span style="color: #FF00FF;">&#40;</span> <span style="color: #008000;">'2010-04-03 16:15:00'</span> <span style="color: #000033;">,</span>  <span style="color: #008000;">'hannah'</span><span style="color: #000033;">,</span>  <span style="color: #008000;">'Another title'</span><span style="color: #000033;">,</span>  <span style="color: #008000;">'Some more content of a different news article in this field.'</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p>You should be familiar with basic MySQL syntax (or at least SQL), so this should be nothing new to you. If it is, go and learn some MySQL first! All I&#8217;m going to do here is get (<a href="http://dev.mysql.com/doc/refman/5.1/en/select.html">SELECT</a>) all the data in this table using PDO and display it.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000000; font-weight: bold;">class</span> NewsWriter
<span style="color: #009900;">&#123;</span>
  <span style="color: #009933; font-style: italic;">/**
   * @var string The Data Source Name string
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_dsn</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * @var string Username to connect to the database with
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_user</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * @var string Password to connect to the database with
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_password</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * @var string Name of the table we're retrieving data from
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_table</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * @var PDO Handle to the database, a PDO class
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_dbh</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * @var PDOStatement The object containing information about the last query
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_lastStmt</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * Construct our news writer object, pre-setting parameters
   */</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Set up database credentials and details</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dsn <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mysql:dbname=test;host=127.0.01&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_user <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;myusername&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_password <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mypassword&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_table <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;news&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Create the PDO database handle</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PDO<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dsn<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_user<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_password<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * Retrieve data from the database and store it in $this-&amp;gt;_lastStmt
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table} ORDER BY posted&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * Display the results in an HTML formatted table
   *
   * @param PDOStatement $result The PDOStatement object to retrieve the results from
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> OutputTable<span style="color: #009900;">&#40;</span>PDOStatement <span style="color: #000088;">$result</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;table&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;thead&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;th&amp;gt;Posted On&amp;lt;/th&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;th&amp;gt;Author&amp;lt;/th&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;th&amp;gt;Subject&amp;lt;/th&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;th&amp;gt;Content&amp;lt;/th&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/thead&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;tbody&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Loop over the result set by calling fetch in object mode</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$obj</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>fetch<span style="color: #009900;">&#40;</span>PDO<span style="color: #339933;">::</span><span style="color: #004000;">FETCH_OBJ</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;{<span style="color: #006699; font-weight: bold;">$obj</span>-&amp;gt;posted}&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;{<span style="color: #006699; font-weight: bold;">$obj</span>-&amp;gt;author}&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;{<span style="color: #006699; font-weight: bold;">$obj</span>-&amp;gt;title}&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;{<span style="color: #006699; font-weight: bold;">$obj</span>-&amp;gt;content}&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/tbody&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/table&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #009933; font-style: italic;">/**
   * Execute the database query and output in one handy place
   */</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>OutputTable<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$news</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> NewsWriter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$news</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This code isn&#8217;t perfect, but does demonstrate how using PDO can make things easier. The key to remember is that provided you are using SQL code that is generic (and doesn&#8217;t use server-specific code), this will work on any database. All you would have to replace is the <a href="http://en.wikipedia.org/wiki/Database_Source_Name">DSN</a>, or Database Source Name. A DSN is similar to a <a href="http://en.wikipedia.org/wiki/URL">URL</a> in the fact it contains information about where a server is located. It differs in the fact it is not in standard URL format (e.g. protocol://hostname/path), but is actually a collection key/value pairs, prepended by the connection type. For example, if your SQL server was running on a non-standard port, you could specify it thus:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dsn <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mysql:dbname=test;host=127.0.01;port=1234&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Let&#8217;s run through our example step by step.</p>
<h3>Class Structure</h3>
<p>Our class is made up of a constructor, RetrieveData, OutputTable and Execute. The Execute function is simply a wrapper that contains calls to both functions to make life easier, so I won&#8217;t go into that too much.</p>
<h4>The Constructor</h4>
<p>The constructor starts off by specifying the DSN to use, login credentials and the table name. Then we <a href="http://www.php.net/manual/en/pdo.construct.php">create our PDO object</a> using the DSN and login credentials. This handles your connection to the database, and you are storing the result in $_dbh so you can later use &#8220;connection&#8221; (or rather, object containing a connection resource) this when querying.</p>
<p>This function could be improved by making the DSN and login credentials be passed as arguments to the constructor, for example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #009933; font-style: italic;">/**
   * Construct our news writer object, pre-setting parameters
   * @param string $dsn the Data source name to use
   * @param string $user Username to connect with
   * @param string $password Password to connect with
   */</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #000088;">$dsn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$user</span><span style="color: #339933;">,</span> <span style="color: #000088;">$password</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// Set up database credentials and details</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dsn <span style="color: #339933;">=</span> <span style="color: #000088;">$dsn</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_user <span style="color: #339933;">=</span> <span style="color: #000088;">$user</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_password <span style="color: #339933;">=</span> <span style="color: #000088;">$password</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_table <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;news&quot;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;">// Create the PDO database handle</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> PDO<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dsn<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_user<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_password<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>&#8230; and further down when we instantiate the object&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$news</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> NewsWriter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;mysql:dbname=test;host=127.0.01&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;myuser&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;mypassword&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$news</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This makes our class a little more flexible because we could retrieve the DSN, username and password from a configuration file, such as would be recommended in a production environment. It is a bad idea to store usernames and passwords in PHP files, and more importantly, login details should be outside of the web root so that they are not accessible from the outside world. Remember that PHP can access anywhere on the local filesystem (e.g. /usr/local/), but the outside world can only access anything within your web root, e.g. /var/www for an Debian-based system.</p>
<h4>RetrieveData</h4>
<p>Retrieving data is just as simple as instantiating the class. We prepare an SQL statement by using <em>$this-&gt;_table</em>, so that if we want to change the table name from &#8220;news&#8221; to &#8220;articles&#8221; for example, we would only have to change the name in one place. Then, we simply use our <em>$this-&gt;_dbh</em> object to query the database, and return the result in $this-&gt;_lastStmt which is an object of type <a href="http://www.php.net/manual/en/class.pdostatement.php">PDOStatement</a> which we use later.</p>
<p>In this example, this is probably the quickest way of doing this, but if your query should contain conditional statements, then there is normally a performance gain by using something called Prepared Statements. These are SQL statements that you write out in advance of executing, and contain placeholders for values. For example, using our example above, we only want to retrieve news articles before a certain point in time. Doing this the current way would look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #009933; font-style: italic;">/**
   * Retrieve data from the database and store it in $this-&amp;gt;_lastStmt
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$cutoff</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2010-04-02 12:00:00'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table} WHERE {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table}.posted &amp;lt;= '<span style="color: #006699; font-weight: bold;">{$cutoff}</span>' ORDER BY posted&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>query<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>The above query could potentially be insecure, especially if we used $cutoff as an argument to RetrieveData. We cannot trust $cutoff to contain a safe value. For example, $cutoff might contain a string such as:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #008000;">'; SELECT * FROM mysql.user; --</span></pre></div></div>

<p>If left unescaped (or &#8220;made safe&#8221;), this would execute this SQL:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> news <span style="color: #990099; font-weight: bold;">WHERE</span> news.posted <span style="color: #CC0099;">&amp;</span>lt<span style="color: #000033;">;</span><span style="color: #CC0099;">=</span> <span style="color: #008000;">''</span><span style="color: #000033;">;</span> <span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span> <span style="color: #990099; font-weight: bold;">FROM</span> mysql.<span style="color: #000099;">user</span><span style="color: #000033;">;</span> <span style="color: #808080; font-style: italic;">-- 'ORDER BY posted</span></pre></div></div>

<p>As you can see, this is a massive security hole and catches people out all the time, despite people trying to raise awareness of this issue. This type of attack is called an <a href="http://en.wikipedia.org/wiki/SQL_injection">SQL injection</a>, and can be avoided by escaping values prior to using them. Using prepared statements will automatically escape values thus reducing (but not completely eradicating!) the chance of SQL injection. Lets have a look at what using a prepared statement looks like:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #009933; font-style: italic;">/**
   * Retrieve data from the database and store it in $this-&amp;gt;_lastStmt
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$cutoff</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'2010-04-02 12:00:00'</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table} WHERE {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table}.posted &amp;lt;= :cutoff ORDER BY posted&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>prepare<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>PDO<span style="color: #339933;">::</span><span style="color: #004000;">ATTR_CURSOR</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">CURSOR_FWDONLY</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>bindParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':cutoff'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cutoff</span><span style="color: #339933;">,</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">PARAM_STR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>This would do exactly the same as the previous retrieve data function, but it is much better at preventing SQL injection attacks, so it would be safer to pass $cutoff as a parameter to RetrieveData. If you were very paranoid, you would check the format of $cutoff in RetrieveData to ensure it is a correctly formatted MySQL date, but for simplicity I will assume that it is formatted.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #009933; font-style: italic;">/**
   * Retrieve data from the database and store it in $this-&amp;gt;_lastStmt
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #000088;">$cutoff</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT * FROM {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table} WHERE {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table}.posted &amp;lt;= :cutoff ORDER BY posted&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>prepare<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>PDO<span style="color: #339933;">::</span><span style="color: #004000;">ATTR_CURSOR</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">CURSOR_FWDONLY</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>bindParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':cutoff'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$cutoff</span><span style="color: #339933;">,</span> PDO<span style="color: #339933;">::</span><span style="color: #004000;">PARAM_STR</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #666666; font-style: italic;">// ... and further down....</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>RetrieveData<span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;cutoff&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>OutputTable<span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>We are using the superglobal $_GET here to get the variable from the query string (e.g. http://localhost/dbtest.php?cutoff=2010-04-10+12%3A00%3A00). Note that I have opened up another security issue here which is that I have not filtered the input, but that&#8217;s a whole different story! Let&#8217;s get back to the example. In the initial SQL I have replaced the parameter with a the named placeholder :cutoff, which tells the PDO engine that it is a parameter that can be replaced. There are other ways of doing this (question mark placeholders) &#8211; to find out read <a href="http://www.php.net/manual/en/pdostatement.bindparam.php">the very useful PHP manual</a>! In the next statement we create our <em>$this-&gt;_lastStmt</em> object by calling the PDO::prepare function. The first parameter is the SQL statement to prepare, and the second is an array of key/value pairs. Read <a href="http://www.php.net/manual/en/pdo.prepare.php">the PHP manual</a> for more info on these&#8230;</p>
<p>Once the statement is prepared, we can re-use the statement wherever we want (and this can have significant performance enhancements!). We are only using it this one place though, so before we can use the statement, we have to <em>bind</em> the value $cutoff to the parameter. The rather aptly named <a href="http://www.php.net/manual/en/pdostatement.bindparam.php">bindParam</a> function which is a member function of PDOStatement allows us to do this. The first argument is the named placeholder (in our example &#8216;:cutoff&#8217;), and the second argument is the value we will replace &#8216;:cutoff&#8217; with in this execution of the statement. The first two arguments are the only required arguments. The third parameter defaults to PDO::PARAM_STR, but I have explicitly defined the type of the value in this example for clarity. Other types you could have are PDO::PARAM_BOOL, PDO::PARAM_INT, PDO::PARAM_NULL, PDO::PARAM_STR and PDO::PARAM_LOB (<a href="http://www.php.net/manual/en/pdo.constants.php">see here for details</a>). Note that bindParam also enables you to use output values as well as input values, but that again is a different story&#8230;</p>
<p>Finally, we do a quick call to execute(), which executes the prepared statement and you can continue to the next stage &#8211; outputting the table!</p>
<h4>OutputTable</h4>
<p>OutputTable is a simple function that takes a PDOStatement object as a parameter, loops over the query results and outputs them in an HTML formatted table. This is done by using a <a href="http://www.php.net/manual/en/control-structures.while.php">while loop</a> to retrieve each row and output it. To retrieve a row, we call the <a href="http://www.php.net/manual/en/pdostatement.fetch.php">fetch()</a> function. In our example I have passed the parameter PDO::FETCH_OBJ to return the result as an object. You can also retrieve the result as a numbered array starting from zero (PDO::FETCH_NUM) or an associative array (PDO::FETCH_ASSOC). There are <a href="http://www.php.net/manual/en/pdo.constants.php">other retrieval methods</a>, but they are less common. You will probably find that the most commonly used method is PDO::FETCH_ASSOC, which would change our code slightly:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #666666; font-style: italic;">// Loop over the result set by calling fetch in associative array mode</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$result</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>fetch<span style="color: #009900;">&#40;</span>PDO<span style="color: #339933;">::</span><span style="color: #004000;">FETCH_ASSOC</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #009900;">&#123;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;<span style="color: #006699; font-weight: bold;">{$row['posted']}</span>&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;<span style="color: #006699; font-weight: bold;">{$row['author']}</span>&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;<span style="color: #006699; font-weight: bold;">{$row['title']}</span>&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;td&amp;gt;<span style="color: #006699; font-weight: bold;">{$row['content']}</span>&amp;lt;/td&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
      <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&amp;lt;/tr&amp;gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span></pre></div></div>

<h3>Creating New Stuff</h3>
<p>All we&#8217;ve covered here is a basic select statement, so let&#8217;s have a quick look at an <a href="http://dev.mysql.com/doc/refman/5.1/en/insert.html">INSERT</a> statement. As I really think prepared statements are the way to go, and you already know how to do these now, I&#8217;m going to add a new function into our example that creates a news post.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">  <span style="color: #009933; font-style: italic;">/**
   * Create a new record in the news table
   */</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> MakeNewsPost<span style="color: #009900;">&#40;</span><span style="color: #000088;">$author</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$sql</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;INSERT INTO {<span style="color: #006699; font-weight: bold;">$this</span>-&amp;gt;_table} (posted, author, title, content) VALUES(NOW(), :author, :title, :content)&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_dbh<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>prepare<span style="color: #009900;">&#40;</span><span style="color: #000088;">$sql</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>bindParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':author'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$author</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>bindParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':title'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>bindParam<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">':content'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_lastStmt<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>execute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>It&#8217;s as simple as that. This could actually be a little more optimised, especially if you are going to re-use the INSERT statement multiple times. Instead of preparing the statement in this function, you might call a separate function first to prepare the statement, and then in each iteration of insertion, bind the parameters then execute. This would fully utilise the potential of prepared statements.</p>
<h3>Closing Words</h3>
<p>What I have covered here really is the tip of the iceberg when it comes to using databases in PHP, but I think this article gives you an insight into the basics. Bear in mind that all we have done here is a couple of very basic statements. A professional SQL developer will handle huge queries in his or her time which get very complex, but are helped vastly by what I think is an incredibly useful addition to PHP. PDO is even the underlying base for <a href="http://framework.zend.com/">Zend Framework&#8217;s</a> database operations, which goes to show how useful it can become! I recommend you go out there and build yourself some dynamic sites to get a better understanding of how it all works. Get stuck in!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=dTPlvTfjka4:7PeZtm8CkEA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=dTPlvTfjka4:7PeZtm8CkEA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=dTPlvTfjka4:7PeZtm8CkEA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=dTPlvTfjka4:7PeZtm8CkEA:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/dTPlvTfjka4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/19/php-basics-part-ii-getting-objective-with-databases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/19/php-basics-part-ii-getting-objective-with-databases/</feedburner:origLink></item>
		<item>
		<title>Open letter to all website creators</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/4FJCfFmhn30/</link>
		<comments>http://www.asgrim.com/2010/09/08/open-letter-to-all-website-creators/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 21:23:51 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[address]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[plus]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[validate]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1780</guid>
		<description>Dear everyone who makes websites, Please change your e-mail validation to allow me to use the &amp;#8220;+&amp;#8221; (plus) sign in my e-mail address. Why? So I know who I&amp;#8217;ve given my e-mail address to and if I find a spam e-mail address to an e-mail address I gave to you, I will contact you and [...]</description>
			<content:encoded><![CDATA[<p>Dear everyone who makes websites,</p>
<p>Please change your e-mail validation to allow me to use the &#8220;+&#8221; (plus) sign in my e-mail address.</p>
<p>Why? So I know who I&#8217;ve given my e-mail address to and if I find a spam e-mail address to an e-mail address I gave to you, I will contact you and rant and rave at you and shout at you.</p>
<p>Kind regards</p>
<p>James</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4FJCfFmhn30:EZZMuqHlmBY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4FJCfFmhn30:EZZMuqHlmBY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=4FJCfFmhn30:EZZMuqHlmBY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=4FJCfFmhn30:EZZMuqHlmBY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/4FJCfFmhn30" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/08/open-letter-to-all-website-creators/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/08/open-letter-to-all-website-creators/</feedburner:origLink></item>
		<item>
		<title>Recipe: Chicken Myers</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/wiao2x6f7RY/</link>
		<comments>http://www.asgrim.com/2010/09/02/recipe-chicken-myers/#comments</comments>
		<pubDate>Thu, 02 Sep 2010 20:51:49 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[broccoli]]></category>
		<category><![CDATA[cheese]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[cream]]></category>
		<category><![CDATA[curry]]></category>
		<category><![CDATA[mayo]]></category>
		<category><![CDATA[mayonnaise]]></category>
		<category><![CDATA[myers]]></category>
		<category><![CDATA[powder]]></category>
		<category><![CDATA[soup]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1739</guid>
		<description>I don&amp;#8217;t know where this recipe is from so I&amp;#8217;m not sure who to credit for it. It&amp;#8217;s one my mum (and in turn her mum) gave to me from an old-looking magazine cutting, and I don&amp;#8217;t know anything more than &amp;#8220;it&amp;#8217;s yummy!&amp;#8221; and it&amp;#8217;s such a simple dish to do! Ingredients (serves 4) 4 [...]</description>
			<content:encoded><![CDATA[<p>I don&#8217;t know where this recipe is from so I&#8217;m not sure who to credit for it. It&#8217;s one my mum (and in turn her mum) gave to me from an old-looking magazine cutting, and I don&#8217;t know anything more than &#8220;it&#8217;s yummy!&#8221; and it&#8217;s such a simple dish to do!</p>
<p><strong>Ingredients (serves 4)</strong><br />
4 tablespoons double cream<br />
4-6 chicken pieces<br />
225g frozen broccoli, thawed<br />
298g can condensed cream of chicken soup<br />
4 rounded tablespoons real mayonnaise<br />
Half level teaspoon curry powder<br />
50g English cheddar, grated</p>
<p><strong>Instructions</strong><br />
1. Preheat a moderately hot oven (Gas 5, 375 deg. F, 190 deg. C)<br />
2. Arrange the chicken and broccoli in a shallow baking dish.<br />
3. Combine the undiluted chicken soup with the mayonnaise, cream and curry powder. Spoon this over the chicken and broccoli then sprinkle with the grated cheese.<br />
4. Bake in the preheated oven for about 30 minutes until the chicken is cooked through and the cheese is turning golden brown.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wiao2x6f7RY:Bh1UsD3a2M8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wiao2x6f7RY:Bh1UsD3a2M8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=wiao2x6f7RY:Bh1UsD3a2M8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=wiao2x6f7RY:Bh1UsD3a2M8:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/wiao2x6f7RY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/09/02/recipe-chicken-myers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/09/02/recipe-chicken-myers/</feedburner:origLink></item>
		<item>
		<title>PHP Basics – Part I: Hello Classy World</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Yd8kEWqnzr0/</link>
		<comments>http://www.asgrim.com/2010/08/30/php-basics-part-i-hello-classy-world/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 16:34:36 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[basics]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[orientation]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1640</guid>
		<description>PHP is my favourite programming language of all time. It&amp;#8217;s simple when you need it to be, and advanced when you need that extra power. I&amp;#8217;m what many people would call an evangelist of PHP. Since starting work at Netbasic, I&amp;#8217;ve really gone all out in using object-orientated programming (OOP) with PHP, and nearly everything [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.php.net/">PHP</a> is my favourite programming language of all time. It&#8217;s simple when you need it to be, and advanced when you need that extra power. I&#8217;m what many people would call an evangelist of PHP. Since starting work at <a href="http://www.netbasic.com/">Netbasic</a>, I&#8217;ve really gone all out in using object-orientated programming (OOP) with PHP, and nearly everything I do is object-orientated now.</p>
<p>Let&#8217;s step back a moment to the title of this article, &#8220;PHP Basics&#8221;. Isn&#8217;t that an indication that this is a guide for beginners? You&#8217;d be right in thinking that, and I&#8217;m going to go from nearly the beginning. For the purposes of the tutorial, I will assume you know how to set up your own LAMP or WAMP server (and if you don&#8217;t there are countless great tutorials on that), and that you know how the internet works and some basic HTML/CSS. I will also assume that you have little-to-no experience of object orientated programming (although understanding OOP in C++ or Java for example would be a bonus!), little-to-no experience of general programming, and no experience of PHP.</p>
<p>The next question you&#8217;re probably asking is why am I writing a &#8220;PHP introduction&#8221; tutorial when there are countless already out there? The answer to that is that I&#8217;m trying a different approach that I&#8217;ve not seen before. I&#8217;m going to start at the object orientated level so that procedural PHP scripting doesn&#8217;t even factor into the equation. I&#8217;ve done quite a long preamble now with not much in the way of teaching PHP, so we&#8217;re going to start now.<br />
<span id="more-1640"></span></p>
<h3>Hello Classy World</h3>
<p>When starting almost <em>any</em> programming language, you will always start with something called a &#8220;Hello World&#8221; app. All this app does is write, print, echo or display somehow a string saying &#8220;Hello World&#8221;. It&#8217;s often also used to test an installation works to ensure PHP is performing as expected. So, fire up your favourite editor and create a new helloworld.php file in your web root, and fill it with this basic OOP code:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000000; font-weight: bold;">class</span> MyClass
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">function</span> HelloWorld<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello, world!&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$obj</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> MyClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$obj</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>HelloWorld<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Okay, let&#8217;s run through what is happening here. We&#8217;re creating an object (a class) that is called &#8220;MyClass&#8221;. Within the scope of the class (indicated by curly braces { and } ) we have something called a &#8220;function&#8221; that is called &#8220;HelloWorld&#8221;. Within this &#8220;function&#8221;, is echo &#8220;Hello, world!&#8221;. What we have done here is define a class (or object &#8211; they&#8217;re interchangeable terms in OOP) with a function that echos the string &#8220;Hello, world!&#8221;.</p>
<h3>Back up a sec, what&#8217;s a function? And an echo? And scope&#8230;</h3>
<p>If you&#8217;re a beginner reading this, you might be confused already, so I&#8217;ll go through a couple of things&#8230;</p>
<h4>Echo</h4>
<p><a href="http://uk.php.net/manual/en/function.echo.php">Echo</a> is a &#8220;language construct&#8221; (which means it&#8217;s an integral part of PHP) that outputs whatever follows it to the browser. If this were a procedural script, doing something like this might result in the browser seeing the words &#8220;Hello, world!&#8221; in plain text on a plain background.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Hello, world!&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Echo is fundamental to PHP and you&#8217;ll use it a lot.</p>
<h4>Variables</h4>
<p><a href="http://www.php.net/manual/en/language.variables.basics.php">Variables</a> are like the memory function on your calculator, but a bit more complex. A variable is a value that is stored in the computer memory for use in your script. Variables in PHP have names, which are defined by the dollar symbol ($). For example, here are a couple of variables:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000088;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;James&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$favourite_hobby</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$number_of_toes</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">10</span><span style="color: #339933;">;</span></pre></div></div>

<p>Variables are case-sensitive (meaning $apple is not the same as $Apple), and can only contain letters, numbers and underscores, and can&#8217;t start with a number. Using our very limited knowledge so far, we can store a value in a variable, and echo it to the browser:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000088;">$text</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;Hello, world!&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #000088;">$text</span><span style="color: #339933;">;</span></pre></div></div>

<p>What we have done is store the string (a collection of characters &#8211; or letters) in the $text variable. You can use variables in many places to replace using actual values (think algebra!), and are extremely important to programming.</p>
<h4>Functions</h4>
<p>A &#8220;<a href="http://www.php.net/manual/en/functions.user-defined.php">function</a>&#8221; (in programming) is a group of lines of code that can be executed in your script. An example of a function is something that adds two numbers together &#8211; it performs a specific function, and sometimes gives a result back. For example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000000; font-weight: bold;">function</span> AddNumbers<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$c</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$b</span><span style="color: #339933;">;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$c</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The notation for &#8220;defining&#8221; a function is as above &#8211; the word &#8220;function&#8221; followed by the name of the function (in this example, &#8220;AddNumbers&#8221; followed by an open parenthesis symbol, some &#8220;arguments&#8221;. The lines of code contained within the curly braces are what will happen when the function is called. Let us use the function above and combine with our knowledge of variables and echoing values.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$apples</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$oranges</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">25</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$fruit</span> <span style="color: #339933;">=</span> AddNumbers<span style="color: #009900;">&#40;</span><span style="color: #000088;">$apples</span><span style="color: #339933;">,</span> <span style="color: #000088;">$oranges</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;There are <span style="color: #006699; font-weight: bold;">{$fruit}</span> pieces of fruit.&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This snippet has two declared variables &#8211; $apples and $oranges &#8211; and uses the function AddNumbers to add them together, and output a string with a variable inside (contained within curly braces!) to the browser. There are many more complexities when dealing with functions, especially with some newer PHP 5.3 features, which I will leave out to avoid too much confusion!</p>
<p>You can actually simplify this code already (and more experienced programmers will have noticed this). Spot where I have simplified this a little:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
<span style="color: #000000; font-weight: bold;">function</span> AddNumbers<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$b</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$apples</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">50</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$oranges</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">25</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;There are &quot;</span> <span style="color: #339933;">.</span> AddNumbers<span style="color: #009900;">&#40;</span><span style="color: #000088;">$apples</span><span style="color: #339933;">,</span> <span style="color: #000088;">$oranges</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; pieces of fruit.&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In PHP it is possible to evaluate code in place of creating new variables &#8211; we have replaced declaring two variables &#8211; $c in the function, and $fruit outside the function. The performance benefit for doing this is arguable, and negligible if at all &#8211; not to mention completely out of the scope of this article.</p>
<h3>Understanding Objects</h3>
<p>Now that we have a basic grasp on a few fundamental principles, we can look at object orientation. You have to look at everything you do in a different way &#8211; a way where every object is it&#8217;s own entity and serves it&#8217;s own purpose. Not only that, but objects can be types of other objects, and there can be many multiples of objects, sometimes containing many other objects.</p>
<p>First ask yourself what is an object in the real world. An commonly used example for understanding objects is Apples and Oranges. An Apple is an object, and the type of object is a fruit. Further classification could say that fruit is a type of food. Let&#8217;s represent this in PHP objects using empty classes, and the keyword &#8220;extends&#8221;.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Fruit
<span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Apple <span style="color: #000000; font-weight: bold;">extends</span> Fruit
<span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Orange <span style="color: #000000; font-weight: bold;">extends</span> Fruit
<span style="color: #009900;">&#123;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>The &#8220;extends&#8221; keyword basically means class X inherits class Y &#8211; it inherits typical characteristics of the &#8220;parent&#8221; class as it is known. This parent/child relationship is common across all object-orientation, and is an important concept to master. Lets put in some functions into our classes to demonstrate what I mean.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span>?php
abstract <span style="color: #000000; font-weight: bold;">class</span> Fruit
<span style="color: #009900;">&#123;</span>
  abstract <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;You have created an &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">get_class</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Serve<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;You have served the &quot;</span> <span style="color: #339933;">.</span> <span style="color: #990000;">get_class</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; on a plate.&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Apple <span style="color: #000000; font-weight: bold;">extends</span> Fruit
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Slice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> Slice<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Apple has been sliced.&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> Orange <span style="color: #000000; font-weight: bold;">extends</span> Fruit
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Peel<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>SeparateChunks<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> Peel<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>GrateZest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Orange has been peeled.&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> GrateZest<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// grate that zest so we can use it to cook!</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;The zest of the orange has been saved for cooking.&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> SeparateChunks<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #666666; font-style: italic;">// separate the orange chunks into bitesize pieces</span>
    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;The orange has been separated into chunks.&amp;lt;br /&amp;gt;&quot;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$my_apple</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Apple<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$my_apple</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$my_apple</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Serve<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$my_orange</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Orange<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$my_orange</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$my_orange</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Serve<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Woah, this bit of code just got a whole lot bigger! I&#8217;ve introduced a few more concepts here, which I&#8217;ll go into a little bit more detail about. Firstly though, this code will output something like:</p>
<blockquote><p>You have created an Apple<br />
Apple has been sliced.<br />
You have served the Apple on a plate.</p>
<p>You have created an Orange<br />
The zest of the orange has been saved for cooking.<br />
Orange has been peeled.<br />
The orange has been separated into chunks.<br />
You have served the Orange on a plate.</p></blockquote>
<p>Okay &#8211; lets have a look at some new key concepts to help understand the above code and how we got to the output.</p>
<h4>Instances</h4>
<p>When you write a class, you are defining the structure. The &#8220;class MyClass&#8221; and optionally &#8220;extends AnotherClass&#8221; tell the PHP interpreter that you are creating the class structure itself &#8211; the skeleton if you will. By doing this, you are saying these are the blueprints of how it all works. When you want to actually use a class, you do something called instantiate the class &#8211; or create an &#8220;instance&#8221; of it. Think of this as the physical existence of the object. You can, of course, have many instances. Each of the variables defined below is what is called an instance of a particular class. We use the &#8220;new&#8221; keyword to identify this by create a new instance of whatever class name follows. You can interact with these instances as regular variables which are all separate.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$apple1</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Apple<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$apple2</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Apple<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$apple3</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Apple<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<h4>Abstract Classes</h4>
<p>An abstract class is an incomplete definition of something. In our example above, you will see that the &#8220;Fruit&#8221; class has the keyword &#8220;abstract&#8221; prepends the class definition. This means that you cannot create an instance of that particular class, and the only way to use it is by extending it.</p>
<p>The first line will result in an error because Fruit is abstract, but the second is OK because Orange is a full class:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$some_fruit</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Fruit<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Errors</span>
<span style="color: #000088;">$some_orange</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Orange<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// OK!</span></pre></div></div>

<h4>Reserved variable name $this</h4>
<p>Something you will use frequently in OOP is the self-referential pseudo-variable &#8220;$this&#8221;. $this points to it&#8217;s own instance in context, and you can use it to call member variables or functions. In our Orange class example above, we can see that the Prepare function calls to of it&#8217;s own methods &#8211; Peel() and SeparateChunks(). If these were public functions (you&#8217;ll find out what these are in a moment!), you would be able to call these separately in the same way as you call Prepare().</p>
<h4>Basic Visibility &#8211; public, private</h4>
<p>Visibility of methods and variables is also another important OOP principle. Before the function or variable name you are declaring (only in a class), you can define it&#8217;s visibility. Default visibility for a function is public, but I find it good practice to always explicitly declare visibility for clarity. In our Orange example, the only publically visible methods (i.e. outside the structure or definition of the class) are Prepare() and Serve(); Serve() is inherited from the parent class Fruit remember. Orange&#8217;s private methods (i.e. you cannot access these outside the class) are Peel(), GrateZest() and SeparateChunks().</p>
<p>The second line will result in an error because Peel is a private method, but the third is OK because Prepare() is a public method:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$orange</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Orange<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$orange</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Peel<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// Error - Peel is not publically available</span>
<span style="color: #000088;">$orange</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Prepare<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// OK - Prepare is publically available</span></pre></div></div>

<p>There are a few more visibility operators, but these are the two basic ones you need to know about.</p>
<h4>The Function (or Call) Stack</h4>
<p>When calling functions, PHP maintains an internal list (or <a href="http://en.wikipedia.org/wiki/Stack_%28data_structure%29">stack</a>) of what is going on. You may have heard this term used in other programming languages, and most likely the term &#8220;Stack Dump&#8221;. I&#8217;ll briefly introduce the concept because I think it is useful to know how the engine works underneath.</p>
<p>Basically, at any one point in the execution of your script, you can do a &#8220;Stack Dump&#8221; which essentially is saying &#8220;output the call stack&#8221;. The call stack itself is a list of functions that have been called, and also indicates what the current function is.  To view the stack dump, you can use the <a href="http://uk.php.net/manual/en/function.debug-backtrace.php">debug_backtrace</a> function, but I won&#8217;t go into detail about that for now.</p>
<p>In the Orange class, at the point of the line that echos &#8220;The zest of the orange has been saved for cooking&#8221;, the call stack will look something like this (and I&#8217;m excluding system call stack for simplicity!):</p>
<ul>
<li>Prepare()</li>
<li>Peel()</li>
<li>GrateZest()</li>
</ul>
<p>Basically, this means the Prepare function has been called, and inside that, the Peel() function has been called, and inside that the GrateZest() function has been called. When the GrateZest() has finished executing, the execute &#8220;returns&#8221; to the Peel() function and the call stack becomes:</p>
<ul>
<li>Prepare()</li>
<li>Peel()</li>
</ul>
<p>This concept of the stack is known has <a href="http://en.wikipedia.org/wiki/LIFO_%28computing%29">LIFO</a> &#8211; or Last In, First Out &#8211; because the last item added to the stack is the first to be removed.</p>
<h4>Constructors</h4>
<p>A constructor is a PHP &#8220;magic&#8221; method. Magic methods are normally identified by the double underscore (_) before the function name. The constructor magic method is executed at the creation time of the class instance. This is how we make &#8220;You have created an Apple&#8221; appear. When the code:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$my_apple</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Apple<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>is run, PHP magically executes the code within the __construct() function. You can provide extra arguments to the construct function, for example:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> SomeClass
<span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000088;">$_value</span><span style="color: #339933;">;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_value <span style="color: #339933;">=</span> <span style="color: #000088;">$a</span> <span style="color: #339933;">+</span> <span style="color: #000088;">$b</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> GetValue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>_value<span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000088;">$instance</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SomeClass<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">5</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;The result is: &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$instance</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>GetValue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #666666; font-style: italic;">// Output would be:</span>
<span style="color: #666666; font-style: italic;">//   The result is: 15</span></pre></div></div>

<h3>Closing Words</h3>
<p>There you have it &#8211; some basic OOP knowledge. If you&#8217;ve followed me to this point, then you&#8217;re doing really well. Jumping straight into OOP PHP isn&#8217;t the easiest way to start by any means, and means you have to learn some concepts of OOP as well as learning syntax, so it&#8217;s a bit of a head full to begin with. The aim of these tutorials is to start you thinking OOP at the very first instance, instead of thinking &#8220;I do it this way in a procedural script, how can I translate this into OOP?&#8221;, which may not be the most efficient way of doing things.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Yd8kEWqnzr0:OLICX3QUOYE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Yd8kEWqnzr0:OLICX3QUOYE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Yd8kEWqnzr0:OLICX3QUOYE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Yd8kEWqnzr0:OLICX3QUOYE:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Yd8kEWqnzr0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/08/30/php-basics-part-i-hello-classy-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/08/30/php-basics-part-i-hello-classy-world/</feedburner:origLink></item>
		<item>
		<title>Stop Using the PHP Error Suppressor “@” and “or die”</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Z9ISagqcsvI/</link>
		<comments>http://www.asgrim.com/2010/08/28/stop-using-the-php-error-suppressor-and-or-die/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 15:57:55 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[at]]></category>
		<category><![CDATA[catch]]></category>
		<category><![CDATA[die]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[exceptions]]></category>
		<category><![CDATA[handling]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[or]]></category>
		<category><![CDATA[PDO]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[suppressor]]></category>
		<category><![CDATA[symbol]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1603</guid>
		<description>It annoys me when I see tutorials for learning PHP with code like this: $fd = @file&amp;#40;&amp;#34;doesnotexist&amp;#34;&amp;#41;; and this: $md = mysql_connect&amp;#40;&amp;#34;localhost&amp;#34;, &amp;#34;user&amp;#34;, &amp;#34;pass&amp;#34;&amp;#41; or die&amp;#40;&amp;#34;Could not connect!&amp;#34;&amp;#41;; It&amp;#8217;s bad practice in the real programming world and shouldn&amp;#8217;t happen. The at symbol (@) is used to silence any errors caused by calling a function as [...]</description>
			<content:encoded><![CDATA[<p>It annoys me when I see tutorials for learning PHP with code like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$fd</span> <span style="color: #339933;">=</span> <span style="color: #339933;">@</span><span style="color: #990000;">file</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;doesnotexist&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>and this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$md</span> <span style="color: #339933;">=</span> <span style="color: #990000;">mysql_connect</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;localhost&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;user&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;pass&quot;</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not connect!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>It&#8217;s bad practice in the real programming world and shouldn&#8217;t happen. The at symbol (@) is used to silence any errors caused by calling a function as shown above, when proper error handling should be implemented. Similarly, the practice of using &#8220;or die&#8221; to error check needs to stop being taught.</p>
<p>Using this language in PHP really needs to stop because there are much better ways to handle errors, such as using exceptions, or any sort of error handling except this really. My personal favourite is using an exception and catching it further down the stack. There&#8217;s loads of tutorials on error handling so I won&#8217;t go into it, but I just wanted to vent my hatred for this poor excuse for shoddy coding.</p>
<p>And while I&#8217;m at it, stop using mysql_* functions and start using PDO! <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Z9ISagqcsvI:0GaRMnzt5o0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Z9ISagqcsvI:0GaRMnzt5o0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Z9ISagqcsvI:0GaRMnzt5o0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Z9ISagqcsvI:0GaRMnzt5o0:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Z9ISagqcsvI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/08/28/stop-using-the-php-error-suppressor-and-or-die/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/08/28/stop-using-the-php-error-suppressor-and-or-die/</feedburner:origLink></item>
		<item>
		<title>Recipe: Salmon Korma on Naan</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/mUFHH8-drUY/</link>
		<comments>http://www.asgrim.com/2010/08/26/recipe-salmon-korma-on-naan/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 19:48:01 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[korma]]></category>
		<category><![CDATA[naan]]></category>
		<category><![CDATA[salmon]]></category>
		<category><![CDATA[tandoori]]></category>
		<category><![CDATA[tikkia]]></category>
		<category><![CDATA[yoghurt]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1741</guid>
		<description>Yeah OK so this isn&amp;#8217;t an original recipe, it&amp;#8217;s shamelessly lifted from my Jamie Oliver&amp;#8217;s Ministry of Food book that my sister gave me a couple of years ago. I love this recipe and make it at least once a month though, and you can vary it by swapping out the korma paste with any [...]</description>
			<content:encoded><![CDATA[<p>Yeah OK so this isn&#8217;t an original recipe, it&#8217;s shamelessly lifted from my <a href="http://www.amazon.co.uk/gp/product/0718148622?ie=UTF8&amp;tag=mypre-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0718148622">Jamie Oliver&#8217;s Ministry of Food</a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=mypre-21&amp;l=as2&amp;o=2&amp;a=0718148622" border="0" alt="" width="1" height="1" /><br />
book that my sister gave me a couple of years ago. I love this recipe and make it at least once a month though, and you can vary it by swapping out the korma paste with any sort of paste &#8211; tandoori, tikka massala etc.</p>
<p><strong>Ingredients</strong></p>
<ul>
<li>Half a Cucumber</li>
<li>Lemon juice</li>
<li>Red chilli</li>
<li>Yoghurt</li>
<li>Coriander</li>
<li>2x Naan bread</li>
<li>2x Salmon fillets</li>
<li>Salt &amp; Pepper</li>
<li>Korma paste (e.g. Patak&#8217;s)</li>
<li>Olive oil</li>
</ul>
<p><strong>Instructions</strong></p>
<p>Chop the cucumber into small chunks and put in a pyrex bowl, saving a few pieces for garnish. De-seed and finely chop the red chilli and coriander (save a little of each as well) and add to bowl. Add a couple of splashes of lemon juice and the yoghurt. Season with salt &amp; pepper, mix up well and leave on side.</p>
<p>Warm your naan bread in the oven. Slice the salmon into chunks about half an inch thick. Heat some olive oil in a frying pan and add the salmon chunks, followed by 2 tablespoons of korma paste (more or less to taste). Mix up well as it cooks.</p>
<p>As soon as the salmon is cooked, place your naan bread on your serving plate, and spread out the cucumber/yoghurt mix around the large end of the naan. Add half the salmon on top, serve with the remaining cucumber, chilli and coriander on top. Yum.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mUFHH8-drUY:EZz_vFs1mXQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mUFHH8-drUY:EZz_vFs1mXQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=mUFHH8-drUY:EZz_vFs1mXQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=mUFHH8-drUY:EZz_vFs1mXQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/mUFHH8-drUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/08/26/recipe-salmon-korma-on-naan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/08/26/recipe-salmon-korma-on-naan/</feedburner:origLink></item>
		<item>
		<title>Recipe: My Ratatouille</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/XERPpIwWRho/</link>
		<comments>http://www.asgrim.com/2010/07/11/recipe-my-ratatouille/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 10:22:02 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[baby corn]]></category>
		<category><![CDATA[broccoli]]></category>
		<category><![CDATA[carrots]]></category>
		<category><![CDATA[cherry]]></category>
		<category><![CDATA[courgette]]></category>
		<category><![CDATA[garlic]]></category>
		<category><![CDATA[onion]]></category>
		<category><![CDATA[peppers]]></category>
		<category><![CDATA[ratatouille]]></category>
		<category><![CDATA[tomato]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1743</guid>
		<description>Ratatouille is a great dish and full of vegetables which makes it cheap to do. I do Ratatouille slightly differently to many though as I exclude the common ingredients aubergine and bell peppers. My take on Ratatouille still keeps the tomato base in though, and I think it&amp;#8217;s still just as yummy. Truth be told [...]</description>
			<content:encoded><![CDATA[<p>Ratatouille is a great dish and full of vegetables which makes it cheap to do. I do Ratatouille slightly differently to many though as I exclude the common ingredients aubergine and bell peppers. My take on Ratatouille still keeps the tomato base in though, and I think it&#8217;s still just as yummy. Truth be told I vary the veg I put in each time, but I&#8217;ll write the recipe for the latest dish I made.</p>
<p><strong>Ingredients (serves 4)<br />
</strong></p>
<ul>
<li>3/4 garlic cloves, crushed</li>
<li>3 small courgettes, chopped</li>
<li>1 onion, chopped</li>
<li>2 carrots, sliced into batons</li>
<li>Tin of chopped tomatoes</li>
<li>12-16 on-the-vine cherry tomatoes</li>
<li>5/6 broccoli florets</li>
<li>8 baby corns</li>
<li>Your choice of herbs, e.g. Basil+Marjoram, Bay Leaf+Thyme or Provençal herbs mix</li>
<li>Optional &#8211; Lea &amp; Perrins</li>
<li>Optional &#8211; 300g long grain rice</li>
</ul>
<p><strong>Instructions</strong></p>
<p>Prepare all the vegetables. In a large saucepan, heat some olive oil and add garlic and onions. After a couple of minutes, add in the rest of the vegetables except the broccoli. Add the tin of tomatoes on top and add the herbs you have chosen. Optionally add some Lea &amp; Perrins Worcester sauce. Give everything a good stir. After a couple of minutes add all the cherry tomatoes and broccoli and give a quick stir and cover.</p>
<p>If you want rice, in another saucepan immediately after adding the broccoli and cherry tomatoes, boil some water for the rice. After 5 minutes, add the rice and cook everything for a further 15 minutes. If you are not doing rice, just cook the ratatouille for 20 minutes with the lid on. Everything should be ready all at once &#8211; which is something I never get quite right, but thankfully this is such a simple dish so it makes it possible!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=XERPpIwWRho:Km8dzOLHTIQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=XERPpIwWRho:Km8dzOLHTIQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=XERPpIwWRho:Km8dzOLHTIQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=XERPpIwWRho:Km8dzOLHTIQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/XERPpIwWRho" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/07/11/recipe-my-ratatouille/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/07/11/recipe-my-ratatouille/</feedburner:origLink></item>
		<item>
		<title>Recipe: Chicken &amp; Mushroom Pie</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Qk9ciLG7qns/</link>
		<comments>http://www.asgrim.com/2010/07/09/recipe-chicken-mushroom-pie/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 20:19:47 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[chicken]]></category>
		<category><![CDATA[cream]]></category>
		<category><![CDATA[creamy]]></category>
		<category><![CDATA[mushroom]]></category>
		<category><![CDATA[pie]]></category>
		<category><![CDATA[veg]]></category>
		<category><![CDATA[vegetables]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1747</guid>
		<description>I love pies, and they&amp;#8217;re so easy to make, especially with pre-rolled pastry. My favourite is this Chicken &amp;#38; Mushroom pie recipe I honed on my own from various sources. Ingredients &amp;#8211; serves 2 Pre-rolled puff pastry 2 chicken breasts, diced 4-6 sliced mushrooms 150ml Double cream 1/2 pint vegetable stock Tablespoon of cornflour 1 [...]</description>
			<content:encoded><![CDATA[<p>I love pies, and they&#8217;re so easy to make, especially with pre-rolled pastry. My favourite is this Chicken &amp; Mushroom pie recipe I honed on my own from various sources.</p>
<p><strong>Ingredients &#8211; serves 2<br />
</strong></p>
<ul>
<li>Pre-rolled puff pastry</li>
<li>2 chicken breasts, diced</li>
<li>4-6 sliced mushrooms</li>
<li>150ml Double cream</li>
<li>1/2 pint vegetable stock</li>
<li>Tablespoon of cornflour</li>
<li>1 diced carrot</li>
<li>1/2 chopped broccoli heads</li>
<li>1 chopped onion</li>
<li>Plain flour</li>
<li>Olive oil</li>
<li>2/3 crushed garlic cloves</li>
<li>Splash of white wine <em>(optional)</em></li>
<li>1 egg<em><br />
</em></li>
</ul>
<p><strong>Instructions</strong></p>
<p>There is normally enough puff pastry in the pre-rolled packets for both the lid and outside. I normally slice the pastry in half with a sharp knife and roll one half big enough for a lid, and the other half big enough for the dish (make it slightly bigger for the sides of course!). Make sure you use plenty of flour to roll, and sprinkle a little flour into the dish before you put the pastry in. Leave the lid aside for now.</p>
<p>The pie filling is made by frying some onion and garlic in olive oil on high in a large frying pan. Add the diced chicken breasts until starting to go golden brown. Add the mushrooms, vegetable stock, optionally white wine, carrots, and simmer  on low/medium for 15 minutes. Add in the broccoli a few minutes before that is done. Add in cream and cornflour and stir continuously for another 5 minutes on medium heat until nice and thick. Let this cool completely on the side. Once it is cool, put into your prepared pastry in your pie dish and cover with a lid. Gently press down around the edges with a fork or your fingers, and decorate if you wish.</p>
<p>Beat an egg and brush the top of the pie with it. Pop the pie in the oven on 200 degrees for about 20/25 minutes until golden brown.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Qk9ciLG7qns:FnzWRvp3Xq8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Qk9ciLG7qns:FnzWRvp3Xq8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Qk9ciLG7qns:FnzWRvp3Xq8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Qk9ciLG7qns:FnzWRvp3Xq8:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Qk9ciLG7qns" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/07/09/recipe-chicken-mushroom-pie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/07/09/recipe-chicken-mushroom-pie/</feedburner:origLink></item>
		<item>
		<title>Alternative to array_merge merging many arrays</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/GORA5rH_GPw/</link>
		<comments>http://www.asgrim.com/2010/07/08/alternative-to-array_merge-merging-many-arrays/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 10:17:27 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[array_merge]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[dataset]]></category>
		<category><![CDATA[duplicate]]></category>
		<category><![CDATA[large]]></category>
		<category><![CDATA[loop]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1756</guid>
		<description>I have a case at work where I needed to go through a big list of arrays, and add them to a new master array. It turns out this is incredibly slow when adding many large arrays to a larger array. The alternative to this if you don&amp;#8217;t care about keys or duplication of values [...]</description>
			<content:encoded><![CDATA[<p>I have a case at work where I needed to go through a big list of arrays, and add them to a new master array. It turns out this is incredibly slow when adding many large arrays to a larger array. The alternative to this if you don&#8217;t care about keys or duplication of values is to just add it into the array. So normally where one might do something like:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$big_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array_of_objs</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$obj</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$obj</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>getSomeData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// returns an array of data</span>
  <span style="color: #000088;">$big_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array_merge</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$big_array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$row</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
processData<span style="color: #009900;">&#40;</span><span style="color: #000088;">$big_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>I believe that array_merge creates a new array every time which is what was slowing it down. The solution was simple enough, it just took me a while to think of! <img src='http://www.asgrim.com/_wordpress_live_J4M3S/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$big_array</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array_of_objs</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$obj</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
  <span style="color: #000088;">$row</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$obj</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>getSomeData<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// returns an array of data</span>
  <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$row</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$r</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$big_array</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$r</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
processData<span style="color: #009900;">&#40;</span><span style="color: #000088;">$big_array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>This was vastly faster, again possibly because it doesn&#8217;t create a new array every time. There are limitations to this method, and it doesn&#8217;t do exactly the same thing as array_merge, but it does do what I needed it do, so if anyone has a similar situation, I hope this helps!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GORA5rH_GPw:6cApwDofiMU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GORA5rH_GPw:6cApwDofiMU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=GORA5rH_GPw:6cApwDofiMU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=GORA5rH_GPw:6cApwDofiMU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/GORA5rH_GPw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/07/08/alternative-to-array_merge-merging-many-arrays/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/07/08/alternative-to-array_merge-merging-many-arrays/</feedburner:origLink></item>
		<item>
		<title>Adding Extra Security – Encrypting Passwords For Multiple Users</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/l8nDedlTkT0/</link>
		<comments>http://www.asgrim.com/2010/06/26/adding-extra-security-encrypting-passwords-for-multiple-users/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 11:30:23 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[decryption]]></category>
		<category><![CDATA[encrypting]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[private passwords]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1705</guid>
		<description>As many of you probably know, I&amp;#8217;ve been working for quite some time on a project called Private Passwords. It is an online password management tool which stores your passwords for any site and allows you to retrieve them from anywhere in the world. One of the things that has niggled me for a while [...]</description>
			<content:encoded><![CDATA[<p>As many of you probably know, I&#8217;ve been working for quite some time on a project called <a href="http://www.privatepasswords.co.uk/">Private Passwords</a>. It is an online password management tool which stores your passwords for any site and allows you to retrieve them from anywhere in the world. One of the things that has niggled me for a while was the fact that the encrypted passwords were all encrypted using an <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard">AES encryption key</a>, but had no real barrier if someone somehow managed to get hold of the AES key. The AES key itself could not  be based on the user&#8217;s password as Private Passwords allows businesses to set up accounts for everyone in their company to store/retrieve passwords &#8211; that means the key must be shared amongst all the users otherwise if one user encrypts a password, another would not be able to see it unless they had exactly the same password.</p>
<p>However, Kelvin at work suggested adding a second &#8220;password&#8221; which would be used for each account (account being either a single user&#8217;s account, or a multiple-user business account). I have been busy implementing this solution into Private Passwords. What this means is there would be a community-wide* secondary passwords, which I have called a &#8220;3D Code&#8221; (3-dimensional security &#8211; username, password and 3D code). For example, &#8220;My Company&#8221; would have a 3D Code of &#8220;herebedragons&#8221;, which would be known to everyone in the company. and user Joe Bloggs who works for My Company would enter his e-mail address, password and also the 3D Code for the company when he logs in. The 3D Code forms part of the encryption key, so when they log in, the 3D code is checked against a hash to ensure the decryption routine would work. If it doesn&#8217;t, authentication fails and the user cannot log in.</p>
<p>The important point here is that the 3D Code is never stored anywhere on Private Passwords, so even if the database was compromised somehow there would be absolutely no way of decrypting any of the passwords in the system without knowing that 3D Code which would be different for each home user, and each business account. I think this is a great solution, and although it means having to remember your own password as well as the secondary 3D Code, I think this will provide users of Private Passwords peace of mind when storing passwords in Private Passwords, so thanks Kelvin for that brilliant idea!</p>
<p><small>* In Private Passwords, a community is a group of users. For a home account, there is one community per user, but for business accounts there is one community for everyone in the business.</small></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=l8nDedlTkT0:7jJoo65Aq5k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=l8nDedlTkT0:7jJoo65Aq5k:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=l8nDedlTkT0:7jJoo65Aq5k:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=l8nDedlTkT0:7jJoo65Aq5k:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/l8nDedlTkT0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/26/adding-extra-security-encrypting-passwords-for-multiple-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/26/adding-extra-security-encrypting-passwords-for-multiple-users/</feedburner:origLink></item>
		<item>
		<title>Recipe: Scallop Salad</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/3hONWqtJ51U/</link>
		<comments>http://www.asgrim.com/2010/06/23/recipe-scallop-salad/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 20:20:09 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[dish]]></category>
		<category><![CDATA[dressing]]></category>
		<category><![CDATA[lettuce]]></category>
		<category><![CDATA[salad]]></category>
		<category><![CDATA[scallop]]></category>
		<category><![CDATA[seafood]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1745</guid>
		<description>I got this recipe off the UKTV website (and modified it slightly) and it is absolutely delicious on it&amp;#8217;s own as a starter, or as a side to a nice lemon-marinated salmon fillet. It&amp;#8217;s such a simple dish too, and the flavours are exhilarating. Ingredients Finely diced bread 50g butter Iceberg lettuce Scallops Chopped chives [...]</description>
			<content:encoded><![CDATA[<p>I got this recipe off <a href="http://uktv.co.uk/food/recipe/aid/512013">the UKTV website</a> (and modified it slightly) and it is absolutely delicious on it&#8217;s own as a starter, or as a side to a nice lemon-marinated salmon fillet. It&#8217;s such a simple dish too, and the flavours are exhilarating.</p>
<p><strong>Ingredients</strong></p>
<ul>
<li>Finely diced bread</li>
<li>50g butter</li>
<li>Iceberg lettuce</li>
<li>Scallops</li>
<li>Chopped chives</li>
</ul>
<p><strong>For the dressing:</strong></p>
<ul>
<li> 2tbsp Ground nut oil</li>
<li> 175ml sunflower oil</li>
<li> 1 clove garlic</li>
<li> 1 shallot</li>
<li> 1tsp English mustard</li>
<li> Salt &amp; Pepper</li>
<li> 2tbsp white wine vinegar</li>
</ul>
<p><strong>Instructions</strong></p>
<ol>
<li>Heat white wine vinegar, nut oil, sunflower oil, garlic, shallot and mustard, cook for 5 minutes. Season salt &amp; pepper.</li>
<li>Whilst that is doing, 25g butter in frying pan. Add finely diced bread and fry until crispy. Drain on plate with kitchen paper.</li>
<li>25g butter in frying pan. Fry for 1-2 minutes on each side until cooked.</li>
<li>Serve lettuce on plate, put scallops on top and sprinkle with croutons. Top with the dressing. Sprinkle with chives.</li>
</ol>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3hONWqtJ51U:-pVQGetjyoY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3hONWqtJ51U:-pVQGetjyoY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=3hONWqtJ51U:-pVQGetjyoY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=3hONWqtJ51U:-pVQGetjyoY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/3hONWqtJ51U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/23/recipe-scallop-salad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/23/recipe-scallop-salad/</feedburner:origLink></item>
		<item>
		<title>Recipe: Confit de Canard</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Xx9-9scpoF0/</link>
		<comments>http://www.asgrim.com/2010/06/17/recipe-confit-de-canard/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 12:59:11 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Dinner Recipes]]></category>
		<category><![CDATA[canard]]></category>
		<category><![CDATA[confit]]></category>
		<category><![CDATA[confit de canard]]></category>
		<category><![CDATA[duck]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1727</guid>
		<description>Image sourced from: roboppy on flickr under CC-by-nc-nd 2.0 license. A good confit de canard (duck confit) is hard to get hold of in England, but luckily as my parents live in the Dordogne region they sometimes bring over a tin. A confit de canard is duck legs that are kept in tins, covered in [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/confitdecanard.jpg"><img class="alignleft size-medium wp-image-1728" title="confitdecanard" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/confitdecanard-300x199.jpg" alt="" width="300" height="199" /></a>Image sourced from: <a href="http://www.flickr.com/photos/roboppy/271647289/">roboppy on flickr</a> under <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/deed.en_GB">CC-by-nc-nd 2.0</a> license.</p>
<p>A good confit de canard (duck confit) is hard to get hold of in England, but luckily as my parents live in the Dordogne region they sometimes bring over a tin. A confit de canard is duck legs that are kept in tins, covered in it&#8217;s own fat. This fat is great and should be kept after cooking for doing roast potatoes and so on. It&#8217;s really easy to cook the duck as well. All you have to do is put in oven for 35-45 minutes (for a good fan assisted, I&#8217;d stick to 35-40) at 180 degrees. I simply took the duck legs out of the tin, put them on a grill rack skin side up above a roasting tin to catch the precious duck fat. I poured more of the duck fat over to make sure there was plenty on them, and simply season with salt and pepper. Cook as above, until the skin is nice and crispy. It&#8217;ll make a bit of a mess of your oven, but it&#8217;s well worth it. After cooking, whilst the fat is still hot and pourable, pour into a container with the remaining fat in the tin and let it cool. Keep this fat in the fridge, and it&#8217;ll keep for a few months I believe, and you can use it for roasting potatoes etc. or anywhere where duck fat might be a tasty ingredient. I served ours with mashed potato, carrots and courgette, but traditionally duck might be served with some lettuce and sautéed potatoes.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Xx9-9scpoF0:_t4D4uUMc8I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Xx9-9scpoF0:_t4D4uUMc8I:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Xx9-9scpoF0:_t4D4uUMc8I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Xx9-9scpoF0:_t4D4uUMc8I:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Xx9-9scpoF0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/17/recipe-confit-de-canard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/17/recipe-confit-de-canard/</feedburner:origLink></item>
		<item>
		<title>Alton Towers Review 2010</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/Y37NKvJil5A/</link>
		<comments>http://www.asgrim.com/2010/06/14/alton-towers-review-2010/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 21:01:24 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Alton]]></category>
		<category><![CDATA[park]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[rides]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[towers]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1711</guid>
		<description>I&amp;#8217;m doing absolutely everything I can to avoid the World Cup football. In doing so we ended up at Alton Towers (handily a 30 minute drive from Hannah&amp;#8217;s mum&amp;#8217;s) on Monday. We had a BOGOF voucher to get us in too which made getting the Fast Track tickets (which I think are totally necessary) a [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/wallpaper01-1024x768.jpg"><img class="alignleft size-medium wp-image-1712" title="wallpaper01-1024x768" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/wallpaper01-1024x768-300x225.jpg" alt="" width="300" height="225" /></a>I&#8217;m doing absolutely everything I can to avoid the World Cup football. In doing so we ended up at Alton Towers (handily a 30 minute drive from Hannah&#8217;s mum&#8217;s) on Monday. We had a BOGOF voucher to get us in too which made getting the Fast Track tickets (which I think are totally necessary) a little more affordable. Turns out we were hoping it would be dead quiet, but it was packed, and I figured it&#8217;s because many students have finished uni now. Last year we went and the then-unnamed ride Thirteen was still under construction so I was looking forward to checking it out this time. We started with Squirrel Nutkin of course, which Freyja loved, she grinned the whole way around which was adorable.</p>
<p>Me and Han proceeded to Oblivion after, which I rate and was much busier than last time we went; we practically walked straight on last time no queueing &#8211; twice! We also checked out Submission and Enterprise for once &#8211; we normally skip over those as Hannah doesn&#8217;t like them for one reason or another, but I swayed her and it wasn&#8217;t too bad (and there wasn&#8217;t really a queue so didn&#8217;t waste much time), apart from on Enterprise, she sat in front of me and squished something that shouldn&#8217;t be squished!!</p>
<p>We headed off to the Charlie and Chocolate factory ride after that, which was an &#8220;It&#8217;s a Small World&#8221;-esque water ride with a Charlie and Chocolate factory theme of course, although it noticeably missed the loveable Oompa Loompas for some reason. Freyja really loved it, but the best bit was the ride in the great glass elevator after! A group of riders were put on a hydraulic platform and 3D projections display to give a convincing illusion of the elevator flying around and smashing into things &#8211; Freyja absolutely loved it and didn&#8217;t stop smiling &#8211; lovely!</p>
<p>We went on Rita after (just me and Han of course, Freyja is a little young still&#8230;) for a quick thrill and then had some yummy lunch &#8211; turkey and ham snammiches and Freyja had some raisins, and we even shared a couple of doughnuts &#8211; even Freyja had a few bites. Post-lunch we had to queue for Thirteen as there was no Fast Track available for this annoyingly, so that took about an hour or so. This new coaster was well worth the wait though &#8211; at first a fairly standard ride until the cars end up in a derelict wooden shed. The lights darken, and the cars drop vertically, which was a great surprise I was not expecting. A backwards stint followed which added more unexpectedness, and we came back to the station grinning from ear to ear. Certainly worth the queue, although I really wish there was Fast Track for this ride. Whilst we were queuing for Thirteen, Hannah&#8217;s mum took little Freyja on Galloper&#8217;s Carousel in a little princess carriage, which she apparently loved.</p>
<p>Next followed the all-time-favourite Nemesis, always worth Fast Tracking I think &#8211; 10 minutes or so queue and makes queuing for the front seats a little more palatable. As Freyja had fallen asleep on the walk to Nemesis, we took advantage of Han&#8217;s mum looking after her and squeezed in the last two rides in one, and got a quick go on Ripsaw in (although came off disappointingly dry) and onto Air, what I like to think of as the &#8220;Superman&#8221; ride.</p>
<p>We ended up all very weary going back on the monorail, on which Freyja stood on the chair and proceeded to have a little shout at a young couple who sat in the same section as us which amused them slightly. She&#8217;s nice and warm, tucked up in bed now and I&#8217;m sure she&#8217;s zonked out for the count all night. A busy day, but I think everyone had lots of fun. Same time next year, eh?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Y37NKvJil5A:T3JTfjLLMdg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Y37NKvJil5A:T3JTfjLLMdg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=Y37NKvJil5A:T3JTfjLLMdg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=Y37NKvJil5A:T3JTfjLLMdg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/Y37NKvJil5A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/14/alton-towers-review-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/14/alton-towers-review-2010/</feedburner:origLink></item>
		<item>
		<title>Freyja Growing Up</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/apxX5ABNrCQ/</link>
		<comments>http://www.asgrim.com/2010/06/12/freyja-growing-up/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 09:27:32 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Our Baby]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[growing up]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[krazy kaves]]></category>
		<category><![CDATA[marwell]]></category>
		<category><![CDATA[netmums]]></category>
		<category><![CDATA[walking]]></category>
		<category><![CDATA[zoo]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1700</guid>
		<description>It&amp;#8217;s been a little while since I talked about our little one, and my she has grown up a lot. She&amp;#8217;s 14 months old now and she&amp;#8217;s walking around like no tomorrow. She wants to walk so much that if you let her loose outside she will just walk and walk, and if you try [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/FreyjaAtTheZoo.jpg"><img class="alignleft size-medium wp-image-1703" title="FreyjaAtTheZoo" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/06/FreyjaAtTheZoo-300x225.jpg" alt="" width="300" height="225" /></a>It&#8217;s been a little while since I talked about our little one, and my she has grown up a lot. She&#8217;s 14 months old now and she&#8217;s walking around like no tomorrow. She wants to walk so much that if you let her loose outside she will just walk and walk, and if you try picking her up she will protest. She&#8217;s got such a character now, and I&#8217;m happy because she always seems to be so happy. We must be doing <em>something</em> right, right? We went to Marwell Zoo last weekend and she loved it. Maybe she&#8217;s still a little young though as she seemed more interested in the other children than the animals, but she had a lovely day out. You should be able to see a picture of me and her looking at the fishes in the African bit at the top of this post.</p>
<p>In other news, we are settling well into our new home and we couldn&#8217;t have done it without everyone&#8217;s help, especially our lovely parents who have given us guidance and support through everything, so a massive thanks to them! Work is busy as always; it&#8217;s keeping me right on my toes and some of the projects we&#8217;re working on are really exciting.</p>
<p>Hannah has been doing really good too since we moved back to Portsmouth, she&#8217;s making regular visits to new mums she meets on a site called Netmums, and has been visiting lots of play areas in the vicinity such as Krazy Kaves, which Freyja seems to love! I&#8217;m planning on booking a day off work one day so we can all go together as it looks like I&#8217;d have a lot of fun there too&#8230;</p>
<p>All in all, everything has been going really well for us and it&#8217;s thrilling watching Freyja growing up and developing such a wonderful personality. Time really is flying and we&#8217;re having such good memories &#8211; many of which I&#8217;ve got on video camera, but I just haven&#8217;t had time to sort through all the footage and actually get some videos on YouTube. It&#8217;ll happen one day I&#8217;m sure&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=apxX5ABNrCQ:RbZ9lPsJwKc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=apxX5ABNrCQ:RbZ9lPsJwKc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=apxX5ABNrCQ:RbZ9lPsJwKc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=apxX5ABNrCQ:RbZ9lPsJwKc:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/apxX5ABNrCQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/12/freyja-growing-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/12/freyja-growing-up/</feedburner:origLink></item>
		<item>
		<title>Moving to Linux – Finding Alternative Software</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/JugIxjvuELc/</link>
		<comments>http://www.asgrim.com/2010/06/10/moving-to-linux-finding-alternative-software/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 19:52:05 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[alternatives]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1693</guid>
		<description>I&amp;#8217;ve been using Linux on servers for years, since before I started learning to code. Finally, after something like 7/8 years I am almost fully confident in severing the ties to my highly underused Windows installation on my personal laptop, but there are still a couple of exceptions. With the release of Ubuntu 10.04 LTS, [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://en.wikipedia.org/wiki/Linux">Linux</a> on servers for years, since before I started learning to code. Finally, after something like 7/8 years I am almost fully confident in severing the ties to my highly underused Windows installation on my personal laptop, but there are still a couple of exceptions. With the release of <a href="http://www.ubuntu.com/">Ubuntu 10.04 LTS</a>, I&#8217;ve finally settled down using day-to-day tools that are equivalent to their Windows counterparts. Much of the software I use already have Linux compatible versions such as Eclipse, Google Chrome, FileZilla, Skype etc., however not all software does. Some I am happy to use (and work quite well!) in Wine (Spotify, Adobe Photoshop). Here&#8217;s what I&#8217;ve had to switch though:</p>
<ul>
<li>Windows Live Messenger &gt; Pidgin or Empathy</li>
<li>Microsoft Office &gt; Google Docs</li>
<li>Pinnacle Studio &gt; OpenShot (although I am testing other packages still)</li>
<li>Microsoft Money &gt; Same, but in Virtualbox</li>
<li>Winamp &gt; Rhythmbox</li>
</ul>
<p><span id="more-1693"></span>Annoyingly Microsoft Money didn&#8217;t work in Wine, so I&#8217;m having to use a Virtualbox of XP for that. However, I&#8217;m looking at alternative solutions as personal accounting is important to me to keep on top of my finances.</p>
<p>Strictly speaking I don&#8217;t have a <em>real </em>alternative to Windows Live Messenger and Microsoft Money yet &#8211; Pidgin and Empathy don&#8217;t support webcam very well, and Microsoft Money is an ageing discontinued product anyway. Skype supports webcam just great, but I have privacy issues with Skype so I wouldn&#8217;t recommend my family using it*. I really need webcam to work perfectly as it does under Windows so my family can see my daughter growing up.</p>
<p>Getting the right video editing package is also difficult &#8211; I need one that takes advantage of my hardware. The KDE video editor Kdenlive crashed when I tried to drag an AVCHD file into the timeline, which wasn&#8217;t a good start. I have had a quick play around with OpenShot which seemed fairly smooth until two videos were playing at once, so I&#8217;m not sure whether that will be suitable in the end. Other software I&#8217;m going to look at are Cinelerra and PiTiVi, but so far I have not found a good enough equivalent to Pinnacle, so unfortunately I may still be tied to Windows for video editing. If anyone has any recommendations I&#8217;d love to hear them! Although I have heard that Linux may not have the licensing to use the AVCHD hardware decoder, which may be why I can&#8217;t get anything to work that well?</p>
<p>As for Winamp to Rhythmbox, truth be told I hardly use either these days. I mostly play music through my X-Box 360 which suits me for 99% of purposes.</p>
<p>There is a particular site called <a href="http://www.osalt.com/">osalt.com</a> which allows you to find a Windows package and find an alternative Windows or Linux similar application which can be quite handy for switching to Linux. The one thing that will plague Linux until it can get it&#8217;s act together is that there are no true alternatives to the popular packages (although some would argue otherwise), such as Photoshop. GIMP is nice, but I am too used to Photoshop and try as I might, I can&#8217;t get on with GIMP. The video acceleration (although supported by ATI) doesn&#8217;t seem too good for AVCHD editing, and that puts a spoke in my wheel too. Lack of a decent Windows Live Messenger has been a drawback for a long time. OpenOffice 3.2 <em>still</em> hasn&#8217;t made it into the Ubuntu repositories, which means my desktop office package is slow, so I use Google Docs instead.</p>
<p>As you might have guessed, I could go on for a while. This might all sound very negative, but there is many positives to Linux too. Community support can be excellent &#8211; so much better than calling a &#8220;tech support&#8221; centre in India to be told to restart my computer&#8230; More often than not I find community support is actually much better than paid support. Ubuntu is free, as is all of the software I use on it (apart from a few obvious exceptions mentioned above, but they are Windows software running in Ubuntu). I find the user interface much nicer. It&#8217;s faster than Windows on my laptop. The list could go on for a while.</p>
<p>I sometimes sit and think of reasons why I shouldn&#8217;t just go back to Windows, but I can never get out of my head the thought that &#8211; well Linux works just fine, why go through the transition back to Windows?</p>
<p><small>* The privacy issue I have, if you&#8217;re interested, is that when you open a new Skype account, by default anyone from anywhere can message/call you. Why you would want a random stranger contacting you by default is beyond me&#8230; It&#8217;s simple enough to turn it off, but I really think this option should be disabled by default.</small></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JugIxjvuELc:ikqc2rvSt18:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JugIxjvuELc:ikqc2rvSt18:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=JugIxjvuELc:ikqc2rvSt18:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=JugIxjvuELc:ikqc2rvSt18:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/JugIxjvuELc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/10/moving-to-linux-finding-alternative-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/10/moving-to-linux-finding-alternative-software/</feedburner:origLink></item>
		<item>
		<title>Quick Update</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/DvYn6DuRXxw/</link>
		<comments>http://www.asgrim.com/2010/06/10/quick-update/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 08:14:40 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[busy]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1697</guid>
		<description>Wow &amp;#8211; Life has been really busy, and I haven&amp;#8217;t blogged here in almost 2 months &amp;#8211; sorry folks! This is just a quick update to say that I&amp;#8217;ve got a few posts already lined up so make sure you&amp;#8217;re subscribed to my feed! Watch this space&amp;#8230;</description>
			<content:encoded><![CDATA[<p>Wow &#8211; Life has been really busy, and I haven&#8217;t blogged here in almost 2 months &#8211; sorry folks! This is just a quick update to say that I&#8217;ve got a few posts already lined up so make sure you&#8217;re subscribed to my feed! Watch this space&#8230;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=DvYn6DuRXxw:jotTnbvJFcw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=DvYn6DuRXxw:jotTnbvJFcw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=DvYn6DuRXxw:jotTnbvJFcw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=DvYn6DuRXxw:jotTnbvJFcw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/DvYn6DuRXxw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/06/10/quick-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/06/10/quick-update/</feedburner:origLink></item>
		<item>
		<title>Replacing text in MySQL text fields</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/N8JLBOHb8lI/</link>
		<comments>http://www.asgrim.com/2010/04/19/replacing-text-in-mysql-text-fields/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 14:46:51 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[field]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[replace]]></category>
		<category><![CDATA[table]]></category>
		<category><![CDATA[text]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[varchar]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1690</guid>
		<description>I didn&amp;#8217;t even think you could do this: UPDATE table SET something = REPLACE&amp;#40;something,'oldtext','newtext'&amp;#41;; How handy! For replacing text in MySQL tables that is&amp;#8230; not for anything else really.</description>
			<content:encoded><![CDATA[<p>I didn&#8217;t even think you could do this:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">UPDATE</span> <span style="color: #990099; font-weight: bold;">table</span> <span style="color: #990099; font-weight: bold;">SET</span> something <span style="color: #CC0099;">=</span> <span style="color: #000099;">REPLACE</span><span style="color: #FF00FF;">&#40;</span>something<span style="color: #000033;">,</span><span style="color: #008000;">'oldtext'</span><span style="color: #000033;">,</span><span style="color: #008000;">'newtext'</span><span style="color: #FF00FF;">&#41;</span><span style="color: #000033;">;</span></pre></div></div>

<p>How handy! For replacing text in MySQL tables that is&#8230; not for anything else really.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=N8JLBOHb8lI:5Dq0aR0sAKQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=N8JLBOHb8lI:5Dq0aR0sAKQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=N8JLBOHb8lI:5Dq0aR0sAKQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=N8JLBOHb8lI:5Dq0aR0sAKQ:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/N8JLBOHb8lI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/04/19/replacing-text-in-mysql-text-fields/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/04/19/replacing-text-in-mysql-text-fields/</feedburner:origLink></item>
		<item>
		<title>isset fail</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/LTxPzYBmveM/</link>
		<comments>http://www.asgrim.com/2010/04/08/isset-fail/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 08:33:37 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[isset]]></category>
		<category><![CDATA[method]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[return]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[write]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1684</guid>
		<description>Srsly PHP, why can&amp;#8217;t I do this: $value = isset&amp;#40;$myGPCWrapper-&amp;#38;gt;Get&amp;#40;&amp;#34;value&amp;#34;&amp;#41;&amp;#41; ? $myGPCWrapper-&amp;#38;gt;Get&amp;#40;&amp;#34;value&amp;#34;&amp;#41; : $default; Resulting in this: Fatal error: Can&amp;#8217;t use method return value in write context in /path/to/my/script.php on line 21 And instead I have to do this: $foo = $myGPCWrapper-&amp;#38;gt;Get&amp;#40;&amp;#34;value&amp;#34;&amp;#41;; $value = isset&amp;#40;$foo&amp;#41; ? $foo : $default; or $value = isset&amp;#40;$_GET&amp;#91;'value'&amp;#93;&amp;#41; ? $myGPCWrapper-&amp;#38;gt;Get&amp;#40;&amp;#34;value&amp;#34;&amp;#41; [...]</description>
			<content:encoded><![CDATA[<p>Srsly PHP, why can&#8217;t I do this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$myGPCWrapper</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;value&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$myGPCWrapper</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;value&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$default</span><span style="color: #339933;">;</span></pre></div></div>

<p>Resulting in this:</p>
<blockquote><p><strong>Fatal error</strong>:  Can&#8217;t use method return value in write context in <strong>/path/to/my/script.php</strong> on line <strong>21</strong></p></blockquote>
<p>And instead I have to do this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$foo</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$myGPCWrapper</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;value&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$foo</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$foo</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$default</span><span style="color: #339933;">;</span></pre></div></div>

<p>or</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$value</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_GET</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'value'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$myGPCWrapper</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>Get<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;value&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$default</span><span style="color: #339933;">;</span></pre></div></div>

<p>I mean&#8230; how is isset <em>writing</em> to my variable?!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=LTxPzYBmveM:8rUk1PmjtFY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=LTxPzYBmveM:8rUk1PmjtFY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=LTxPzYBmveM:8rUk1PmjtFY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=LTxPzYBmveM:8rUk1PmjtFY:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/LTxPzYBmveM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/04/08/isset-fail/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/04/08/isset-fail/</feedburner:origLink></item>
		<item>
		<title>Double quotes in INI files loaded with parse_ini_file</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/HHzXeuryrfU/</link>
		<comments>http://www.asgrim.com/2010/03/01/double-quotes-in-ini-files-loaded-with-parse_ini_file/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 22:27:37 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[double]]></category>
		<category><![CDATA[escaping]]></category>
		<category><![CDATA[ini]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[parse_ini_file]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[quote]]></category>
		<category><![CDATA[quotes]]></category>
		<category><![CDATA[setting]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1666</guid>
		<description>Writing a bit of PHP tonight and found that if you use parse_ini_file to load an INI file in PHP, there is a slightly hacky way of having double quotes in strings. For example, I tried these: somevalue = &amp;#34;This &amp;#34;&amp;#34;string&amp;#34;&amp;#34; has quotes&amp;#34; somevalue = &amp;#34;This \&amp;#34;string\&amp;#34; has quotes&amp;#34; But none of them worked! Turns [...]</description>
			<content:encoded><![CDATA[<p>Writing a bit of PHP tonight and found that if you use parse_ini_file to load an INI file in PHP, there is a slightly hacky way of having double quotes in strings. For example, I tried these:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">somevalue</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;This &quot;</span><span style="color: #933;">&quot;string&quot;</span><span style="color: #933;">&quot; has quotes&quot;</span>
<span style="color: #000099;">somevalue</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;This \&quot;</span>string\<span style="color: #933;">&quot; has quotes&quot;</span></pre></div></div>

<p>But none of them worked! Turns out a quick look at the PHP manual reveals <a href="http://www.php.net/manual/en/function.parse-ini-file.php#70847">a simple (but a bit hacky) solution</a> to this is to define a constant e.g. QUOTE to be &#8220;, and use that in the INI string.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// In the PHP:</span>
<span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'QUOTE'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&quot;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">; and in the INI file</span>
<span style="color: #000099;">somevalue</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;This &quot;</span>QUOTE<span style="color: #933;">&quot;string&quot;</span>QUOTE<span style="color: #933;">&quot; has quotes&quot;</span></pre></div></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=HHzXeuryrfU:Du7K_AtucWo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=HHzXeuryrfU:Du7K_AtucWo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=HHzXeuryrfU:Du7K_AtucWo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=HHzXeuryrfU:Du7K_AtucWo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/HHzXeuryrfU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/03/01/double-quotes-in-ini-files-loaded-with-parse_ini_file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/03/01/double-quotes-in-ini-files-loaded-with-parse_ini_file/</feedburner:origLink></item>
		<item>
		<title>Microsoft Browser Choice Update</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/L9c90F-kSPw/</link>
		<comments>http://www.asgrim.com/2010/02/24/microsoft-browser-choice-update/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:02:10 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[ballot]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[choice]]></category>
		<category><![CDATA[EEA]]></category>
		<category><![CDATA[EU]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[opera]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1663</guid>
		<description>So the &amp;#8220;Microsoft Browser Choice Screen Update For EEA Users&amp;#8221; has arrived in my list of potential updates. Interestingly though, Microsoft have not selected this update by default. That might put a dampener on Opera&amp;#8217;s big day&amp;#8230;</description>
			<content:encoded><![CDATA[<p>So the &#8220;Microsoft Browser Choice Screen Update For EEA Users&#8221; has arrived in my list of potential updates. Interestingly though, Microsoft have <em>not</em> selected this update by default. That might put a dampener on Opera&#8217;s big day&#8230;</p>
<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/02/BrowserBallot.jpg"><img class="alignleft size-full wp-image-1664" title="BrowserBallot" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/02/BrowserBallot.jpg" alt="" width="800" height="600" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=L9c90F-kSPw:h_kWPJ7RjDg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=L9c90F-kSPw:h_kWPJ7RjDg:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=L9c90F-kSPw:h_kWPJ7RjDg:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=L9c90F-kSPw:h_kWPJ7RjDg:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/L9c90F-kSPw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/02/24/microsoft-browser-choice-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/02/24/microsoft-browser-choice-update/</feedburner:origLink></item>
		<item>
		<title>Usage Statistics On Asgrim.com</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/_lj_47YeUqo/</link>
		<comments>http://www.asgrim.com/2010/02/09/usage-statistics-on-asgrim-com/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 20:30:41 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[asgrim]]></category>
		<category><![CDATA[asgrim.com]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[information]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1638</guid>
		<description>So here&amp;#8217;s a few useless usage statistics about this website I found using Google Analytics&amp;#8230; Browser Distribution Firefox &amp;#8211; 58.93% Internet Explorer &amp;#8211; 15.58% Chrome &amp;#8211; 10.33% Safari &amp;#8211; 9.64% Mozilla &amp;#8211; 2.92% Flash Usage 8.31% of visitors do not report to have Flash installed Operating Systems Windows &amp;#8211; 55.95% Linux &amp;#8211; 29.54% Mac &amp;#8211; [...]</description>
			<content:encoded><![CDATA[<p>So here&#8217;s a few useless usage statistics about this website I found using Google Analytics&#8230;</p>
<p><strong>Browser Distribution</strong></p>
<ul>
<li>Firefox &#8211; 58.93%</li>
<li>Internet Explorer &#8211; 15.58%</li>
<li>Chrome &#8211; 10.33%</li>
<li>Safari &#8211; 9.64%</li>
<li>Mozilla &#8211; 2.92%</li>
</ul>
<p><strong>Flash Usage</strong></p>
<ul>
<li>8.31% of visitors do not report to have Flash installed</li>
</ul>
<p><strong>Operating Systems</strong></p>
<ul>
<li>Windows &#8211; 55.95%</li>
<li>Linux &#8211; 29.54%</li>
<li>Mac &#8211; 8.61%</li>
<li>Android &#8211; 4.90%</li>
<li>iPhone &#8211; 0.31%</li>
<li>iPod &#8211; 0.17%</li>
<li>FreeBSD &#8211; 0.06%</li>
<li>Playstation 3 &#8211; 0.06%</li>
<li>Blackberry &#8211; 0.02%</li>
</ul>
<p><strong>Java Support</strong></p>
<ul>
<li>Yes &#8211; 76.80%</li>
<li>No &#8211; 23.20%</li>
</ul>
<p><strong>Top 10 Countries Ordered By Visits</strong></p>
<p><strong></p>
<ol>
<li><span style="font-weight: normal;">United States</span></li>
<li><span style="font-weight: normal;">United Kingdom</span></li>
<li><span style="font-weight: normal;">Spain</span></li>
<li><span style="font-weight: normal;">Germany</span></li>
<li><span style="font-weight: normal;">Canada</span></li>
<li><span style="font-weight: normal;">Australia</span></li>
<li><span style="font-weight: normal;">France</span></li>
<li><span style="font-weight: normal;">Netherlands</span></li>
<li><span style="font-weight: normal;">India</span></li>
<li><span style="font-weight: normal;">Italy</span></li>
</ol>
<p></strong></p>
<p><strong>Other Figures&#8230;</strong></p>
<ul>
<li>1.23 average page views per visit</li>
<li>59 seconds average time on site (yikes!)</li>
<li>86.51% new visitors versus 13.49% returning visits</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=_lj_47YeUqo:v8Zq_hrsU10:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=_lj_47YeUqo:v8Zq_hrsU10:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=_lj_47YeUqo:v8Zq_hrsU10:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=_lj_47YeUqo:v8Zq_hrsU10:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/_lj_47YeUqo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/02/09/usage-statistics-on-asgrim-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/02/09/usage-statistics-on-asgrim-com/</feedburner:origLink></item>
		<item>
		<title>Announcing My New Website</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/p2mK4H-bD70/</link>
		<comments>http://www.asgrim.com/2010/02/08/announcing-my-new-website/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 23:27:57 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[james]]></category>
		<category><![CDATA[titcumb]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1636</guid>
		<description>It&amp;#8217;s been live for a couple of weeks now, although I haven&amp;#8217;t done much promotion of it, so here is word of an &amp;#8220;official&amp;#8221; announcement of my new portfolio site. Please take a look around and if you have any constructive criticism, feedback or advice, feel free to let me know through the usual channels&amp;#8230; So [...]</description>
			<content:encoded><![CDATA[<p>It&#8217;s been live for a couple of weeks now, although I haven&#8217;t done much promotion of it, so here is word of an &#8220;official&#8221; announcement of my new portfolio site. Please take a look around and if you have any constructive criticism, feedback or advice, feel free to let me know through the usual channels&#8230;</p>
<p>So without further ado, I pronounce <strong><a href="http://www.jamestitcumb.com/">www.jamestitcumb.com</a></strong> officially open!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=p2mK4H-bD70:BYjRuW_535k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=p2mK4H-bD70:BYjRuW_535k:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=p2mK4H-bD70:BYjRuW_535k:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=p2mK4H-bD70:BYjRuW_535k:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/p2mK4H-bD70" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/02/08/announcing-my-new-website/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/02/08/announcing-my-new-website/</feedburner:origLink></item>
		<item>
		<title>Question: How does source control work in a non-distributed environment?</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/hV4jubqumqk/</link>
		<comments>http://www.asgrim.com/2010/02/05/question-source-contro/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 10:54:09 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[control]]></category>
		<category><![CDATA[CVS]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SVN]]></category>
		<category><![CDATA[vcs]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1632</guid>
		<description>At our company we currently all work on one shared network drive. The source code is not under any kind of source control, which for me is a big no-no. I&amp;#8217;d love to be able to set up SVN and us all work of separate repositories and just commit back to a trunk or branch, [...]</description>
			<content:encoded><![CDATA[<p>At our company we currently all work on one shared network drive. The source code is not under any kind of source control, which for me is a big no-no. I&#8217;d love to be able to set up SVN and us all work of separate repositories and just commit back to a trunk or branch, but our tech manager doesn&#8217;t agree. The way I see it, there are two major issues:</p>
<ul>
<li>The source has no history &#8211; if there is a problem, we can&#8217;t roll back</li>
<li>We overwrite each other&#8217;s changes if we work on the same file</li>
</ul>
<p>How do other people manage this situation? Having source control on the network drive is fine, but that doesn&#8217;t solve the problem of overwriting each other&#8217;s changes does it&#8230; And setting everyone up with VMs or local repos doesn&#8217;t wash with the tech manager. Would a solutions such as each having their own checkout and then the shared network drive automatically update work? What about slowness in updating &#8211; people making a change and having to wait a while before it takes effect probably wouldn&#8217;t wash with our tech team, and committing back every tiny change seems a bit silly.</p>
<p>What about other source control (i.e. not SVN) &#8211; do you think it would suit us? I&#8217;m open to suggestions, except for Visual SourceSafe. Preferably something that integrates well with Eclipse, and is also cross platform (we use a mix of Windows, OSX and Linux), but something that also works well without Eclipse&#8230; tall order perhaps?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=hV4jubqumqk:d82rsABo_uU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=hV4jubqumqk:d82rsABo_uU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=hV4jubqumqk:d82rsABo_uU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=hV4jubqumqk:d82rsABo_uU:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/hV4jubqumqk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/02/05/question-source-contro/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/02/05/question-source-contro/</feedburner:origLink></item>
		<item>
		<title>Very Exciting – HipHop by Facebook</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/MCCM7JyRakc/</link>
		<comments>http://www.asgrim.com/2010/02/02/very-exciting-hiphop-by-facebook/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 21:08:22 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[hiphop]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[roadsend]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1629</guid>
		<description>Well this evening Facebook have revealed what PHP developers globally have been speculating about and revealed their big secret. And boy, this could really change the landscape of PHP as we know it. I&amp;#8217;m a great fan of compiling PHP for one reason or another, but I&amp;#8217;ve never seen it reliably work. Roadsend is an [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/02/HipHop_logo_white.png"><img class="alignleft size-full wp-image-1630" title="HipHop_logo_white" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/02/HipHop_logo_white.png" alt="" width="213" height="278" /></a>Well this evening Facebook have revealed what PHP developers globally have been speculating about and <a href="http://developers.facebook.com/news.php?blog=1&amp;story=358">revealed their big secret</a>.</p>
<p>And boy, this could really change the landscape of PHP as we know it. I&#8217;m a great fan of compiling PHP for one reason or another, but I&#8217;ve never seen it reliably work. <a href="http://www.roadsend.com/">Roadsend</a> is an absolutely fabulous rewrite of the Zend engine that allows compilation of PHP. Unfortunately, there are gaps and certain features are missing (but in the pipeline I&#8217;m sure). If you want to make a generic website though without any specific extensions, then Roadsend is great and works great with Apache.</p>
<p>I&#8217;m really excited to explore HipHop as it claims to be the bee&#8217;s knees, and there&#8217;s been <a href="http://blog.echolibre.com/2010/02/hiphop-for-php-facebook-unveils-its-magic/">a</a> <a href="http://blog.tabini.ca/2010/02/hiphop-what-you-need-to-know/">lot</a> <a href="http://phparch.com/main/news/view/68">of</a> <a href="http://twitter.com/#search?q=%23hiphop">hype</a> over it since the announcement. HipHop claims to improve PHP&#8217;s performance by fifty percent, which is great. Not only this but it&#8217;s clearly proven to be stable as it&#8217;s already in use on 90% of Facebook&#8217;s platform which means it&#8217;s not a lone developer&#8217;s work which is tested on his one box; it&#8217;s been tested by millions of users.</p>
<p>The great thing about HipHop is that it actually generates C++ code from the PHP, and compiles that normally (using g++ I think). From what I understand, the hardest part (logically) is converting a loosely typed language to a statically typed language. This means that in PHP you would declare a variable without specifying it&#8217;s type, in C++ you have to. From what I understand, HipHop parses all the code and attempts to understand all the uses of variables and types them accordingly.</p>
<p>I&#8217;m looking forward to seeing HipHop in action and getting stuck in.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MCCM7JyRakc:MFJKvdQBLj8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MCCM7JyRakc:MFJKvdQBLj8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=MCCM7JyRakc:MFJKvdQBLj8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=MCCM7JyRakc:MFJKvdQBLj8:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/MCCM7JyRakc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/02/02/very-exciting-hiphop-by-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/02/02/very-exciting-hiphop-by-facebook/</feedburner:origLink></item>
		<item>
		<title>New House &amp; Growing Freyja</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/cOsGQ6YDf84/</link>
		<comments>http://www.asgrim.com/2010/01/31/new-house-growing-freyja/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 10:02:43 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Our Baby]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[baby]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[completion]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[dickens]]></category>
		<category><![CDATA[freyja]]></category>
		<category><![CDATA[house]]></category>
		<category><![CDATA[Portsmouth]]></category>
		<category><![CDATA[quarter]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1623</guid>
		<description>I haven&amp;#8217;t done a &amp;#8220;personal&amp;#8221; update for some time now, so I thought I&amp;#8217;d briefly brush over our recent lives. The photo you can see on the left is the current state of our new house that is being built in the new Dickens Quarter development in Portsmouth. As you can see it is coming [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/01/House30Jan10.jpg"><img class="alignleft size-medium wp-image-1624" title="House30Jan10" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/01/House30Jan10-300x225.jpg" alt="" width="300" height="225" /></a>I haven&#8217;t done a &#8220;personal&#8221; update for some time now, so I thought I&#8217;d briefly brush over our recent lives. The photo you can see on the left is the current state of our new house that is being built in the new Dickens Quarter development in Portsmouth. As you can see it is coming along well, and the estimated completion date is currently the end of April. It&#8217;s exciting to see it come so far and we simply can&#8217;t wait to make it our own lovely home.</p>
<p>On the Freyja side of things, she&#8217;s drawing close to 10 months old now and is coming on leaps and bounds. She can make &#8220;red indian&#8221; noises (patting her mouth and making noise), walk around standing up and holding the furniture, put balls into the &#8220;learn and sort&#8221; helicopter toy I got her for Yule, crawl around on hands and knees with quite a pace, wave, throw tantrums and all sorts of other bits and pieces.</p>
<p>She&#8217;s truly a joy and makes me a very proud parent. She also eats us out of house and home, typically getting through a bowl of porridge and yoghurt for breakfast, a slice of bread with topping and a yoghurt and biscuit for lunch, a snack mid-afternoon, and a bowl of healthy home-made food followed usually by 2 or 3 yoghurts. As you can probably tell, she likes yoghurts, but there&#8217;s nothing wrong with that as they&#8217;re a good source of calcium as Hannah&#8217;s milk starts to deplete.</p>
<p>In other news, it&#8217;s Hannah&#8217;s birthday soon, so if you haven&#8217;t been invited (on Facebook of course&#8230;) and you think you should be, get in touch.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cOsGQ6YDf84:T0Qa9MmSflo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cOsGQ6YDf84:T0Qa9MmSflo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=cOsGQ6YDf84:T0Qa9MmSflo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=cOsGQ6YDf84:T0Qa9MmSflo:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/cOsGQ6YDf84" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/01/31/new-house-growing-freyja/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/01/31/new-house-growing-freyja/</feedburner:origLink></item>
		<item>
		<title>MySQL gotcha when using non-compulsory foreign keys</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/yTR_JBmJthE/</link>
		<comments>http://www.asgrim.com/2010/01/27/mysql-gotcha-when-using-non-compulsory-foreign-keys/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 10:27:08 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[gotcha]]></category>
		<category><![CDATA[join]]></category>
		<category><![CDATA[left]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[null]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1621</guid>
		<description>I&amp;#8217;m just writing a query at the moment that filters out test records from a database. These records have a foreign-keyed value that identifies test apps, e.g. a table with: id name 1 TEST 2 ANOTHER_VALUE 3 SOMETHING_ELSE This is joined onto the main data table, sensibly with a query like this: SELECT * FROM the_data [...]</description>
			<content:encoded><![CDATA[<p>I&#8217;m just writing a query at the moment that filters out test records from a database. These records have a foreign-keyed value that identifies test apps, e.g. a table with:</p>
<pre>id  name
1   TEST
2   ANOTHER_VALUE
3   SOMETHING_ELSE
</pre>
<p>This is joined onto the main data table, sensibly with a query like this:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span> the_data
<span style="color: #000099;">LEFT</span> <span style="color: #990099; font-weight: bold;">JOIN</span> the_values <span style="color: #990099; font-weight: bold;">ON</span> the_data.some_value <span style="color: #CC0099;">=</span> the_values.id
<span style="color: #990099; font-weight: bold;">WHERE</span> the_values.name <span style="color: #CC0099;">!=</span> <span style="color: #008000;">'TEST'</span></pre></div></div>

<p>The gotcha is however, that this doesn&#8217;t work as you&#8217;d expect. If a record in &#8220;the_data&#8221; table doesn&#8217;t have a corresponding entry in &#8220;the_values&#8221; e.g. if &#8220;the_data.some_value&#8221; is 0 (as in my instance, it doesn&#8217;t need to have a corresponding value), then these entries are completely excluded. The solution (simple once you understand how it works&#8230;) is to check for NULL values too:</p>

<div class="wp_syntax"><div class="code"><pre class="mysql" style="font-family:monospace;"><span style="color: #990099; font-weight: bold;">SELECT</span> <span style="color: #CC0099;">*</span>
<span style="color: #990099; font-weight: bold;">FROM</span> the_data
<span style="color: #000099;">LEFT</span> <span style="color: #990099; font-weight: bold;">JOIN</span> the_values <span style="color: #990099; font-weight: bold;">ON</span> the_data.some_value <span style="color: #CC0099;">=</span> the_values.id
<span style="color: #990099; font-weight: bold;">WHERE</span> <span style="color: #FF00FF;">&#40;</span>the_values.name <span style="color: #CC0099; font-weight: bold;">IS</span> <span style="color: #9900FF; font-weight: bold;">NULL</span> <span style="color: #CC0099; font-weight: bold;">OR</span> the_values.name <span style="color: #CC0099;">!=</span> <span style="color: #008000;">'TEST'</span><span style="color: #FF00FF;">&#41;</span></pre></div></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yTR_JBmJthE:WzUiNlXFnvw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yTR_JBmJthE:WzUiNlXFnvw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yTR_JBmJthE:WzUiNlXFnvw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yTR_JBmJthE:WzUiNlXFnvw:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/yTR_JBmJthE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/01/27/mysql-gotcha-when-using-non-compulsory-foreign-keys/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/01/27/mysql-gotcha-when-using-non-compulsory-foreign-keys/</feedburner:origLink></item>
		<item>
		<title>Write Stack Dump In PHP</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/yj1-twrHrUw/</link>
		<comments>http://www.asgrim.com/2010/01/21/write-stack-dump-in-php/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 16:37:36 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[backtrace]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[dump]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[stack]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1616</guid>
		<description>Just a quick one. You probably already use debug_backtrace (and if you don&amp;#8217;t, use it!). I&amp;#8217;ve written this quick bit of PHP that basically just tells you the function stack (i.e. strips args and object, thus leaving no junk!) echo &amp;#34;&amp;#60;pre&amp;#62;&amp;#34;; $bt = debug_backtrace&amp;#40;&amp;#41;; for&amp;#40;$i = 0; $i &amp;#60; count&amp;#40;$bt&amp;#41;; $i++&amp;#41; &amp;#123; unset&amp;#40;$bt&amp;#91;$i&amp;#93;&amp;#91;&amp;#34;args&amp;#34;&amp;#93;&amp;#41;; unset&amp;#40;$bt&amp;#91;$i&amp;#93;&amp;#91;&amp;#34;object&amp;#34;&amp;#93;&amp;#41;; unset&amp;#40;$bt&amp;#91;$i&amp;#93;&amp;#91;&amp;#34;type&amp;#34;&amp;#93;&amp;#41;; [...]</description>
			<content:encoded><![CDATA[<p>Just a quick one. You probably already use debug_backtrace (and if you don&#8217;t, use it!). I&#8217;ve written this quick bit of PHP that basically just tells you the function stack (i.e. strips args and object, thus leaving no junk!)</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;pre&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$bt</span> <span style="color: #339933;">=</span> <span style="color: #990000;">debug_backtrace</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;args&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;object&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">var_dump</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$bt</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;/pre &gt;&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yj1-twrHrUw:Rl3dvZ4ckLI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yj1-twrHrUw:Rl3dvZ4ckLI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=yj1-twrHrUw:Rl3dvZ4ckLI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=yj1-twrHrUw:Rl3dvZ4ckLI:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/yj1-twrHrUw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/01/21/write-stack-dump-in-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/01/21/write-stack-dump-in-php/</feedburner:origLink></item>
		<item>
		<title>Buy a Lexus – Blind Your Fellow Road Users</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/jUj9Qh8l5JU/</link>
		<comments>http://www.asgrim.com/2010/01/14/buy-a-lexus-blind-your-fellow-road-users/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 19:46:53 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[The lols]]></category>
		<category><![CDATA[blind]]></category>
		<category><![CDATA[cars]]></category>
		<category><![CDATA[headlights]]></category>
		<category><![CDATA[lexus]]></category>
		<category><![CDATA[xenon]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1612</guid>
		<description>Everyone who knows me will know that I am marginally prejudiced against people with expensive cars (BMW, Mercedes, Lexus etc.), but not entirely without cause. One of my niggles (pet hates if you will) about them is their unnecessarily dazzling headlights. I just saw the advert shown on a website and made me think of [...]</description>
			<content:encoded><![CDATA[<p><a href="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/01/bi-xenon.jpg"><img class="alignleft size-full wp-image-1613" title="bi-xenon" src="http://www.asgrim.com/_wordpress_live_J4M3S/wp-content/uploads/2010/01/bi-xenon.jpg" alt="" width="300" height="250" /></a>Everyone who knows me will know that I am marginally prejudiced against people with expensive cars (BMW, Mercedes, Lexus etc.), but not <em>entirely</em> without cause.</p>
<p>One of my niggles (pet hates if you will) about them is their unnecessarily dazzling headlights. I just saw the advert shown on a website and made me think of the title of this blog post&#8230;</p>
<p>It confuses my why Lexus thinks these Bi-xenon headlights are at all a good thing? Surely blinding your fellow road users so much that they crash is a bad thing? Aren&#8217;t Xenon headlights the ones that look blue from certain angles as well, confusing me that there is police ahead?</p>
<p>So yeah &#8211; if you want to blind your fellow users, buy a Lexus. Or a BMW. Or a Mercedes. Or similar car.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=jUj9Qh8l5JU:kx8nGIk1v3o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=jUj9Qh8l5JU:kx8nGIk1v3o:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=jUj9Qh8l5JU:kx8nGIk1v3o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=jUj9Qh8l5JU:kx8nGIk1v3o:l6gmwiTKsz0"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=l6gmwiTKsz0" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/asgrimthemighty/~4/jUj9Qh8l5JU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.asgrim.com/2010/01/14/buy-a-lexus-blind-your-fellow-road-users/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.asgrim.com/2010/01/14/buy-a-lexus-blind-your-fellow-road-users/</feedburner:origLink></item>
		<item>
		<title>cURL Tips – HTTPS requests</title>
		<link>http://feedproxy.google.com/~r/asgrimthemighty/~3/FWO-hSY0-MM/</link>
		<comments>http://www.asgrim.com/2009/12/15/curl-tips-https-requests/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 20:51:48 +0000</pubDate>
		<dc:creator>James</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[cURL]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[request]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[verifyhost]]></category>
		<category><![CDATA[verifypeer]]></category>

		<guid isPermaLink="false">http://www.asgrim.com/?p=1597</guid>
		<description>Too many times have I seen this in cURL clients: curl_setopt&amp;#40;$ch, CURLOPT_SSL_VERIFYHOST, false&amp;#41;; curl_setopt&amp;#40;$ch, CURLOPT_SSL_VERIFYPEER, false&amp;#41;; Why is this bad? You leave yourself totally open to man-in-the-middle attacks, and makes SSL virtually pointless. Sure the data passed between the two servers would still be encrypted, but there is no way of verifying the server you&amp;#8217;re [...]</description>
			<content:encoded><![CDATA[<p>Too many times have I seen this in cURL clients:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYHOST<span style="color: #339933;">,</span>  <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYPEER<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Why is this bad? You leave yourself totally open to man-in-the-middle attacks, and makes SSL virtually pointless. Sure the data passed between the two servers would still be encrypted, but there is no way of verifying the server you&#8217;re talking to is the server you WANT to be talking to!</p>
<p>My recommendation is that you verify the server is genuine by checking against the genuine CA certificate in PEM format. There are plenty of tutorials (e.g. <a href="http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/">here</a>) on the internet to obtain the PEM certificate, so I won&#8217;t go into that here. All you need to do is change your cURL request like this:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_CAINFO<span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;/path/to/your/certificate&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYHOST<span style="color: #339933;">,</span> <span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_SSL_VERIFYPEER<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Set CURLOPT_SSL_VERIFYHOST to 2 &#8220;to check the existence of a common name and also verify that it matches the hostname provided&#8221; (read: <a href="http://uk.php.net/manual/en/function.curl-setopt.php">PHP Manual</a>).</p>
<p>Checking against the CA certificate in this way is the proper way of verifying that the server you&#8217;re talking to is the one you expect.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FWO-hSY0-MM:1mw5KYYO6cw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FWO-hSY0-MM:1mw5KYYO6cw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=FWO-hSY0-MM:1mw5KYYO6cw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FWO-hSY0-MM:1mw5KYYO6cw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/asgrimthemighty?a=FWO-hSY0-MM:1mw5KYYO6cw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/asgrimthemighty?i=FWO-hSY0-MM:
