<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.9.1 (http://www.squarespace.com/) on Tue, 09 Feb 2010 14:31:56 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Blog</title><link>http://www.billbuchan.com/imported-20091119232548/</link><description></description><lastBuildDate>Mon, 08 Feb 2010 11:03:14 +0000</lastBuildDate><copyright></copyright><language>en-GB</language><generator>Squarespace Site Server v5.9.1 (http://www.squarespace.com/)</generator><item><title>4x4 Fail</title><dc:creator>Bill Buchan</dc:creator><pubDate>Mon, 08 Feb 2010 11:02:55 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/8/4x4-fail.html</link><guid isPermaLink="false">461052:5240403:6608030</guid><description><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/5KV9jXqyf3g&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_GB&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/5KV9jXqyf3g&color1=0xb1b1b1&color2=0xcfcfcf&hl=en_GB&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6608030.xml</wfw:commentRss></item><item><title>Jokes only understood in Scotland</title><dc:creator>Bill Buchan</dc:creator><pubDate>Mon, 08 Feb 2010 10:40:01 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/8/jokes-only-understood-in-scotland.html</link><guid isPermaLink="false">461052:5240403:6607834</guid><description><![CDATA[<p>&nbsp;<br /> (via the infamous Zeb. Sometimes people need to be reminded of the Scots dialect and its ability to amuse)<br /> <br /> A Glasgow woman goes to the dentist and settles down in the chair.<br /> 'Comfy?'asks the dentist.<br /> 'Govan,' she replies. <br /> <br /> What did the male Siamese twins from Glasgow call their autobiography..?<br /> Oor Wullie. <br /> <br /> A guy walks into an antiques shop and says: 'How much for the set of&nbsp;antlers?'<br /> 'Two hundred quid,' says the bloke behind the counter'<br /> 'That's affa dear,' says the guy.<br /> 'Aye yer right!' replies the bloke <br /> <br /> Did you hear about the fella who liked eating bricks and cement?<br /> He's awa' noo. <br /> <br /> After announcing he's getting married, a boy tells his pal he'll be&nbsp;wearing the kilt.<br /> 'And what's the tartan?' asks his mate.<br /> 'Oh, she'll be wearing a white dress,' <br /> <br /> Ten cows in a field. Which one is closest to Iraq ?<br /> Coo eight. <br /> <br /> Three wee jobbies sitting on the pavement.<br /> Which one's a Musketeer?<br /> The dark tan yin. <br /> <br /> A Scotsman in London is having trouble phoning&nbsp;his sister from a telephone box. So he&nbsp;calls the operator who asks in a plummy voice:<br /> 'Is there money in the box?<br /> 'Naw, it's just me,' he replies.</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6607834.xml</wfw:commentRss></item><item><title>Vista, Vista, I loathe thee. Let me count the ways...</title><dc:creator>Bill Buchan</dc:creator><pubDate>Mon, 08 Feb 2010 10:15:48 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/8/vista-vista-i-loathe-thee-let-me-count-the-ways.html</link><guid isPermaLink="false">461052:5240403:6607790</guid><description><![CDATA[<p>My old blingmaster XPS laptop - a &pound;4,500 10kg monster of a gaming laptop, is now resigned to being a Vista-based client vpn-access machine. A huge waste of a lovely machine, but there you have it.&nbsp;</p>
<p>As usual, Microsoft update reboots the machine most nights with the pleasant 'we had to fix it, we rebooted, hope you didnt lose anything, loser' message.&nbsp;</p>
<p>A few days ago - what appeared on the scene but Vista Service Pack 2. Nice one. Just what Vista needs - a shedload of fixes. Update away, I merrily clicked.</p>
<p>Ah. Now the damn machine refuses to start. I now have another wasted few hours recovering from this mess.</p>
<p>Is it any wonder I evangelise Macintosh? Do you wonder why I use pictures of Ballmer and Gates on my rifle shooting target ?&nbsp;</p>
<p>Who on earth in Microsoft thinks its a good idea to release service packs that can destroy machines? What complete blithering idiot things this is *cool*. Or desireable?</p>
<p>Bunch of clucking funts.</p>
<p>N.B. I know, I know. Your sitting there wondering how a cool and froody guy like me is running Vista. Yes. Well There's another piece of distended donkey rectum product called Juniper Remote Desktop, which makes a chocolate fireguard look like a robust piece of kit. And it only supports shit operating systems (xp, Vista) and shit browsers (IE6, IE7). I'm not making this up. So I have to keep a steaming pile of turd in my office, else I don't get to work from home.&nbsp;</p>
<p>&nbsp;</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6607790.xml</wfw:commentRss></item><item><title>Edge of Darkness</title><dc:creator>Bill Buchan</dc:creator><pubDate>Sun, 07 Feb 2010 23:41:19 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/7/edge-of-darkness.html</link><guid isPermaLink="false">461052:5240403:6603693</guid><description><![CDATA[<p>I was a big fan of the original Edge of Darkness - a BBC thiller shot when I was young. Dark, moody, violent, bloody. I was wondering how a big-budget Hollywood version would work. Go get the DVD's from Amazon. Go on. I dare you. Hell, I *double* dare you.</p>
<p>Dont get me wrong. I love me cinema. But Hollywood appears to be heading for lowest-common-demoninator films - such as the Dan Brown drivel - stopping every 5 minutes for a plot recap. Or more bloody animated unicorns or whatnot. I love Pixar, but you know, it'd be good to get something that you actually had to think about (So not Norbert). Something that made you think.&nbsp;</p>
<p>And this is why I was scared. Did Edge of Darkness have a musical number ? Was there a group-hug in the middle? Did they change the ending to make it happier? Were the bad guys not really bad? Was Jedburgh made sane ?&nbsp;</p>
<p>I'm more than happy to report that Mel "Braveheart" Gibson did an awesome job. He could have cranked back on the 'Mad Max' persona a *bit*, but hey - it was gripping stuff. Stuff that made you care. Violent bloody, horrific even - as only he can make it. And it'll have you wondering about the 'Got Milk' Ads (in the US).&nbsp;</p>
<p>Go see it.&nbsp;</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6603693.xml</wfw:commentRss></item><item><title>I'm melting...</title><dc:creator>Bill Buchan</dc:creator><pubDate>Fri, 05 Feb 2010 10:08:53 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/5/im-melting.html</link><guid isPermaLink="false">461052:5240403:6569917</guid><description><![CDATA[<p>Its been 33 days since I started dieting properly. And in that time, I've been in London 3 times (3 days each), Orlando for 7 days, and Vegas for four days. Not a good time to try and lose weight, or give up drinking, but hey - progress is being made.</p>
<p>I've lost about 17 pounds (8kg) since I started, and drank in 33 days what I would have normally drank in a week. I was even able to run - not walk, hobble or limp - for 10 minutes on the treadmill yesterday, keeping my heart rate under 150bpm.&nbsp;</p>
<p>Another 49 pounds to go...</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6569917.xml</wfw:commentRss></item><item><title>London gatwick airport</title><dc:creator>Bill Buchan</dc:creator><pubDate>Thu, 04 Feb 2010 17:10:52 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/4/london-gatwick-airport.html</link><guid isPermaLink="false">461052:5240403:6560439</guid><description><![CDATA[<p><img class='iphone-image' src='http://www.billbuchan.com/resource/iphone-20100204171052-1.jpg?fileId=5628622'/></p><p>Long since designated the worst in the UK, is updating the tram between terminals. How long do you think this should take? A few weeks? A month or two, during slack season?</p><p>No. Six months. For six months, if you are foolish enough to fly from the north terminal, and use public transport to get there - a bus has been laid on.<br />A slow, smelly, overcrowd bus. One with a long queue.<br />Nice. Easyjet and virgin are unaffected.<br /></p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6560439.xml</wfw:commentRss></item><item><title>Universal Agent Profiling in Domino</title><dc:creator>Bill Buchan</dc:creator><pubDate>Tue, 02 Feb 2010 16:24:00 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/2/universal-agent-profiling-in-domino.html</link><guid isPermaLink="false">461052:5240403:6528508</guid><description><![CDATA[<p>[Note: I've had this blog entry in draft for ages - sorry to take so long to get this out. Yes, this is the one I mentioned I'd do from the Worst Practices stage. And yes, confusingly I published it without the code. D'oh!]</p>
<p>We've all been there. We've all had a server suddenly and unexpectedly get very slow, odd things happening and so forth. And we've all wanted to know - which agent is causing issues ? Which agents - out of all these databases - are working ?&nbsp;</p>
<p>Scary. And its a question that can be easily answered.</p>
<p>Firstly, if you have money and want to buy product - go see&nbsp;<a href="http://www.teamstudio.com/new/products/profiler.html" target="_blank">TeamStudio Profiler</a>. Its a fantastic tool that actually injects code into your lotusscript agents on the fly, and then uses these markers to measure exactly how your agents work. You can actually see how often any particular function is called, and for how long.&nbsp;</p>
<p>Lets assume that you dont have this, as you have already solved this issue if you have Profiler.</p>
<p>Lets assume that your servers and apps are running Domino <span style="text-decoration: line-through;">6.x</span>&nbsp;7.x or above. In <span style="text-decoration: line-through;">v6</span>&nbsp;v7, we have a fantastic new 'profile this agent' utility. And of course, like all good developers, you've never read the release notes. And like all good admins, you never read developer release notes.</p>
<p>Stick with me folks, this is good.</p>
<p>So - open up an agent, and open agent properties. Open the second tab - you've never done that, have you - and click on 'Profile this agent'. Easy, wasnt it ?</p>
<p><span class="ssNonEditable full-image-block"><img src="http://www.billbuchan.com/storage/Screen shot 2010-02-02 at 23.04.25.png?__SQUARESPACE_CACHEVERSION=1265152894390" alt="" /></span></p>
<p>Or if your a DDE chappie, then:&nbsp;</p>
<p><span class="ssNonEditable full-image-block"><img src="http://www.billbuchan.com/storage/Screen shot 2010-02-02 at 23.08.25.png?__SQUARESPACE_CACHEVERSION=1265152938131" alt="" /></span></p>
<p>&nbsp;</p>
<p>What does this do? Well, this tells agent manager that every time this agent runs, create a profile document in this database specific to this agent and then list all the calls that this agent made to the notes infrastructure. So you can see how long your agent took, and how long all the calls to the Notes infrastructure took. For instance (and this is a particularly complex agent)</p>
<p><span class="ssNonEditable full-image-block"><img src="http://www.billbuchan.com/storage/Screen shot 2010-02-02 at 23.19.28.png?__SQUARESPACE_CACHEVERSION=1265153029637" alt="" /></span></p>
<p>Go off and play with this *right now*. Seriously.&nbsp;</p>
<p>Back again? Now. You can see how cool this is, right. Hows about being able to switch this on for *all* agents ? Well, thats easy. Its just a flag. That is, a simple notes field on the agent design document itself. You can just open up all the agents in Lotuscscript, and set the flag, right ? In particular, you pick up the field $FlagsExt and add or remove a capital-F to the text string (if it exists).</p>
<p>And some code that might switch this on and off looks like this:</p>
<blockquote>
<p>Sub Initialize<br />&nbsp;<br />&nbsp;Dim sSession As New NotesSession<br />&nbsp;Dim ui As New NotesUIWorkspace<br />&nbsp;<br />&nbsp;Dim dbthis As notesDatabase<br />&nbsp;Set dbThis = sSession.currentDatabase<br />&nbsp;<br />&nbsp;' prompt the user for a target database<br />&nbsp;Dim dbPath As Variant<br />&nbsp;dbPath = ui.Prompt(13, "Target Database", "Select a target Database")<br />&nbsp;<br />&nbsp;Dim dbTarget As notesDatabase<br />&nbsp;Set dbTarget = sSession.getDatabase(dbPath(0), dbPath(1))<br />&nbsp;If (dbTarget Is Nothing) Then Exit Sub<br />&nbsp;If Not dbTarget.IsOpen Then Exit Sub<br />&nbsp;<br />&nbsp;Dim ret As Integer<br />&nbsp;ret = ui.prompt(2, "Continue", "Do you want to enable Agent Profiling on all agents in database: " + dbTarget.Title)<br />&nbsp;<br />&nbsp;If (ret &lt;&gt; 1) Then<br />&nbsp; Print "Cancelled"<br />&nbsp; Exit Sub<br />&nbsp;End If<br />&nbsp;<br />&nbsp;Dim nn As notesNoteCollection<br />&nbsp;<br />&nbsp;Set nn = dbTarget.CreateNoteCollection(False)<br />&nbsp;nn.SelectAgents = True<br />&nbsp;Call nn.BuildCollection()<br />&nbsp;<br />&nbsp;Dim noteiD As String<br />&nbsp;noteID = nn.getFirstNoteID<br />&nbsp;<br />&nbsp;While noteID &lt;&gt; ""&nbsp;<br />&nbsp;&nbsp;<br />&nbsp; Dim docAgent As NotesDocument<br />&nbsp; Set docAgent = dbTarget.GetDocumentByID(noteID)<br />&nbsp; If Not docAgent Is Nothing Then<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; Dim itm As NotesItem, dirty As Boolean<br />&nbsp;&nbsp; dirty = False<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; Set itm =docAgent.GetFirstItem("$FlagsExt")<br />&nbsp;&nbsp; If (itm Is Nothing) Then<br />&nbsp; &nbsp; dirty = True<br />&nbsp; &nbsp; Set itm = docAgent.replaceItemValue("$FlagsExt", "F")<br />&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; If (Instr(itm.Text, "F") &lt; 1) Then<br />&nbsp; &nbsp; dirty = True<br />&nbsp; &nbsp; Set itm = docAgent.replaceItemValue("$FlagsExt", itm.text + "F")&nbsp;<br />&nbsp;&nbsp; End If<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp; If (dirty) Then<br />&nbsp; &nbsp; itm.IsSigned = True<br />&nbsp; &nbsp; Print "Saving agent: " + docAgent.getitemvalue("$Title")(0)<br />&nbsp; &nbsp; Call docAgent.Sign()<br />&nbsp; &nbsp; Call docAgent.Save(False, False)<br />&nbsp;&nbsp; End If<br />&nbsp; End If<br />&nbsp;&nbsp;<br />&nbsp; noteID = nn.GetNextNoteId(noteID)<br />&nbsp;Wend<br />&nbsp;<br />&nbsp;<br />End Sub</p>
</blockquote>
<p>Okay. If this was a stretch for you, seriously consider not using this stuff. &nbsp;Secondly, remember, that this will open, update and sign all your agents using the current user ID. This may not be a good thing in your environment. Again, if you don't understand what I'm blathering on about, DONT DO IT. You are on your own.</p>
<p>We now have one or more agents enabled for profiling. All is well. And we can see the status of the last run of the agent itself. And get a nice profile report. So far, so very-out-of-the-box. Hows about collecting ALL the agent runs in another database so you can see how it works over time ?&nbsp;</p>
<p>Simple. A rather smart chap called&nbsp;<a href="http://damienkatz.net/" target="_blank">Damien Katz</a>&nbsp;developed something called&nbsp;<a href="http://www.openntf.org/Projects/pmt.nsf/ProjectLookup/Trigger%20Happy" target="_blank">Trigger Happy</a>&nbsp;a while ago. Damien, as you recall, was the genius who managed to completely refactor the @formula engine in v6. This chap doesn't stick his tounge out when he types, if you know what I mean.&nbsp;</p>
<p>Trigger Happy is an extension manager. That is, it hooks in part of a DLL (on windows servers) so that anytime anything exciting happens on a domino server, Agent Trigger can run. And you can tell it to look for particular events. In this case, I'm asking it to run anytime ANY document is saved on the server. This is very dangerous - my code could easily cause the server to go bananas. Tread carefully here. We're literally standing on a office chair, watering the plants on our 40th storey balcony.</p>
<p>This code would trap every single document save on the server, and run this lotusscript agent, passing it the open document. Can you see how dangerous this is ?</p>
<p>What would this code look like?</p>
<blockquote>
<p>Sub Initialize<br />&nbsp;Dim session As New NotesSession<br />&nbsp;On Error Goto errorhandler<br />&nbsp;<br />&nbsp;If (session.DocumentContext.Form(0) &lt;&gt; "$BEProfileR7") Then Exit Sub<br />&nbsp;<br />&nbsp;Dim d As NotesDocument, dbSrc As NotesDatabase<br />&nbsp;Set d = session.documentContext<br />&nbsp;<br />&nbsp;If (d Is Nothing) Then Exit Sub<br />&nbsp;<br />&nbsp;Dim db As NotesDatabase<br />&nbsp;Set db = session.CurrentDatabase<br />&nbsp;Dim doc As NotesDocument<br />&nbsp;Set doc = db.CreateDocument<br />&nbsp;<br />&nbsp;If (doc Is Nothing) Then Exit Sub<br />&nbsp;<br />&nbsp;Call session.DocumentContext.CopyAllItems(doc, True)<br />&nbsp;Call doc.ReplaceItemValue("Form", "Agent Performance Profile")<br />&nbsp;<br />&nbsp;Dim rt As notesRichTextItem<br />&nbsp;Set rt = doc.GetFirstItem("Body")<br />&nbsp;<br />&nbsp;Dim T As Variant<br />&nbsp;T = Split(rt.GetFormattedText(True, 132), Chr(10))<br />&nbsp;<br />&nbsp;If (Ubound(T) &gt;0) Then Call doc.replaceitemValue("Time.Elapsed",&nbsp; &nbsp; Clng(Strleft(Trim(Strrightback(T(1), ":")), " ")))<br />&nbsp;If (Ubound(T) &gt;1) Then Call doc.replaceitemValue("Methods", &nbsp; &nbsp; Clng(Strrightback(T(2), ":")))<br />&nbsp;If (Ubound(T) &gt;2) Then Call doc.replaceitemValue("Time.Measured", &nbsp; Clng(Strleft(Trim(Strrightback(T(3), ":")), " ")))<br />&nbsp;Call doc.replaceitemValue("Text",&nbsp; T)<br />&nbsp;<br />&nbsp;Dim ts As New TriggerSession<br />&nbsp;Call doc.ReplaceItemValue("UserName", ts.username)<br />&nbsp;<br />&nbsp;Set dbSrc = d.ParentDatabase<br />&nbsp;If Not (dbSrc Is Nothing) Then&nbsp;<br />&nbsp; If (dbSrc.IsOpen) Then&nbsp;<br />&nbsp;&nbsp; Call doc.replaceitemValue("db.Server",&nbsp; dbSrc.server)<br />&nbsp;&nbsp; Call doc.replaceitemValue("db.Title",&nbsp; dbSrc.Title)<br />&nbsp;&nbsp; Call doc.replaceitemValue("db.Path",&nbsp; dbSrc.FilePath)<br />&nbsp; End If<br />&nbsp;End If<br />&nbsp;<br />&nbsp;Call doc.save(False, False)<br />&nbsp;<br />&nbsp;Print |Saving Agent Performance Profile for user: | &amp; ts.UserName &amp; |, agent: | &amp; d.subject(0)<br />&nbsp;<br />exitFunction:<br />&nbsp;Exit Sub<br />&nbsp;<br />errorHandler:<br />&nbsp;Print&nbsp; "Copy Agent Performance Logs: Run-time error: "+ Error$ + " at line: "+ Cstr(Erl)<br />&nbsp;Resume exitFunction<br />&nbsp;<br />End Sub</p>
</blockquote>
<p>Note that we're hinging this on the fact that the document profile document that is being saved, is being saved with a form-name of "$BEProfileR7". If we find a document (and remember, it could be ANY document in ANY database on this server), we're saving a copy in this current database (where this agent is lodged).</p>
<p>Now for the bad news. I'm not going to tell you how to set this up in a step-by-step fashion. You have enough clues. Its important that you understand both the risks and rewards for all the steps. If you don't understand this, or if you cant get it working - I cant help you. And honestly, this is running-with-scissors++. I'd rather you cursed me for not spoon feeding, than curse me for killing your servers.</p>
<p>So there you have it. Less than 40 lines of code, and all of a sudden you have a very important, free, somewhat dangerous, &nbsp;testing and measurement tool.&nbsp;</p>
<p>Many thanks to Damien for doing the difficult stuff.&nbsp;</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6528508.xml</wfw:commentRss></item><item><title>I love me MiFi</title><dc:creator>Bill Buchan</dc:creator><pubDate>Tue, 02 Feb 2010 09:42:13 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/2/i-love-me-mifi.html</link><guid isPermaLink="false">461052:5240403:6528039</guid><description><![CDATA[<p>And whats a MiFi I hear you ask ?&nbsp;</p>
<p><span class="thumbnail-image-block ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2FIMG_0636.jpg%3F__SQUARESPACE_CACHEVERSION%3D1265103835948',2048,1536);"><img src="http://www.billbuchan.com/storage/thumbnails/5188928-5597751-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1265103835949" alt="" /></a></span></span>Its &nbsp;a wee 3g/wifi router. So I get a PAYG 3g card (this one is from Three) and I get a wee personal wifi that I can use with my mac, iPhone, etc. No more dongles!</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6528039.xml</wfw:commentRss></item><item><title>Harry Brown</title><dc:creator>Bill Buchan</dc:creator><pubDate>Mon, 01 Feb 2010 10:38:45 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/1/harry-brown.html</link><guid isPermaLink="false">461052:5240403:6516240</guid><description><![CDATA[<p>Michael Caine plays a retired Marine, recently widowed, who wreaks revenge on a gang which killed his friend. Very strong parallels between this and 'Grand Tourino' (Clint Eastwood) with a very different ending. Both films are masterclasses in acting, both are gripping. This one is horribly violent.</p>
<p>Go see it.</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6516240.xml</wfw:commentRss></item><item><title>The Book of Eli</title><dc:creator>Bill Buchan</dc:creator><pubDate>Mon, 01 Feb 2010 10:34:38 +0000</pubDate><link>http://www.billbuchan.com/imported-20091119232548/2010/2/1/the-book-of-eli.html</link><guid isPermaLink="false">461052:5240403:6516233</guid><description><![CDATA[<p>Incredible movie. I did *not* see the twist at the end of this one. Go see it. Go see it on a very very big screen too, as the images are just stunning.</p>]]></description><wfw:commentRss>http://www.billbuchan.com/imported-20091119232548/rss-comments-entry-6516233.xml</wfw:commentRss></item></channel></rss>