<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>shock horror</title>
	<atom:link href="http://shock-horror.com/sh/feed" rel="self" type="application/rss+xml" />
	<link>http://shock-horror.com/sh</link>
	<description></description>
	<pubDate>Fri, 11 May 2007 09:47:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
	<language>en</language>
			<item>
		<title>On new beginnings</title>
		<link>http://shock-horror.com/sh/2007/03/on-new-beginnings</link>
		<comments>http://shock-horror.com/sh/2007/03/on-new-beginnings#comments</comments>
		<pubDate>Thu, 01 Mar 2007 13:54:28 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2007/03/on-new-beginnings</guid>
		<description><![CDATA[New beginnings are often a good thing, especially when you get stuck. I freely admit that towards the end of last year, I was stuck.
This year I&#8217;m starting a new course (I&#8217;m technically a first year - aargh!) and I hope I&#8217;m starting a new way of looking at uni and life in general.
I&#8217;m looking forward to looking at things from a new perspective. It&#8217;s been tough going at uni so far and, although [...]]]></description>
			<content:encoded><![CDATA[<p>New beginnings are often a good thing, especially when you get stuck. I freely admit that towards the end of last year, I was stuck.</p>
<p>This year I&#8217;m starting a new course (I&#8217;m technically a first year - aargh!) and I hope I&#8217;m starting a new way of looking at uni and life in general.</p>
<p>I&#8217;m looking forward to looking at things from a new perspective. It&#8217;s been tough going at uni so far and, although I&#8217;ve got some pretty good results at times, I think that I&#8217;ve missed out on a lot of opportunities to get excited about what I&#8217;m learning.</p>
<p>I&#8217;ve lost sight of what fun it is to learn new things - new ideas, new concepts, new ways of looking at the world around me - and it&#8217;s sad. But things can change, and I will change them&#8230;as long as I can remain positive and look on the bright side. Always looking at the bad possibilities doesn&#8217;t make the experience of existence particularly fun, so I&#8217;m just not going to do it anymore.</p>
<p>Well, that&#8217;s the theory, anyway. Come and see me in six months and see if I&#8217;m screaming about how I hate uni and can&#8217;t wait for it to be finished <img src='http://shock-horror.com/sh/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2007/03/on-new-beginnings/feed</wfw:commentRss>
		</item>
		<item>
		<title>Brownie points: del.icio.us +1</title>
		<link>http://shock-horror.com/sh/2006/10/brownie-points-delicious-1</link>
		<comments>http://shock-horror.com/sh/2006/10/brownie-points-delicious-1#comments</comments>
		<pubDate>Mon, 30 Oct 2006 10:12:24 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/10/brownie-points-delicious-1</guid>
		<description><![CDATA[I have to say that del.icio.us has pleasantly surprised me - they showed me Opera bookmarklets automatically during sign-up. Since most sites can&#8217;t be bothered dealing with Opera (heck, many can&#8217;t be bothered dealing with Firefox) I nearly fell off my chair with surprise. Good work, del.icio.us.
]]></description>
			<content:encoded><![CDATA[<p>I have to say that del.icio.us has pleasantly surprised me - they showed me Opera bookmarklets automatically during sign-up. Since most sites can&#8217;t be bothered dealing with Opera (heck, many can&#8217;t be bothered dealing with Firefox) I nearly fell off my chair with surprise. Good work, del.icio.us.</p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/10/brownie-points-delicious-1/feed</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Strunk and White&#8217;s vile little compendium of tripe about style&#8221;</title>
		<link>http://shock-horror.com/sh/2006/09/strunk-and-whites-vile-little-compendium-of-tripe-about-style</link>
		<comments>http://shock-horror.com/sh/2006/09/strunk-and-whites-vile-little-compendium-of-tripe-about-style#comments</comments>
		<pubDate>Thu, 28 Sep 2006 16:46:55 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/09/strunk-and-whites-vile-little-compendium-of-tripe-about-style</guid>
		<description><![CDATA[I never thought I&#8217;d say this, but a post on Language Log has actually made me laugh out loud. Who else would have the balls but the posters there, experts in linguistics and English grammar, to call the &#8220;classic&#8221; English style guide The Elements of Style:
Strunk and White&#8217;s vile little compendium of tripe about style [...]]]></description>
			<content:encoded><![CDATA[<p>I never thought I&#8217;d say this, but a post on <a href="http://itre.cis.upenn.edu/~myl/languagelog/" title="Language Log">Language Log</a> has actually made me laugh out loud. Who else would have the balls but the posters there, experts in linguistics and English grammar, to call the &#8220;classic&#8221; English style guide <em><a href="http://en.wikipedia.org/wiki/Strunk_and_White" title="Strunk and White">The Elements of Style</a></em>:</p>
<blockquote><p>Strunk and White&#8217;s vile little compendium of tripe about style (<a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/003366.html" title="Language Log: Passive aggression">link</a>)</p>
</blockquote>
<p>I love it. Prof. Geoffrey K. Pullum rips in to it deliciously in that (vaguely) recent post* on the subject of the passive voice.</p>
<blockquote><p>Now, those who know me will be able to predict that I couldn&#8217;t resist grabbing a copy of the just-mentioned <strong><em>pathetic booklet</em></strong> (it was hard to find one; [Adj. Prof. Bill] Poser says he threw his away) and checking on whether Strunk and White managed to get to the end of the page without accidentally using a passive themselves. And of course they didn&#8217;t, <em><strong>the bald-faced hypocritical morons</strong></em>. [emphasis mine]</p>
</blockquote>
<p>Of course, this is hardly the first time <a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/001905.html" title="Language Log: The blowing of Strunk and White's rules off">such</a> a <a href="http://itre.cis.upenn.edu/~myl/languagelog/archives/001803.html" title="Language Log: Don't put up with usage abuse">post</a> has been made. Language Log is officially a candidate for the title of Best. Blog. Ever.</p>
<p><small>*Alright, it&#8217;s months old - but I&#8217;ve got so many things in my RSS reader that I don&#8217;t get to it all, and I missed it the first time around. I hereby swear to read Language Log more religiously in future.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/09/strunk-and-whites-vile-little-compendium-of-tripe-about-style/feed</wfw:commentRss>
		</item>
		<item>
		<title>Treating myself</title>
		<link>http://shock-horror.com/sh/2006/07/treating-myself</link>
		<comments>http://shock-horror.com/sh/2006/07/treating-myself#comments</comments>
		<pubDate>Sat, 15 Jul 2006 14:12:58 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/07/25</guid>
		<description><![CDATA[I treated myself today.
For years I&#8217;ve wanted to get myself an MP3 player, but I&#8217;ve never been able to:

Justify the stupid prices most of them are worth (yes, iPod, I&#8217;m looking at you)
Feel comfortable carrying around something worth that much money
Afford the stupid prices most of them are worth.

However, today I found a good deal [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://shock-horror.com/sh/wp-content/uploads/2006/07/e140.jpg" align="right" />I treated myself today.</p>
<p>For years I&#8217;ve wanted to get myself an MP3 player, but I&#8217;ve never been able to:</p>
<ol>
<li>Justify the stupid prices most of them are worth (yes, iPod, I&#8217;m looking at you)</li>
<li>Feel comfortable carrying around something worth that much money</li>
<li>Afford the stupid prices most of them are worth.</li>
</ol>
<p>However, today I found a good deal so now I am the proud owner of a new baby <a href="http://www.sandisk.com/Products/Item(1208)-SDMX2-1024-Sansa_e140_Digital_Audio_Player_1GB.aspx">Sandisk Sansa e140</a>, a 1GB flash-based MP3 player. It&#8217;s an old model (which is why it was pretty cheap) but based on my first impressions, I love it.</p>
<ul>
<li>It&#8217;s seriously small. Not small enough that I&#8217;d have to worry about losing it, but small enough that I can put it in a pocket and not be irritated by it. It&#8217;s also light as a feather.</li>
<li>The included earphones are pretty good - certainly good compared to the cheap crap I usually use, anyway. Nice and bassy, they block out a lot of external noise and they&#8217;re comfortable.</li>
<li>It came with a case! I hate getting scratches and dirty marks on stuff, so the clear plastic case that came in the box was a godsend.</li>
<li>It&#8217;s easy to put files on it - just drag-and-drop MP3s to it. It shows up as a normal USB Mass Storage Device (you know, like a USB thumb drive or whatever.)</li>
<li>It doesn&#8217;t support OGG files, which is mildly irritating, but I hardly have any OGGs anyway.</li>
<li>It doesn&#8217;t do crossfading either, but I can live with that for the price.</li>
<li>The sound boosting settings are nice and work pretty well, but I would&#8217;ve liked a &#8216;dance&#8217; preset on the equaliser.</li>
<li>The FM radio is very handy. My phone has an FM radio but I can never be bothered to carry the special attachment you need to use it (you can&#8217;t just plug in a normal 3.5mm plug.)</li>
<li>It came with the older 1.x firmware, and I haven&#8217;t worked up the courage to flash it up to the newer 2.x firmware yet.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/07/treating-myself/feed</wfw:commentRss>
		</item>
		<item>
		<title>Wordpress vs. Luke</title>
		<link>http://shock-horror.com/sh/2006/07/wordpress-vs-luke</link>
		<comments>http://shock-horror.com/sh/2006/07/wordpress-vs-luke#comments</comments>
		<pubDate>Sat, 15 Jul 2006 13:33:50 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<category><![CDATA[Geeky Stuff]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/07/wordpress-vs-luke</guid>
		<description><![CDATA[This blog runs the excellent Wordpress blogging software. In addition, to be nicer to the system it&#8217;s hosted on (at Dreamhost), I&#8217;ve got the WP-Cache plugin installed (which caches pages so that they don&#8217;t have to be regenerated on every page load.)
At the moment I&#8217;ve got things running under CGI, which isn&#8217;t the most efficient [...]]]></description>
			<content:encoded><![CDATA[<p>This blog runs the excellent <a href="http://wordpress.org/" title="Wordpress">Wordpress</a> blogging software. In addition, to be nicer to the system it&#8217;s hosted on (at <a href="http://www.dreamhost.com/r.cgi?100504/shared/comparison.html">Dreamhost</a>), I&#8217;ve got the WP-Cache plugin installed (which caches pages so that they don&#8217;t have to be regenerated on every page load.)</p>
<p>At the moment I&#8217;ve got things running under CGI, which isn&#8217;t the most efficient way of doing things (but it&#8217;s easy.)</p>
<p>In order to satisfy my own curiosity, as well as squeeze a little bit more performance out, I tried the other day to get this Wordpress install to play nice with PHP running through FastCGI, with the <a href="http://php.net/APC" title="Alternative PHP Cache">APC</a> PHP opcode cache. I say &#8216;tried&#8217; because it was a complete and utter failure. APC and WP-Cache definitely don&#8217;t like each other one little bit.</p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/07/wordpress-vs-luke/feed</wfw:commentRss>
		</item>
		<item>
		<title>Exceptions &gt; Errors</title>
		<link>http://shock-horror.com/sh/2006/07/exceptions-errors</link>
		<comments>http://shock-horror.com/sh/2006/07/exceptions-errors#comments</comments>
		<pubDate>Fri, 07 Jul 2006 07:01:20 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<category><![CDATA[Geeky Stuff]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/07/exceptions-errors</guid>
		<description><![CDATA[Today, whilst working with some PHP code, I wanted to catch an error like an exception.
PHP&#8217;s errors are a kludgey solution left-over from before PHP had objects. When PHP 5 introduced proper Exception support, I was overjoyed - until I learned that all the existing inbuilt PHP functions would continue to trigger errors rather than [...]]]></description>
			<content:encoded><![CDATA[<p>Today, whilst working with some PHP code, I wanted to catch an error like an exception.</p>
<p>PHP&#8217;s errors are a kludgey solution left-over from before PHP had objects. When PHP 5 introduced proper Exception support, I was overjoyed - until I learned that all the existing inbuilt PHP functions would continue to trigger errors rather than throwing exceptions. I understand that it&#8217;s necessary for backwards-compatibility, but it still really,  really sucks when you want to write clean code.</p>
<p>So, today I was writing my own code to convert errors into exceptions when I hit a frustrating roadblock: the PHP Exception class doesn&#8217;t allow you to alter the stack trace. This is a Bad Thing in this case because you must throw the exception inside your error handler - which means that the stack trace starts at your error handling function, making the entire stack trace bloody useless.</p>
<p>Whilst Googling around I happened upon a few snippets here and there about the existence of an ErrorException in the SPL extension of PHP 5.1+. It is a wonderful thing - it&#8217;s basically an exception, with the added ability to pass in the stuff passed to a custom error handler, which is then put in the stack trace. It is truly a godsend for debugging.</p>
<p>Anyway, because I have a memory like a sieve and mentions of ErrorException are scarce, here&#8217;s the minimal code to use it:</p>
<p>
<pre style="overflow: auto; font-size: small;">function errorToExeption($errno, $errstr, $errfile, $errline) {
    throw new ErrorException($errstr,0,$errno,$errfile,$errline);
}
set_error_handler('errorToException');</pre>
</p>
<p>That&#8217;s it - now you can treat any function that triggers errors like it throws exceptions instead. You might like to create a couple of subclasses of ErrorException for errors, warnings, etc. and then throw the appropriate exception inside your error handler. Don&#8217;t forget that a custom error handler can&#8217;t catch every type of error, such as those that might leave PHP in an unstable state, or those that occur inside the Zend Engine before your script is executed.</p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/07/exceptions-errors/feed</wfw:commentRss>
		</item>
		<item>
		<title>Hooray for things working!</title>
		<link>http://shock-horror.com/sh/2006/03/new-timetable</link>
		<comments>http://shock-horror.com/sh/2006/03/new-timetable#comments</comments>
		<pubDate>Mon, 06 Mar 2006 04:40:42 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/03/new-timetable</guid>
		<description><![CDATA[Well, the good news is that, after much trouble, I&#8217;ve sorted out my timetable by changing subjects. Twice.
Anyway, for what is the first time I&#8217;ve been at uni, I only have to go to class three days a week! On the downside, I have long breaks on Thursdays and Fridays after early (for me) starts, [...]]]></description>
			<content:encoded><![CDATA[<p>Well, the good news is that, after much trouble, I&#8217;ve sorted out my <a href="/sh/timetable">timetable</a> by changing subjects. Twice.</p>
<p>Anyway, for what is the first time I&#8217;ve been at uni, I only have to go to class three days a week! On the downside, I have long breaks on Thursdays and Fridays after early (for me) starts, and I have <strong><em><big>a CLASH!!!</big></em></strong> on Fridays. Still, for once I seem to have a fairly good timetable! <img src='http://shock-horror.com/sh/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/03/new-timetable/feed</wfw:commentRss>
		</item>
		<item>
		<title>Ah, the joy of Chaos</title>
		<link>http://shock-horror.com/sh/2006/03/ah-the-joy-of-chaos</link>
		<comments>http://shock-horror.com/sh/2006/03/ah-the-joy-of-chaos#comments</comments>
		<pubDate>Fri, 03 Mar 2006 02:42:50 +0000</pubDate>
		<dc:creator>Luke</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<category><![CDATA[Uni]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/03/ah-the-joy-of-chaos</guid>
		<description><![CDATA[I go back to uni on Monday and, when I was finally able to get my timetable yesterday, I was overjoyed to discover that, not only did I have three days with less than 2 class hours each, but I also had three subjects clashing. Sigh. Now I&#8217;ve gotta try and change my subjects so [...]]]></description>
			<content:encoded><![CDATA[<p>I go back to uni on Monday and, when I was finally able to get my timetable yesterday, I was overjoyed to discover that, not only did I have three days with less than 2 class hours each, but I also had three subjects clashing. Sigh. Now I&#8217;ve gotta try and change my subjects so that I can still do the subjects I need to do later on without having clashes now.</p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/03/ah-the-joy-of-chaos/feed</wfw:commentRss>
		</item>
		<item>
		<title>Alarm Clock - Snooze Button + 4 Piece Puzzle Puzzle = Awake</title>
		<link>http://shock-horror.com/sh/2006/03/alarm-clock-snooze-button-4-piece-puzzle-puzzle-awake</link>
		<comments>http://shock-horror.com/sh/2006/03/alarm-clock-snooze-button-4-piece-puzzle-puzzle-awake#comments</comments>
		<pubDate>Fri, 03 Mar 2006 02:27:48 +0000</pubDate>
		<dc:creator>Luke (via digg.com)</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/03/alarm-clock-snooze-button-4-piece-puzzle-puzzle-awake</guid>
		<description><![CDATA[I need one of these. Seriously, I&#8217;d never be late anywhere again! Well&#8230;.maybe that&#8217;s going a bit far.
read more &#124; digg story
]]></description>
			<content:encoded><![CDATA[<p>I need one of these. Seriously, I&#8217;d never be late anywhere again! Well&#8230;.maybe that&#8217;s going a bit far.</p>
<p><a href="http://us.gizmodo.com/gadgets/gadgets/puzzle-alarm-clock-presents-mild-challenge-wakes-you-up-157999.php">read more</a> | <a href="http://digg.com/links/Alarm_Clock_-_Snooze_Button_4_Piece_Puzzle_Puzzle_=_Awake">digg story</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/03/alarm-clock-snooze-button-4-piece-puzzle-puzzle-awake/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Click That Broke China&#8217;s Grip</title>
		<link>http://shock-horror.com/sh/2006/02/the-click-that-broke-chinas-grip</link>
		<comments>http://shock-horror.com/sh/2006/02/the-click-that-broke-chinas-grip#comments</comments>
		<pubDate>Mon, 20 Feb 2006 20:21:00 +0000</pubDate>
		<dc:creator>Luke (via digg.com)</dc:creator>
		
		<category><![CDATA[All Posts]]></category>

		<category><![CDATA[Online Rights]]></category>

		<guid isPermaLink="false">http://shock-horror.com/sh/2006/02/the-click-that-broke-chinas-grip</guid>
		<description><![CDATA[&#8220;The top editors of the China Youth Daily were meeting in a conference room last August when their cell phones started buzzing quietly with text messages. One after another, they discreetly read the notes. Then they traded nervous glances.&#8221;
I suppose it shouldn&#8217;t surprise me that people use the Internet to get around the draconian restrictions [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>&#8220;The top editors of the China Youth Daily were meeting in a conference room last August when their cell phones started buzzing quietly with text messages. One after another, they discreetly read the notes. Then they traded nervous glances.&#8221;</p></blockquote>
<p>I suppose it shouldn&#8217;t surprise me that people use the Internet to get around the draconian restrictions of China, but it&#8217;s really cool to read about people actually doing it.</p>
<p><a href="http://www.washingtonpost.com/wp-dyn/content/article/2006/02/18/AR2006021801389.html?nav=rss_technology">read more</a> | <a href="http://digg.com/technology/The_Click_That_Broke_China_s_Grip">digg story</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shock-horror.com/sh/2006/02/the-click-that-broke-chinas-grip/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 1.496 seconds -->
