<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.1.2" -->
<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/"
	>

<channel>
	<title>John Topley's Weblog</title>
	<link>http://www.johntopley.com</link>
	<description></description>
	<pubDate>Thu, 03 Jul 2008 19:01:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.2</generator>
	<language>en</language>
			<item>
		<title>How To Run A National Blood Service</title>
		<link>http://www.johntopley.com/2008/07/03/how-to-run-a-national-blood-service/</link>
		<comments>http://www.johntopley.com/2008/07/03/how-to-run-a-national-blood-service/#comments</comments>
		<pubDate>Thu, 03 Jul 2008 19:01:31 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Raves]]></category>

		<guid isPermaLink="false">http://www.johntopley.com/2008/07/03/how-to-run-a-national-blood-service/</guid>
		<description><![CDATA[Rightly or wrongly, the National Health Service in Britain receives a lot of criticism. My own family&#8217;s experiences of state provided healthcare have been mixed, to say the least. However, in my experience one area that we have got right is the National Blood Service.

I give blood every four months and today two units came [...]]]></description>
			<content:encoded><![CDATA[<p>Rightly or wrongly, the National Health Service in Britain receives a lot of <a href="http://www.johnsadventures.com/archives/2003/05/the_national_hell_service.html" title="Go to 'The National Hell Service' (external)">criticism</a>. My own family&#8217;s experiences of state provided healthcare have been mixed, to say the least. However, in my experience one area that we have got right is the <a href="http://www.blood.co.uk/">National Blood Service</a>.</p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/blood_bag.jpg" alt="A picture of a blood bag" title="A picture of a blood bag" height="375" width="500" /></p>
<p>I give blood every four months and today two units came to the car park at work and I gave blood again, making my tenth time. I have always found the nurses to be helpful, professional and courteous and generally the whole process has always gone smoothly and with the minimum of fuss. The biscuits are nice too! I&#8217;m sure there are times when it doesn&#8217;t go quite to plan, but if that were to happen to me I&#8217;d have every confidence in the ability of the Blood Service staff to deal with the situation.</p>
<p>Another aspect that impresses me about the whole operation is the efforts they undertake to make you feel valued and to thank you for your C738H1166N812O203S2Fe contributions. For example, as today was my tenth time, I received a certificate and a nice pin badge. I will also receive a new colour-coded &#8220;credit card&#8221; that has my donor number and blood group printed on it.</p>
<p>However, it&#8217;s not all Rhesus Positive news. What saddened me today was that there were appointments still available for people to give blood. The unfortunate reality is that more donors are always needed to keep blood supplies replenished. According to the Blood Service website, there&#8217;s just under nine day&#8217;s stock remaining of my own blood group (B positive). That&#8217;s not a lot when you think about it. If you haven&#8217;t given blood before, why not consider it? I think that half an hour of your time and about a second of very minor discomfort is a small price to pay if you can help save someone&#8217;s life!</p>
<p><em>Blood Bag photo credit: <a href="http://www.flickr.com/photos/spike55151/14472037/">Spike55151</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2008/07/03/how-to-run-a-national-blood-service/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails Tip #12: Easy HTML Input Validation</title>
		<link>http://www.johntopley.com/2008/06/19/rails-tips-12-easy-html-input-validation/</link>
		<comments>http://www.johntopley.com/2008/06/19/rails-tips-12-easy-html-input-validation/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 18:52:38 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.johntopley.com/2008/06/19/rails-tips-12-easy-html-input-validation/</guid>
		<description><![CDATA[Not really a Rails-specific tip this one, more of a Ruby tip presented in a Rails&#8217; context. Let&#8217;s imagine that your application accepts user input and you&#8217;re using HTML whitelisting to allow through a limited number of HTML elements, such as &#60;a&#62;, &#60;strong&#62;, &#60;em&#62; etc. This is fine, but you&#8217;ll also want to ensure that [...]]]></description>
			<content:encoded><![CDATA[<p>Not really a Rails-specific tip this one, more of a Ruby tip presented in a Rails&#8217; context. Let&#8217;s imagine that your application accepts user input and you&#8217;re using <acronym title="HyperText Markup Language">HTML</acronym> whitelisting to allow through a limited number of HTML elements, such as &lt;a&gt;, &lt;strong&gt;, &lt;em&gt; etc. This is fine, but you&#8217;ll also want to ensure that the user can&#8217;t enter badly-formed markup because that can seriously affect the rest of your page. Somehow you need to check that any markup entered is well-formed and inform the user if it isn&#8217;t.</p>
<p>It turns out this is easy to do using Ruby&#8217;s REXML module, which performs <acronym title="eXtensible Markup Language">XML</acronym> processing. For example, to validate a field named <em>lyrics</em> in a <em>Track</em> ActiveRecord model, you could add the following to the Track model class:</p>
<p><code><br />
protected<br />
def validate<br />
&nbsp;&nbsp;begin<br />
&nbsp;&nbsp;&nbsp;&nbsp;REXML::Document.new(&quot;&lt;lyrics&gt;#{self.lyrics}&lt;/lyrics&gt;&quot;)<br />
&nbsp;&nbsp;rescue REXML::ParseException =&gt; exception<br />
&nbsp;&nbsp;&nbsp;&nbsp;errors.add(:lyrics, &#039;are not valid HTML.&#039;)<br />
&nbsp;&nbsp;end<br />
end</code></p>
<p>&mdash;Note that the &lt;lyrics&gt; element in the REXML::Document constructor can be anything you like because it&#8217;s just there to provide a bit of an XML structure around the user&#8217;s input. Sending the <code>message</code> message to the rescued <code>exception</code> object will return more detailed information about why the parsing failed if you require that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2008/06/19/rails-tips-12-easy-html-input-validation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Paul Thurrott&#8217;s Hallucinating Again</title>
		<link>http://www.johntopley.com/2008/06/14/paul-thurrotts-hallucinating-again/</link>
		<comments>http://www.johntopley.com/2008/06/14/paul-thurrotts-hallucinating-again/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 10:44:00 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Microsoft]]></category>

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

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

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

		<guid isPermaLink="false">http://www.johntopley.com/2008/06/14/paul-thurrotts-hallucinating-again/</guid>
		<description><![CDATA[I just don&#8217;t understand Paul Thurrott. Although I now prefer Apple&#8217;s products, I occasionally visit his site because I&#8217;m still vaguely interested in the latest news from Microsoft. Much of what Paul writes is balanced and fair, but sometimes he comes out with some complete tosh! The latest being this gem from his preview of [...]]]></description>
			<content:encoded><![CDATA[<p>I just don&#8217;t understand <a href="http://www.winsupersite.com/" title="Go to 'Paul Thurrott's SuperSite for Windows' (external)">Paul Thurrott</a>. Although I now prefer Apple&#8217;s products, I occasionally visit his site because I&#8217;m still vaguely interested in the latest news from Microsoft. Much of what Paul writes is balanced and fair, but sometimes he comes out with some complete tosh! The latest being this gem from <a href="http://www.winsupersite.com/showcase/mobileme_preview.asp">his preview of Apple&#8217;s new MobileMe service</a>:</p>
<blockquote><p>&#8220;I&#8217;m not interested in covering every single product that comes out of Redmond, and I am not a Microsoft fan-boy. What I&#8217;m interested is products and technologies that affect you, the Windows user. You&#8217;ve made a decision to use the world&#8217;s best operating system as the center of your computing experience, and I endorse and support that decision.&#8221;</p></blockquote>
<p>—Does anybody seriously think that Windows is the world&#8217;s best operating system? It&#8217;s the world&#8217;s most commercially successful <acronym title="Operating System">OS</acronym>, certainly. It has the most number of applications available for it, granted. But the best? Get real, Paul! Mac OS X Leopard wipes the floor with Windows Vista or Windows XP, as more and more people are discovering. Sure, it doesn&#8217;t have the shear glut of software that Windows has, but the software is does have covers all the bases and is of a uniformly high quality.</p>
<p>I can only think of one version of Windows that might have been a contender for the title of the world&#8217;s best operating system and that was Windows 2000. It was mature and stable and its Windows NT architecture was far in advance of the tired old <em>classic</em> MacOS that was Apple&#8217;s offering at the time. I really liked it, even though it had a tendency of switching the focus away from the active window which sometimes drove me nuts.</p>
<p>Sadly Windows 2000 was so late that it barely had time to take off before its successor was announced. Windows XP was too <a href="http://www.johntopley.com/oldblog/archive/2003/10/30/" title="Go to 'Unfinished eXPerience'">rough</a> <a href="http://www.johntopley.com/oldblog/archive/2003/11/24/" title="Go to 'Unfinished eXPerience Redux'">around</a> the <a href="http://www.johntopley.com/oldblog/archive/2004/11/06/" title="Go to 'Unfinished eXPerience Reloaded'">edges</a> for my liking. Although there was much to like, it did feel unfinished to me; it felt like it was rushed out of the door.  Now here we are seven years later and <a href="http://www.istartedsomething.com/20080531/windows-ui-taskforce-your-help-wanted/" title="Go to 'Windows UI Taskforce: Your Help Wanted' (external)">Windows Vista is much the same</a>. That&#8217;s quite an achievement considering that over five years elapsed between the two versions.</p>
<p>Going back to Windows after using Leopard is like a Windows 2000 user stepping back in time to Windows 95 or even Windows 3.1. It just doesn&#8217;t work as well and feels less polished. Perhaps Windows 7 will be a contender for the title of the world&#8217;s best operating system, but I doubt it somehow given Microsoft&#8217;s recent track record. Windows is crippled by the burden of its own past, whereas Apple are free to keep moving forward. Sorry Paul.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2008/06/14/paul-thurrotts-hallucinating-again/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Does Buying Apple Gear Turn You Into A Snob?</title>
		<link>http://www.johntopley.com/2008/03/31/does-buying-apple-gear-turn-you-into-a-snob/</link>
		<comments>http://www.johntopley.com/2008/03/31/does-buying-apple-gear-turn-you-into-a-snob/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 20:15:24 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Apple]]></category>

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

		<guid isPermaLink="false">http://www.johntopley.com/2008/03/31/does-buying-apple-gear-turn-you-into-a-snob/</guid>
		<description><![CDATA[snob
[with adj.] a person who believes that their tastes in a particular area are superior to those of other people.

The question is, does buying Apple gear turn you into a snob? It’s a question that I’ve been thinking about lately. It’s led to me examining my own attitudes and thinking about how they’ve changed over [...]]]></description>
			<content:encoded><![CDATA[<p><em>snob</em></p>
<p><em>[with adj.] a person who believes that their tastes in a particular area are superior to those of other people.</em></p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/apple_logo.jpg" alt="A picture of the Apple logo" title="A picture of the Apple logo" /></p>
<p>The question is, does buying Apple gear turn you into a snob? It’s a question that I’ve been thinking about lately. It’s led to me examining my own attitudes and thinking about how they’ve changed over the years.</p>
<p>Anyone who has read my blog lately will know that I love Apple’s products. I’ve blogged often enough about why I like them. I’m now fortunate enough to own four Apple pieces—note the use of the term <em>pieces</em> as if describing art. In order of purchase they are:</p>
<ul>
<li>A 2004 20GB iPod with Click Wheel</li>
<li>A 2005 PowerBook G4 12”</li>
<li>A 2006 iMac Core 2 Duo 20”</li>
<li>A 2007 16GB iPod touch</li>
</ul>
<p>The Click Wheel iPod was the first Apple product I bought. It was the last iPod before they got colour screens and could display photos. It’s probably the last of that first wave of iPods in the sense that it came with elaborate packaging and lots of accessories, whereas nowadays the packaging is more environmentally friendly and you have to buy things like charging bricks separately. I love the ingenuity of the Click Wheel and the way the backlight fades in and out slowly rather than abruptly.</p>
<p>My 12” PowerBook looks amazing. There’s no clutter or extraneous detail and the underneath looks like something space-age built for NASA for mega bucks. In fact, I was watching the DVD of 2001: A Space Odyssey the other week and I don’t think my PowerBook would look out of place on board the <a href="http://en.wikipedia.org/wiki/Discovery_One" title="Go to the Wikipedia entry for 'Discovery One' (external)">Discovery One</a>, such is the high level of clean detailing.</p>
<p>The iMac is my workhorse but with supermodel looks. There’s so much computer in such a small space. Not having to have a system tower on the floor is liberating. The engineering on the stand hinge that supports the whole computer is stunning.</p>
<p>All I have to say about my iPod touch is that it was <a href="http://www.johnsadventures.com/archives/2008/01/finally-a-device-from-the-world-of-tomorrow.html" title="Go to 'Finally, A Device From The World of Tomorrow!' (external)">sent back in time from the future</a>.</p>
<p>As an exercise, let’s see what my thoughts would be when asked about a non-Apple product. I’ll imagine what they would have been prior to my owning Apple gear and then I’ll write down what they would be now.</p>
<p><strong>The Product: <a href="http://images.google.co.uk/images?&amp;q=Dell+Latitude+D530" title="Go to Google Image search for 'Dell Latitude D530' (external)">Dell Latitude D530 laptop</a></strong></p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/dell_d530.jpg" alt="A picture of the Dell Latitude D530 laptop" title="A picture of the Dell Latitude D530 laptop" /></p>
<p><strong>Pre-Apple</strong></p>
<p>Wow! I cannot believe how inexpensive that is! It’s amazing how much bang for your buck you get now. I don’t know how Dell manage to do it. They’re practically giving them away. I’d feel really good if I’d bought that, knowing that I was getting that much power and the very latest version of Windows for so little outlay.</p>
<p><strong>Now</strong></p>
<p>My God, what an ugly laptop! That grey colour is horrible and it looks so utilitarian. I bet it’s got ports sprouting all over its exterior like warts. It’s bound to come with a huge power brick too. I see you can have it with Windows Vista, which in spite of the hardware will run like a dog and thrash the disk to death. Or you can have Windows XP, if you can live with the constant balloons popping up demanding attention and the sleep and resume issues.</p>
<p>It’s not just Dell computers that I now consider an affront to my eyes. Last week I was using an IBM Thinkpad on a training course that not only had a trackpad and a pointing nipple, but five buttons! Give me a multi-gesture trackpad with a large single button underneath anyday. Plus there were the usual assortment of slots, doors and ports. It even had a parallel printer port—has anyone used one of those since the mid-nineties? Worst of all was the dedicated <em>Access IBM</em> button. I mean, why would you want to?!</p>
<p>Lest anyone believe that I’ve completely lost my mind and am now a fully-paid up member of the Steve-one-button-is-all-you-need-Jobs brigade, I feel obliged to point out that I’ve never found Apple’s minimalist hardware aesthetic to be an issue. I simply don’t need any more bells and whistles than they give me. Everything else looks overdone by comparison. There’s no denying that something like an iPhone or an iPod touch does scream “look at me”, but that’s because<br />
well-engineered elegant design is sadly rare in an age of constant product churn when the main differentiator is who can do it for the lowest cost.</p>
<p>I do think that like any cult Apple inspire <a href="http://news.yahoo.com/s/nm/20080331/tc_nm/brand_poll_dc_1">fierce loyalty</a> and a natural consequence of that is the rejection of non-Apple products. In answer to the original question of whether buying Apple gear turns you into a snob, I think that it probably amplifies any snobbish tendencies that you may already have, but perhaps more than anything it makes you aware of the deficiencies in other products through a heightened appreciation of good design. Is that so bad?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2008/03/31/does-buying-apple-gear-turn-you-into-a-snob/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Happy Birthday LEGO!</title>
		<link>http://www.johntopley.com/2008/01/28/happy-birthday-lego/</link>
		<comments>http://www.johntopley.com/2008/01/28/happy-birthday-lego/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 20:06:16 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Raves]]></category>

		<guid isPermaLink="false">http://www.johntopley.com/2008/01/28/happy-birthday-lego/</guid>
		<description><![CDATA[Today marks the fiftieth anniversary of the invention of the humble LEGO brick. Apparently there are 2,400 different LEGO brick shapes and did you know that LEGO are the world&#8217;s largest manufacturer of tyres? LEGO was definitely one of my favourite toys as a child, particularly LEGO Technic. Who can forget playing with LEGO whilst [...]]]></description>
			<content:encoded><![CDATA[<p>Today marks the fiftieth anniversary of the invention of the humble LEGO brick. Apparently there are 2,400 different LEGO brick shapes and did you know that LEGO are the world&#8217;s largest manufacturer of tyres? LEGO was definitely one of my favourite toys as a child, particularly LEGO Technic. Who can forget playing with LEGO whilst kneeling down on the carpet wearing shorts, then standing up to find the imprints of eight studs in your kneecap where you&#8217;d knelt on a brick? At this point I feel obliged to point out to any American readers that the plural of LEGO is <em>LEGO</em> or <em>LEGO bricks</em>, not <em>LEGOs</em>! With that out of the way, let me share some of my memories of LEGO.</p>
<p>I loved getting LEGO sets for Christmas or birthdays. I think the first Technic set I owned was the <a href="http://guide.lugnet.com/set/948" title="Go to the LUGNET page for this set (external)">948 Go Kart</a>, probably in 1979 or 1980. This was a cool set because it had a one cylinder piston engine at the back, the piston moving up and down as you pushed the go kart along! It also had working steering. No doubt this is tame stuff for today&#8217;s children who are used to Xbox 360s or PS3s, but at the time it was enough to spark my imagination and fuel my curiosity for how things work. I&#8217;m not sure the same can be said of console games where you&#8217;re led down a set path, however elaborate or flashy.</p>
<p>I remember being extremely envious of one of my friends when I was growing up because his elder brother had the <a href="http://guide.lugnet.com/set/8860" title="Go to the LUGNET page for this set (external)">8860 Car Chassis</a>. This set had a huge number of pieces and included amazing real world features such as a four cylinder engine mated to a two speed gearbox, adjustable seats and working rear suspension. My friend told me that this set was too complicated for people our age to be able to build, so it was with great pride that I proved him wrong when I eventually got the set for myself! This set was the first time I&#8217;d come across a <a href="http://en.wikipedia.org/wiki/Differential_gear" title="Go to the Wikipedia entry for 'Differential gear' (external)">differential gear</a> and I can recall having a conversion with my Grandad&mdash;who was an engineer&mdash;about why it was needed.</p>
<p><img height="198" width="400" src="http://www.johntopley.com/blog/wp-content/uploads/lego8860.png" alt="A picture of the LEGO Technic 8860 Car Chassis set" title="A picture of the LEGO Technic 8860 Car Chassis" /></p>
<p>At some point I got the new LEGO Technic excavator (set <a href="http://guide.lugnet.com/set/8851" title="Go to the LUGNET page for this set (external)">8851</a>) complete with pneumatics. This led me to retrofit height-adjustable pneumatic rear suspension to my Car Chassis, just like on a Citroën. A great thing about LEGO was that the build instructions leaflet always included instructions for at least one alternative model. In the case of the Car Chassis set this was an awesome drag bike. For the Go Kart it was a vulcanizer, although I had no idea what one of those was and I&#8217;m still not entirely sure.</p>
<p>As well as my numerous Technic sets, I also really liked the Space sets. To my eternal regret I missed out on owning the mega <a href="http://guide.lugnet.com/set/928" title="Go to the LUGNET page for this set (external)">928 Galaxy Explorer</a>. My Dad took me to a toy shop and was going to buy it for me, when stupidly I made the impulse decision that I&#8217;d rather have a Corgi model of a dust cart instead! I wouldn&#8217;t have been as upset about my bad choice if I&#8217;d have known that decades later there&#8217;d be this thing called eBay where you could get all this stuff (apparently!)</p>
<p>Another thing I remember about LEGO was that you could get some nice little accessory sets, such as a set containing only cogs, gears and axles or sets that enabled you to motorise or add lighting to your creations. Some of the modern sets are incredibly sophisticated with fibre optics and programmable robotics. Somehow the blockiness of models made with LEGO didn&#8217;t seem to matter. I guess my childhood imagination must have smoothed things out. Probably the greatest thing about LEGO is that if you can imagine it then you can build it, provided you have the right bricks of course! I&#8217;m ashamed to admit for the very first time that I once stole a red 4 x 4 base plate whilst at a friend&#8217;s house because I needed it to complete a particular model I was making. Sorry Lisa!</p>
<p>Eventually I reached that age most of us reach where I had to give up playing with LEGO. I still enjoy building things, although now I make things out of blocks of software rather than blocks of <acronym title="Acrylonitrile Butadine Styrene">ABS</acronym> plastic. Unfortunately getting bits of software to <em>play well</em> is still nowhere near as easy as playing with LEGO was. In a feat of backwards compatibility that would make any software company envious, LEGO bricks from today still fit bricks made in 1958. So here&#8217;s to the next fifty years of LEGO!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2008/01/28/happy-birthday-lego/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AssetsGraphed Hits 200 Days Uptime</title>
		<link>http://www.johntopley.com/2007/12/28/assetsgraphed-hits-200-days-uptime/</link>
		<comments>http://www.johntopley.com/2007/12/28/assetsgraphed-hits-200-days-uptime/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 12:52:48 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Web Applications]]></category>

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

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

		<guid isPermaLink="false">http://www.johntopley.com/2007/12/28/assetsgraphed-hits-200-days-uptime/</guid>
		<description><![CDATA[I&#8217;m pleased to report that my AssetsGraphed Ruby on Rails application has been running continuously for over two hundred days now, as the screenshot below taken from my installation of monit shows. Okay, so AssetsGraphed isn&#8217;t exactly getting hammered like Facebook, but this level of reliability supports my decision to choose Rails Machine for hosting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to report that my <a href="http://assetsgraphed.com/">AssetsGraphed</a> Ruby on Rails application has been running continuously for over two hundred days now, as the screenshot below taken from my installation of <a href="http://tildeslash.com/monit/">monit</a> shows. Okay, so AssetsGraphed isn&#8217;t exactly getting hammered like Facebook, but this level of reliability supports my decision to choose <a href="http://railsmachine.com/">Rails Machine</a> for hosting my Rails applications. Their choice of running <a href="http://xen.org/">Xen</a>-based <acronym title="Virtual Private Server">VPS</acronym>s on Linux would appear to be a wise one and I know that <a href="http://www.37signals.com/">37signals</a> themselves are moving in this direction.</p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/monit.jpg" height="388" width="450" alt="A screenshot of the monit system management page for AssetsGraphed, showing 201 days uptime" title="A screenshot of the monit system management page for AssetsGraphed, showing 201 days uptime" /></p>
<p>The next milestone will be a year&#8217;s continuous uptime&mdash;let&#8217;s hope that posting this isn&#8217;t the kiss of death that takes AssetsGraphed offline! Happy New Year everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2007/12/28/assetsgraphed-hits-200-days-uptime/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Rails Tip #11: Add Plugin Repositories</title>
		<link>http://www.johntopley.com/2007/12/17/rails-tip-11/</link>
		<comments>http://www.johntopley.com/2007/12/17/rails-tip-11/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 21:45:26 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://www.johntopley.com/2007/12/17/rails-tip-11/</guid>
		<description><![CDATA[It&#8217;s something of a secret that you can configure the source code repositories the Rails plugin manager searches when you instruct it to install a plugin. This can be handy if you&#8217;re installing several plugins from the same author. Such as this one. Or this one.
To add a repository to the plugin manager:
./script/plugin source http://svn.techno-weenie.net/projects/plugins/
To [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s something of a secret that you can configure the source code repositories the Rails plugin manager searches when you instruct it to install a plugin. This can be handy if you&#8217;re installing several plugins from the same author. Such as <a href="http://svn.techno-weenie.net/projects/plugins/" title="Go to Rick Olsen's Rails plugins repository (external)">this one</a>. Or <a href="http://topfunky.net/svn/plugins/" title="Go to Topfunky's plugin repository (external)">this one</a>.</p>
<p>To add a repository to the plugin manager:</p>
<p align="left"><code>./script/plugin source http://svn.techno-weenie.net/projects/plugins/</code></p>
<p>To remove a repository from the plugin manager:</p>
<p align="left"><code>./script/plugin unsource http://svn.techno-weenie.net/projects/plugins/</code></p>
<p>To list repositories registered with the plugin manager:</p>
<p align="left"><code>./script/plugin sources</code></p>
<p>To discover and list repositories without adding them:</p>
<p align="left"><code>./script/plugin discover -l</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2007/12/17/rails-tip-11/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Purchasing Music Online, Microsoft Style</title>
		<link>http://www.johntopley.com/2007/12/02/purchasing-music-online-microsoft-style/</link>
		<comments>http://www.johntopley.com/2007/12/02/purchasing-music-online-microsoft-style/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 16:21:37 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Microsoft]]></category>

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

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

		<guid isPermaLink="false">http://www.johntopley.com/2007/12/02/purchasing-music-online-microsoft-style/</guid>
		<description><![CDATA[My partner recently wanted to download a track from HMV Digital. The following is a true account of the process we had to go through before we could play the purchased music. By the way, the HMV Digital website only works with IE 6 or greater, so Firefox, Safari or Opera wasn&#8217;t an option. I [...]]]></description>
			<content:encoded><![CDATA[<p>My partner recently wanted to download a track from <a href="http://www.hmvdigital.com/">HMV Digital</a>. The following is a true account of the process we had to go through before we could play the purchased music. By the way, the HMV Digital website only works with IE 6 or greater, so Firefox, Safari or Opera wasn&#8217;t an option. I know, party like it&#8217;s 1999!</p>
<ol>
<li>Click to download the purchased track.</li>
<li>Tell IE to enable popups for the site.</li>
<li>The HMV Download Manager opens.</li>
<li>Tell IE to enable ActiveX controls for this window.</li>
<li>The download starts but craps out after a few seconds with an obscure “DispInfo” error. I know that this sounds like COM-speak, but what&#8217;s a non-programmer to think?</li>
<li>Switch to my clean installation of Windows XP running under Parallels on the Mac.</li>
<li>Close the Desktop Cleanup Wizard balloon.</li>
<li>Log in to the HMV Digital site. Click to download the purchased track.</li>
<li>Close the Desktop Cleanup Wizard balloon again.</li>
<li>Tell IE to enable popups for the site.</li>
<li>The HMV Download Manager opens.</li>
<li>Tell IE to enable ActiveX controls for this window.</li>
<li>The download starts but craps out after a few seconds. It&#8217;s a different error this time: “The client does not have the DRM security update”.</li>
<li>Do a Google search on the error text. End up at a Virgin Digital Music Help page. Follow the link to Microsoft to upgrade the security component.</li>
<li>Click to download the purchased track. It works this time but is really slow because in the meantime Windows has decided to download this week&#8217;s updates.</li>
<li>Click to install the updates.</li>
<li>Click the balloon to see what updates Windows is installing.</li>
<li>Windows Update prompts for a reboot. Ignore it because you haven&#8217;t transferred the downloaded track out of the virtual machine yet.</li>
<li>Reboot Windows to finish installing the updates.</li>
<li>Copy the track to the PC. Double-click it to play it.</li>
<li>Windows Media Player 10 warns that some security components are missing. Click to install them.</li>
<li>The installation fails.</li>
<li>Double-click the file again. Nothing happens. Windows Media Player doesn&#8217;t start.</li>
<li>Check for updates from within Windows Media Player. Update to the latest version.</li>
<li>Windows Media Player can&#8217;t play the track because the licence is missing.</li>
<li>Re-download the licence file from HMV.</li>
</ol>
<h3>Purchasing Music Online, Apple Style</h3>
<ol>
<li>Open iTunes.</li>
<li>Click the iTunes Store.</li>
<li>Browse or search for what you want.</li>
<li>Click Buy Song.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2007/12/02/purchasing-music-online-microsoft-style/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bad Apple</title>
		<link>http://www.johntopley.com/2007/11/26/bad-apple/</link>
		<comments>http://www.johntopley.com/2007/11/26/bad-apple/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 21:50:57 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Apple]]></category>

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

		<guid isPermaLink="false">http://www.johntopley.com/2007/11/26/bad-apple/</guid>
		<description><![CDATA[One of the toughest tests of an operating system is how well it copes when disaster strikes and you have to somehow get your data back. Last weekend I found myself in this situation for the first time since I switched to using Mac OS X. I thought it worth recording the experience here simply [...]]]></description>
			<content:encoded><![CDATA[<p>One of the toughest tests of an operating system is how well it copes when disaster strikes and you have to somehow get your data back. Last weekend I found myself in this situation for the first time since I switched to using Mac OS X. I thought it worth recording the experience here simply for the selfish reason of having a note of what I did should the situation arise again.</p>
<p>The troubles started when I ran Apple&#8217;s Software Update application to upgrade my iMac to version 10.4.11 of Mac OS X Tiger. I foolishly assumed that this would be a no brainer since I&#8217;d already taken the big step of doing a clean install of Mac OS X 10.5 Leopard on my <a href="http://www.johntopley.com/oldblog/archive/2005/03/18/" title="Go to 'Powertoy'">PowerBook</a>. Incidentally, I&#8217;m conservatively holding off installing Leopard on the iMac until a Leopard-compatible version of the <a href="http://www.shirt-pocket.com/SuperDuper/">SuperDuper!</a> system recovery software is available. Expect some views from me on Leopard once I&#8217;ve had a bit longer to live with it.</p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/emergency.jpg" alt="A picture of an emergency button" title="A picture of an emergency button" /></p>
<p>Unfortunately Software Update chose an operating system update as the moment to go wrong for me for the first time. Up until this point I&#8217;d never had the slightest whiff of trouble from it. It ran most of the update and then told me that it couldn&#8217;t complete and had put the installer package in the Trash. I did think that this was quite amusing, as if my Mac was telling me that the update I&#8217;d downloaded was rubbish and deserved to be filed accordingly! I retrieved the installer and ran it as a standalone update and got the same error. I think I rebooted at this point and was surprised to see that I did in fact appear to be running 10.4.11, complete with Safari 3.0 and its draggable tabs. I checked in the Software Update log but there was no mention of the update, so I guessed that it had merely crashed before it had chance to write to the log and do a general tidy up that left my operating system looking presentable and ready for use again.</p>
<p>Next I noticed that the rather important mach_kernel file was visible in the Finder in the root of my system disk. After a Google search I fixed that by doing:</p>
<p><code>sudo /Developer/Tools/SetFile -a V /mach_kernel</code></p>
<p>&mdash;And restarting the Finder. All appeared to be well until I plugged in my <a href="http://www.johntopley.com/oldblog/archive/2004/09/25/" title="Go to 'A Bite Of Apple'">iPod</a> and nothing happened apart from it starting charging. I knew that it needed charging so I wondered whether it simply didn&#8217;t have enough juice to sync. Unfortunately I was wrong and there then followed several resets and the forcing of FireWire Transfer Mode, all of which were to no avail. By now I was starting to get worried. At this point in the story I must admit that I did entertain guilty thoughts about how this could be a sign that I should replace my faithful but aging fourth generation iPod with a brand new iPod touch, but with a great effort of will I banished such thoughts. Beware the <a href="http://en.wikipedia.org/wiki/Reality_distortion_field" title="Go to the Wikipedia entry for 'Reality Distortion Field' (external)">Reality Distortion Field</a>!</p>
<p>As I couldn&#8217;t get the iPod to do anything I came to the conclusion that the only path open to me was to roll back my Mac to its last known good state, so I powered up my external hard disk and was somewhat alarmed to find that it wouldn&#8217;t mount. That was when I launched System Profiler and discovered that according to my Mac it didn&#8217;t have a FireWire bus. *#^% indeed!</p>
<p>The situation was getting quite serious now so I needed a plan. Fortunately I had two things on my side. Firstly, I had on my external hard disk a complete SuperDuper! copy of my iMac&#8217;s working 10.4.10 installation from only a few days before. The second thing I had going for me was that I had a Mac, which makes it really easy to start up from other disks or generally shuffle the entire OS about.</p>
<p><img src="http://www.johntopley.com/blog/wp-content/uploads/disk-utility.png" alt="A picture of the Disk Utility application" title="A picture of the Disk Utility application" /></p>
<p>I swapped the connection to the external drive from FireWire to USB and booted from my Tiger install DVD. Next I fired up Disk Utility and dragged the external drive icon to the source field and the icon for my system disk to the destination field. I clicked the Restore button and waited rather a long time as over 120 GB was copied across. There was one heart-stopping moment as I got an obscure error code right at the very end of the restore process. There was nothing to lose by now so I ejected the DVD and rebooted. My iMac took longer than usual to start but it did come back up and I logged in and to my absolute joy found that I was back to using 10.4.10.</p>
<p>However, it wasn&#8217;t all plain sailing as I discovered when I started Safari. Although it was back to Safari 2.0, all of my bookmarks were missing and the Import Bookmarks menu item was permanently disabled. I&#8217;d had enough by now, so I decided to run Software Update to get 10.4.11 again, with a vow that if that didn&#8217;t work then I&#8217;d wipe the disk and install Leopard from scratch. Happily, Software Update worked perfectly this time and the upgrade to Safari magically restored all my bookmarks.</p>
<p>My iMac was now back to rude health apart from a niggling little problem of some UNIX-y folders such as /etc, /var and /tmp being visible in the Finder. Perhaps they should have been made invisible right at the end of the restore process when it crashed. I was able to resolve that issue with another Google search followed by entering the next line into a Terminal window:</p>
<p><code>defaults write com.apple.Finder AppleShowAllFiles NO</code></p>
<p>&mdash;Relaunch the Finder by Option-right-clicking on its Dock icon and the job&#8217;s a good &#8216;un.</p>
<p>Overall I&#8217;d have to rate the Mac disaster recovery experience as being on a par with the rest of the Mac experience i.e. generally well thought-out and pretty painless. Certainly I&#8217;d say that SuperDuper! is a must.</p>
<p>Incidentally, the hairiest disaster recovery experience I ever had was a few years ago when my installation of Windows 2000 went badly wrong and wouldn&#8217;t let me log on, because the driver letters had got mixed up. I fixed that one by installing a parallel copy of Windows 2000 and then using regedt32.exe to load the registry of the broken installation. I was then able to edit the <acronym title="Globally Unique IDentifier">GUID</acronym>s that Windows uses internally to represent drives and partitions. At the time it felt like the task required a similar level of concentration and calm that you would imagine for dismantling a bomb! Fortunately I didn&#8217;t break into a sweat this time around.</p>
<p><em>Emergency Button photo credit: <a href="http://www.flickr.com/photos/matt-davis/2060242163/">Matt Davis</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2007/11/26/bad-apple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FogBugz World Tour</title>
		<link>http://www.johntopley.com/2007/11/12/fogbugz-world-tour/</link>
		<comments>http://www.johntopley.com/2007/11/12/fogbugz-world-tour/#comments</comments>
		<pubDate>Mon, 12 Nov 2007 21:13:33 +0000</pubDate>
		<dc:creator>John Topley</dc:creator>
		
		<category><![CDATA[Web Applications]]></category>

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

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

		<guid isPermaLink="false">http://www.johntopley.com/2007/11/12/fogbugz-world-tour/</guid>
		<description><![CDATA[I went to a great gig in London last Friday with my good buddy John Conners. In a bizarre twist on the traditional format for these things, it was actually a presentation on project management software for software teams, rather than a music gig. If you think that sounds boring, then you&#8217;d be right. Fortunately, [...]]]></description>
			<content:encoded><![CDATA[<p>I went to a great gig in London last Friday with my good buddy <a href="http://www.johnsadventures.com/">John Conners</a>. In a bizarre twist on the traditional format for these things, it was actually a presentation on project management software for software teams, rather than a music gig. If you think that sounds boring, then you&#8217;d be right. Fortunately, the person giving the presentation was none other than A-list celebrity software blogger Joel Spolsky of <a href="http://www.joelonsoftware.com/">Joel on Software</a> fame. Joel and <a href="http://www.fogcreek.com/">Fog Creek Software</a> co-founder Michael Pryor were in town to promote the latest version (6.0) of <a href="http://www.fogcreek.com/fogbugz/">FogBugz</a>, which increasingly embodies Joel&#8217;s philosophies on different aspects of the software development process.</p>
<p>The venue was the conference centre at the <a href="http://www.bl.uk/leiths/">British Library</a>, which was jam-packed with geeks&mdash;mainly male, it has to be said. Joel gave his presentation which included a FogBugz demo, then the floor was opened to questions and finally Joel and Michael stuck around afterwards to answer questions on a more informal basis from the throngs of developers that surrounded them.</p>
<p>The most interesting new feature in FogBugz 6.0 is Evidence Based Scheduling (EBS). Joel himself would probably characterise it as a hand-wavy sounding feature, but from watching his demonstration it actually looks practical and useful. What it boils down to is this: FogBugz makes it as painless as possible for developers to record what they&#8217;re working on and then over time it uses statistical modelling techniques to generate fancy charts that tell you a percentage probably of when your team will ship, or how accurate individual developers have been at estimating their work. <a href="http://www.joelonsoftware.com/items/2007/10/26.html" title="Go to 'Evidence Based Scheduling' (external)">Joel blogged about the feature</a> in depth a while ago.</p>
<p>FogBugz 6.0 also includes a handy wiki feature that serves as a central project documentation repository. What&#8217;s interesting to me about how they&#8217;ve implemented this is that it only has a <acronym title="What You See Is What You Get">WYSIWYG</acronym> editing mode i.e. you can&#8217;t get at the markup that&#8217;s generated under the covers. I suspect that Fog Creek have learned from their experience with CityDesk here, which had all sorts of problems when you switched back and forth between the editor view and the markup view. Joel actually touched on this during the Q &amp; A when someone asked if WYSIWYG is a <a href="http://www.joelonsoftware.com/articles/LeakyAbstractions.html" title="Go to 'The Law of Leaky Abstractions' (external)">leaky abstraction</a>: the short answer is that it is.</p>
<p>What I found most useful from a FogBugz point of view was getting a leg-up on how to use the software effectively. I&#8217;ve been using the hosted version for a while for <a href="http://assetsgraphed.com/">AssetsGraphed</a>, but I knew that I wasn&#8217;t getting the most out of it. I had trouble coming to terms with the FogBugz model whereby everything is essentially a case within the system, even e-mail. That&#8217;s all a lot clearer now and I shall shortly be hooking up the AssetsGraphed contact screen to FogBugz, so that any feedback I receive from users is properly categorised and managed. After that I&#8217;ll hook up the crash reporting system, which means that new cases will get created automatically on those rare occasions when the application crashes, instead of the present system which simply e-mails me the details. The beauty of it being that FogBugz is smart enough to recognise when incoming crash details are the same as previous crash details and so won&#8217;t create lots of duplicate cases, but rather will append to an existing case.</p>
<p>I&#8217;ve also developed an appreciation of what a sophisticated <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> application FogBugz now is! I think this is something of a well-kept secret because FogBugz doesn&#8217;t advertise its use of AJAX in a flashy way, it just makes the experience of using the software faster and more pleasant. One feature that I certainly was aware of from the previous version is the great keyboard support, which is far superior to any other web application I&#8217;ve seen. Just as one thing Microsoft got right with Windows from the start was the ability to drive the user interface using only a keyboard, you can get around FogBugz in the same manner.</p>
<p>Joel turned out to be exactly how I expected, which is to say an entertaining and interesting speaker who answered everyone&#8217;s questions with patience and charm. Talking of questions, I was a bit surprised that some people used the occasion to glean information that can be easily found on Fog Creek&#8217;s website. I guess there were quite a few people there who wanted to find out about FogBugz straight from the source rather than attending because they&#8217;re JoS fans. We certainly did find out all about the latest version of FogBugz and very impressive it is too. My only slight disappointment with the event was that there was no FogBugz World Tour 2007 merchandise for sale, such as T-shirts with a list of tour dates on the back. Not very rock &#8216;n&#8217; roll, Joel!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.johntopley.com/2007/11/12/fogbugz-world-tour/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
