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

<channel>
	<title>thattommyhall.com</title>
	<atom:link href="http://www.thattommyhall.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thattommyhall.com</link>
	<description>A Random Walk Through Idea Space</description>
	<lastBuildDate>Tue, 20 Jul 2010 19:13:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Day 200 of the 101 Goals in 1001 days</title>
		<link>http://www.thattommyhall.com/2010/07/20/day-200-of-the-101-goals-in-1001-days/</link>
		<comments>http://www.thattommyhall.com/2010/07/20/day-200-of-the-101-goals-in-1001-days/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 19:13:21 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=217</guid>
		<description><![CDATA[Well, as per my meta-goal 101 – Do 100 day updates, here is the Day 200 update. Not much movement really&#8230;. The Good:- 66 – Via Ferrata in Italy I go on Friday, cant wait. 82 – Visit Egypt I go in October for 2 weeks, 1 week cruise &#8211; 1 week sun and as [...]]]></description>
			<content:encoded><![CDATA[<p>Well, as per my meta-goal <strong>101 – Do 100 day updates</strong>, here is the Day 200 update.</p>
<p>Not much movement really&#8230;.</p>
<p><strong>The Good:-</strong><br />
<strong>66 – <a href="http://en.wikipedia.org/wiki/Via_ferrata">Via Ferrata</a> in Italy</strong><br />
I go on Friday, cant wait.</p>
<p><strong>82 – Visit Egypt</strong><br />
I go in October for 2 weeks, 1 week cruise &#8211; 1 week sun and as much archaeology as I can get!</p>
<p><strong>94 – Go to Edinburgh festival</strong><br />
Will fly over for a weekend in Aug, let me know if you are interested in joining</p>
<p><strong>28 – Drive Offroad</strong><br />
Going back to Dubai in December when it cools off, will be driving a mates Hummer in the desert.</p>
<p><strong>75 – <a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/">Watch SICP,</a> do exercises from <a href="http://mitpress.mit.edu/sicp/">book</a></strong><br />
Did half when visiting Germany from Den Haag a few weeks ago, mind bending but wonderful stuff.</p>
<p><strong>72 – Read “<a href="http://en.wikipedia.org/wiki/Winning_Ways_for_your_Mathematical_Plays">Winning Ways</a>”</strong><br />
Inspired by <a href="http://en.wikipedia.org/wiki/Martin_Gardner">Martin Gardner</a>s death, I did half of the first book when I had some downtime in Manchester. First bit of new Maths in ages and it felt great. See <a href="http://www.msri.org/publications/books/Book29/contents.html">Games of No Chance</a> for more fun.</p>
<p><strong>8 – Read all the <a href="http://www.oup.co.uk/academic/series/vsi/vsiguides/">VSIs</a></strong><br />
Read Vikings, Human Prehistory, Memory, Archaeology, Evolution, maybe more &#8211; i need to get tactical and create a master list.</p>
<p><strong>13 – Release 303 books on bookcrossing.com</strong><br />
Tasked my long suffering mother with labeling them all, need to teach her how to register them then release them. Still need to sort out the <a href="http://www.bookcrossing.com/zones/promote">Crossing Zone</a> in Liverpool too.</p>
<p><strong>48 – Create a <a href="http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/">backblaze storage pod</a></strong><br />
They are <a href="http://ukblazers.com/2010/06/08/updated-pod-design-sent-to-be-fabbed/">getting made soon</a>, due on the 28th</p>
<p><strong>The Bad:-</strong><br />
<strong>5 – Lose 2 stone</strong><br />
Got half way Jan/Feb, might have taken a step back living away again&#8230; Correctable though!</p>
<p><strong>19 – Blog on average once a week</strong><br />
Way off, need to blog furiously to catch up.</p>
<p><strong>The Almost Had:-</strong><br />
<strong>22 – Spend 3 months in another country</strong><br />
Spent two in Holland (Den Haag / The Hague) working for ING. </p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/07/20/day-200-of-the-101-goals-in-1001-days/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/07/20/day-200-of-the-101-goals-in-1001-days/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am alive</title>
		<link>http://www.thattommyhall.com/2010/07/16/i-am-alive/</link>
		<comments>http://www.thattommyhall.com/2010/07/16/i-am-alive/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 12:48:58 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=206</guid>
		<description><![CDATA[Well, it has been an interesting few months, in brief: Went to Libya to work for a big telco Went to Oklahoma for a mates wedding then drove 2000 miles (or rather, made my girlfriend drive 2000 miles as I lost my driving licence&#8230;), visited 5 states and two national parks to see ancestral pueblo [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it has been an interesting few months, in brief:</p>
<ul>
<li>Went to Libya to work for a big telco</li>
<li>Went to Oklahoma for a mates wedding then drove 2000 miles (or rather, made my girlfriend drive 2000 miles as I lost my driving licence&#8230;), visited 5 states and two national parks to see <a href="http://en.wikipedia.org/wiki/Ancient_Pueblo_Peoples">ancestral pueblo people</a> sites</li>
<li>Moved to Den Haag (The Hague) for 2 months to work on INGs Next-Gen data center</li>
<li>About to move to Camden for the next bit of work</li>
</ul>
<p>Not much movement on 101 goals, planned Egypt in October and <a href="http://en.wikipedia.org/wiki/Via_ferrata">Via Ferrata</a> next week. Behind on learning goals though have done half of <a href="http://mitpress.mit.edu/sicp/">SICP </a> in one mind bending train journey!</p>
<p>I kind of feel my life has been on hold the last 6 weeks I have been in Holland and am really looking forward to being back in the UK (though perhaps could have done with more of a break in between)</p>
<p>Expect more jollys to get planned before the end of the year (VMworld, Citrix Synergy, War Horse, Japan and Edinburgh all sounding fun at the moment), perhaps I&#8217;ll find time to blog about some of the cool shit at the NGDC and my US trip.</p>
<p>Tom</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/07/16/i-am-alive/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/07/16/i-am-alive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>101 Goals &#8211; 100 Day Update</title>
		<link>http://www.thattommyhall.com/2010/04/15/101-goals-100-day-update/</link>
		<comments>http://www.thattommyhall.com/2010/04/15/101-goals-100-day-update/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:41:01 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=199</guid>
		<description><![CDATA[It&#8217;s a bit late but I have just gone through and numbered my 101 goals in 1001 days. As per meta-goal 101, here are success criteria for each. Health 1 &#8211; Teetotalitarianism for 3 months Don&#8217;t drink for 3 months COMPLETED (Jan, Feb, March &#8211; cheated a bit and drank while out of the country. [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s a bit late but I have just gone through and numbered my 101 goals in 1001 days. As per meta-goal 101, here are success criteria for each.</p>
<p><strong>Health</strong><br />
1 &#8211; Teetotalitarianism for 3 months<br />
Don&#8217;t drink for 3 months<br />
COMPLETED (Jan, Feb, March &#8211; cheated a bit and drank while out of the country. They are my goals though so my rules <img src='http://www.thattommyhall.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  )</p>
<p>2 &#8211; Cheeseless for 3 month<br />
No cheese for 3 months<br />
COMPLETED (Jan, Feb, March)</p>
<p>3 &#8211; Do a marathon</p>
<p>4 &#8211; Do a triathlon</p>
<p>5 &#8211; Lose 2 stone<br />
In progress, lost 1st during teetotalitarianism</p>
<p>6 &#8211; Attend martial arts classes for 3 months</p>
<p><strong>Literature</strong><br />
7 &#8211; Write an artice for <a href="http://plus.maths.org/competition/">Plus new writers</a></p>
<p>8 &#8211; Read all the <a href="http://www.veryshortintroductions.co.uk/flash.php">VSIs</a><br />
A wonderful series from Oxford University Press, introductions to many different topics. There are ~200 so I need to read one every five days or so, I am a bit behind at the moment</p>
<p>9 &#8211; Read <a href="http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach">Godel Escher Bach</a><br />
I&#8217;ve started it 3 times but never got to the end, read I am a strange loop recently and made me want to return to this intellectual tour de force and finish it..</p>
<p>10 &#8211; Write book reviews for each book I read<br />
Up to date so far.</p>
<p>11 &#8211; Reread all Dennett books<br />
&#8220;all&#8221; = the trilogy of Darwins Dangerous Idea, Conciousness Explained and Freedom Evolves<br />
Just finished Freedom Evolves, reviewed DDI <a href="http://www.thattommyhall.com/2010/02/14/darwinsdangerousidea/">here</a>.</p>
<p>12 &#8211; Read all PG Wodehouse<br />
There are ~100, so need to do 1 every 10 days or so, a bit behind at the moment.</p>
<p>13 &#8211; Release 303 books on bookcrossing.com<br />
Started, may also have started a crossing zone in Liverpool</p>
<p>14 &#8211; Read a short story for <a href="http://librivox.org/">librivox</a></p>
<p>15 &#8211; <a href="http://www.pgdp.net/c/">Proofread</a> for Project Guttenburg<br />
COMPLETED</p>
<p>16 &#8211; Send Dan Dennett a letter<br />
17 &#8211; Send Richard Dawkins a letter<br />
Both among my favourite authors and really shaped my view on the world. I want to write them a letter of thanks.</p>
<p>18 &#8211; Read epic literature<br />
Not decided on the exact list yet. </p>
<p><strong>Personal 	</strong><br />
19 &#8211; Blog on average once a week<br />
On track</p>
<p>20 &#8211; Organise a big bash for my 30th<br />
Going to be called TomFest, should be a good buzz.</p>
<p>21 &#8211; Read GTD<br />
Need to get organised at some point, maybe this will help</p>
<p>22 &#8211; Spend 3 months in another country</p>
<p>23 &#8211; Organise all my DVDs</p>
<p><strong>Jolly</strong><br />
24 &#8211; Swim with sharks</p>
<p>25 &#8211; Paraglide</p>
<p>26 &#8211; Scuba</p>
<p>27 &#8211; Skydive</p>
<p>28 &#8211; Drive Offroad</p>
<p>29 &#8211; Do a banger rally<br />
Something like <a href="http://split.ramshacklerally.com/route_split_overview">this</a></p>
<p>30 &#8211; Have a track day</p>
<p>31 &#8211; Hire the whole of Salvos Salumeria for an evening</p>
<p>32 &#8211; Bungee Jump</p>
<p>33 &#8211; Safari</p>
<p>34 &#8211; Vinyard tour</p>
<p>35 &#8211; Visit 5 Michelin 3* restaurants </p>
<p>36 &#8211; See Northern Lights</p>
<p>37 &#8211; Visit porto</p>
<p>38 &#8211; Take dad to an opera</p>
<p>39 &#8211; Take Mum, Dad and Carrie to the <a href="http://www.welshmountainzoo.org/zoo/eng/home.html">Welsh Mountain Zoo</a></p>
<p>40 &#8211; Do 1000 things in London<br />
This may get dropped but I want to program all the items in the <a href="http://shop.timeout.com/london-guides/1000-things-to-do-in-london.html">1000 things to do in London</a> book into a scheduling program and try and do them in as little time as possible (will need a fair bit of cash but I recon it would be a great adventure). Ill publish the itinery online and my location in realtime and give myself over to the route finding algorithm for as long as it takes.</p>
<p>41 &#8211; Do a standup comedy course</p>
<p>42 &#8211; Visit Japan</p>
<p><strong>Work</strong><br />
43 &#8211; Get CCEE</p>
<p>44 &#8211; Get CCNP</p>
<p>45 &#8211; Get MCITP &#8211; Enterprise Admin</p>
<p>46 &#8211; Get VCDX</p>
<p>47 &#8211; Say to a recruiter &#8220;I dont work MonthName&#8221; and turn down work<br />
Nearly did this in March but did a week in Dubai.</p>
<p>48 &#8211; Create a Backblaze storage pod<br />
Work progressing nicely at <a href="http://ukblazers.com">UKblazers</a></p>
<p>49 &#8211; Work only 100 days in a year<br />
Ambitious but worth a try, fits well with the goal of staying in another country for 3 months.</p>
<p>50 &#8211; Move 10 people to FreeAgent<br />
My accountancy software, really good. Got 3 people on their at the moment.</p>
<p>51 &#8211; Investigate Visa situation for Australia<br />
52 &#8211; Investigate Visa situation for US<br />
Would be nice to work in Aus or the US, need to see what the situation is like for contractors from the UK.</p>
<p><strong>Crafty</strong><br />
53 &#8211; Make Jam<br />
COMPLETED (well I did Lemon Curd)</p>
<p>54 &#8211; Grow mushrooms</p>
<p>55 &#8211; Paint a water colour </p>
<p>56 &#8211; Make beer</p>
<p>57 &#8211; Make wine</p>
<p>58 &#8211; Cook a 4 course meal for 20 friends</p>
<p>59 &#8211; Do a photography course</p>
<p><strong>Outdoors</strong><br />
60 &#8211; Hike on average once a month<br />
Behind as I twisted my ankle in the Czech Republic, have trips planned for may, june, july</p>
<p>61 &#8211; Do a <a href="http://www.ldwa.org.uk/ldp/public/ldp_public_home.php">UK long distance path </a></p>
<p>62 &#8211; Do a big hike in Europe</p>
<p>63 &#8211; Attend <a href="http://deeptijhangiani.blogspot.com/2007/05/nehru-institute-of-mountaineering.html">Nehru Institute of Mountaineering</a><br />
This is the course I had to retreat from last year as I was not fit enough.</p>
<p>64 &#8211; Climb a <a href="http://7summits.com/">continental highest mountain</a><br />
Prob means <a href="http://7summits.com/aconcagua/aconcagua.php">Aconcagua</a> or <a href="http://7summits.com/kilimanjaro/kilimanjaro.php">Kilimanjaro</a></p>
<p>65 &#8211; Volunteer for the <a href="http://www.mountainbothies.org.uk/">Mountain Bothies Association </a><br />
Great society maintaining free shelters in Scotland</p>
<p>66 &#8211; <a href="http://en.wikipedia.org/wiki/Via_ferrata">Via Ferrata</a>in Italy<br />
Went last year but want to go again.</p>
<p>67 &#8211; Do another alpine 4000m peak<br />
Did <a href="http://en.wikipedia.org/wiki/Allalinhorn">Allalinhorn</a> a few years ago. I think I have it in me to do another.</p>
<p><strong>Learning</strong><br />
68 &#8211; Complete Pimsleur Spanish<br />
Was going to put &#8220;Learn Spanish&#8221; but wanted it to be less vague. There are 90 parts and I&#8217;m at 15 now.</p>
<p>69 &#8211; Learn to dance<br />
Hehe. Not sure what style I&#8217;m going to attempt to learn, fairly sure I&#8217;ll never be great at it but it might be fun to try.</p>
<p>70 &#8211; Learn to play golf</p>
<p>71 &#8211; Learn 10 magic tricks</p>
<p>72 &#8211; Read &#8220;<a href="http://books.google.com/books?id=V3IrGIxRRWwC&#038;printsec=frontcover&#038;dq=winning+ways+for+your+mathematical+plays&#038;source=bl&#038;ots=msPmg1fzuc&#038;sig=mRlg68ngQRsdsHPRhup7pB4AEIM&#038;hl=en&#038;ei=TGvHS--2OJ720wT_8cjHDA&#038;sa=X&#038;oi=book_result&#038;ct=result&#038;resnum=1&#038;ved=0CAgQ6AEwAA#v=onepage&#038;q&#038;f=false">Winning Ways</a>&#8221;<br />
A wonderful book on Game Theory in 4 volumes.</p>
<p><strong>Programming</strong><br />
73 &#8211; Make a Dots and Boxes program<br />
A university friend made a program to play the game and won a computer Olympiad with it, I&#8217;d like to get something together myself</p>
<p>74 &#8211; Read <a href="http://aima.cs.berkeley.edu/">AI: A Modern Approach</a><br />
3rd Edition of the leading AI text.</p>
<p>75 &#8211; Watch <a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/">SICP</a>, do exercises from book<br />
Famous course, until very recently MITs into to programming, uses the scheme dialect of LISP</p>
<p>76 &#8211; Do on average 1 <a href="http://projecteuler.net/">Project Euler</a> problem per week<br />
I am behind with this but should be able to catch up.</p>
<p>77 &#8211; Complete &#8220;<a href="http://www.realworldhaskell.org/blog/">Real World Haskell</a>&#8221;</p>
<p>78 &#8211; Learn to use <a href="http://en.wikipedia.org/wiki/Emacs">Emacs</a></p>
<p><strong>Charity</strong><br />
79 &#8211; Raise £5005 for charity </p>
<p>80 &#8211; Talk about <a href="http://www.fsf.org/">Free Software</a> at a school</p>
<p><strong>Culture</strong><br />
81 &#8211; Watch all <a href="http://www.teach12.com/storex/coursesdetail.aspx?s=801&#038;ps=904&#038;sn=Art%20History">TTC Art history</a> DVDs<br />
11 of them, easily done.</p>
<p>82 &#8211; Visit Egypt</p>
<p>83 &#8211; Revisit <a href="http://www.louvre.fr/llv/commun/home.jsp?bmLocale=en">Louvre</a></p>
<p>84 &#8211; Revisit <a href="http://www.metmuseum.org/">Met Museum</a> in New York</p>
<p>85 &#8211; Visit <a href="http://en.wikipedia.org/wiki/Pergamon_Museum">Pergamon Museum</a> in Berlin<br />
I am really excited about the <a href="http://en.wikipedia.org/wiki/Ishtar_Gate">Ishtar Gate</a></p>
<p>86 &#8211; Give Carrie a British Museum Tour<br />
COMPLETED</p>
<p>87 &#8211; Go on wine tasting course</p>
<p>88 &#8211; Go to the theatre on average once a month<br />
Well and truely on track, watching 2 things this week alone.</p>
<p>89 &#8211; See a whole run at the <a href="http://www.theatrebythelake.co.uk/">theatre by the lake</a></p>
<p>90 &#8211; See all world heritage sites in the UK<br />
<a href="http://whc.unesco.org/en/statesparties/gb">There are 28</a>, so about 1 per month.</p>
<p>91 &#8211; Memorise 10 poems<br />
Ive not selected the 10 yet but will probably include:<br />
* <a href="http://en.wikipedia.org/wiki/On_First_Looking_into_Chapman%27s_Homer">On First Looking into Chapman&#8217;s Homer</a><br />
* <a href="http://www76.pair.com/keithlim/jabberwocky/poem/index.html">Jabberwocky</a><br />
* <a href="http://www.cummingsstudyguides.net/Guides5/SheWalks.html">She Walks in Beauty</a><br />
*   <a href="http://www.rossettiarchive.org/docs/1-1870.1stedn.rad.html#p217">Inclusiveness</a><br />
*  <a href="http://quotations.about.com/cs/poemlyrics/a/Stopping_ByWood.htm">Stopping by Woods on a Snowy Evening </a><br />
* <a href="http://www.writing.upenn.edu/~afilreis/88v/ifitoldnew.html">If I Told Him: A Completed Portrait of Picasso</a><br />
* <a href="http://www.houseofusher.net/raven.html">The Raven</a><br />
* <a href="http://www.online-literature.com/coleridge/646/">The Rime of the Ancient Mariner</a></p>
<p>92 &#8211; Read &#8220;<a href="http://www.nytimes.com/2006/08/21/books/21laro.html">The Ode Less Travelled</a>&#8220;, do the exercises (but not share them!)<br />
A fun intro to poetry that does not hide the jargon, I blogged about it a while a go but got distracted and never finished the book or did the exercises. I promise not to share any of the poems I write!</p>
<p>93 &#8211; Go to <a href="http://www.comedyfestival.com.au/2010/season/">Melbourne Comedy Festival</a></p>
<p>94 &#8211; Go to <a href="http://www.eif.co.uk/">Edinburgh festival</a></p>
<p><strong>Wealth</strong><br />
95 &#8211; Pay off all credit cards<br />
On track to be debt free at day 1001</p>
<p>96 &#8211; Let loans run course and dont get any more<br />
Done</p>
<p><strong>Metagoals</strong><br />
97 &#8211; Be 1/3 through in 2010<br />
A bit behind.</p>
<p>98 &#8211; Have done 2/3 by day 666</p>
<p>99 &#8211; Have a completion party</p>
<p>100 &#8211; Set success criteria / progression metrics for each goal<br />
COMPLETED</p>
<p>101 &#8211; Do 100 day updates<br />
This is the first!</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/04/15/101-goals-100-day-update/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/04/15/101-goals-100-day-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Making Lemon Curd</title>
		<link>http://www.thattommyhall.com/2010/04/15/making-lemon-curd/</link>
		<comments>http://www.thattommyhall.com/2010/04/15/making-lemon-curd/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 16:09:27 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[cooking]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=189</guid>
		<description><![CDATA[I was just over at a good friends in Leeds and mentioned my 101 goals and needing to tick some off and if he could help me make some jam sometime. We got straight down to making lemon curd (not a jam, but my goals &#8211; my rules) and it was seriously yummer, recipe below. [...]]]></description>
			<content:encoded><![CDATA[<p>I was just over at a good friends in Leeds and mentioned my 101 goals and needing to tick some off and if he could help me make some jam sometime. </p>
<p>We got straight down to making lemon curd (not a jam, but my goals &#8211; my rules) and it was seriously yummer, recipe below.</p>
<p><strong>Lemon Curd</strong></p>
<p><em>4 medium-sized lemons<br />
100g (4oz) butter<br />
1/2kg (1lb) sugar<br />
4 beaten eggs<br />
</em></p>
<ul>
<li>Scrub Lemons, grate rinds, squeeze out juice
</li>
<li>Place juice and rind in double saucepan over low heat and slowly add sugar and butter.</li>
<li>Cook, stirring, until all the butter and sugar melt</li>
<li>Add eggs and cook, stirring, untill the curd is thick enough to coat a spoon.</li>
<li>Pour into small jars and seal with waxed disks or paraffin wax.</li>
<li>Cover and store in cupboard for one month, fridge for 3 months, freezer for 9 months.</li>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/04/15/making-lemon-curd/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/04/15/making-lemon-curd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theatre Fun</title>
		<link>http://www.thattommyhall.com/2010/03/23/theatre-fun/</link>
		<comments>http://www.thattommyhall.com/2010/03/23/theatre-fun/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 14:25:04 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=176</guid>
		<description><![CDATA[I saw The 39 Steps at the Criterion Theatre on Saturday. It is an interesting little theatre underground in Picadilly Circus with quite a history The show itself was great, really playful with the staging and the 4th wall. They used Shadow Play for the mountaintop chase and biplane crash, lots of funny scene changes [...]]]></description>
			<content:encoded><![CDATA[<p>I saw <a href="http://www.love39steps.com/">The 39 Steps</a> at the Criterion Theatre on Saturday. It is an interesting little theatre underground in Picadilly Circus with <a href="http://www.criterion-theatre.com/about.html">quite a history</a></p>
<p>The show itself was great, really playful with the staging and the 4th wall. They used Shadow Play for the mountaintop chase and biplane crash, lots of funny scene changes and played with theatrical conventions (though at times it was a bit slapstick). A weak point were a few references to other Hitchcock movies (though I loved the cameo as that was much more subtle)</p>
<p>I remember that I meant to blog a while ago about the best bit of theatre I&#8217;ve seen in a while, an adaptation of my favourite PG Wodehouse book, Summer Lightning. It was at the <a href="http://www.theatrebythelake.co.uk/wh atson.asp">Theatre By The Lake</a> in Keswick and was absolutely amazing, they are a really superb regional theatre and I hope to see a whole run by them as one of my 101 goals in 1001 days.</p>
<p>I also went to see <a href="http://www.telegraph.co.uk/culture/theatre/theatre-reviews/7027521/The-Caretaker-at-the-Trafalgar-Studios-review.html">The Caretaker</a> recently at Trafalgar Studios, a strangly cosy venue for Pinter. It started in Liverpool at the Everyman and I was sad to have missed it but they seem to have maintained momentum with it, Jonathan Pryce is really excellent and well supported by a great cast.</p>
<p>I did catch the recent <a href="http://www.theartsdesk.com/index.php?option=com_k2&#038;view=item&#038;id=787:tom-paulin-on-translating-medea&#038;Itemid=25">translation of Medea by Tom Paulin </a> in Liverpool. I love the Northern Broadsides, they are among the best Shakespeare I have seen when they did the Wars of the Roses a few years ago so it was good to see them do something else.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/03/23/theatre-fun/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/03/23/theatre-fun/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shiny New Aspire Revo Media Centre</title>
		<link>http://www.thattommyhall.com/2010/03/16/aspire-revo-media-centre/</link>
		<comments>http://www.thattommyhall.com/2010/03/16/aspire-revo-media-centre/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 19:12:01 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[HTPC]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=165</guid>
		<description><![CDATA[I have just got around to setting up my new Aspire Revo R3600 NVidia ION based media centre PC. Why the Revo? The NVidia ION GPU is quite compelling, HDMI out and good (though non-free) drivers in Linux. The only downside is that it does not have an optical device, you may want the Asrock [...]]]></description>
			<content:encoded><![CDATA[<p>I have just got around to setting up my new <a href="http://www.acer.co.uk/acer/productv.do?LanguageISOCtxParam=en&#038;kcond61e.c2att101=61300&#038;sp=page16e&#038;ctx2.c2att1=17&#038;link=ln438e&#038;CountryISOCtxParam=UK&#038;ctx1g.c2att92=242&#038;ctx1.att21k=1&#038;CRC=1141311666">Aspire Revo R3600</a> NVidia ION based media centre PC.</p>
<p><strong>Why the Revo?</strong><br />
The NVidia ION GPU is quite compelling, HDMI out and good (though non-free) drivers in Linux. The only downside is that it does not have an optical device, you may want the <a href="http://www.asrock.com/nettop/overview.asp?Model=ION%20330">Asrock ION 330 </a> instead (I plan on getting a PS3 anyway)</p>
<p><strong>Install Ubuntu</strong><br />
I went for Ubuntu Netbook Remix, installed from USB using the USB Startup Disk Creator. In advanced settings in the BIOS, switch off the annoying RevoBoot nonsense.</p>
<p><strong>Correcting TV overscan</strong><br />
My TV did not accept the default HDMI out as it cut off the edges of the screen due to Overscan. Some TVs seem to be able to control if they do this for HDMI input (which is ideal and is outlined <a href="http://forums.whirlpool.net.au/forum-replies-archive.cfm/1113758.html">here</a> for a newer Sony TV)</p>
<p>In order to do it for mine I needed to update the drivers from NVidia and apply the following fix on startup (94 works for my Sony TV, you can retrieve it from the nvidia-settings app)</p>
<pre class="brush: plain;">
nvidia-settings -a OverscanCompensation[DFP-0]=94
</pre>
<p><strong>Tweaking GStreamer Buffers</strong><br />
Run gconf-editor and set apps/totem/buffer-size<br />
(I did 30s from the default of 3)</p>
<p><strong>Add Medibuntu Repositories</strong><br />
See <a href="https://help.ubuntu.com/community/Medibuntu">here</a> for how (I install all the codecs)</p>
<p><strong>Setting up pulseaudio</strong><br />
In Sound Preferences, in Hardware set the profile to &#8220;Digital Stereo (HDMI) Output&#8221;<br />
To allow using the media PC as a remote sink you need to install prereqs on source and target PCs</p>
<pre class="brush: plain;">
sudo apt-get install padevchooser pulseaudio-module-zeroconf
</pre>
<p>Set output sink to be the media PC (called &#8220;media&#8221; in my case) and test<br />
<a href="http://www.thattommyhall.com/wp-content/uploads/2010/03/Screenshot.png"><img src="http://www.thattommyhall.com/wp-content/uploads/2010/03/Screenshot-300x89.png" alt="" title="Screenshot" width="300" height="89" class="aligncenter size-medium wp-image-170" /></a><br />
It is a bit choppy sometimes, I&#8217;m looking at it still&#8230;<br />
<strong>Install XBMC</strong><br />
This used to be the XboxMediaCentre and has been jazzed up and ported to Linux/Windows, see <a href="http://www.google.co.uk/url?sa=t&#038;source=web&#038;ct=res&#038;cd=4&#038;ved=0CB0QFjAD&#038;url=http%3A%2F%2Fwiki.xbmc.org%2Findex.php%3Ftitle%3DHOW-TO_install_XBMC_for_Linux_on_Ubuntu%2C_a_Step-by-Step_Guide&#038;ei=huOfS6H2HIi6jAeP7oXlDQ&#038;usg=AFQjCNG4M_E5DuOKe47UQ2XVeE1PTXdMHg&#038;sig2=MB1z10Dgxi1BlkECe621Mg">here</a> for how to install from the Ubuntu 9.10 PPA archive (site down, see <a href="http://www.google.co.uk/url?sa=t&#038;source=web&#038;ct=clnk&#038;cd=4&#038;ved=undefined&#038;url=http%3A%2F%2F209.85.229.132%2Fsearch%3Fq%3Dcache%3A2kkpj-i0InEJ%3Awiki.xbmc.org%2Findex.php%253Ftitle%253DHOW-TO_install_XBMC_for_Linux_on_Ubuntu%2C_a_Step-by-Step_Guide%2Bxbmc%2Bppa%26cd%3D4%26hl%3Den%26ct%3Dclnk%26gl%3Duk%26client%3Dfirefox-a&#038;ei=huOfS6H2HIi6jAeP7oXlDQ&#038;usg=AFQjCNH5j9jhLy2l4tvza5X1o2cibtQgig&#038;sig2=BOnBFZOnuJSOM5CS1lOgHw">cache</a> for now)</p>
<p><strong>Next?</strong><br />
Will be getting a surround sound system with a HDMI switch built in and some DLNA/UPnP speakers for around the flat.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/03/16/aspire-revo-media-centre/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/03/16/aspire-revo-media-centre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How many IOPS can a single disk provide?</title>
		<link>http://www.thattommyhall.com/2010/02/15/iops/</link>
		<comments>http://www.thattommyhall.com/2010/02/15/iops/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 18:34:55 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[VMware]]></category>
		<category><![CDATA[rant]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=140</guid>
		<description><![CDATA[[edit] I wish I could retract that comment about adding:- at the point the seek is done, you need to wait for the platter to spin into place, on average half a turn (the latency time). They do therefore happen in sequence! (If it was not for those pesky disks always spinning, I&#8217;d have been [...]]]></description>
			<content:encoded><![CDATA[<p>[edit]<br />
I wish I could retract that comment about adding:- at the point the seek is done, you need to wait for the platter to spin into place, on average half a turn (the latency time). They do therefore happen in sequence! (If it was not for those pesky disks always spinning, I&#8217;d have been right!). Lesson learned: don&#8217;t let intuition lead you astray, don&#8217;t blog in haste, and realise that sometimes oft repeated advice is true. I am keeping the post up out of intellectual honesty, but will be blogging furiously to get it off the front page.<br />
[/edit]</p>
<p>I have just read an article on roughly how many IOPs you can expect from a single disk and encountered what I consider to be a frequently repeated mistake in the calculation.</p>
<p>Before I begin I want to point out that it is only an approximation anyway and caching in enterprise storage systems makes it perhaps a moot point anyway.</p>
<p>The article is <a href="http://blogs.techrepublic.com.com/datacenter/?p=2182&#038;tag=nl.e040">here </a> if you want to go and see it.<br />
<span id="more-140"></span><br />
He says there are 3 factors that influence the number of random IOPS you can do with one disk (the assumption throughout is that these are random)</p>
<li>Rotational speed</li>
<li>Average latency</li>
<li>Average seek time</li>
<p>and I agree, but would like to point out that 1 and 2 are related: </p>
<p>Average latency = how long 1/2 a turn takes</p>
<p><strong>So, a 15000 RPM disk:</strong></p>
<li>Turns 15000/60 = 250 times a second</li>
<li>One turn takes 1000/250 = 4ms</li>
<li>1/2 a turn takes 2ms (your average latency)<br />
And lets say for arguments sake your seek time is 5ms<br />
<P><br />
<strong>How do you work out IOPS (IO operations per second)?</strong><br />
There are 1000ms in a second so<br />
<center><img src="http://www.codecogs.com/eq.latex?IOPS = \frac{1000}{t}" alt="" /></center><br />
where t is the average time taken to do an IO operation.</p>
<p>For example:<br />
If the average IO takes 5ms, you would have 200 IOPS as you could do 200 of them in 1 sec (200&#215;5=1000)</p>
<p><em>EVERYONE AGREES UP TO HERE</em><br />
<strong><br />
What is more important, latency or seek time?</strong><br />
Well you have to do both, wait for the disk to spin into position and move the head. These two things are in parallel and both need to happen so I would say your average IO takes the worst of the two, ie<br />
<code>t = max{seek time,average latency}</code><br />
I have seen people say that<br />
<code>t = seek time</code><br />
Which matches my thoughts with all disks I have ever seen</p>
<p>Or that<br />
<code>t = latency</code><br />
as a max, as you can get heads to match any latency you like, but it is expensive. (Jeff Bonwick says so <a href="http://blogs.smugmug.com/don/2007/10/08/hdd-iops-limiting-factor-seek-or-rpm/">here</a> )</p>
<p>The thing that I hate seeing is:<br />
<code>t = latency + seek time</code><br />
By adding those two times together you are saying that your average IO time is the time it takes to do both bits added together. The only physical interpretation of this is that they happen one after the other with no overlap, which is clearly not true.</p>
<p>This fallacy is made explicit <a href="http://blogs.zdnet.com/Ou/?p=322">here on ZDnet</a></p>
<blockquote><p>Since the overall access time is determined by the sum of the average rotational latency (2ms) and the average seek time (3.7ms), this high-end 15000 RPM hard drive has an average access time of 5.7 milliseconds.</p></blockquote>
<p>Why the sum?</p>
<p>It comes up unchallenged in Duncans otherwise excellent article about the <a href="http://www.yellow-bricks.com/2009/12/23/iops/">RAID IOPS penalty</a> (interestingly he references the same article, saying</p>
<blockquote><p>In short; It is based on “average seek time” and the half of the time a single rotation takes. These two values added up result in the time an average IO takes.</p></blockquote>
<p>Again, why the sum?</p>
<p>I think it does not really make all that much difference, so long as you have a rule of thumb for roughly how many IOPS a disk has and understand how the way you combine them in RAID impacts it.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/02/15/iops/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/02/15/iops/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dan Dennett &#8211; Darwin&#8217;s Dangerous Idea</title>
		<link>http://www.thattommyhall.com/2010/02/14/darwinsdangerousidea/</link>
		<comments>http://www.thattommyhall.com/2010/02/14/darwinsdangerousidea/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 20:24:23 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[BookReview]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=133</guid>
		<description><![CDATA[I&#8217;ve just uploaded this to bookcrossing.com , if you want it &#8211; get in touch. I said I would start to do brief reviews for all the books I read (especially as I intend to release most of them on bookcrossing) so here is this one (also on goodreads.com) Dan Dennett is one author who [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just uploaded this to <a href="http://www.bookcrossing.com/journal/7806296">bookcrossing.com</a> , if you want it &#8211; get in touch.<br />
I said I would start to do brief reviews for all the books I read (especially as I intend to release most of them on bookcrossing) so here is this one (also on <a href="http://www.goodreads.com/review/list/182456-tom?page=1">goodreads.com</a>)</p>
<p>Dan Dennett is one author who has genuinely changed my view of the word. Till I read a wonderful short piece by him called &#8220;<a href="http://www.newbanner.com/SecHumSCM/WhereAmI.html">Where am I?</a>&#8221; I had written off philosophy and took the view &#8220;if you want to know how the mind works, ask a neuroscientist&#8221;. Dan is remarkably lucid on philosophy of mind, free will and evolution. He is both an &#8220;intellectual plumber&#8221; &#8211;doing that work that the best philosophers do, patching leaks in peoples thinking&#8211; and a great communicator &#8211; understanding, consolidating and enthusiastically passing on knowledge in a field not his main expertise (not that you would notice without him owning up frequently).</p>
<p>This is the second in a sequence: Consciousness Explained, Darwins Dangerous Idea and Freedom Evolves. These, along with his earlier works Elbow Room and The Intentional Stance are a superbly compelling explanation of how we come to have free will without any mysterian views about how special consciousness in the species Homo Sapien Sapien must be and accepting that we live in a deterministic universe.</p>
<p>This book in particular is a very good survey of modern evolutionary theory, not the ideal first book but great if you are familiar with the topic. He is a believer in the neo-darwinian synthesis perhaps best espoused by Richard Dawkins. He takes as his central metaphor the difference between cranes (just doing some lifting obeying the laws of physics, however complex they are) and sky hooks (magical lifting devices that do not permit/require explanation). Along the way he rebuts Stephen Jay Gould&#8217;s attempts to cast himself as the leader of some revolution or other in biology, Roger Penroses misuse of Godels theorem to link two mysteries together (quantum indeterminacy and consciousness) and does a defence of a meme-based approach to culture. All in all a superb, if somewhat challenging, book.</p>
<p>As an aside, one of the really great things about Dennett is the range and number of citations. He must read nearly all of the relevant literature and makes wonderful use of literary and philosophical references as well &#8211; it was a Dennett reference that first brought Jorge Luis Borges to my attention and encouraged me to learn more about David Hume.</p>
<p>A superb book, I recommend it for all with some familiarity with the theory of evolution in it&#8217;s modern form who are ready to explore some of its subtleties and prepare themselves for Freedom Evolves.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/02/14/darwinsdangerousidea/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/02/14/darwinsdangerousidea/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New Site Launched &#8211; UKblazers</title>
		<link>http://www.thattommyhall.com/2010/02/09/new-site-launchedt/</link>
		<comments>http://www.thattommyhall.com/2010/02/09/new-site-launchedt/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 22:50:59 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[BackBlazePod]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=130</guid>
		<description><![CDATA[Well, I went and launched a site to get some ideas down for getting some Backblaze Storage Pods in the EU and what to do in the software stack to get robust file and block level storage ontop of those bricks. It is over at http://ukblazers.com, a blog and a wiki. Someone else had started [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I went and launched a site to get some ideas down for getting some Backblaze Storage Pods in the EU and what to do in the software stack to get robust file and block level storage ontop of those bricks.</p>
<p>It is over at <a href="http://ukblazers.com">http://ukblazers.com</a>, a blog and a wiki. </p>
<p>Someone else had started around the same time so there is a <a href="http://groups.google.com/group/openstoragepod">discussion group</a> for people interested in taking the design forward. My priority at the moment is to test the port multipliers in FreeBSD and OpenSolaris, get solid pricing for the case and get a consortium of serious people to make a purchase of them in bulk.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/02/09/new-site-launchedt/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/02/09/new-site-launchedt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cultural Adventures</title>
		<link>http://www.thattommyhall.com/2010/01/22/cultral-adventures/</link>
		<comments>http://www.thattommyhall.com/2010/01/22/cultral-adventures/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 13:14:44 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[jolly]]></category>
		<category><![CDATA[museum]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=123</guid>
		<description><![CDATA[The last two weekends I have traveled across to London from Faversham to see friends and visit a few museums. During the weekend of 9/10th I met up with my sister in the British Museum and showed her around (one of my 101 goals ticked off in the process). I was very pleased to finally [...]]]></description>
			<content:encoded><![CDATA[<p>The last two weekends I have traveled across to London from Faversham to see friends and visit a few museums.</p>
<p>During the weekend of 9/10th I met up with my sister in the British Museum and showed her around (one of my 101 goals ticked off in the process). I was very pleased to finally see the <a href="http://www.britishmuseum.org/explore/highlights/highlight_objects/me/t/the_flood_tablet.aspx">flood tablets</a> I had read about a lot (in brief &#8211; a pre-biblical flood narrative dating back to Sumeria that is part of the epic of Gilgamesh that the Genesis writers seem to have borrowed from). Also mid last year a metal-detectorist found the largest hoard of Anglo-Saxon gold ever found, it has been named &#8220;<a href="http://www.staffordshirehoard.org.uk/">The Staffordshire Horde</a>&#8221; and is on display there while they catalog it. </p>
<p>On the Sunday we went to the National Gallery and saw <a href="http://www.nationalgallery.org.uk/whats-on/exhibitions/the-sacred-made-real">The Sacred Made Real</a> a wonderful display of Spanish polychromatic wooden sculpture. It is the best exhibit I have seen in ages and finishes this weekend, go and see it if you can. It is interesting to see sculpture in colour as we are so used to classical and neo-classical sculpture being the very austere white. Interestingly greco-roman sculpture would originally have been painted anyway so the neo-classicists were harking back to something that never really existed. </p>
<p>The next weekend I stayed in Richmond for a friends birthday and we popped to the V&#038;A on saturday and well just wow. I only spent an hour there but it is amazing that London has (at least) 3 really world class museums, it is on par with the British Museum and the Metropolitan Museum Of Art &#8211; really fabulous, I will return soon.</p>
<p>On the Sunday I went and looked at the <a href="http://www.npg.org.uk:8080/beatles/exhib.htm">Beatles to Bowie</a> exhibition of 60&#8242;s photography, which was pretty good, then returned to Faversham.</p>
<p>All in all good fun in the greatest city in the world.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/01/22/cultral-adventures/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/01/22/cultral-adventures/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building A Backblaze Storage Pod</title>
		<link>http://www.thattommyhall.com/2010/01/05/building-a-backblaze-storage-pod/</link>
		<comments>http://www.thattommyhall.com/2010/01/05/building-a-backblaze-storage-pod/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 12:41:38 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[BackBlazePod]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=107</guid>
		<description><![CDATA[[edit]I have since set up a separate site as I have found a company in the UK to fabricate the cases and will be trialing different software stacks on top, please check out UKblazers[/edit] A while ago I saw the Backblaze storage pod and was impressed. Like many others I thought: I want one Wouldn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>[edit]I have since set up a separate site as I have found a company in the UK to fabricate the cases and will be trialing different software stacks on top, please check out <a href="http://ukblazers.com">UKblazers</a>[/edit]</p>
<p>A while ago I saw the <a href="http://blog.backblaze.com/2009/09/01/petabytes-on-a-budget-how-to-build-cheap-cloud-storage/" target="_blank">Backblaze storage pod</a> and was impressed.</p>
<p><a href="http://www.thattommyhall.com/wp-content/uploads/2010/01/pod.jpg"><img class="alignnone size-medium wp-image-113" title="pod" src="http://www.thattommyhall.com/wp-content/uploads/2010/01/pod-300x221.jpg" alt="" width="300" height="221" /></a></p>
<p>Like many others I thought:</p>
<ul>
<li>I want one</li>
<li>Wouldn&#8217;t it work great with ZFS</li>
<li>The hardware sucks</li>
</ul>
<h3>Building one</h3>
<p>I used to make and sell storage servers using Linux a while ago with media streaming software and easy setup (before all the ready-rolled ones came out) so the software side is not a major challenge. Backblaze have released a template for the cases and a list of other components and coincidentally a good friend is a Mechanical Design Engineer and can work on it for me. The cost for the cases drops precipitously if you buy in bulk and he is looking at making it able to be stored flat and easily assembled by folding edges together so I will take the plunge and buy a load, if anyone wants to get hold of some, please get in touch.</p>
<h3>ZFS</h3>
<p>As soon as you see so many disks in a case like that, it&#8217;s hard not to think of Sun&#8217;s Thumper and ZFS.</p>
<p><a href="http://www.thattommyhall.com/wp-content/uploads/2010/01/X4540.jpg"><img class="alignnone size-medium wp-image-112" title="X4540" src="http://www.thattommyhall.com/wp-content/uploads/2010/01/X4540-300x165.jpg" alt="" width="300" height="165" /></a><a href="http://www.thattommyhall.com/wp-content/uploads/2010/01/k3_sunfire-x4540_5.jpg"><img class="alignnone size-medium wp-image-111" title="k3_sunfire-x4540_5" src="http://www.thattommyhall.com/wp-content/uploads/2010/01/k3_sunfire-x4540_5-300x239.jpg" alt="" width="176" height="140" /></a></p>
<p>I&#8217;ve <a href="http://www.thattommyhall.com/category/zfs/" target="_blank">blogged about ZFS</a> before and given talks on it. With so many disks to fail (either noisily or silently)  data loss is inevitable (and worse &#8211; you may not even be alerted), ZFS would solve this (or at least ensure you know about it). BackBlaze use custom application logic to work around this, using TomCat and HTTPS.</p>
<h3>It&#8217;s Not Highly Available</h3>
<p>A chap at Sun has a critique <a href="http://www.c0t0d0s0.org/archives/5899-Some-perspective-to-this-DIY-storage-server-mentioned-at-Storagemojo.html" target="_blank">here </a>that is totally spot on and he makes a few great points about subtle changes to Sun&#8217;s design to accommodate vibration, noise and electromagnetic radiation. In so many ways the hardware is inadequate and does not have the uptime characteristics of a device in Suns range. That said though an individual device from Sun is not as HA as, say, an EMC SAN (with mirrored write cache, dual SPs etc) as it too relies mostly on commodity hardware. For FiveNines availability you need to decide what you are doing to protect against device failure anyway, the BackBlaze devices just fail faster &#8211; that&#8217;s your trade-off.</p>
<h3>It wont be fast</h3>
<p>That is largely a feature of the disks and the controllers; you could get a better motherboard, disks and faster controllers, perhaps eschew the port multipliers too, if performance is a problem. A very cool new feature of ZFS (<a href="http://blogs.sun.com/brendan/entry/test" target="_blank">L2ARC</a> / <a href="http://blogs.sun.com/brendan/entry/hybrid_storage_pool_top_speeds" target="_blank">Hybrid Storage Pools</a>) allows for using SSD as a second level cache, that would help. In linux <a href="http://users.cis.fiu.edu/~zhaom/dmcache/index.html">dm-cache</a> (or <a href="http://kernelnewbies.org/KernelProjects/DmCache">here</a>)  could probably achieve something similar.</p>
<h3>How can you make it HA?</h3>
<p>This is really another blog (and a few weeks work hacking out the ideas), but I can think of several ways of doing what BackBlaze do in their software stack to export files (via NFS, SMB or other protocol) or block devices (ATAoE, iSCSI, NBD etc) in a robust manner.</p>
<ul>
<li><a href="http://www.sun.com/software/solaris/zfs_learning_center.jsp" target="_blank">ZFS</a></li>
<li><a href="http://www.sun.com/software/products/lustre/" target="_blank">Lustre</a></li>
<li><a href="http://www.gluster.org/" target="_blank">GlustreFS</a></li>
<li><a href="http://wiki.samba.org/index.php/Clustered_Samba">Clustered Samba</a> (or <a href="http://ctdb.samba.org/samba.html">here</a>)</li>
<li><a href="http://www.windowsnetworking.com/articles_tutorials/Windows2003-Distributed-File-System.html" target="_blank">DFS</a></li>
<li><a href="http://www.pnfs.com/">pNFS</a></li>
<li>RAID1 / <a href="http://www.linuxjournal.com/article/3778" target="_blank">NBD</a></li>
<li><a href="http://www.linux-ha.org/DRBD" target="_blank">DRBD</a></li>
<li><a href="http://www.linux-kvm.com/content/sheepdog-distributed-storage-management-qemukvm">sheepdog</a></li>
<li><a href="http://hadoop.apache.org/common/docs/current/hdfs_user_guide.html#Overview" target="_blank">HDFS</a></li>
<li><a href="http://www.dragonflybsd.org/hammer/hammer.pdf" target="_blank">Hammer</a> ?</li>
</ul>
<p>I have ordered some of the port multipliers, got my friend working on the case and will buy the sundry bits over the next few days.</p>
<p>This is one of my<a href="http://www.thattommyhall.com/2010/01/03/101-goals-in-1001-days/">101 goals</a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/01/05/building-a-backblaze-storage-pod/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/01/05/building-a-backblaze-storage-pod/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>101 Goals in 1001 Days</title>
		<link>http://www.thattommyhall.com/2010/01/03/101-goals-in-1001-days/</link>
		<comments>http://www.thattommyhall.com/2010/01/03/101-goals-in-1001-days/#comments</comments>
		<pubDate>Sun, 03 Jan 2010 17:01:28 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[101]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=98</guid>
		<description><![CDATA[I have decided on a kind of hyper-resolution for the new year, 101 goals in 1001 days. I have a mindmap of the ones I have settled on so far and have started working on some of them already. To follow (allowing me to tick off some of the meta-goals): Success criteria for each Divide [...]]]></description>
			<content:encoded><![CDATA[<p>I have decided on a kind of hyper-resolution for the new year, 101 goals in 1001 days.<br />
I have a mindmap of the ones I have settled on so far and have started working on some of them already.</p>
<p>To follow (allowing me to tick off some of the meta-goals):</p>
<p><em>Success criteria for each</em><br />
Divide them up into &#8220;Sustained Effort&#8221;, &#8220;1-off&#8221; and &#8220;Requires Break&#8221; to make sure I don&#8217;t overextend myself. I plan on taking roughly quarterly 1 or 2 week breaks to try and do these tasks. For the sustained ones I need progress metrics, am I on track to complete in the time given?</p>
<p><em>The actual 101 things!</em><br />
Need to settle on the actual 101 things, most are on there but it&#8217;s still a bit fluid.</p>
<p><iframe width="600" height="600" frameborder="0" src="http://www.mindmeister.com/maps/public_map_shell/37893044/101?width=600&#038;height=600&#038;zoom=1" scrolling="no" style="overflow:hidden"></iframe></p>
<p>As one of my goals is to blog more, you should be hearing more from me in 2010.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2010/01/03/101-goals-in-1001-days/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2010/01/03/101-goals-in-1001-days/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Can Google create community?</title>
		<link>http://www.thattommyhall.com/2009/09/30/can-google-create-community/</link>
		<comments>http://www.thattommyhall.com/2009/09/30/can-google-create-community/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 11:32:42 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=94</guid>
		<description><![CDATA[I have been meaning to blog for ages about a site I use called Goodreads. It is really excellent, I signed up ages ago and cant remember exactly how I found it but I think it might have been a Rails app. Anyway, it is a fairly simple idea, log what books you read (or [...]]]></description>
			<content:encoded><![CDATA[<p>I have been meaning to blog for ages about a site I use called Goodreads. It is really excellent, I signed up ages ago and cant remember exactly how I found it but I think it might have been a Rails app. Anyway, it is a fairly simple idea, log what books you read (or want to), rate them and share reviews with others, I am on there as <a href="http://www.goodreads.com/user/show/182456">thattommyhall</a>. What convinced me to use it was the really stellar monthly emails with interviews with authors and picks of books with a certain theme.</p>
<p>I have been playing with my new HTC Hero and there is a Google Android app that can scan books and add them to the (easilly overlooked) <a href="http://books.google.com/books?uid=14659187896389159195">My Library</a> section of Google Books. While the app is good, there is no feeling of community there really. Orkut does not seem to have taken off and they released <a href="wave.google.com">Wave</a> today but I dont know if they can really get a feeling of community in their apps. I love the stuff they put out, use gmail and docs in particular pretty much constantly but think facebook, flickr and lots of other sites somehow seem to get more of a communtity vibe, perhaps it&#8217;s even the google branding &#8211; it all looks the same.</p>
<p>Anyway, I have things to do today, if anyone gets an invite to Wave and wants to send me one, please do.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2009/09/30/can-google-create-community/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2009/09/30/can-google-create-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting VMware Certified Professional (VCP) on vSphere 4</title>
		<link>http://www.thattommyhall.com/2009/09/28/getting-vmware-certified-professional-vcp-on-vsphere-4/</link>
		<comments>http://www.thattommyhall.com/2009/09/28/getting-vmware-certified-professional-vcp-on-vsphere-4/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 16:17:27 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=88</guid>
		<description><![CDATA[On Saturday I took and passed the VCP410 exam to get VCP4. It was not really that hard, though I have been reading about vSphere since before it shipped, follow loads of blogs on VMware, installed it as soon as it came into beta and migrated my companies clusters to it relatively early. I would [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday I took and passed the VCP410 exam to get VCP4. </p>
<p>It was not really that hard, though I have been reading about vSphere since before it shipped, follow loads of blogs on VMware, installed it as soon as it came into beta and migrated my companies clusters to it relatively early. I would say if you have VCP3 and have used vSphere you should be OK.</p>
<p>The frustrating thing about the exam was the questions on the config max document, in my view if you are approaching the maximums you could just look it up and memorisation is a pointless exercise. A lot of the maximums are just decisions someone in vmware made, how many NFS stores by default ? (8), max? (64). What it the tree-depth per resource pool? (12&#8230; unless you use DRS, then it&#8217;s 10). This kind of memorisation is stupid, pointless, hoop-jumping and will be the difference between passing and failing for lots of people.</p>
<p>The exam (like most IT certs) is multiple choice so the questions are fairly mundane and of course there is only 1 correct answer. When interviewing candidates, I always prefer questions that start &#8220;what is <em>your</em>&#8221; rather than &#8220;what <em>is</em>&#8221; as anything that is so unsubtle as to only have one answer is probably too uninteresting to spend time discussing.</p>
<p>I did do a nights worth of revision however, using:</p>
<ul>
<li>Vmware&#8217;s <a href="http://mylearn.vmware.com/quiz.cfm?item=15211">mock exam</a></li>
<li>Simon Longs <a href="http://www.simonlong.co.uk/blog/vcp-vsphere-4-practice-exam/">practice exams</a></li>
<li>The <a href="www.vmware.com/pdf/vsphere4/r40/vsp_40_config_max.pdf">config max</a> doc &#8211; YAWN</li>
<li>My own <a href="http://dl.getdropbox.com/u/2039069/ConfigMax.mm">mind map</a> (using <a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">FreeMind</a>, or use the <a href="http://dl.getdropbox.com/u/2039069/ConfigMax.pdf">pdf version</a>) of config max and a few of Simons questions</li>
<li>vReference&#8217;s <a href="http://www.vreference.com/vsphere4-card/">card</a></li>
</ul>
<p>Also worth considering are </p>
<ul>
<li><a href="http://www.trainsignal.com/VMware-vSphere-Training-P76.aspx">Trainsignals videos</a> (I may still get myself a copy)</li>
<li>The <a href="http://pubs.vmware.com/vsp40_i/">Exam Blueprint</a></li>
<li>The <a href="http://www.vmware.com/support/pubs/">VMware Doc&#8217;s</a></li>
<li>vReference&#8217;s <a href="http://www.vreference.com/vsphere4-notes/">vSphere4 notes</a> (these look excellent but I did not have time to read them)</li>
<li>Mike Laverick&#8217;s book <a href="http://www.amazon.co.uk/gp/product/0071664521?ie=UTF8&#038;tag=tomsblog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0071664521">VMware vSphere 4 Implementation</a> (I have it pre-ordered)</li>
<li>Scott Lowes book <a href="http://www.amazon.co.uk/gp/product/0470481382?ie=UTF8&#038;tag=tomsblog-21&#038;linkCode=as2&#038;camp=1634&#038;creative=19450&#038;creativeASIN=0470481382">Mastering VMware VSphere 4</a> (seems to be the most popular one released so far)</li>
</ul>
<p>You may like to see the things I have <a href="http://delicious.com/thattommyhall/vmware">added to delicious</a> on vmware over the last few years.</p>
<p>Good luck if you take it too!</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2009/09/28/getting-vmware-certified-professional-vcp-on-vsphere-4/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2009/09/28/getting-vmware-certified-professional-vcp-on-vsphere-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hiatus, Departure, Return</title>
		<link>http://www.thattommyhall.com/2009/09/22/hiatus-departure-return/</link>
		<comments>http://www.thattommyhall.com/2009/09/22/hiatus-departure-return/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 22:48:51 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=80</guid>
		<description><![CDATA[It&#8217;s been ages since I blogged as I have been mad busy in work though a lot has happened recently. I have: Left thebigword Packed up my house Sold/Gave away most of my possessions (keeping only books and my PC, as my friend Ben said &#8220;proves you are principally concerned with knowledge&#8221;) Left Leeds Gone [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been ages since I blogged as I have been mad busy in work though a lot has happened recently.</p>
<p>I have:</p>
<ul>
<li>Left thebigword</li>
<li>Packed up my house</li>
<li>Sold/Gave away most of my possessions (keeping only books and my PC, as my friend Ben said &#8220;proves you are principally concerned with knowledge&#8221;)</li>
<li>Left Leeds</li>
<li>Gone to India</li>
<li>Returned (earlier than planned but refreshed and excited about the future)</li>
<li>Set up a limited company to go contracting</li>
<li>Started plotting a move to London</li>
<li>Begun making big lifestyle changes &#8211; drinking less, eating better and <a href="http://www.buddyrunner.com/thattommyhall">training</a> for the <a href="http://www.justgiving.com/tommydoesparis/">Paris Marathon</a>, a <a href="http://www.theblenheimtriathlon.com/">triathlon</a> and a return to India for some <a href="http://www.nimindia.org/nim/courses/basic.aspx">Hardcore Mountaineering</a> next year</li>
</ul>
<p>All is well in TomLand, expect more posts now I&#8217;m not so sillybusy!</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2009/09/22/hiatus-departure-return/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2009/09/22/hiatus-departure-return/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FusionIO ioDrive</title>
		<link>http://www.thattommyhall.com/2009/07/06/fusionio-iodrive/</link>
		<comments>http://www.thattommyhall.com/2009/07/06/fusionio-iodrive/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 21:11:54 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/?p=74</guid>
		<description><![CDATA[Well, I got my hands on one of the fusion-io ioDrives a couple of weeks ago. unfortunately they do not work in the version of VMware ESX that we are using, though they are working on drivers for the 64bit ESX4. I did not have time to set up a physical machine to test on [...]]]></description>
			<content:encoded><![CDATA[<p>Well, I got my hands on one of the fusion-io ioDrives a couple of weeks ago. unfortunately they do not work in the version of VMware ESX that we are using, though they are working on drivers for the 64bit ESX4. I did not have time to set up a physical machine to test on our application running SQL server 2005 so I have just quickly done some IO benchmarks in Linux at home. I was going to test btrfs and its SSD mode at the same time it but hit too many problems trying to get the drivers and the btrfs module in the kernel together.</p>
<p>First setup a 4 drive raid0 array for comparison</p>
<p>root@George:/home/tom# fdisk -l | grep 500<br />
Disk /dev/sdb doesn&#8217;t contain a valid partition table<br />
Disk /dev/sdc doesn&#8217;t contain a valid partition table<br />
Disk /dev/sdd doesn&#8217;t contain a valid partition table<br />
Disk /dev/sde doesn&#8217;t contain a valid partition table<br />
Disk /dev/sdb: 500.1 GB, 500107862016 bytes<br />
Disk /dev/sdc: 500.1 GB, 500107862016 bytes<br />
Disk /dev/sdd: 500.1 GB, 500107862016 bytes<br />
Disk /dev/sde: 500.1 GB, 500107862016 bytes</p>
<pre class="brush: plain;">
root@George:/home/tom# mdadm --create /dev/md0 -l 0 -n 4 /dev/sd[bcde]
mdadm: array /dev/md0 started.
</pre>
<pre class="brush: plain;">root@George:/home/tom# mkfs.ext2 /dev/md0
root@George:/home/tom# mkfs.ext2 /dev/fioa
</pre>
<p>fio:<br />
I was looking for an iometer-a-like for linux to quickly get some semi-meaningful results (bonnie++ was returning results saying it was too quick to measure or something)<br />
Fio lets you create a text file description of a workload, with a choice of IO libs and loads of options, you can set concurrent jobs also, see <a href="http://www.linux.com/archive/feature/131063">this</a> excellent linux.com article for more info</p>
<p>random-read-test-aio-32thread-20G.fio </p>
<pre class="brush: plain;">
[random-read]
rw=randread
size=20G
ioengine=libaio
iodepth=32
direct=1
invalidate=1
</pre>
<pre class="brush: plain;">
root@George:/fusionio# fio /fio/random-read-test-aio-32thread-20G.fio
random-read: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
Starting 1 process
random-read: Laying out IO file(s) (1 file(s) / 20480MiB)
Jobs: 1 (f=1): [r] [100.0% done] [139M/0K /s] [35K/0 iops] [eta 00m:00s]
random-read: (groupid=0, jobs=1): err= 0: pid=25705
  read : io=20480MiB, bw=157614KiB/s, iops=39403, runt=133056msec
    slat (usec): min=4096, max=4096, avg=4096.00, stdev= 0.00
    clat (usec): min=324, max=325739, avg=788.05, stdev=1238.41
    bw (KiB/s) : min=45800, max=196536, per=100.24%, avg=157996.42, stdev=22439.38
  cpu          : usr=9.23%, sys=71.81%, ctx=2180058, majf=1, minf=698
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, &gt;=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, &gt;=64=0.0%
     issued r/w: total=5242880/0, short=0/0
     lat (usec): 500=0.01%, 750=78.27%, 1000=10.86%
     lat (msec): 2=9.31%, 4=1.11%, 10=0.30%, 20=0.10%, 50=0.04%
     lat (msec): 100=0.01%, 500=0.01%
</pre>
<pre class="brush: plain;">
Run status group 0 (all jobs):
READ: io=20480MiB, aggrb=157614KiB/s, minb=157614KiB/s, maxb=157614KiB/s, mint=133056msec, maxt=133056msec
</pre>
<pre class="brush: plain;">Disk stats (read/write):
  fioa: ios=5244775/2, merge=0/0, ticks=303464/0, in_queue=0, util=0.00%
</pre>
<p>random-write-test-aio-32thread-20G.fio </p>
<pre class="brush: plain;">
[random-write]
rw=randwrite
size=20G
ioengine=libaio
iodepth=32
direct=1
invalidate=1</pre>
<pre class="brush: plain;">
root@George:/fusionio# fio /fio/random-write-test-aio-32thread-20G.fio
random-write: (g=0): rw=randwrite, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
Starting 1 process
random-write: Laying out IO file(s) (1 file(s) / 20480MiB)
Jobs: 1 (f=1): [w] [100.0% done] [0K/18210K /s] [0/4446 iops] [eta 00m:00s]
random-write: (groupid=0, jobs=1): err= 0: pid=7105
  write: io=20480MiB, bw=23406KiB/s, iops=5851, runt=895978msec
    slat (usec): min=4096, max=4096, avg=4096.00, stdev= 0.00
    clat (msec): min=1, max=322, avg= 5.30, stdev= 6.29
    bw (KiB/s) : min=    0, max=94080, per=99.99%, avg=23404.82, stdev=13749.60
  cpu          : usr=3.19%, sys=27.08%, ctx=5303118, majf=0, minf=4369
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, &gt;=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, &gt;=64=0.0%
     issued r/w: total=0/5242880, short=0/0
     lat (msec): 2=14.96%, 4=46.44%, 10=17.79%, 20=20.45%, 50=0.23%
     lat (msec): 100=0.06%, 250=0.06%, 500=0.01%
Run status group 0 (all jobs):
  WRITE: io=20480MiB, aggrb=23406KiB/s, minb=23406KiB/s, maxb=23406KiB/s, mint=895978msec, maxt=895978msec
Disk stats (read/write):
  fioa: ios=164/5339709, merge=0/0, ticks=28/961368, in_queue=0, util=0.00%
</pre>
<p>Now the RAID0 array,took all night to complete the same tests.</p>
<pre class="brush: plain;">
root@George:/raid0# fio /fio/random-read-test-aio-32thread-20G.fio ;
random-read: (g=0): rw=randread, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
Starting 1 process
Jobs: 1 (f=1): [r] [100.0% done] [4136K/0K /s] [1010/0 iops] [eta 00m:00s]
random-read: (groupid=0, jobs=1): err= 0: pid=20079
  read : io=20480MiB, bw=3475KiB/s, iops=868, runt=6033707msec
    slat (usec): min=4096, max=4096, avg=4096.00, stdev= 0.00
    clat (usec): min=3, max=1048K, avg=36802.65, stdev=37338.47
    bw (KiB/s) : min=  982, max= 4367, per=100.10%, avg=3478.65, stdev=279.09
  cpu          : usr=0.55%, sys=1.84%, ctx=4607245, majf=0, minf=30634
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, &gt;=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, &gt;=64=0.0%
     issued r/w: total=5242880/0, short=0/0
     lat (usec): 4=0.01%, 50=0.01%, 100=0.01%, 250=0.03%, 500=0.09%
     lat (usec): 750=0.01%, 1000=0.01%
     lat (msec): 2=0.02%, 4=0.93%, 10=16.14%, 20=26.65%, 50=32.57%
     lat (msec): 100=16.79%, 250=6.56%, 500=0.19%, 750=0.01%, 1000=0.01%
     lat (msec): 2000=0.01%
Run status group 0 (all jobs):
   READ: io=20480MiB, aggrb=3475KiB/s, minb=3475KiB/s, maxb=3475KiB/s, mint=6033707msec, maxt=6033707msec
Disk stats (read/write):
  md0: ios=5242880/4900, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/0, aggrmerge=0/0, aggrticks=0/0, aggrin_queue=0, aggrutil=0.00%
    sdb: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sdc: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sdd: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sde: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
</pre>
<p>root@George:/raid0# fio /fio/random-write-test-aio-32thread-20G.fio</p>
<pre class="brush: plain;">
random-write: (g=0): rw=randwrite, bs=4K-4K/4K-4K, ioengine=libaio, iodepth=32
Starting 1 process
random-write: Laying out IO file(s) (1 file(s) / 20480MiB)
Jobs: 1 (f=1): [w] [100.0% done] [0K/9427K /s] [0/2301 iops] [eta 00m:00s]
random-write: (groupid=0, jobs=1): err= 0: pid=2789
  write: io=20480MiB, bw=10075KiB/s, iops=2518, runt=2081336msec
    slat (usec): min=4096, max=4096, avg=4096.00, stdev= 0.00
    clat (msec): min=1, max=773, avg=12.31, stdev= 7.27
    bw (KiB/s) : min=    0, max=20552, per=100.09%, avg=10083.67, stdev=2143.10
  cpu          : usr=1.62%, sys=11.61%, ctx=5332417, majf=0, minf=10120
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=100.0%, &gt;=64=0.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.1%, 64=0.0%, &gt;=64=0.0%
     issued r/w: total=0/5242880, short=0/0
     lat (msec): 2=0.01%, 4=0.01%, 10=23.86%, 20=75.38%, 50=0.70%
     lat (msec): 100=0.04%, 250=0.01%, 500=0.01%, 750=0.01%, 1000=0.01%
Run status group 0 (all jobs):
  WRITE: io=20480MiB, aggrb=10075KiB/s, minb=10075KiB/s, maxb=10075KiB/s, mint=2081336msec, maxt=2081336msec
Disk stats (read/write):
  md0: ios=159/5353967, merge=0/0, ticks=0/0, in_queue=0, util=0.00%, aggrios=0/0, aggrmerge=0/0, aggrticks=0/0, aggrin_queue=0, aggrutil=0.00%
    sdb: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sdc: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sdd: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
    sde: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=nan%
</pre>
<p>Key figures are IOPS, bw (bandwith) and completion time.</p>
<p>IOPS:<br />
read &#8211; 39403/868 ~45x<br />
write &#8211; 5851/2518 ~2x</p>
<p>bw<br />
read &#8211; 157614/3475 ~45x<br />
write &#8211; 23406/10075 ~2x</p>
<p>Time:<br />
read &#8211; 133/6033 ~45x<br />
write &#8211; 895/2081 ~2x</p>
<p>I am surprised the array wrote so fast ~800 IOPS for read and write was my expectation, I did not have time to repeat with a different IO lib and cant explain why random writes would be 3x faster than random reads on a RAID0 array so I think its to do with libaio.</p>
<p>In short my home PC temporarily had read IOPS equivalent to 200 hard disks spinning at 15&#8217;000 RPM, ace.</p>
<p>Prices are as follows:<br />
80GB ioDrive (SLC) US$3,600<br />
160GB ioDrive (SLC) US$7,200<br />
320GB ioDrive (MLC) US$14,400<br />
320GB ioDrive Duo (SLC) US$11,900<br />
640GB ioDrive Duo (MLC) US$9,795</p>
<p>See <a href="http://www.fusionio.com/Products.aspx">http://www.fusionio.com/Products.aspx</a> for more information.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2009/07/06/fusionio-iodrive/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2009/07/06/fusionio-iodrive/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ZFS, it&#8217;s sometimes good to know how screwed you are.</title>
		<link>http://www.thattommyhall.com/2009/02/11/zfs-its-sometimes-good-to-know-how-screwed-you-are/</link>
		<comments>http://www.thattommyhall.com/2009/02/11/zfs-its-sometimes-good-to-know-how-screwed-you-are/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 21:30:02 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2009/02/11/zfs-its-sometimes-good-to-know-how-screwed-you-are/</guid>
		<description><![CDATA[I have just had a disk fail on my NAS, actually it happened ages ago but I was too broke to replace it. At the same time as one being faulted, another was degraded through having too many errors. Below is my interaction with ZFS to discover the extent of the problem and &#8220;fix&#8221; it. [...]]]></description>
			<content:encoded><![CDATA[<p>I have just had a disk fail on my NAS, actually it happened ages ago but I was too broke to replace it. At the same time as one being faulted, another was degraded through having too many errors. Below is my interaction with ZFS to discover the extent of the problem and &#8220;fix&#8221; it.</p>
<p><span id="more-72"></span></p>
<p>(this is after I had swapped out c2t1d0, only then did I know I had data corruption, should have periodically scrubed the pool!)</p>
<p>Lets see how bad it is<br />
<code><br />
root@nas:~# zpool status<br />
pool: Toms<br />
state: DEGRADED<br />
status: One or more devices has experienced an error resulting in data<br />
corruption.  Applications may be affected.<br />
action: Restore the file in question if possible.  Otherwise restore the<br />
entire pool from backup.<br />
see: http://www.sun.com/msg/ZFS-8000-8A<br />
scrub: resilver completed after 4h57m with 163802 errors on Sun Feb  8 16:47:46 2009<br />
config</p>
<p>NAME        STATE     READ WRITE CKSUM<br />
Toms        DEGRADED    35     0  320K<br />
raidz1    DEGRADED    35     0  320K<br />
c2t0d0  DEGRADED     0     0     0  too many errors<br />
c2t2d0  DEGRADED    89     0     3  too many errors<br />
c2t1d0  ONLINE       0     0     0<br />
c2t4d0  DEGRADED    12     0   243  too many errors<br />
raidz1    ONLINE       0     0     0<br />
c2t5d0  ONLINE       0     0     0<br />
c2t7d0  ONLINE       0     0     0<br />
c2t3d0  ONLINE       0     0     0<br />
c2t6d0  ONLINE       0     0     0</p>
<p>errors: 140338 data errors, use '-v' for a list</p>
<p>pool: syspool<br />
state: ONLINE<br />
scrub: none requested<br />
config:</p>
<p>NAME        STATE     READ WRITE CKSUM<br />
syspool     ONLINE       0     0     0<br />
c1t1d0s0  ONLINE       0     0     0</p>
<p>errors: No known data errors<br />
</code> </p>
<p>Ok, so what files are affected<br />
<code><br />
root@nas:~# zpool status -v<br />
..................(cut)<br />
/share/TalkingBooks/TTC/Concert Masterworks/CD10-Track07.mp3<br />
/share/TalkingBooks/TTC/Science in the Twentieth Century A Social-Intellectual Survey/09-10 - Subterranean Fury.mp3<br />
/share/TalkingBooks/TTC/Foundations of Western Civilization/45-2 - The Protestant Reformation - John Calvin.mp3<br />
/share/TalkingBooks/TTC/The Long 19th Century, European History from 1789 to 1917/05.05 The Napoleonic Era, 1799-1815.mp3<br />
/share/TalkingBooks/TTC/Great World Religions - Islam/Lecture 6d Paths To God -- Islamic Law And Mysticism.mp3<br />
/share/TalkingBooks/TTC/History of Ancient Egypt/Lecture 23 The Murder of Tutankhamen.mp3<br />
/share/TalkingBooks/TTC/The Symphony/00-02 Page 20-21.jpg<br />
/share/TalkingBooks/TTC/The United States And The Middle East 1914- 9-11/19-3 The First Palestinian Intifada.mp3<br />
/share/TalkingBooks/TTC/World of Byzantium/TTC - World of Byzantium - Guidebook Part 2/[World.of.Byzantium.part.II]16-17.jpg<br />
/share/TalkingBooks/TTC/How to Read and Understand Poetry/13 Free Verse Track 2.mp3<br />
/share/Tunes/Tom Jones - Reload/04 All Mine with Divine Comedy.mp3<br />
/share/Tunes/Tom Jones - Reload/10 Sometimes We Cry with Van Morrison.mp3<br />
/share/Tunes/Tom Jones - Reload/08 You Need Love Like I Do with Heather Small.mp3<br />
/share/Tunes/Tom Jones - Reload/07 Sexbomb with Mousse T.mp3<br />
/share/Tunes/Tom Jones - Reload/06 I'm Left, You're Right, She's Gone with James Dean Bradfield.mp3<br />
..................(cut)<br />
</code></p>
<p>Lets take a snapshot before we delete anything<br />
<code><br />
root@nas:~# zfs list<br />
NAME                             USED  AVAIL  REFER  MOUNTPOINT<br />
Toms                            1.78T   421G  40.4K  none<br />
Toms@one                            0      -  40.4K  -<br />
Toms/share                      1.43T   421G  31.3G  /share<br />
Toms/share/500G                  336G   421G   336G  /share/500G<br />
Toms/share/Notes                38.9G   421G  38.9G  /share/Notes<br />
Toms/share/SetupFiles           72.1G   421G  72.1G  /share/SetupFiles<br />
Toms/share/TalkingBooks          144G   421G   144G  /share/TalkingBooks<br />
Toms/share/Tunes                61.5G   421G  61.5G  /share/Tunes<br />
Toms/share/Videos                337G   421G   337G  /share/Videos<br />
Toms/share/apps                 28.4K   421G  28.4K  /share/apps<br />
Toms/share/downloads             359G   421G   359G  /share/downloads<br />
Toms/share/files                34.6G   421G  34.6G  /share/files<br />
Toms/share/xbox                 52.8G   421G  52.8G  /share/xbox<br />
Toms/tom                        7.59G   421G  7.59G  /tom<br />
syspool                         1.17G   225G    23K  none<br />
syspool/rootfs-nmu-000          1.17G   225G  1.12G  legacy<br />
syspool/rootfs-nmu-000@initial  49.8M      -   631M </code></p>
<p>root@nas:~# zfs snapshot Toms@b4delete<br />
root@nas:~# zfs list<br />
NAME                             USED  AVAIL  REFER  MOUNTPOINT<br />
Toms                            1.78T   421G  40.4K  none<br />
Toms@one                            0      &#8211;  40.4K  -<br />
Toms@b4delete                       0      &#8211;  40.4K  -<br />
Toms/share                      1.43T   421G  31.3G  /share<br />
Toms/share/500G                  336G   421G   336G  /share/500G<br />
Toms/share/Notes                38.9G   421G  38.9G  /share/Notes<br />
Toms/share/SetupFiles           72.1G   421G  72.1G  /share/SetupFiles<br />
Toms/share/TalkingBooks          144G   421G   144G  /share/TalkingBooks<br />
Toms/share/Tunes                61.5G   421G  61.5G  /share/Tunes<br />
Toms/share/Videos                337G   421G   337G  /share/Videos<br />
Toms/share/apps                 28.4K   421G  28.4K  /share/apps<br />
Toms/share/downloads             359G   421G   359G  /share/downloads<br />
Toms/share/files                34.6G   421G  34.6G  /share/files<br />
Toms/share/xbox                 52.8G   421G  52.8G  /share/xbox<br />
Toms/tom                        7.59G   421G  7.59G  /tom<br />
Toms/vffs                        349G   421G   349G  /vffs<br />
syspool                         1.17G   225G    23K  none<br />
syspool/rootfs-nmu-000          1.17G   225G  1.12G  legacy<br />
syspool/rootfs-nmu-000@initial  49.8M      &#8211;   631M  -<br />
Just how many file are effected?<br />
<code><br />
root@nas:~# zpool status -v | grep " /share/" | wc -l<br />
2618<br />
</code></p>
<p>Lets get rid (probably can be done neater, I had to google for the sed syntax to strip whitespace.)<br />
<code><br />
root@nas:~# zpool status -v | grep " /share" | sed 's/^[ \t]*//;s/[ \t]*$//' | xargs -d "\n" rm<br />
root@nas:~# zpool status -v | grep " /share/" | wc -l<br />
0<br />
</code><br />
No bad files now</p>
<p>Clear the errors on the disks (hopefully they are not really ALL bad)<br />
<code><br />
root@nas:~# zpool clear Toms<br />
root@nas:~# zpool status<br />
pool: Toms<br />
state: ONLINE<br />
status: One or more devices has experienced an error resulting in data<br />
corruption.  Applications may be affected.<br />
action: Restore the file in question if possible.  Otherwise restore the<br />
entire pool from backup.<br />
see: http://www.sun.com/msg/ZFS-8000-8A<br />
scrub: resilver completed after 4h57m with 163802 errors on Sun Feb  8 16:47:46 2009<br />
config:</code></p>
<p>NAME        STATE     READ WRITE CKSUM<br />
Toms        ONLINE       0     0     0<br />
raidz1    ONLINE       0     0     0<br />
c2t0d0  ONLINE       0     0     0<br />
c2t2d0  ONLINE       0     0     0<br />
c2t1d0  ONLINE       0     0     0<br />
c2t4d0  ONLINE       0     0     0<br />
raidz1    ONLINE       0     0     0<br />
c2t5d0  ONLINE       0     0     0<br />
c2t7d0  ONLINE       0     0     0<br />
c2t3d0  ONLINE       0     0     0<br />
c2t6d0  ONLINE       0     0     0</p>
<p>errors: 140338 data errors, use &#8216;-v&#8217; for a list</p>
<p>pool: syspool<br />
state: ONLINE<br />
scrub: none requested<br />
config:</p>
<p>NAME        STATE     READ WRITE CKSUM<br />
syspool     ONLINE       0     0     0<br />
c1t1d0s0  ONLINE       0     0     0</p>
<p>errors: No known data errors<br />
Still some errors, need to figure out what this means<br />
<code><br />
root@nas:/share# zpool status -v<br />
..................(cut)<br />
Toms/share/TalkingBooks:&lt;0x61ff&gt;<br />
Toms/share/TalkingBooks:&lt;0x62ff&gt;<br />
Toms/share/TalkingBooks:&lt;0x64ff&gt;<br />
Toms/share/TalkingBooks:&lt;0x65ff&gt;<br />
Toms/share/Tunes:&lt;0x239&gt;<br />
Toms/share/Tunes:&lt;0x247&gt;<br />
Toms/share/Tunes:&lt;0x34e&gt;<br />
Toms/share/Tunes:&lt;0x47f&gt;<br />
..................(cut)<br />
</code></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2009/02/11/zfs-its-sometimes-good-to-know-how-screwed-you-are/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2009/02/11/zfs-its-sometimes-good-to-know-how-screwed-you-are/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Christmassy Shizzle</title>
		<link>http://www.thattommyhall.com/2008/12/22/christmassy-shizzle/</link>
		<comments>http://www.thattommyhall.com/2008/12/22/christmassy-shizzle/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 18:45:01 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[archaeology]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/12/22/christmassy-shizzle/</guid>
		<description><![CDATA[Last weekend I went down to London again for a Christmas jolly with some great old uni friends, it was a lovely weekend, good wholesome fun. On the Saturday I went to see the Wallace Collection while some girlies shopped on Kensington Highstreet (where the sales are apparently excellent but I&#8217;m not sure I could [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I went down to London again for a Christmas jolly with some great old uni friends, it was a lovely weekend, good wholesome fun.</p>
<p>On the Saturday I went to see the Wallace Collection while some girlies shopped on Kensington Highstreet (where the sales are apparently excellent but I&#8217;m not sure I could have tolerated a moment). There was an <a href="http://en.wikipedia.org/wiki/Osbert_Lancaster" target="_blank">Osbert Lancaster</a> <a href="http://www.wallacecollection.org/collections/exhibition/69" target="_blank">exhibit</a> there that was great, alongside the <a href="http://www.wallacecollection.org/thecollection" target="_blank">permanent collection</a> which is excellent. I had never heard of him before but hes is definitely worth investigating, the blurb on the wall described him as a dandy aesthete, something I have always considered myself.</p>
<p>In the nighttime we watched the <a href="http://www.imdb.com/title/tt0044008/" target="_blank">1951 Scrooge</a> with <a href="http://www.imdb.com/name/nm0799237/">Alastair Sim</a> in an incredible private cinema, ate nice food, got a little squiffy (port was involved you will be surprised to learn)</p>
<p>On the Sunday we went to see the <a href="http://en.wikipedia.org/wiki/Babylon" target="_blank">Babylon</a> exhibit in the British Museum and I returned to Leeds feeling tired but ace. Babylon has appeared in art of all forms, not least a few Jazz numbers.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/6pSuoHFTpP8&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6pSuoHFTpP8&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/12/22/christmassy-shizzle/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/12/22/christmassy-shizzle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Byzantium at the Royal Academy of Arts</title>
		<link>http://www.thattommyhall.com/2008/12/06/byzantium-at-the-royal-academy-of-arts/</link>
		<comments>http://www.thattommyhall.com/2008/12/06/byzantium-at-the-royal-academy-of-arts/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 20:42:50 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[archaeology]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/12/06/byzantium-at-the-royal-academy-of-arts/</guid>
		<description><![CDATA[I was in London a few weeks ago and saw the wonderful exhibit at the Royal Academy of Arts. I have been interested in Byzantine history since a historian friend at university described how they were essentially the eastern Roman empire, called themselves Romans, spoke Greek, were Christian and survived well into the Middle Ages. [...]]]></description>
			<content:encoded><![CDATA[<p>I was in London a few weeks ago and saw the wonderful exhibit at the <a href="http://www.royalacademy.org.uk/exhibitions/byzantium/" target="_blank">Royal Academy of Arts</a>.</p>
<p>I have been interested in Byzantine history since a historian friend at university described how they were essentially the eastern Roman empire, called themselves Romans, spoke Greek, were Christian and survived well into the Middle Ages. As ever, wikipedia has a good <a href="http://en.wikipedia.org/wiki/Byzantine_Empire" target="_blank">introduction </a>to the topic.</p>
<p>Off to London again next weekend, going to see the <a href="http://www.britishmuseum.org/whats_on/all_current_exhibitions/babylon.aspx" target="_blank">Babylon </a>exhibit at the British Museum and have a lovely Christmas celebration with some good old friends.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/12/06/byzantium-at-the-royal-academy-of-arts/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/12/06/byzantium-at-the-royal-academy-of-arts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Edinburgh</title>
		<link>http://www.thattommyhall.com/2008/09/13/edinburgh/</link>
		<comments>http://www.thattommyhall.com/2008/09/13/edinburgh/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 14:46:52 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[comedy]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/09/13/edinburgh/</guid>
		<description><![CDATA[I have recently returned from Edinburgh, I caught the tail end of the Fringe festival. It was a good trip, and the first time I have had more than a day off work since February. I saw quite a few acts in the final 3 day.It&#8217;s been ages since I blogged and I&#8217;m out of [...]]]></description>
			<content:encoded><![CDATA[<p>I have recently returned from Edinburgh, I caught the tail end of the Fringe festival. It was a good trip, and the first time I have had more than a day off work since February. I saw quite a few acts in the final 3 day.It&#8217;s been ages since I blogged and I&#8217;m out of the habit so I&#8217;ll just post loads of vids.<br />
<span id="more-68"></span></p>
<p>Glen Wool. A bloody funny Canadian, saw him do edinburgh preview in the Oak in Headingly so had seen most of the show but he was funny anyway</p>
<p><object height="344" width="425"><param value="http://www.youtube.com/v/JGpMDOw7gmM&amp;hl=en&amp;fs=1" name="movie"></param><param value="true" name="allowFullScreen"></param><embed src="http://www.youtube.com/v/JGpMDOw7gmM&amp;hl=en&amp;fs=1" height="344" width="425" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></p>
<p><object height="344" width="425"><param value="http://www.youtube.com/v/uXojj06KSPo&amp;hl=en&amp;fs=1" name="movie"></param><param value="true" name="allowFullScreen"></param><embed src="http://www.youtube.com/v/uXojj06KSPo&amp;hl=en&amp;fs=1" height="344" width="425" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></p>
<p>Nina Conti. I thought she was really funny, but finding some videos on youtube made me think perhaps she has not varied her act very much over the last few years.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/E25ebRjx8w0&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/E25ebRjx8w0&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Ed Burns. Funny, I liked him since I say this &#8220;Ironic&#8221;gag a while ago.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/nT1TVSTkAXg&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/nT1TVSTkAXg&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Sammy J and the Forest of Dreams, puppets that swear are fucking funny apparantly<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/KUTUGpMPkAE&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/KUTUGpMPkAE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>And missed out on:</p>
<p>Tim Minchin<br />
<object height="344" width="425"><param value="http://www.youtube.com/v/RFO6ZhUW38w&amp;hl=en&amp;fs=1" name="movie"></param><param value="true" name="allowFullScreen"></param><embed src="http://www.youtube.com/v/RFO6ZhUW38w&amp;hl=en&amp;fs=1" height="344" width="425" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></p>
<p>Jon Richardson<br />
<object height="344" width="425"><param value="http://www.youtube.com/v/j6yPZu5IBoY&amp;hl=en&amp;fs=1" name="movie"></param><param value="true" name="allowFullScreen"></param><embed src="http://www.youtube.com/v/j6yPZu5IBoY&amp;hl=en&amp;fs=1" height="344" width="425" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></p>
<p>Reginald D Hunter, though he is here in December.<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/bFFDdgRj3nE&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/bFFDdgRj3nE&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/YGUq7xbmSos&amp;hl=en&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/YGUq7xbmSos&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Tim Vine<br />
<object height="344" width="425"><param value="http://www.youtube.com/v/eshR-WpdYDM&amp;hl=en&amp;fs=1" name="movie"></param><param value="true" name="allowFullScreen"></param><embed src="http://www.youtube.com/v/eshR-WpdYDM&amp;hl=en&amp;fs=1" height="344" width="425" allowfullscreen="true" type="application/x-shockwave-flash"></embed></object></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/09/13/edinburgh/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/09/13/edinburgh/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Summer Fun</title>
		<link>http://www.thattommyhall.com/2008/06/15/summer-fun/</link>
		<comments>http://www.thattommyhall.com/2008/06/15/summer-fun/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 13:58:41 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[outdoors]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/06/15/summer-fun/</guid>
		<description><![CDATA[I have been working really hard of late and have decided to block book a load of long weekends this summer and get outdoors a bit. I have been thinking about doing a long distance path for ages and have decided to do one in early August, probably the West Highland Way. It is 95 [...]]]></description>
			<content:encoded><![CDATA[<p>I have been working really hard of late and have decided to block book a load of long weekends this summer and get outdoors a bit. I have been thinking about doing a long distance path for ages and have decided to do one in early August, probably the West Highland Way. It is 95 miles and I reckon I can walk 20 a day so should be able to fit it in if I take a Friday and a Monday off work. I have just gone shopping for some kit so I can do it as lightweight (and brutal) as possible, and so got my gadget fix at the same time. This is ambitious as I have done nearly nothing for almost 3 years, but fuck it. I am in Snowdonia next week and will see just how bad my fitness is and the next six weeks I will do as much prep as I can.</p>
<p><strong>From Alpkit.com</strong>, a great store selling direct from the factory at low cost.</p>
<p>Hunka Bivy, £30<br />
<a href="http://www.alpkit.com/hunka/" target="_blank"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/06/preview_hunka.jpg" alt="Bivy" /></a></p>
<p>Gourdon 30L Watertight Rucksac, £20<br />
<a href="http://www.alpkit.com/gourdon/" title="Gourdon Bags" target="_blank"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/06/gourdon-head.jpg" alt="Gourdon Bags" /></a><a href="http://www.thattommyhall.com/wp-content/uploads/2008/06/gourdon-head.jpg" onclick="return false;" title="Direct link to file"><br />
</a></p>
<p>I wish they had the Wee Airic mat in stock, but i got a thermarest one instead (cost 3 times as much!)<br />
Wee Airic, £17.50<br />
<a href="http://www.alpkit.com/shop/cart.php?target=product&amp;product_id=16213&amp;category_id=253" target="_blank"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/06/wee-airic.jpeg" alt="Airic" /></a></p>
<p><strong>From golite.com:</strong></p>
<p>Ultralite Poncho/Tarp, £26<br />
<a href="http://www.golite.com/product/proddetail.aspx?p=AC0207&amp;s=1" target="_blank"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/06/poncho.jpg" alt="Poncho" /></a></p>
<p><strong>JetBoil</strong>, £46. Been thinking about one of these for a while, very efficient use of the gas, boils real quick and stows in the 1L pot.<br />
<a href="http://www.jetboil.com/Products/Cooking-Systems/Personal-(PCS)" target="_blank"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/06/jetboil.jpg" alt="JetBoil" /></a></p>
<p>I am well excited about it.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/06/15/summer-fun/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/06/15/summer-fun/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BodyWorlds In Manchester</title>
		<link>http://www.thattommyhall.com/2008/05/10/bodyworlds-in-manchester/</link>
		<comments>http://www.thattommyhall.com/2008/05/10/bodyworlds-in-manchester/#comments</comments>
		<pubDate>Sat, 10 May 2008 22:36:42 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/05/10/bodyworlds-in-manchester/</guid>
		<description><![CDATA[I went a few weeks ago to see BodyWorlds at the Museum of Science and Industry (mosi) in Manchester. I have only just had chance to get the pics off my phone and am amazed at how well they came out.     All one body, look at the shared foot. This was the highlight [...]]]></description>
			<content:encoded><![CDATA[<p>I went a few weeks ago to see <a href="http://www.msim.org.uk/" target="_blank">BodyWorlds</a> at the <a href="http://www.msim.org.uk/" target="_blank">Museum of Science and Industry</a> (mosi) in Manchester.</p>
<p>I have only just had chance to get the pics off my phone and am amazed at how well they came out.</p>
<p><a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;post_id=57&amp;_wpnonce=4c95e753ca&amp;ID=59&amp;action=view&amp;paged" id="file-link-59" title="Tennis Player" class="file-link image">  </a><a href="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008084.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008084.jpg" alt="Tennis Player" height="128" width="170" /></a><a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;action=view&amp;ID=59&amp;post_id=-1210457292&amp;paged" id="file-link-59" title="Tennis Player" class="file-link image">  			</a><br />
All one body, look at the shared foot.<br />
<a href="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008086.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008086.jpg" alt="Magnificent Beast" height="128" width="96" /></a><a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;action=view&amp;ID=61&amp;post_id=-1210457292&amp;paged" id="file-link-61" title="Magnificent Beast" class="file-link image"></a><br />
This was the highlight for me, what incredible musculature.</p>
<p><a href="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008085.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008085.jpg" alt="Blood Vessels" height="128" width="170" /></a><br />
This is amazing, enough features remain with just the blood vessels that you could probably recognise him if you knew him in life.</p>
<p><a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;action=view&amp;ID=58&amp;post_id=-1210457292&amp;paged" id="file-link-58" title="Newton’s Cradle?" class="file-link image">  			</a><a href="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008083.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/05/26042008083.jpg" alt="Newton’s Cradle?" height="128" width="170" /></a><br />
Either a real life <a href="http://www.nlm.nih.gov/research/visible/visible_human.html" target="_blank">visible human</a> or a macabre newtons cradle.</p>
<p>It was a great day out.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/05/10/bodyworlds-in-manchester/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/05/10/bodyworlds-in-manchester/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Felicini Voucher</title>
		<link>http://www.thattommyhall.com/2008/05/09/felicini-voucher/</link>
		<comments>http://www.thattommyhall.com/2008/05/09/felicini-voucher/#comments</comments>
		<pubDate>Fri, 09 May 2008 18:07:59 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/05/09/felicini-voucher/</guid>
		<description><![CDATA[Went here with a friend, pretty yum. 50% off makes it great value too. http://www.felicini.co.uk/voucher/felicini_voucher.pdf Expect an update soon on why my brute-forceing below was plain dumb rather than simply naive. Share on Facebook]]></description>
			<content:encoded><![CDATA[<p>Went here with a friend, pretty yum. 50% off makes it great value too.</p>
<p><a href="http://www.felicini.co.uk/voucher/felicini_voucher.pdf" target="_blank">http://www.felicini.co.uk<wbr></wbr>/voucher/felicini_voucher.pdf</a></p>
<p>Expect an update soon on why my brute-forceing below was plain dumb rather than simply naive.</p>
<p><a href="http://www.felicini.co.uk/voucher/felicini_voucher.pdf" target="_blank"></a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/05/09/felicini-voucher/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/05/09/felicini-voucher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Euler 39</title>
		<link>http://www.thattommyhall.com/2008/04/12/project-euler-39/</link>
		<comments>http://www.thattommyhall.com/2008/04/12/project-euler-39/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 18:49:57 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[euler]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/04/12/project-euler-39/</guid>
		<description><![CDATA[If p is the perimeter of a right angle triangle with integral length sides, {a,b,c}, there are exactly three solutions for p = 120. {20,48,52}, {24,45,51}, {30,40,50} For which value of p &#60; 1000, is the number of solutions maximised? WARNING: CONTAINS MATHEMATICS You may remember from school (Difference of 2 squares) let and so [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>If p is the perimeter of a right angle triangle with integral length sides, {a,b,c}, there are exactly three solutions for p = 120.<br />
{20,48,52}, {24,45,51}, {30,40,50}<br />
For which value of p &lt; 1000, is the number of solutions maximised?</p></blockquote>
<p>WARNING: CONTAINS MATHEMATICS<br />
<span id="more-55"></span><br />
You may remember from school<br />
<img src="http://www.codecogs.com/eq.latex?a^2+b^2=c^2" alt="" /><br />
<img src="http://www.codecogs.com/eq.latex?a%5E2%20=%20c%5E2%20-%20b%5E2" alt="" /><br />
<img src="http://www.codecogs.com/eq.latex?a%5E2%20=%20%28c+b%29%28c-b%29" alt="" /><br />
(Difference of 2 squares)<br />
let<br />
<img src="http://www.codecogs.com/eq.latex?m=c+b" alt="" /><br />
and<br />
<img src="http://www.codecogs.com/eq.latex?n=c-b" alt="" /><br />
so<br />
<img src="http://www.codecogs.com/eq.latex?m+n=2c" alt="" /><br />
<img src="http://www.codecogs.com/eq.latex?m-n=2b" alt="" /><br />
and substituting these into <img src="http://www.codecogs.com/eq.latex?a^2=c^2-b^2" alt="" /><br />
gives<br />
<img src="http://www.codecogs.com/eq.latex?a=\sqrt{mn}" alt="" /><br />
Set <img src="http://www.codecogs.com/eq.latex?2p^2=m" alt="" /> and <img src="http://www.codecogs.com/eq.latex?2q^2=n" alt="" /> to get rid of that root and you have<br />
<img src="http://www.codecogs.com/eq.latex?a=2pq" alt="" /><br />
<img src="http://www.codecogs.com/eq.latex?b=p^2-q^2" alt="" /><br />
<img src="http://www.codecogs.com/eq.latex?c=p^2+q^2" alt="" /></p>
<p>Primitive triples are ones in lowest terms (if you know (3,4,5) you can get (6,8,10) etc by multiplying each side by some integer)<br />
If p and q are coprime and different parity you just get primitive ones (i did not bother and just used set() to remove dupes from the list)</p>
<p>Here is my code</p>
<pre class="brush: python;">
from __future__ import division
from collections import defaultdict
from time import time
     start = time()
counter = defaultdict(list)
    def triples():
    for q in range(1, 35):
        #35 is greater than sqrt(1000)
        for p in range(q+1, 35):
            a = p**2 - q**2
            b = 2 * p * q
            c = p**2 + q**2
            for m in range(1,int(1000/c)):
                #generate multiples till c is above 1000
                #triples with perimeter &gt; 1000 are filtered later
                yield (m*min(a,b),m*max(a,b), m*c)
    for triple in triples():
        perimeter = sum(triple)
        if perimeter &lt; 1001:
        counter[perimeter] += [triple]
&lt;p&gt;print set((counter[120]))
&lt;p&gt;maxlen = 1&lt;br /&gt;
for i in counter:
    length = len(set(counter[i]))&lt;br /&gt;
    if length &gt; maxlen:&lt;br /&gt;
        maxlen = length&lt;br /&gt;
        print i&lt;br /&gt;
end = time()&lt;/p&gt;
&lt;p&gt;print &quot;took &quot;, end-start&lt;/p&gt;
&lt;p&gt;</pre>
<p>Which outputs:<br />
<code>set([(24, 45, 51), (20, 48, 52), (30, 40, 50)])<br />
520<br />
528<br />
630<br />
660<br />
720<br />
840<br />
took  0.0140960216522</code></p>
<p>I tried brute forcing it today and knocked up the following</p>
<pre class="brush: python;">&lt;br /&gt;
from collections import defaultdict&lt;br /&gt;
counter = defaultdict(int)&lt;br /&gt;
from time import time&lt;/p&gt;
&lt;p&gt;def run():&lt;br /&gt;
	start = time()&lt;br /&gt;
	for perimeter in range(1,1001):&lt;br /&gt;
		#print perimeter&lt;br /&gt;
		for a in range(1,perimeter):&lt;br /&gt;
			for b in range(1,perimeter-a):&lt;br /&gt;
				c = perimeter - a - b&lt;br /&gt;
				if a**2 + b**2 == c**2:&lt;br /&gt;
					counter[a+b+c] += 1&lt;br /&gt;
	mosttriples = 0&lt;br /&gt;
	for i in counter:&lt;br /&gt;
		if counter[i] &gt; mosttriples:&lt;br /&gt;
			mosttriples = counter[i]&lt;br /&gt;
			print i&lt;br /&gt;
	end = time()&lt;br /&gt;
	print &quot;TOOK&quot;, end-start&lt;/p&gt;
&lt;p&gt;print &quot;without psyco&quot;&lt;br /&gt;
run()&lt;/p&gt;
&lt;p&gt;print &quot;with&quot;&lt;br /&gt;
import psyco&lt;br /&gt;
psyco.full()&lt;br /&gt;
run()&lt;br /&gt;
</pre>
<p>Which gives</p>
<pre class="brush: plain;">without psyco
516
520
528
630
660
720
840
TOOK 134.663383007
with
516
520
528
630
660
720
840
TOOK 21.0988409519
</pre>
<p>So psyco makes it 6 times faster but a smarter algorithm is 2000 times faster still.</p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/04/12/project-euler-39/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/04/12/project-euler-39/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Databases and Lustre on ZFS&#8217;s DMU, New CIFS Stuff</title>
		<link>http://www.thattommyhall.com/2008/04/03/databases-and-lustre-on-zfss-dmu-new-cifs-stuff/</link>
		<comments>http://www.thattommyhall.com/2008/04/03/databases-and-lustre-on-zfss-dmu-new-cifs-stuff/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 12:12:03 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://www.thattommyhall.com/2008/04/03/databases-and-lustre-on-zfss-dmu-new-cifs-stuff/</guid>
		<description><![CDATA[When I first heard about ZFS and its features, I was intrigued by a comment by Bill More about the possibility of having a database or other app directly consume the DMU that ZFS uses for filesystems or volumes. After I did a spot of research when editing the ZFS page on Wikipedia I noticed [...]]]></description>
			<content:encoded><![CDATA[<p>When I first heard about ZFS and its features, I was intrigued by a comment by Bill More about the possibility  of having a database or other app directly consume the DMU that ZFS uses for filesystems or volumes. After I did a spot of research when editing the ZFS page on Wikipedia I noticed the &#8220;Last Word In Filesystems&#8221; pdf has been updated since I last looked, here are the 2 pages that excited me. With Suns recent acquisition of MySQL and lustre we seem to have arrived there now. Lustre support is excellent as it solves the only failing of ZFS, that it is not clustered.<br />
<a href="http://www.thattommyhall.com/wp-content/uploads/2008/04/zfs_universal.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/04/zfs_universal.thumbnail.jpg" alt="zfs_universal.jpg" height="118" width="171" /></a></p>
<p>The in-kernel CIFS stuff gets a mention too<br />
<a href="http://www.thattommyhall.com/wp-content/uploads/2008/04/zfs_cifs.jpg" onclick="return false;" title="Direct link to file"><img src="http://www.thattommyhall.com/wp-content/uploads/2008/04/zfs_cifs.thumbnail.jpg" alt="zfs_cifs.jpg" height="116" width="171" /></a><a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;post_id=52&amp;_wpnonce=4c95e753ca&amp;ID=54&amp;action=view&amp;paged" id="file-link-54" title="zfs_cifs.jpg" class="file-link image"><br />
</a></p>
<p>Great work<a href="http://www.thattommyhall.com/wp-admin/upload.php?style=inline&amp;tab=browse-all&amp;post_id=52&amp;_wpnonce=4c95e753ca&amp;ID=54&amp;action=view&amp;paged" id="file-link-54" title="zfs_cifs.jpg" class="file-link image"> 			 </a></p>
<p>See <a href="www.opensolaris.org/os/community/zfs/docs/zfs_last.pdf" target="_blank">the full presentation</a> and Bill Moore&#8217;s <a href="http://www.sun.com/software/media/real/zfs_learningcenter/high_bandwidth.html" target="_blank">slightly outdated video</a></p>
<p class="facebook"><a href="http://www.facebook.com/share.php?u=http://www.thattommyhall.com/2008/04/03/databases-and-lustre-on-zfss-dmu-new-cifs-stuff/" target="_blank" title="Share on Facebook">Share on Facebook</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.thattommyhall.com/2008/04/03/databases-and-lustre-on-zfss-dmu-new-cifs-stuff/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
