<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8745825588194554798</id><updated>2012-02-16T09:51:46.089-08:00</updated><category term='dissertation'/><category term='Marshal.ReleaseComObject'/><category term='GWT'/><category term='The Rows'/><category term='ReleaseComObject'/><category term='AJAX'/><category term='Board Game'/><category term='Caernarfon'/><category term='Norway'/><category term='Castle'/><category term='Nationwide'/><category term='London'/><category term='ASP.NET'/><category term='Birthing a Dwarf'/><category term='java.net.URLEncoder'/><category term='Page Method'/><category term='IDisposable'/><category term='Dispose'/><category term='Stop Process'/><category term='Unmanaged Code'/><category term='Finalize'/><category term='image'/><category term='Dialog Box'/><category term='Shakespeare'/><category term='Risk'/><category term='JSON'/><category term='RFC 3986'/><category term='Kill Process'/><category term='DialogBox'/><category term='Caernarvon'/><category term='Sherwood Forest'/><category term='Red Bull Challenge'/><category term='Background-flickr'/><category term='jQuery'/><category term='Budget'/><category term='java'/><category term='background changer'/><category term='ASMX'/><category term='Google Android'/><category term='Iron Bridge'/><category term='Google Code'/><category term='Shropshire'/><category term='COM'/><category term='North Wales'/><category term='bsc computer science'/><category term='Camping'/><category term='degree'/><category term='Robin Hood'/><category term='webservice'/><category term='Bond Street'/><category term='flickr services'/><category term='preloader'/><category term='flickr'/><category term='Encode URL'/><category term='London Eye'/><category term='Dice'/><category term='100 things to do in Britain'/><category term='Finances'/><category term='Love Money'/><category term='JavaScript'/><category term='serialize'/><category term='Best Before'/><category term='Genghis'/><category term='university'/><category term='Mike Croft'/><title type='text'>designdotworks</title><subtitle type='html'>I am a freelance web developer / programmer situated in Birmingham, UK for the last 3 years. I offer services including... Web Development in... html, xhtml, css, javascript, xml, php, asp.net c# or vb, flash and silverlight. Or in other terms... The complete process of taking your ideas to the page in a professional, standards compliant and above all friendly manner.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-1757887054195365489</id><published>2011-10-06T05:44:00.000-07:00</published><updated>2011-10-06T05:44:39.514-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mike Croft'/><category scheme='http://www.blogger.com/atom/ns#' term='Dice'/><category scheme='http://www.blogger.com/atom/ns#' term='Risk'/><category scheme='http://www.blogger.com/atom/ns#' term='Genghis'/><category scheme='http://www.blogger.com/atom/ns#' term='Board Game'/><title type='text'>Risk, It's All About The Magic, Shazam</title><content type='html'>Just my thought of the day after playing Risk with a group of friends in a board game extravaganza of an evening. What really are the odds to consider when attacking someone? Well, in any given 1 on 1 there are 36 combinations that can be rolled e.g. one die for each player. This results in a win percentage for the defender an average 58.3% of the time with a remaining 41.7% chance of a win for the aggressor.&lt;div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div&gt;So when considering that 15 out of 36 attempts by the attacker will be successful and 21 will be won by the defender we need to balance the odds. To get to our magic 50% we need 18 of our 36 rolls to be winners! Thus we need 3 more rolls than we are currently achieving, 3/15 gives us the extra number of rolls we require to win, a nice 0.2 which means I need 1.2 dice to be on equal terms with the defender.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aha "you can't have 0.2 of a dice" I hear you say, which sadly is true so all in all I've wasted 2 minutes typing this up! Stick to the rule of two to one when attacking and you'll be dandy although the above doesn't account for SOD's law which appears to apply to me in this game more than anyone else. Damn you Mike-"Genghis"-Croft!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-1757887054195365489?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/1757887054195365489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2011/10/risk-its-all-about-magic-shazam.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1757887054195365489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1757887054195365489'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2011/10/risk-its-all-about-magic-shazam.html' title='Risk, It&apos;s All About The Magic, Shazam'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-2822551497145184459</id><published>2011-09-05T07:55:00.000-07:00</published><updated>2011-09-05T07:55:32.252-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Budget'/><category scheme='http://www.blogger.com/atom/ns#' term='Love Money'/><category scheme='http://www.blogger.com/atom/ns#' term='Nationwide'/><category scheme='http://www.blogger.com/atom/ns#' term='Finances'/><title type='text'>Love Money Management Even For Nationwide</title><content type='html'>&lt;div&gt;Two blog posts in one day! You might be thinking what the heck?!?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.lovemoney.com/"&gt;Love Money&lt;/a&gt; have just released an online service to budget and manage your finances. Due to the nightmare that is the IFA in the UK automation for these kind of services is pretty terrible but they have somehow done it. Genius! I can now even connect to my Nationwide account without having to upload OFX's, CSV's and the like.&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It really is looking promising, make sure you give this find of the day a go!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-2822551497145184459?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/2822551497145184459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2011/09/love-money-management-even-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2822551497145184459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2822551497145184459'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2011/09/love-money-management-even-for.html' title='Love Money Management Even For Nationwide'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-6387564537877298565</id><published>2011-09-05T02:15:00.000-07:00</published><updated>2011-09-05T02:15:50.146-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><category scheme='http://www.blogger.com/atom/ns#' term='DialogBox'/><category scheme='http://www.blogger.com/atom/ns#' term='Dialog Box'/><title type='text'>GWT Dialog Box With Close Button</title><content type='html'>Due to the internals of the &lt;a href="http://google-web-toolkit.googlecode.com/svn/javadoc/2.3/com/google/gwt/user/client/ui/DialogBox.html"&gt;GWT Dialog Box&lt;/a&gt;, extending it to add support for a close button can be a little tricky if you dont understand what your looking for. Alas below demonstrates adding an anchor to the caption area of the dialog, all that's left to do is for you to style the anchor. Happy GWT'ing.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Some people will moan that adding a library such as &lt;a href="http://code.google.com/p/smartgwt/"&gt;Smart GWT&lt;/a&gt; will add this functionality. Whilst true it also adds a boat load of library code you may never need. Keep compile times short and sweet and use the minimum amount necessary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre class="java" name="code"&gt;// Create anchor we want to accept click events&lt;br /&gt;final Anchor myAnchor = new Anchor("My Anchor");&lt;br /&gt;&lt;br /&gt;// Add handler to anchor&lt;br /&gt;myAnchor.addClickHandler(new ClickHandler() {&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(ClickEvent event) {&lt;br /&gt;    Window.alert("Anchor was clicked");&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;// Create dialog&lt;br /&gt;final DialogBox myDialog = new DialogBox();&lt;br /&gt;myDialog.setText("My Dialog");&lt;br /&gt;&lt;br /&gt;// Get caption element&lt;br /&gt;final HTML caption = ((HTML)myDialog.getCaption());&lt;br /&gt;&lt;br /&gt;// Add anchor to caption&lt;br /&gt;caption.getElement().appendChild(myAnchor.getElement());&lt;br /&gt;&lt;br /&gt;// Add click handler to caption&lt;br /&gt;caption.addClickHandler(new ClickHandler() {&lt;br /&gt;  @Override&lt;br /&gt;  public void onClick(ClickEvent event) {&lt;br /&gt;    // Get x,y caption click relative to the anchor&lt;br /&gt;    final int x = event.getRelativeX(myAnchor.getElement());&lt;br /&gt;    final int y = event.getRelativeY(myAnchor.getElement());&lt;br /&gt;&lt;br /&gt;    // Check click was within bounds of anchor&lt;br /&gt;    if(x &amp;gt;= 0 &amp;amp;&amp;amp; y &amp;gt;= 0 &amp;amp;&amp;amp; &lt;br /&gt;      x &amp;lt;= myAnchor.getOffsetWidth() &amp;amp;&amp;amp; &lt;br /&gt;      y &amp;lt;= myAnchor.getOffsetHeight()) {&lt;br /&gt;        // Raise event on anchor&lt;br /&gt;        myAnchor.fireEvent(event);&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;});&lt;br /&gt;&lt;br /&gt;// Show the dialog&lt;br /&gt;myDialog.show();&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-6387564537877298565?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/6387564537877298565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2011/09/gwt-dialog-box-with-close-button.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/6387564537877298565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/6387564537877298565'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2011/09/gwt-dialog-box-with-close-button.html' title='GWT Dialog Box With Close Button'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-8392639510567913459</id><published>2010-12-23T04:57:00.000-08:00</published><updated>2010-12-23T04:57:03.096-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shropshire'/><category scheme='http://www.blogger.com/atom/ns#' term='Iron Bridge'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #14 Iron Bridge, Shropshire</title><content type='html'>&lt;div style="text-align: justify;"&gt;The birthplace of industry! And its not too bad a place to visit too. With plenty of museums (although you have to pay) to visit and walking trails through the gorge and the surrounding greenery you can definitely make a day of this. Make sure you turn up early though as it is a nightmare to traverse the steep narrow roads whilst trying to find a parking space.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Set in a quaint town/village (although its hard to believe this place exists right next to the M54) Iron Bridge has all the niceties you expect from small tea shops, hand made toy stores and useless garden ornaments! You might just forget that the bridge itself is pretty impressive. Do yourself a favour, take a picnic and make a day of it by getting lost in the woodland.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://lh4.ggpht.com/_ZNPMZwry3vA/TRNDnPcceoI/AAAAAAAAALM/iOsPdBRwkAA/s800/41141_468996416322_568681322_6924978_3741226_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://lh4.ggpht.com/_ZNPMZwry3vA/TRNDnPcceoI/AAAAAAAAALM/iOsPdBRwkAA/s144/41141_468996416322_568681322_6924978_3741226_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh4.ggpht.com/_ZNPMZwry3vA/TRNDnL30RbI/AAAAAAAAALQ/vFXb_2mE7fk/s800/41036_468998056322_568681322_6925091_2134308_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" src="http://lh4.ggpht.com/_ZNPMZwry3vA/TRNDnL30RbI/AAAAAAAAALQ/vFXb_2mE7fk/s144/41036_468998056322_568681322_6925091_2134308_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh5.ggpht.com/_ZNPMZwry3vA/TRNDnQTMuPI/AAAAAAAAALU/cCuL4E6C0Z8/s800/47789_468996636322_568681322_6924987_2248129_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="text-decoration: none;"&gt;&lt;img alt="" border="0" src="http://lh5.ggpht.com/_ZNPMZwry3vA/TRNDnQTMuPI/AAAAAAAAALU/cCuL4E6C0Z8/s144/47789_468996636322_568681322_6924987_2248129_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-8392639510567913459?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/8392639510567913459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/12/craig-and-charlottes-100-things-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8392639510567913459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8392639510567913459'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/12/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #14 Iron Bridge, Shropshire'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ZNPMZwry3vA/TRNDnPcceoI/AAAAAAAAALM/iOsPdBRwkAA/s72-c/41141_468996416322_568681322_6924978_3741226_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-4480700406006678336</id><published>2010-09-01T01:22:00.000-07:00</published><updated>2010-09-01T01:26:30.236-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='North Wales'/><category scheme='http://www.blogger.com/atom/ns#' term='Castle'/><category scheme='http://www.blogger.com/atom/ns#' term='Caernarvon'/><category scheme='http://www.blogger.com/atom/ns#' term='Caernarfon'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #16 Caernarvon Castle</title><content type='html'>&lt;div style="text-align: justify;"&gt;A great little drive towards the back end of beyond 'Bangor' in North Wales will see you come across the mighty castle of Caernarvon. An awesomely English built slap in the face to the welsh all them years ago proving that we indeed were superior :P (until it got sacked by the welsh).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The castle itself houses a small town with coffee shops, cake stores a market and your classic 'bits n bobs' shops. The castle is kept in fabulous condition and is a real charm to walk round, through and under. A small entry fee is well worth the price with museum's and staff on hand to point out just how magnificent it really all is. A small wharf-side also is of interest for those who like a bit of a walk across to the lookout post on the opposite hillside.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Along with the drive this is a great scenic day out, and with a few coastal towns locally to the castle its easy to spend the entire day (neigh weekend!) in the area. Cheap and Cheerful, just how I like it!&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://lh6.ggpht.com/_ZNPMZwry3vA/TH4MYk51-zI/AAAAAAAAAKY/6AAVmhcPfIo/s800/28460_427092781322_568681322_5815050_5525478_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381720851721058" src="http://lh6.ggpht.com/_ZNPMZwry3vA/TH4MYk51-zI/AAAAAAAAAKY/6AAVmhcPfIo/s144/28460_427092781322_568681322_5815050_5525478_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh6.ggpht.com/_ZNPMZwry3vA/TH4MYs3pGjI/AAAAAAAAAKc/IbK9-LpZlFE/s800/28460_427094576322_568681322_5815092_2302987_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381713973334626" src="http://lh6.ggpht.com/_ZNPMZwry3vA/TH4MYs3pGjI/AAAAAAAAAKc/IbK9-LpZlFE/s144/28460_427094576322_568681322_5815092_2302987_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh3.ggpht.com/_ZNPMZwry3vA/TH4MYxwVkpI/AAAAAAAAAKg/S9AB02sKSfc/s800/28460_427096041322_568681322_5815153_4906743_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="text-decoration: none;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381711999028498" src="http://lh3.ggpht.com/_ZNPMZwry3vA/TH4MYxwVkpI/AAAAAAAAAKg/S9AB02sKSfc/s144/28460_427096041322_568681322_5815153_4906743_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-4480700406006678336?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/4480700406006678336/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/09/craig-and-charlottes-100-things-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/4480700406006678336'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/4480700406006678336'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/09/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #16 Caernarvon Castle'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_ZNPMZwry3vA/TH4MYk51-zI/AAAAAAAAAKY/6AAVmhcPfIo/s72-c/28460_427092781322_568681322_5815050_5525478_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-3451955887051450754</id><published>2010-07-22T08:40:00.000-07:00</published><updated>2010-07-22T08:40:28.932-07:00</updated><title type='text'>Money Off MyProtein.co.uk Order With Referral Code MP253762</title><content type='html'>Hey, I'm a shameless self-promoter here is the referral code for you all to get money off your first order at &lt;a href="http://www.myprotein.co.uk/"&gt;www.myprotein.co.uk&lt;/a&gt; MP253762&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-3451955887051450754?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/3451955887051450754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/07/money-off-myproteincouk-order-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3451955887051450754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3451955887051450754'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/07/money-off-myproteincouk-order-with.html' title='Money Off MyProtein.co.uk Order With Referral Code MP253762'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-2604985393693038159</id><published>2010-04-30T08:50:00.000-07:00</published><updated>2010-04-30T08:50:29.497-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Birthing a Dwarf'/><category scheme='http://www.blogger.com/atom/ns#' term='Red Bull Challenge'/><title type='text'>The Red Bull (Light) Challenge (Success)</title><content type='html'>Hey, i'm not dead! Week over and a steady one can of year old Red Bull light every day with no side effects apart from birthing a small dwarf after the final can.&amp;nbsp;Everyone can feel safe in the knowledge that drinking a year old can of the stuff will not kill you, challenge over!&lt;div&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-2604985393693038159?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/2604985393693038159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/04/red-bull-light-challenge-success.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2604985393693038159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2604985393693038159'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/04/red-bull-light-challenge-success.html' title='The Red Bull (Light) Challenge (Success)'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-3804928765120109672</id><published>2010-04-29T04:53:00.000-07:00</published><updated>2010-04-29T04:55:47.942-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Bond Street'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #100 Bond Street, London</title><content type='html'>&lt;div style="text-align: justify;"&gt;Back again for the second part of our London trip, i'm afraid it's a bit of a poor show picture wise as the security donned in fitted suits were warding off the bums and japanese tourists. &lt;br /&gt;&lt;br /&gt;It's always a great feeling knowing that as you stroll past the many windows you will be coming out of the street with all your money in tact (this I made CLEAR to Charlotte before-hand :D). I do really feel sorry for the number of blokes wincing as the assistant told them how many times they will need to re-mortgage their homes to afford the 'rock' their wives are ogling.&lt;br /&gt;&lt;br /&gt;On the whole Bond Street is great to visit if only to see all the amazing amount of crud a woman can attach to herself.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://lh5.ggpht.com/_ZNPMZwry3vA/S9lorVy2RPI/AAAAAAAAAGk/KpJCT3_mVj0/s800/16335_222969776322_568681322_4608111_5616255_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381720851721058" src="http://lh5.ggpht.com/_ZNPMZwry3vA/S9lorVy2RPI/AAAAAAAAAGk/KpJCT3_mVj0/s800/16335_222969776322_568681322_4608111_5616255_n.jpg" style="display: block; height: 100px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh3.ggpht.com/_ZNPMZwry3vA/S9lorqSLWkI/AAAAAAAAAGo/-M9OEhvB_CE/s800/16335_222974236322_568681322_4608134_7591265_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381713973334626" src="http://lh3.ggpht.com/_ZNPMZwry3vA/S9lorqSLWkI/AAAAAAAAAGo/-M9OEhvB_CE/s800/16335_222974236322_568681322_4608134_7591265_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh3.ggpht.com/_ZNPMZwry3vA/S9lori_rocI/AAAAAAAAAGs/tB_-b9vmQZU/s800/16335_222974266322_568681322_4608136_2575566_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="text-decoration: none;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381711999028498" src="http://lh3.ggpht.com/_ZNPMZwry3vA/S9lori_rocI/AAAAAAAAAGs/tB_-b9vmQZU/s800/16335_222974266322_568681322_4608136_2575566_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 100px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-3804928765120109672?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/3804928765120109672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/04/craig-and-charlottes-100-things-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3804928765120109672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3804928765120109672'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/04/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #100 Bond Street, London'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_ZNPMZwry3vA/S9lorVy2RPI/AAAAAAAAAGk/KpJCT3_mVj0/s72-c/16335_222969776322_568681322_4608111_5616255_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-708711201839262559</id><published>2010-04-23T05:09:00.000-07:00</published><updated>2010-04-23T15:33:53.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Red Bull Challenge'/><category scheme='http://www.blogger.com/atom/ns#' term='Best Before'/><title type='text'>The Red Bull (Light) Challenge</title><content type='html'>Today started an epic battle between out of date Red Bull (12 months) and my body. Fellow employees winced at the idea of drinking the stuff shouting from the hills "that stuff will kill you!" and "&lt;i&gt;best before&lt;/i&gt; mean's it is out of date dumbass!" The term &lt;i&gt;best before&lt;/i&gt; is a conspiracy one which the Red Bull challenge will topple (obviously being the first person to do this...)&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If I don't post back within a month then take it that I officially am dead of RB&amp;nbsp;poisoning or have felt the need to end my life from Mikes pathetic attempts to &lt;i&gt;'Lay the Hammer'&lt;/i&gt; on me.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-708711201839262559?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/708711201839262559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/04/red-bull-light-challenge.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/708711201839262559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/708711201839262559'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/04/red-bull-light-challenge.html' title='The Red Bull (Light) Challenge'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-8610701880798803308</id><published>2010-03-01T04:04:00.000-08:00</published><updated>2010-03-01T04:04:55.605-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='London Eye'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #21 The London Eye</title><content type='html'>&lt;div style="text-align: justify;"&gt;Howdy, doody! Haven't been keeping on top of these for a while but your in for a treat (well... maybe if you like big wheels!) as me and Chappers headed down to "The Hub" of Britain for the weekend aka. London.&lt;br /&gt;&lt;br /&gt;First up on our trip was the gargantuan London Eye, and it truly is a huge beast! Besides from putting Charlotte off just from the height she also wasn't feeling too hot which probably is not the best combination. I was impressed with the wait time being only 20 minutes as the last thing we wanted to do on a cold winters night was spend 3 hours&amp;nbsp;queuing!&lt;br /&gt;&lt;br /&gt;Once on and moving you get some great views of the city which are only bettered when viewing it at night, London lights up amazingly well and is&amp;nbsp;definitely&amp;nbsp;a must do in the capital, if not for the ride but also for being the only place where you can really see all the main sites from one spot. Parliament, Tower of London, Tower Bridge, Westminster, Canary Wharf... You name it and you can see it.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href="http://lh4.ggpht.com/_ZNPMZwry3vA/S4urSTzvvPI/AAAAAAAAAGA/tx2BI0A7WVM/s800/16335_222925421322_568681322_4607953_6548145_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381720851721058" src="http://lh4.ggpht.com/_ZNPMZwry3vA/S4urSTzvvPI/AAAAAAAAAGA/tx2BI0A7WVM/s800/16335_222925421322_568681322_4607953_6548145_n.jpg" style="display: block; height: 120px; margin-bottom: 10px; margin-left: auto; margin-right: auto; margin-top: 0px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh6.ggpht.com/_ZNPMZwry3vA/S4urSAQWevI/AAAAAAAAAF8/fPQwxXfvHpw/s800/16335_222925376322_568681322_4607949_5746305_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381713973334626" src="http://lh6.ggpht.com/_ZNPMZwry3vA/S4urSAQWevI/AAAAAAAAAF8/fPQwxXfvHpw/s800/16335_222925376322_568681322_4607949_5746305_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 120px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="http://lh3.ggpht.com/_ZNPMZwry3vA/S4urSQUmIlI/AAAAAAAAAGE/Psf3oaCG2S0/s800/16335_222930701322_568681322_4607984_5156283_n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="text-decoration: none;"&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5401381711999028498" src="http://lh3.ggpht.com/_ZNPMZwry3vA/S4urSQUmIlI/AAAAAAAAAGE/Psf3oaCG2S0/s800/16335_222930701322_568681322_4607984_5156283_n.jpg" style="cursor: hand; cursor: pointer; display: block; height: 120px; margin: 0px auto 10px; text-align: center;" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A good 20 minutes passes and we gradually come down to ground level (to Charlottes relief). All in all what appears to be a rather lacklustre post is actually one of the best experiences I have had in London. Make sure you try it.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border: 0 none;" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-8610701880798803308?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/8610701880798803308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2010/03/craig-and-charlottes-100-things-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8610701880798803308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8610701880798803308'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2010/03/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #21 The London Eye'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_ZNPMZwry3vA/S4urSTzvvPI/AAAAAAAAAGA/tx2BI0A7WVM/s72-c/16335_222925421322_568681322_4607953_6548145_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-8441242584758850792</id><published>2009-11-07T06:59:00.000-08:00</published><updated>2009-11-07T07:29:09.244-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Shakespeare'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #13 Shakespeare's Home, Stratford on Avon</title><content type='html'>&lt;div style="text-align: justify;"&gt;Well, well, well... Stratford on Avon is a quaint little place with more mimes, street artists and musicians than you can shake a swan at. The whole area lives and breathes Shakespeare, and why not. From the variety of gift shops, boutiques and stalls you can pretty much deck your home with anything Shakespeare, but a must do is getting your mug shot in front of good old William's home complete with authentic electrical lighting...&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well some of the 'realism' has definitely been lost along the way but this shouldn't deter anybody as the vibe in the area is great. Some of the restaurants here are also little gems in themselves but those who have travelled to Stratford on Avon before will be distraught to find that the 'Teddy Bear Museum' has up and ran off to London. No fear we managed to find 'another' with human sized teddy waiting for us just outside the door which more than made up for it :D.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The highlight of this brief visit was the awesome Christmas shop opposite old Shakespeare's crib. It is decked out a mighty 365 days a year and again you can find anything with a Santa Claus on it. I'm not really a Christmas fan but its worth a delve for the laugh.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Overall Stratford on Avon does what it says on the tin, its a fun little area packed with things to see, eat and see some more. Parking and travelling were a breeze and was a great relaxing day out. Be prepared to meet the Chinese though, they love old Shakey's house.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ZNPMZwry3vA/SvWQDq-nq2I/AAAAAAAAAE4/kymtTUoCylg/s1600-h/9231_159643531322_568681322_3966596_2529607_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;height: 120px;" src="http://1.bp.blogspot.com/_ZNPMZwry3vA/SvWQDq-nq2I/AAAAAAAAAE4/kymtTUoCylg/s200/9231_159643531322_568681322_3966596_2529607_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5401381720851721058" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/SvWQDRWr0mI/AAAAAAAAAEw/xaSy3jDO2C0/s1600-h/9231_159643521322_568681322_3966595_5695532_n.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;height: 120px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/SvWQDRWr0mI/AAAAAAAAAEw/xaSy3jDO2C0/s200/9231_159643521322_568681322_3966595_5695532_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5401381713973334626" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZNPMZwry3vA/SvWQDJ_-TRI/AAAAAAAAAEo/Ivm7L6nXSow/s1600-h/9231_159634496322_568681322_3966441_3733654_n.jpg" style="text-decoration: none;"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand; height: 120px;" src="http://2.bp.blogspot.com/_ZNPMZwry3vA/SvWQDJ_-TRI/AAAAAAAAAEo/Ivm7L6nXSow/s200/9231_159634496322_568681322_3966441_3733654_n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5401381711999028498" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-8441242584758850792?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/8441242584758850792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/11/craig-and-charlottes-100-things-to-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8441242584758850792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/8441242584758850792'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/11/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #13 Shakespeare&apos;s Home, Stratford on Avon'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZNPMZwry3vA/SvWQDq-nq2I/AAAAAAAAAE4/kymtTUoCylg/s72-c/9231_159643531322_568681322_3966596_2529607_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-1487632689095634929</id><published>2009-08-17T04:15:00.000-07:00</published><updated>2009-08-17T16:27:42.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='The Rows'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #63 The Rows, Chester</title><content type='html'>&lt;div style="text-align: justify;"&gt;A Roman-Norman-Saxon-Victorian charm of a city, closely knit shopping streets and some great architecture both historical and modern make Chester a great place to visit. We found ourselves almost lost in the hundreds and hundreds of shops ranging from high street brands to small independant's tucked away in "The Rows". You can spend hours perusing what Chester has to offer and with most things to see and do literally 10 minutes walk away we loved every minute of it. After shops, milkshakes, afternoon tea, a brass band on the promenade, some truly weird people dressed as medieval characters and the Roman amphitheatre we were plum tuckered out. Again the evening was great with a mixture of loud venues and bars for the young and hearty or the not so loud but no less enjoyable restaurants that add a touch of class. We happened upon the "Sian" a Thai restaurant on the canal which is a definite recommendation.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;As an extra, the following day we spent at the absolutely huge Chester Zoo which should not be missed at all costs if your in Chester. By far the best in the UK.&lt;/i&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/Sonmgo8KgLI/AAAAAAAAAEg/8tIggA5ZomE/s1600-h/6448_146247846322_568681322_3771549_8069573_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand; height: 140px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/Sonmgo8KgLI/AAAAAAAAAEg/8tIggA5ZomE/s200/6448_146247846322_568681322_3771549_8069573_n.jpg" id="BLOGGER_PHOTO_ID_5371077479035994290" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/SonmgUCjcdI/AAAAAAAAAEY/cHKjZh0VeBA/s1600-h/6448_146247866322_568681322_3771552_3183972_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;height: 140px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/SonmgUCjcdI/AAAAAAAAAEY/cHKjZh0VeBA/s200/6448_146247866322_568681322_3771552_3183972_n.jpg" id="BLOGGER_PHOTO_ID_5371077473425650130" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZNPMZwry3vA/SonmgHYbeMI/AAAAAAAAAEQ/gGpBEi8Py-o/s1600-h/6448_146242706322_568681322_3771498_3910028_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand; height: 140px;" src="http://3.bp.blogspot.com/_ZNPMZwry3vA/SonmgHYbeMI/AAAAAAAAAEQ/gGpBEi8Py-o/s200/6448_146242706322_568681322_3771498_3910028_n.jpg" id="BLOGGER_PHOTO_ID_5371077470027741378" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The only down side would be the parking, there was very little and what we found of it seemed to be a hell of a way away from the centre. Tip of the day, park at the train station, plenty of spaces and relatively cheap but it is literally 5 minutes walk to the shops.&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-1487632689095634929?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/1487632689095634929/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_17.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1487632689095634929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1487632689095634929'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_17.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #63 The Rows, Chester'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZNPMZwry3vA/Sonmgo8KgLI/AAAAAAAAAEg/8tIggA5ZomE/s72-c/6448_146247846322_568681322_3771549_8069573_n.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-1336322027487117654</id><published>2009-08-16T13:46:00.000-07:00</published><updated>2009-08-16T14:21:11.224-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Robin Hood'/><category scheme='http://www.blogger.com/atom/ns#' term='Sherwood Forest'/><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain - #90 Sherwood Forest National Nature Reserve, Nottingham</title><content type='html'>&lt;div style="text-align: left;"&gt;First place visited on our list, the mighty Sherwood Forest, home of the heroic outlaw Robin Hood. I had high hopes for Robin and his band of Merry Men and they did not disapoint. Arriving on the 9th August 2009 we happend upon the "The Robin Hood Festival" which takes place yearly, being free apart from parking we had a brilliant time with falconry, jousting and live music aplenty as well as a lot of activities for kids including archery, face painting and jesters (which to be fair we enjoyed just as much :D). And if all that is not enough there is miles and miles and yes... more miles of walks through the scenic forest to enjoy. The day was great and the visitor centre is pretty good value for money considering that would be &lt;i&gt;nothing&lt;/i&gt;. One tip though, turn up early as people were being turned away who came later than mid day.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;table align="center"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh3FI4_WeI/AAAAAAAAAEI/xr25eRWuZlc/s1600-h/6448_142203116322_568681322_3702640_5763599_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;height: 140px;" src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh3FI4_WeI/AAAAAAAAAEI/xr25eRWuZlc/s200/6448_142203116322_568681322_3702640_5763599_n.jpg" id="BLOGGER_PHOTO_ID_5370673485808884194" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/Soh3E_tOO1I/AAAAAAAAAEA/oMri71sp3F4/s1600-h/6448_142200406322_568681322_3702626_3211561_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;height: 140px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/Soh3E_tOO1I/AAAAAAAAAEA/oMri71sp3F4/s200/6448_142200406322_568681322_3702626_3211561_n.jpg" id="BLOGGER_PHOTO_ID_5370673483343608658" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZNPMZwry3vA/Soh3EhQSH8I/AAAAAAAAAD4/uriUDpbVBJE/s1600-h/6448_142200371322_568681322_3702622_6667610_n.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand; height: 140px;" src="http://3.bp.blogspot.com/_ZNPMZwry3vA/Soh3EhQSH8I/AAAAAAAAAD4/uriUDpbVBJE/s200/6448_142200371322_568681322_3702622_6667610_n.jpg" id="BLOGGER_PHOTO_ID_5370673475169165250" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;i&gt;&lt;b&gt;Being the first place to visit on our adventure were going to set the score at 5 out of 10 and this will be used as the benchmark for future expeditions.&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;Rating: &lt;/td&gt;&lt;td&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh0Dwz8FCI/AAAAAAAAADo/c-3lKP2MjIo/s200/star.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;img src="http://1.bp.blogspot.com/_ZNPMZwry3vA/Soh0j2lLbjI/AAAAAAAAADw/asT0OU9sExc/s200/star_fade.png" style="border:0 none" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-1336322027487117654?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/1336322027487117654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1336322027487117654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1336322027487117654'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_16.html' title='Craig and Charlotte&apos;s 100 things to do in Britain - #90 Sherwood Forest National Nature Reserve, Nottingham'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_ZNPMZwry3vA/Soh3FI4_WeI/AAAAAAAAAEI/xr25eRWuZlc/s72-c/6448_142203116322_568681322_3702640_5763599_n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-2770224615465798454</id><published>2009-08-16T13:25:00.000-07:00</published><updated>2010-12-23T04:57:48.070-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='100 things to do in Britain'/><title type='text'>Craig and Charlotte's 100 things to do in Britain</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Figuring that I am in great need of fresh air, a more cultured outlook and a "life" me and my other half have put together a listing of 100 things to do in Britain. By no means are these "the best" things to do, especially since we dont know what half of them are :P but we rekon you should know where you come from (roughly) and have set upon this mini adventure. Well be posting up each place as and when we visit them with some aw(ful)esome pictures and a bit of a write up about what went on for future place goers...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is also important to say that the following are in no particular order.&lt;/div&gt;&lt;ol&gt;&lt;li&gt;Hadrian's Wall, Northumberland&lt;/li&gt;&lt;li&gt;Natural History Museum, London&lt;/li&gt;&lt;li&gt;Lincoln Cathedral&lt;/li&gt;&lt;li&gt;Newcastle Race Course&lt;/li&gt;&lt;li&gt;Climb Big Ben Clock Tower&lt;/li&gt;&lt;li&gt;Outdoor Proms Concert, Belton House&lt;/li&gt;&lt;li&gt;Castle Howard, Malton&lt;/li&gt;&lt;li&gt;Windsor Castle&lt;/li&gt;&lt;li&gt;Stonehenge&lt;/li&gt;&lt;li&gt;Snowdonia, Wales&lt;/li&gt;&lt;li&gt;York Minster Cathedral&lt;/li&gt;&lt;li&gt;Roman Baths, Bath&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2009/11/craig-and-charlottes-100-things-to-do.html"&gt;Shakespeare's Home, Stratford on Avon&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2010/12/craig-and-charlottes-100-things-to-do.html"&gt;Iron Bridge, Shropshire&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Edinburgh Castle&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2010/09/craig-and-charlottes-100-things-to-do.html"&gt;Caernarvon Castle&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The Royal Pavillion, Brighton&lt;/li&gt;&lt;li&gt;British Museum, London&lt;/li&gt;&lt;li&gt;Tate Modern, London&lt;/li&gt;&lt;li&gt;National Gallery, London&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2010/03/craig-and-charlottes-100-things-to-do.html"&gt;The London Eye&lt;/a&gt;&lt;/li&gt;&lt;li&gt;The Victoria and Albert Museum&lt;/li&gt;&lt;li&gt;Madam Tussauds&lt;/li&gt;&lt;li&gt;The Tower of London&lt;/li&gt;&lt;li&gt;National Maritime Museum&lt;/li&gt;&lt;li&gt;Kings Cross Station&lt;/li&gt;&lt;li&gt;Wembley Stadium&lt;/li&gt;&lt;li&gt;The Houses of Parliament&lt;/li&gt;&lt;li&gt;Science Museum, London&lt;/li&gt;&lt;li&gt;Queen Mary's Rose Gardens, London&lt;/li&gt;&lt;li&gt;Changing of the Guard, London&lt;/li&gt;&lt;li&gt;Camden Market, London&lt;/li&gt;&lt;li&gt;Portabello Market, London&lt;/li&gt;&lt;li&gt;Westminster Abbey&lt;/li&gt;&lt;li&gt;Orkney, Orkney Islands&lt;/li&gt;&lt;li&gt;King Arthurs Castle&lt;/li&gt;&lt;li&gt;Murder Mystery Dinner, London&lt;/li&gt;&lt;li&gt;The playhouse Theatre, London&lt;/li&gt;&lt;li&gt;Blackpool Tower&lt;/li&gt;&lt;li&gt;Colchester Castle&lt;/li&gt;&lt;li&gt;Harewood HSE&lt;/li&gt;&lt;li&gt;Penshurst Place and Gardens&lt;/li&gt;&lt;li&gt;York Ghost Trail&lt;/li&gt;&lt;li&gt;York Dungeon&lt;/li&gt;&lt;li&gt;King Arthurs Labrynth&lt;/li&gt;&lt;li&gt;The Museum of Welsh Life&lt;/li&gt;&lt;li&gt;Conwy Castle&lt;/li&gt;&lt;li&gt;Athurs Seat, Edinburgh&lt;/li&gt;&lt;li&gt;The Scottish National Gallery of Modern Art&lt;/li&gt;&lt;li&gt;The Witchery Tour, Edinburgh&lt;/li&gt;&lt;li&gt;Castle Campbell, Scotland&lt;/li&gt;&lt;li&gt;Glenfiddich Distillery, Scotland&lt;/li&gt;&lt;li&gt;John O' Groats, Scotland&lt;/li&gt;&lt;li&gt;The Biblical Garden, Scotland&lt;/li&gt;&lt;li&gt;Waltzing Waters, Scotland&lt;/li&gt;&lt;li&gt;Seaforde Butterfly HSE, N Ireland&lt;/li&gt;&lt;li&gt;The Glens of Antrim, N Ireland&lt;/li&gt;&lt;li&gt;Tollymore Forest Park, N Ireland&lt;/li&gt;&lt;li&gt;Tolkeins House&lt;/li&gt;&lt;li&gt;Cotswold Wildlife Park&lt;/li&gt;&lt;li&gt;Kew Gardens&lt;/li&gt;&lt;li&gt;River Camto, Cambridge&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_17.html"&gt;The Rows, Chester&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Lake District&lt;/li&gt;&lt;li&gt;Longleat Safari Park&lt;/li&gt;&lt;li&gt;Kingsgate Bay, Kent&lt;/li&gt;&lt;li&gt;Twycross Zoo&lt;/li&gt;&lt;li&gt;Garston Wood&lt;/li&gt;&lt;li&gt;Blue Water Shopping Centre and Ice Rink&lt;/li&gt;&lt;li&gt;The Norfolk and Suffolk Broads&lt;/li&gt;&lt;li&gt;Cheddar Gorge&lt;/li&gt;&lt;li&gt;Raby Castle, High Force Waterfall&lt;/li&gt;&lt;li&gt;Peak Cavern&lt;/li&gt;&lt;li&gt;Weston Supermare Beach&lt;/li&gt;&lt;li&gt;Norwich Medieval Castle&lt;/li&gt;&lt;li&gt;Eden Project, Cornwall&lt;/li&gt;&lt;li&gt;Canonteign Falls, Devon&lt;/li&gt;&lt;li&gt;Jurrasic Coast, Dorset&lt;/li&gt;&lt;li&gt;The National Marine Aquarium, Plymouth&lt;/li&gt;&lt;li&gt;Pensthorpe&lt;/li&gt;&lt;li&gt;London Zoo&lt;/li&gt;&lt;li&gt;The Town of Harrogate&lt;/li&gt;&lt;li&gt;Cotswold Wildlife Park and Farm&lt;/li&gt;&lt;li&gt;Winter Wonderland, Hyde Park&lt;/li&gt;&lt;li&gt;Bath Christmas Market&lt;/li&gt;&lt;li&gt;Wimbledon&lt;/li&gt;&lt;li&gt;Up-Helly-AA, Shetland Isles&lt;/li&gt;&lt;li&gt;The Great Ormes Head Copper Mine, Llandudno&lt;/li&gt;&lt;li&gt;Aberglasney House and Gardens, Wales&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do_16.html"&gt;Sherwood Forest National Nature Reserve, Nottingham&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Pistyll Rhaeadr, Wales&lt;/li&gt;&lt;li&gt;Lulworth Cove&lt;/li&gt;&lt;li&gt;Giants Causeway, N Ireland&lt;/li&gt;&lt;li&gt;St. Michael's Mount, Cornwall&lt;/li&gt;&lt;li&gt;Groombridge Place Gardens&lt;/li&gt;&lt;li&gt;The Trafford Centre&lt;/li&gt;&lt;li&gt;River Thames&lt;/li&gt;&lt;li&gt;Carrick-A-Rede, N Ireland&lt;/li&gt;&lt;li&gt;Creetown Gem Rock Museum, Scotland&lt;/li&gt;&lt;li&gt;&lt;a href="http://designdotworks.blogspot.com/2010/04/craig-and-charlottes-100-things-to-do.html"&gt;Bond Street, London&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-2770224615465798454?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/2770224615465798454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2770224615465798454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2770224615465798454'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/08/craig-and-charlottes-100-things-to-do.html' title='Craig and Charlotte&apos;s 100 things to do in Britain'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-3190452080662021249</id><published>2009-07-13T14:30:00.000-07:00</published><updated>2009-07-14T07:35:04.612-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Finalize'/><category scheme='http://www.blogger.com/atom/ns#' term='COM'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmanaged Code'/><category scheme='http://www.blogger.com/atom/ns#' term='Dispose'/><category scheme='http://www.blogger.com/atom/ns#' term='IDisposable'/><category scheme='http://www.blogger.com/atom/ns#' term='Marshal.ReleaseComObject'/><title type='text'>Clean Up Your Unmanaged Objects</title><content type='html'>&lt;div style="text-align: justify;"&gt;After working for a few days on a project which had partially been started, I hit across a gem of a piece of code to help myself clean up those nasty COM components. Yes, the dreaded COM! Due to the fact that this was the actual core of the system (having no other choice) I set about at least trying to make it tidy. Quickly I found references to objects, destruction of instances and the good old .Net Garbage Collector couldn't handle what had been written. So time for a rethink.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I was quite lucky in the fact that the COM library in question was written pretty well and most of it was named sensibly (full marks to the bloke who did the naming).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So to business. The requirements, simply to allow disposal of the object if I manually call it and/or if the so called variable is no longer in scope or referenced anywhere I want the .Net Garbage Collector to clean it up.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Step 1. The class&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Due to not being able to inherit from this COM library I set about wrapping up the instances of each type in a class using Generics to pass the objects type through at runtime.&lt;/div&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;Public Class ComWrapper(Of T)&lt;br /&gt;&lt;br /&gt;Private _value As T&lt;br /&gt;&lt;br /&gt;Public ReadOnly Property Value() As T&lt;br /&gt;  Get&lt;br /&gt;      Return Me._value&lt;br /&gt;  End Get&lt;br /&gt;End Property&lt;br /&gt;&lt;br /&gt;Public Sub New(ByVal value As T)&lt;br /&gt;  Me._value = value&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Step 2. IDisposable&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Having the base class in shape I now implemented the .Net IDisposable interface to follow the .Net IDisposable pattern, meaning any using statements would clean the object but also I could call "Dispose()" manually and simply follow the .Net way. The proper way to dispose of COM objects is to use the "Marshal" class found in the namespace "System.Runtime.InteropServices". Calling "ReleaseComObject()" will force the object to be cleaned safely.&lt;/div&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;Private _disposed As Boolean = False ' To detect redundant calls&lt;br /&gt;&lt;br /&gt;Public Sub Dispose() Implements IDisposable.Dispose&lt;br /&gt;  Dispose(True)&lt;br /&gt;  GC.SuppressFinalize(Me)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Protected Overridable Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;  If Not Me._disposed Then&lt;br /&gt;      If disposing Then&lt;br /&gt;          ' TODO: free other state (managed objects) if you have any.&lt;br /&gt;      End If&lt;br /&gt;&lt;br /&gt;      If Me._value IsNot Nothing Then&lt;br /&gt;          System.Runtime.InteropServices.Marshal.ReleaseComObject(Me._value)&lt;br /&gt;          Me._value = Nothing&lt;br /&gt;      End If&lt;br /&gt;  End If&lt;br /&gt;  Me._disposed = True&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;Step 3. Finalize it!&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Finally :P we override the "Finalize" method making sure to implement the base finalize but also clear up the COM object. This means if the variable goes out of scope and gets flagged for the Garbage Collector to dispose of it will clean it up nicely and not leave unmanaged instances everywhere.&lt;/div&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;Protected Overrides Sub Finalize()&lt;br /&gt;  If Me._value IsNot Nothing Then&lt;br /&gt;      System.Runtime.InteropServices.Marshal.ReleaseComObject(Me._value)&lt;br /&gt;      Me._value = Nothing&lt;br /&gt;  End If&lt;br /&gt;  MyBase.Finalize()&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;So that's it, you should have nicely managed objects now, and for those who need to be nursed hand in hand a sample below shows the full class and some examples of usage and when they will be cleaned up.&lt;/div&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;Public Class ComWrapper(Of T)&lt;br /&gt;Implements IDisposable&lt;br /&gt;&lt;br /&gt;Private _value As T&lt;br /&gt;Private _disposed As Boolean = False ' To detect redundant calls&lt;br /&gt;&lt;br /&gt;Public ReadOnly Property Value() As T&lt;br /&gt;    Get&lt;br /&gt;        Return Me._value&lt;br /&gt;    End Get&lt;br /&gt;End Property&lt;br /&gt;&lt;br /&gt;Public Sub New(ByVal value As T)&lt;br /&gt;    Me._value = value&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Public Sub Dispose() Implements IDisposable.Dispose&lt;br /&gt;    Dispose(True)&lt;br /&gt;    GC.SuppressFinalize(Me)&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Protected Overridable Sub Dispose(ByVal disposing As Boolean)&lt;br /&gt;    If Not Me._disposed Then&lt;br /&gt;        If disposing Then&lt;br /&gt;            ' TODO: free other state (managed objects) if you have any.&lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        If Me._value IsNot Nothing Then&lt;br /&gt;            System.Runtime.InteropServices.Marshal.ReleaseComObject(Me._value)&lt;br /&gt;            Me._value = Nothing&lt;br /&gt;        End If&lt;br /&gt;    End If&lt;br /&gt;    Me._disposed = True&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Protected Overrides Sub Finalize()&lt;br /&gt;    If Me._value IsNot Nothing Then&lt;br /&gt;        System.Runtime.InteropServices.Marshal.ReleaseComObject(Me._value)&lt;br /&gt;        Me._value = Nothing&lt;br /&gt;    End If&lt;br /&gt;    MyBase.Finalize()&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;End Class&lt;br /&gt;&lt;br /&gt;' #### Now Some Examples&lt;br /&gt;' #### Where "MyComObject" is the com librarys namespace&lt;br /&gt;' #### and "MyComType" is the com object your creating an instance of&lt;br /&gt;&lt;br /&gt;Public Sub Test1()&lt;br /&gt;Dim com1 As New ComWrapper(Of MyComObject.MyComType)(New MyComObject.MyComType())&lt;br /&gt;' ... Use com1.Value&lt;br /&gt;com1.Dispose() ' Object disposed here&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Public Sub Test2()&lt;br /&gt;Using com2 As New ComWrapper(Of MyComObject.MyComType)(New MyComObject.MyComType())&lt;br /&gt;    ' ... Use com2.Value&lt;br /&gt;End Using ' Object disposed here&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Public Sub Test3()&lt;br /&gt;Dim com3 As New ComWrapper(Of MyComObject.MyComType)(New MyComObject.MyComType())&lt;br /&gt;&lt;br /&gt;' Object is not disposed of but once the variable is out of scope or in other words the methods ends the garbage collector flags "com3" for finalizing. This will not happen instantly so dont rely on it, but it should be fine for those of us who get a bit lazy :P&lt;br /&gt;End Sub&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-3190452080662021249?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/3190452080662021249/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/07/clean-up-your-unmanaged-objects.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3190452080662021249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3190452080662021249'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/07/clean-up-your-unmanaged-objects.html' title='Clean Up Your Unmanaged Objects'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-3271823536594451009</id><published>2009-06-16T11:37:00.000-07:00</published><updated>2009-06-16T11:39:09.421-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Norway'/><category scheme='http://www.blogger.com/atom/ns#' term='Camping'/><title type='text'>Norway is Light!</title><content type='html'>&lt;div style="text-align: justify;"&gt;After having just returned from the might home of the vikings to my own discovery I have concluded that Norway is in perpetual light! Camping under the somewhat cloudy stars for three nights makes you aware of this. Note for future reference, no torch required.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-3271823536594451009?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/3271823536594451009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/06/norway-is-light.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3271823536594451009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/3271823536594451009'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/06/norway-is-light.html' title='Norway is Light!'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-135526406820008750</id><published>2009-06-10T15:04:00.000-07:00</published><updated>2009-06-10T15:23:34.472-07:00</updated><title type='text'>The Art of the Entertainer</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hey folks, just an update. I have started working with entertainer Sam Rabone in developing a personal site to showcase his... entertainment qualities! From radio to drag he has it all so be sure to take a look at the further work that goes into his project over the next coming weeks. Some nice draft shots below.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/SjAx6SnUpiI/AAAAAAAAABY/ueQtVsJT86Y/s1600-h/samrabone2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 139px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/SjAx6SnUpiI/AAAAAAAAABY/ueQtVsJT86Y/s320/samrabone2.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5345827635187721762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZNPMZwry3vA/SjAx6AttaHI/AAAAAAAAABQ/1E_-E6_Mf8U/s1600-h/samrabone.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 139px;" src="http://4.bp.blogspot.com/_ZNPMZwry3vA/SjAx6AttaHI/AAAAAAAAABQ/1E_-E6_Mf8U/s320/samrabone.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5345827630382671986" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-135526406820008750?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/135526406820008750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/06/art-of-entertainer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/135526406820008750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/135526406820008750'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/06/art-of-entertainer.html' title='The Art of the Entertainer'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ZNPMZwry3vA/SjAx6SnUpiI/AAAAAAAAABY/ueQtVsJT86Y/s72-c/samrabone2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-2231523217836560361</id><published>2009-05-18T06:34:00.000-07:00</published><updated>2009-05-18T07:07:26.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Stop Process'/><category scheme='http://www.blogger.com/atom/ns#' term='ReleaseComObject'/><category scheme='http://www.blogger.com/atom/ns#' term='Kill Process'/><title type='text'>Removing Process Instances - Apparently I Am Clever</title><content type='html'>&lt;div style="text-align: justify;"&gt;A good year ago i posted on &lt;a href="http://www.daniweb.com/"&gt;Daniweb&lt;/a&gt; (to whom I actively help) a code snippet for using the office interops and creating a wrapper class for them (&lt;a href="http://www.daniweb.com/code/snippet936.html"&gt;you can see that post here&lt;/a&gt;). Anyway a few private comments and some posts later I received feedback that it was pretty clever, get that eh! So I thought seeing as I may need it sometime and am moving all my useful artifacts over to this blog account I would post it up. The "clever-bit" apparently is in working out a processes unique number so it can be killed later on if there are problems with it. This comes in handy when performing server side or hidden client side interactions with other interops such as Microsoft Office (creating Excel spreadsheets and  such) without destroying a users existing session or other sessions that a server may be using (such as threading multiple requests).&lt;br /&gt;&lt;br /&gt;The following code function basically works out all existing process' total for a given instance.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;&amp;lt;summary&amp;gt;Function to calculate the total sum of process ID's for a given process name.&amp;lt;/summary&amp;gt;&lt;br /&gt;&amp;lt;param name="instanceName"&amp;gt;The instance to count&amp;lt;/param&amp;gt;&lt;br /&gt;Private Shared Function GetTotalProcessID(ByVal instanceName As String) As Integer&lt;br /&gt; For Each diaProc As System.Diagnostics.Process In System.Diagnostics.Process.GetProcessesByName(instanceName)&lt;br /&gt;   GetTotalProcessID += diaProc.Id&lt;br /&gt; Next&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;This does not seem to special but when performing this before and after we can subtract the first from the second to give us our process' unique number. Bingo! The following code demonstrates this showing an example creating a Microsoft Word instance.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="vb.net"&gt;&lt;br /&gt;' Get Total before app exists&lt;br /&gt;Dim totalProc As Integer = GetTotalProcessID("winword")&lt;br /&gt;Dim wordApp As Word.Application = New Word.Application()&lt;br /&gt;' Hide alerts and screen updating&lt;br /&gt;wordApp.DisplayAlerts = Word.WdAlertLevel.wdAlertsNone&lt;br /&gt;wordApp.ScreenUpdating = False&lt;br /&gt;&lt;br /&gt;' Get New Total and subtract to get out ID&lt;br /&gt;totalProc = GetTotalProcessID("winword") - totalProc&lt;br /&gt;&lt;br /&gt;' ... Do some magic with the word instance ...&lt;br /&gt;&lt;br /&gt;' When finished you should call 'worApp.Quit()'&lt;br /&gt;' And also 'Marshal.ReleaseComObject(wordApp)'&lt;br /&gt;' But incase that instance just wont go away... Kill it!&lt;br /&gt;System.Diagnostics.Process.GetProcessById(totalProc).Kill()&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;So there we have it you now have the process' ID and assuming everything goes right you wont have to kill it, but for thos times everything fails you can always fall back on calling "&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;System.Diagnostics.Process.GetProcessById(&lt;/span&gt;&lt;process_id&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;).Kill()&lt;/span&gt;" to get rid of that pesky instance.&lt;br /&gt;&lt;/process_id&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-2231523217836560361?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/2231523217836560361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/05/removing-process-instances-apparently-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2231523217836560361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/2231523217836560361'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/05/removing-process-instances-apparently-i.html' title='Removing Process Instances - Apparently I Am Clever'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-428164157200016</id><published>2009-05-17T18:34:00.000-07:00</published><updated>2009-05-17T18:42:22.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='background changer'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Background-flickr'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Code'/><category scheme='http://www.blogger.com/atom/ns#' term='flickr services'/><title type='text'>Background Flickr - Update Your Android Background</title><content type='html'>&lt;div style="text-align: justify;"&gt;As a side project having finished university and wanting to get to grips with the awesome &lt;a href="http://developer.android.com/"&gt;Android &lt;/a&gt;SDK I am working on a background photo changer which connects to the public &lt;a href="http://www.flickr.com/services/api/"&gt;Flickr services&lt;/a&gt;. The application will periodically download images from tagged flickr accounts and switch them as often as required for your phones background. The project has a way to go yet but I am looking forward to man handling the Android internals. For more information on the development you can see the &lt;a href="http://code.google.com/p/background-flickr/"&gt;project site&lt;/a&gt; hosted at Google Code. Also if anybody feels interested in lending a hand your more than welcome and can contact me through the project site.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-428164157200016?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/428164157200016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/05/background-flickr-update-your-android.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/428164157200016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/428164157200016'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/05/background-flickr-update-your-android.html' title='Background Flickr - Update Your Android Background'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-4881748695061269676</id><published>2009-05-14T18:41:00.000-07:00</published><updated>2009-05-17T18:44:05.999-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RFC 3986'/><category scheme='http://www.blogger.com/atom/ns#' term='java.net.URLEncoder'/><category scheme='http://www.blogger.com/atom/ns#' term='Encode URL'/><title type='text'>Java URLEncode</title><content type='html'>&lt;div style="text-align: justify;"&gt;After working on an android project for Google's G1 phone I came across a problem using the &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/net/URLEncoder.html"&gt;java.net.URLEncoder&lt;/a&gt; class whereby it was not correctly encoding 3 values in conformance to the &lt;a href="http://www.faqs.org/rfcs/rfc3986.html"&gt;RFC 3986&lt;/a&gt;. The function &lt;em&gt;URLEncoder.encode(s, enc)&lt;/em&gt; does not encode *, ~ or + (asterisk, tilde and plus) which was causing trouble when accessing particularly picky web services with strict definitions on content encoding. So with a bit of botchery you can make the string compliant by encoding them seperately using java Strings built in replace method. The example below shows a bare bones example of encoding a value.&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="java" style="height: 200px;"&gt;&lt;br /&gt;String value = "beans+pies*with~fries"; // Mind the awful scentence&lt;br /&gt;String encoded = URLEncoder.encode(value, "UTF-8");&lt;br /&gt;encoded = encoded.replace("*", "%2A");&lt;br /&gt;encoded = encoded.replace("~", "%7E");&lt;br /&gt;encoded = encoded.replace("+", "%20");&lt;br /&gt;// The output is "beans%20pies%2Awith%7Efries" all done!&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-4881748695061269676?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/4881748695061269676/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/05/java-urlencode.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/4881748695061269676'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/4881748695061269676'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/05/java-urlencode.html' title='Java URLEncode'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-6760480862603444619</id><published>2009-05-04T16:59:00.000-07:00</published><updated>2009-05-17T08:42:40.558-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='image'/><category scheme='http://www.blogger.com/atom/ns#' term='preloader'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery Image Preloading with Callbacks</title><content type='html'>&lt;div style="text-align: justify;"&gt;Googling for image preloaders? Yes that was me and I couldn't find anything which fitted the bill. Needing some form of JavaScript to preload an image and then have a callback function trigger when the image had finished loading (for some pretty transitional effects) I set about writing myself a jQuery plugin (as I use jQuery alot!). The code snippet below could easily be adapted for other libraries and I have tested it in all modern browsers and the onload event seems to trigger nicely in all. Its definately not the best way to add an event handler but as mentioned before it seems the most cross-browser friendly.&lt;br /&gt;&lt;br /&gt;So here it comes, what you have been waiting for... Just copy the following into your page or seperate JavaScript file (you can even minify it if its too big for you).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 0, 0);"&gt;* Update:&lt;/span&gt; &lt;span style="color: rgb(153, 0, 0);"&gt;After the glorious Internet Explorer 8 release it seems my code was causing a sporadic race condition bug. It is due to the code executing so fast that it preloaded the image before it appended it to the DOM causing the code to attempt to remove the element before it existed in the document. Not that this was too much of a problem, it simply left several hidden nodes in the DOM. Not to worry though I have updated the script accordingly to stop this in the future by adding a loaded flag to check if the handler has been triggered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript" style="height: 200px;"&gt;&lt;br /&gt;(function($) {&lt;br /&gt; $.extend(jQuery, {&lt;br /&gt;   preloadImage: function(src, callback) {&lt;br /&gt;     var i = new Image();&lt;br /&gt;     var f = false;&lt;br /&gt;     i.onload = function() {&lt;br /&gt;       f = true;&lt;br /&gt;       if(callback !== undefined) { callback(this); }&lt;br /&gt;       $(this).remove();&lt;br /&gt;     };&lt;br /&gt;     if(!f) {&lt;br /&gt;       $(i).attr('src', src).css({&lt;br /&gt;         position: 'absolute',&lt;br /&gt;         display: 'none',&lt;br /&gt;         width: 1,&lt;br /&gt;         height: 1&lt;br /&gt;       }).appendTo(document.body);&lt;br /&gt;     }&lt;br /&gt;   }&lt;br /&gt; });&lt;br /&gt;}(jQuery));&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The above probably needs a little explanation and rightly so. I use the JavaScript onload event property directly on the image object as jQuery's event handling is a little more advanced and for some reason setting this through addEventListener or attachEvent does not result in the desired effect. Also setting the elements position to absolute and its size to 1x1 might appear to be (stupid) adding extra css for the sake of it, the idea is that on a large image I have had some issues with a flicker and a quick resizing of the page before the browsers rendering kicks in so by setting it to 1x1 and absolute we avoid this eventuality.&lt;br /&gt;&lt;br /&gt;So you want to use it in page now eh? Then call it using...&lt;br /&gt;&lt;br /&gt;&lt;pre name="code" class="javascript" style="height: 200px;"&gt;&lt;br /&gt;var url = 'http://.../yourimage.jpg';&lt;br /&gt;$.preloadImage(url, function(image) {&lt;br /&gt;   alert('The image from ' + $(image).attr('src') + ' has finished preloading...');&lt;br /&gt;});&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And there you have it. Image preloading made a doddle. I would like to point out that the above will only work if you are using jQuery but as mentioned before it would be very very (very) easy to modify for another library.&lt;br /&gt;&lt;br /&gt;And thats all folks.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-6760480862603444619?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/6760480862603444619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/05/jquery-image-preloading-with-callbacks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/6760480862603444619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/6760480862603444619'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/05/jquery-image-preloading-with-callbacks.html' title='jQuery Image Preloading with Callbacks'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-5104688099401692166</id><published>2009-05-02T18:08:00.000-07:00</published><updated>2009-05-04T19:09:50.533-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dissertation'/><category scheme='http://www.blogger.com/atom/ns#' term='bsc computer science'/><category scheme='http://www.blogger.com/atom/ns#' term='university'/><category scheme='http://www.blogger.com/atom/ns#' term='degree'/><title type='text'>The Dissertation... It's Over!</title><content type='html'>&lt;div style="text-align: justify;"&gt;Well it is over. Four years, eighteen modules and apparently 2160 hours study time (yeah right) , but seriously I have hit the end of my degree and I can't help but feel like an age is coming to it's end. I'll be no doubt proverbally filling my pants over the next few months awaiting the results but it just would not be the same if it did not have some sort of suspense.&lt;br /&gt;&lt;br /&gt;The only milestone to mark that it is truly over is the hand in of  the dissertation. To summarise it was "one hell of a" report! Those who wish for a copy can email me as im sure everyone is up for a thrilling read (along with the going rate for the average dissertation... I'll make it a level £1k). (Yes the last sentence was sarcastic and no I will not be giving out my dissertation).&lt;br /&gt;&lt;br /&gt;I also have been meaning to get around to working on my &lt;a href="http://www.designdotworks.co.uk/"&gt;personal website&lt;/a&gt; lately and its just about finished so you can now see it in all its glory at &lt;a href="http://www.designdotworks.co.uk/"&gt;www.designdotworks.co.uk&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-5104688099401692166?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/5104688099401692166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/05/dissertation-its-over.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/5104688099401692166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/5104688099401692166'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/05/dissertation-its-over.html' title='The Dissertation... It&apos;s Over!'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-1990905496987159673</id><published>2009-04-09T02:30:00.000-07:00</published><updated>2009-04-09T05:53:04.083-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='serialize'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='webservice'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASMX'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='Page Method'/><title type='text'>JavaScript JSON Serialize</title><content type='html'>&lt;div style="text-align: justify;"&gt;First of all this approach is not for everyone there are many fully implemented JSON libraries for JavaScript but i'll explain the scenario. I recently worked on an ASP.Net project which relied heavily on page methods and ASMX webservices.&lt;br /&gt;&lt;br /&gt;We attempted to make the in page JavaScript as "light-weight" as possible by cutting down on using the ASP.Net ScriptManagers JavaScript proxys. This technique is really useful in a small project but when we have 50+ services which may be called by one page injecting that many js files cant be good for bandwidth or performance. Using the &lt;a href="http://www.jquery.com"&gt;jQuery&lt;/a&gt; library as a foundation for the majority of the project we found using the ajax request methods difficult to use in conjunction with our web methods. After following &lt;a href="http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/"&gt;Dave Ward's&lt;/a&gt; great article on connecting jQuery to such services we were left with the huge pain of converting our JavaScript objects into JSON serialized form.&lt;br /&gt;&lt;br /&gt;The json.js file that ASP.Net generates when using the scriptmanager was out of the question since we wanted to avoid the Microsoft bloat so I wrote a custom JSON serializer for the client. This way we could build our objects in JavaScript then serialize them to a JSON string on the fly whilst still keeping the project as lightweight as we needed. So enough jibber jabba heres the code I hope its useful to somebody.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre name="code" class="javascript" style="height:200px;"&gt;&lt;br /&gt;// Change the variable name if you like 'JSON' seems pretty general&lt;br /&gt;var JSON = function() {&lt;br /&gt;&lt;br /&gt; // Method to decide the variables type and call its relevant method&lt;br /&gt; var getNameValue = function(name, value) {&lt;br /&gt;  var t = typeof value;&lt;br /&gt;  if (value === undefined) { return getValueUndefined(name, value); }&lt;br /&gt;  if (value === null) { return getNameValueNull(name, value) }&lt;br /&gt;  switch (t) {&lt;br /&gt;   case 'string':&lt;br /&gt;    return getNameValueString(name, value);&lt;br /&gt;   case 'number':&lt;br /&gt;    return getNameValueNumber(name, value);&lt;br /&gt;   case 'boolean':&lt;br /&gt;    return getNameValueBoolean(name, value);&lt;br /&gt;   case 'object':&lt;br /&gt;    // If we get here then we need to decide what the constructor was&lt;br /&gt;    // To successfully convert the type&lt;br /&gt;    return getNameValueConstructor(name, value);&lt;br /&gt;   default:&lt;br /&gt;    return '';&lt;br /&gt;  }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to decide the constructors type and call its relevant method&lt;br /&gt; var getNameValueConstructor = function(name, value) {&lt;br /&gt;  if (value.constructor == Date) {&lt;br /&gt;   return getNameValueDate(name, value);&lt;br /&gt;  } else if (value.constructor == Array) {&lt;br /&gt;   return getNameValueArray(name, value);&lt;br /&gt;  } else if (value.constructor == String) {&lt;br /&gt;   return getNameValueString(name, value);&lt;br /&gt;  } else if (value.constructor == Boolean) {&lt;br /&gt;   return getNameValueBoolean(name, value);&lt;br /&gt;  } else if (value.constructor == Number) {&lt;br /&gt;   return getNameValueNumber(name, value);&lt;br /&gt;  } else if (value.constructor == Object) {&lt;br /&gt;   return getNameValueObject(name, value);&lt;br /&gt;  } else {&lt;br /&gt;   return '';&lt;br /&gt;  }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Methods to convert a name value pair to a JSON serialized string for each data type&lt;br /&gt; var getNameValueString = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueString(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueNumber = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueNumber(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueBoolean = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueBoolean(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueDate = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueDate(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueNull = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueNull(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueArray = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueArray(value);&lt;br /&gt; };&lt;br /&gt; var getNameValueObject = function(name, value) {&lt;br /&gt;  return '"' + removeInvalidChars(name) + '":' + getValueObject(value);&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to decide the variables type and call its relevant method&lt;br /&gt; // This method is similiar to above but calls the methods with no name and just returns a value&lt;br /&gt; var getValue = function(value) {&lt;br /&gt;  var t = typeof value;&lt;br /&gt;  if (value === undefined) { return getValueUndefined(value); }&lt;br /&gt;  if (value === null) { return getValueNull(value) }&lt;br /&gt;  switch (t) {&lt;br /&gt;   case 'string':&lt;br /&gt;    return getValueString(value);&lt;br /&gt;   case 'number':&lt;br /&gt;    return getValueNumber(value);&lt;br /&gt;   case 'boolean':&lt;br /&gt;    return getValueBoolean(value);&lt;br /&gt;   case 'object':&lt;br /&gt;    // If we get here then we need to decide what the constructor was&lt;br /&gt;    // To successfully convert the type&lt;br /&gt;    return getValueConstructor(value);&lt;br /&gt;   default:&lt;br /&gt;    return '';&lt;br /&gt;  }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to decide the constructors type and call its relevant method&lt;br /&gt; // This method is similiar to above but calls the methods with no name and just returns a value&lt;br /&gt; var getValueConstructor = function(value) {&lt;br /&gt;  if (value.constructor == Date) {&lt;br /&gt;   return getValueDate(value);&lt;br /&gt;  } else if (value.constructor == Array) {&lt;br /&gt;   return getValueArray(value);&lt;br /&gt;  } else if (value.constructor == String) {&lt;br /&gt;   return getValueString(value);&lt;br /&gt;  } else if (value.constructor == Boolean) {&lt;br /&gt;   return getValueBoolean(value);&lt;br /&gt;  } else if (value.constructor == Number) {&lt;br /&gt;   return getValueNumber(value);&lt;br /&gt;  } else if (value.constructor == Object) {&lt;br /&gt;   return getValueObject(value);&lt;br /&gt;  } else {&lt;br /&gt;   return '';&lt;br /&gt;  }&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Methods to convert a value into its JSON format&lt;br /&gt; var getValueString = function(value) {&lt;br /&gt;  return '"' + removeInvalidChars(value) + '"';&lt;br /&gt; };&lt;br /&gt; var getValueNumber = function(value) {&lt;br /&gt;  return value;&lt;br /&gt; };&lt;br /&gt; var getValueBoolean = function(value) {&lt;br /&gt;  return value ? 'true' : 'false';&lt;br /&gt; };&lt;br /&gt; var getValueDate = function(value) {&lt;br /&gt;  return '"\\/Date(' + value.getTime() + ')\\/"';&lt;br /&gt; };&lt;br /&gt; var getValueNull = function(value) {&lt;br /&gt;  return 'null';&lt;br /&gt; };&lt;br /&gt; var getValueUndefined = function(value) {&lt;br /&gt;  return '';&lt;br /&gt; };&lt;br /&gt; var getValueArray = function(value) {&lt;br /&gt;  var json = '[';&lt;br /&gt;  var first = true;&lt;br /&gt;  var copy = removeFromArray(value, undefined); // Remove undefined values&lt;br /&gt;  for (var i in copy) {&lt;br /&gt;   json += first ? '' : ',';&lt;br /&gt;   json += getValue(copy[i]);&lt;br /&gt;   first = false;&lt;br /&gt;  }&lt;br /&gt;  return json + ']';&lt;br /&gt; };&lt;br /&gt; var getValueObject = function(value) {&lt;br /&gt;  var json = '{';&lt;br /&gt;  var first = true;&lt;br /&gt;  var copy = removeFromObject(value, undefined); // Remove undefined values&lt;br /&gt;  for (var i in copy) {&lt;br /&gt;   json += first ? '' : ',';&lt;br /&gt;   json += '"' + removeInvalidChars(i) + '":' + getValue(copy[i]);&lt;br /&gt;   first = false;&lt;br /&gt;  }&lt;br /&gt;  return json + '}';&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to remove invalid chars, unescape or other methods will destroy strings formatting&lt;br /&gt; var removeInvalidChars = function(value) {&lt;br /&gt;  return String(value).replace(/["]/g, "`");&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to remove all instances of a value from an array&lt;br /&gt; var removeFromArray = function(array, value) {&lt;br /&gt;  var i = 0;&lt;br /&gt;  while (i &lt; array.length) {&lt;br /&gt;   if (array[i] == item) {&lt;br /&gt;    array.splice(i, 1);&lt;br /&gt;   } else {&lt;br /&gt;    i++;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  return array;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; // Method to remove all instances of a value from an object&lt;br /&gt; var removeFromObject = function(object, value) {&lt;br /&gt;  var copy = {};&lt;br /&gt;  for (var i in object) {&lt;br /&gt;   if (object[i] !== undefined) { copy[i] = object[i]; }&lt;br /&gt;  }&lt;br /&gt;  return copy;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt; return {&lt;br /&gt;&lt;br /&gt;  serialize: function(o) {&lt;br /&gt;   var json = '{';&lt;br /&gt;   var first = true;&lt;br /&gt;   for (var i in o) {&lt;br /&gt;    json += first ? '' : ',';&lt;br /&gt;    json += getNameValue(i, o[i]);&lt;br /&gt;    first = false;&lt;br /&gt;   }&lt;br /&gt;   return json + '}';&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt; };&lt;br /&gt;&lt;br /&gt;} ();&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify"&gt;&lt;br /&gt;The code above seems commented enough for somebody to follow it through but if more clarification is needed just drop me a message. Ive also &lt;a href="http://jsonize.googlecode.com/files/json_serializer.1.0.js"&gt;minified the code&lt;/a&gt; for use as an external library if nescessary. At just under 4kb i can't complain about the outcome and it seems to work with no problems. Hope it helps.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-1990905496987159673?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/1990905496987159673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/04/javascript-json-serialize.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1990905496987159673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/1990905496987159673'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/04/javascript-json-serialize.html' title='JavaScript JSON Serialize'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8745825588194554798.post-204559315412788381</id><published>2009-04-08T03:10:00.000-07:00</published><updated>2009-04-08T03:20:00.347-07:00</updated><title type='text'>Start Something</title><content type='html'>&lt;div style="text-align: justify;"&gt;I once vowed never to blog but after its apparent global uptake and recognition for just how powerful a tool it is designdotworks now have a working blog. Keep up to date with what is happening with Craig McNicholas and designdotworks as well as anything useful I decide to post.&lt;br /&gt;&lt;br /&gt;A quick description of what I do would be everything from and including taking your thoughts to the final product in a low cost and communicative way. &lt;span style="font-style: italic;"&gt;Need a developer to take on a personal, corporate or social project?&lt;/span&gt; Then contact me now.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;http://www.designdotworks.co.uk&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8745825588194554798-204559315412788381?l=designdotworks.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://designdotworks.blogspot.com/feeds/204559315412788381/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://designdotworks.blogspot.com/2009/04/start-something.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/204559315412788381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8745825588194554798/posts/default/204559315412788381'/><link rel='alternate' type='text/html' href='http://designdotworks.blogspot.com/2009/04/start-something.html' title='Start Something'/><author><name>Craig McNicholas</name><uri>https://profiles.google.com/105877673837814381916</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh3.googleusercontent.com/-T4MnDF_ENHY/AAAAAAAAAAI/AAAAAAAAAvU/xkQa0ufX95U/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
