<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>Caliban - Opinion and Righteous Anger</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/" />
   <link rel="self" type="application/atom+xml" href="http://www.caliban.org/mt/atom.xml" />
   <id>tag:www.caliban.org,2010:/mt/1</id>
   <updated>2010-02-08T09:48:15Z</updated>
   <subtitle><![CDATA[Ian, Sarah, Elo&iuml;se and Lucas kick against the pricks.]]></subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>

<entry>
   <title>From MT To WP</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/02/from_mt_to_wp.html" />
   <id>tag:www.caliban.org,2010:/mt//1.833</id>
   
   <published>2010-02-08T09:44:30Z</published>
   <updated>2010-02-08T09:48:15Z</updated>
   
   <summary>I&apos;ve just noticed in my Web server logs that some people are still subscribed to this blog&apos;s feeds. I apologise for neglecting this group when informing people of the following: I moved the blog from Movable Type to Wordpress about...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="This Site" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>I've just noticed in my Web server logs that some people are still subscribed to this blog's feeds. I apologise for neglecting this group when informing people of the following:</p>

<p>I moved the blog from Movable Type to Wordpress about a week ago, so you should update your feed subscription to <a href="http://caliban.org/wp/feed/">http://caliban.org/wp/feed/</a>.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Chromium</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/chromium.html" />
   <id>tag:www.caliban.org,2010:/mt//1.832</id>
   
   <published>2010-01-28T13:59:30Z</published>
   <updated>2010-01-28T14:01:33Z</updated>
   
   <summary>Few tools are as indispensable as the modern Web browser. With the development of groundbreaking interactive applications like GMail and Google Apps, the Web is turning into a remote application platform. As the facilitator of this, the browser is assuming...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Technology" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>Few tools are as indispensable as the modern Web browser. With the development of groundbreaking interactive applications like <a href="http://www.gmail.com/">GMail</a> and <a href="http://www.google.com/apps/intl/en/business/index.html">Google Apps</a>, the Web is turning into a remote application platform. As the facilitator of this, the browser is assuming a double role. It's no longer just a hatch through which we passively view text and images, it's rapidly becoming (and has arguably already evolved into) the <a href="http://en.wikipedia.org/wiki/Window_manager">window manager</a> for the Web.</p>

<p>My browsing history goes back some fifteen years, to the early pre-1.0 versions of <a href="http://en.wikipedia.org/wiki/Netscape_Navigator">Netscape Navigator</a>. It's hard to imagine now, but there are Internet users -- millions of them -- who've never even heard of Netscape.</p>

<p>Actually, my first browser was the text-based <a href="http://en.wikipedia.org/wiki/Lynx_(web_browser)">Lynx</a> browser, because I couldn't afford a PC at the time and was still using an Amstrad <a href="http://en.wikipedia.org/wiki/Amstrad_PCW">PCW</a> running <a href="http://en.wikipedia.org/wiki/CP/M">CP/M Plus</a> to dial into my Internet provider, where I'd run a remote instance of Lynx at the UNIX command prompt.</p>

<p>Back then, I didn't even have <a href="http://en.wikipedia.org/wiki/VT100">VT100</a> emulation (I had only a very lame <a href="http://en.wikipedia.org/wiki/VT52">VT52</a>), so I had to write my own <a href="/pcw_emu.html">EMUlator</a> in <a href="http://en.wikipedia.org/wiki/Z80">Z80</a> assembly language. This allowed me to see the text of the pages I viewed without ugly control codes messing up the flow. I then added the ability to render bold and italics and I'd managed to cobble together what seemed at the time to be a half-decent browser.</p>

<p>Anyway, I've been a faithful user of the Navigator bloodline the entire time I've been on the Internet. That's not servile brand loyalty speaking, simply the fact that Linux users had no other choice at the time. Development of Mosaic (from which Navigator was derived) ceased in 1996, because Netscape had rendered it superfluous.</p>

<p>Navigator would later be rechristened Communicator, but the browser was always commonly referred to by the company's name. After the purchase of Netscape by AOL, the browser was later officially renamed Netscape before reaching its end of life as Navigator once again.</p>

<p>To add to the confusion, Netscape had been codenamed Mozilla whilst the initial version was still in development. It actually retained this name throughout its life in its User-Agent header.</p>

<p>When Netscape were painted into a corner by Microsoft and released the source code to Navigator, they named this stripped down version Mozilla. I compiled the source code on the historic day of its release, but it would be a some time before Mozilla would be usable.</p>

<p>Several iterations of Mozilla ensued, before ultimately evolving into Firefox. That brings us to the present day and Firefox 3.5.6, the version I currently use.</p>

<p>Enter <a href="http://www.google.com/chrome/">Google Chrome</a>.</p>

<p>A year ago, Sarah migrated to Google Chrome and has never looked back. I watched with interest, but found it too lightweight for my taste. It didn't matter, anyway, because there was no version for Linux.</p>

<p>Google finally released a Linux beta in December of last year and I was eager to try it. Again, though, I was immediately struck by how many important features were missing. Most of these omissions were intentional, but one, the ability to remap keys via <tt>~/.gtkrc-2.0</tt> was an oversight. I filed a <a href="http://code.google.com/p/chromium/issues/detail?can=2&amp;q=32118">ticket</a> about this, but it turned out to have been fixed already in the development version. This omission in the beta version caused me to close windows when I hit Ctrl-W, when I merely wanted to delete a word. This small detail rendered the browser too dangerous to use.</p>

<p>I subsequently checked the <a href="http://code.google.com/p/chromium/wiki/LinuxBuildInstructions">code</a> out of <a href="http://subversion.tigris.org/">SVN</a> and set about compiling it. It's quite a beast and there was some reading to do to discover how to correctly configure the build, but nothing too bothersome.</p>

<p>It was then time for a cup of coffee while the 16 hyperthreads of the 8 cores of my 2 Xeons went to work. This was the first time my new desktop had ever been put under significant load. I ran <a href="http://en.wikipedia.org/wiki/Lynx_(web_browser)">make</a> with -j10, which was fun to watch.</p>

<p>Anyway, in a display of wanton disregard for good naming common sense, Google has chosen to call the open source version of their browser <a href="http://dev.chromium.org/Home">Chromium</a>, whilst the version they officially support and make available, complete with company logos and who knows what other proprietary stuff, is called <a href="http://www.google.com/chrome">Google Chrome</a>. Whilst they share a large common code base, if you install both, they will maintain separate configurations.</p>

<p>The exercise yielded a working browser with the keybinding problem fixed. This at least gave me something that wouldn't result in lost work. I now had a platform I could test and attempt to configure into something suitable for daily work.</p>

<p>The biggest problem for me with Chromium is the lack of flexible tab management. To be fair, Firefox doesn't have this out of the box, either. You need to install the <a href="https://addons.mozilla.org/en-US/firefox/addon/1122">Tab Mix Plus</a> extension to get it. The trouble is, Firefox <strong>has</strong> such an extension, while Chromium doesn't. I've come to regard it as indispensable, particularly the ability to wrap tabs onto multiple rows. This keeps the tab bars a constant width, which makes them both easy to find and keeps the titles readable. In Chromium, the tab bars shrink to create room for each newly opened tab, which soon renders them unreadable. I routinely have 30 tabs open and this is a real problem, because all that is left to identify the site contained in each tab is its <a href="http://en.wikipedia.org/wiki/Favicon">favicon</a>.</p>

<p>I looked around for an equivalent of Tab Mix Plus, but it appears that Chromium doesn't expose as many of its internals as Firefox. Given what I know about the project, that's almost certainly a conscious design decision to keep the browser from straying too far from its roots, even at the user's behest. The developers of Chromium want to maintain a simple, slick UI with very few configuration and management options. They presumably also want extensions to enhance the user experience without radically altering the look and feel of the browser.</p>

<p>After trying an extension called <a href="google.com/extensions/detail/amigcgbheognjmfkaieeeadojiibgbdp">TooManyTabs</a>, I settled on <a href="https://chrome.google.com/extensions/detail/imimolldggofidcmfdkcffpjcgaggoaf">VerticalTabs</a>, which at least provides a drop-down menu with the titles of all of my tabs. Even that requires vertical scrolling of the drop-down box, so it's far from ideal, but I can live with it.</p>

<p>Next problem: type-ahead find. It sounds picky, but I don't want to have to hit Ctrl-F before I initiate a 'find text in page' operation. Firefox has an option (turned off by default) that allows you to type directly into a page to find text within it.</p>

<p>Chromium doesn't support this, presumably because Google is pioneering the development of Web-based applications whose functionality almost necessarily involves binding keys to operations, so that the user can interact with the application from the keyboard. GMail is a good example of this.</p>

<p>These applications bind keys using JavaScript, a technique that would conflict with the ability to type a search string directly into a page to locate it. I wish the developers had chosen to simply allow JavaScript to override type-ahead when it needs to, but they chose instead to not implement the feature at all. There's an extension that implements it, called <a href="https://chrome.google.com/extensions/detail/imimolldggofidcmfdkcffpjcgaggoaf">Type-ahead-find</a>, but it's slow and suffers from some quirks. Still, it's much better than nothing at all, so I have it installed and active.</p>

<p>A final indispensable extension provides a way to block all of the diabolical Flash animation so prevalent on today's Web. Flash considerably lengthens page load times and consumes vast quantities of memory and CPU cycles, usually for no better purpose than to display garish advertising for products not available in this country or not desirable in any case. I never want to see any of that rubbish, nor any videos hosted by YouTube, nor any other Flash-based frivolity. Away with it.</p>

<p>Happily, there are multiple Flash blockers for Chromium, so it's easy to find one that suits. Some are more configurable than others. I settled on <a href="https://chrome.google.com/extensions/detail/cdngiadmnkhgemkimkhiilgffbjijcie">this one</a></p>

<p>My bleeding-edge Chromium is version 5.0.308.0 (37390), which represents the latest code in SVN as of a few minutes ago. As long as you compile a release version, i.e. with all of the debugging code removed, you end up with a very fast browser. With the aforementioned extensions installed, it's even usable.</p>

<p>I still can't quite bring myself to abandon Firefox, but the speed of Chromium is a strong draw. It renders pages blazingly fast and is, for this reason alone, very impressive.</p>

<p>Each tab also runs in its own process, which means that an errant site or a bug in the browser that affects just one tab won't hang the entire browser. Individual tabs can therefore be killed off without affecting the rest of the browser. This is a terrific design feature, as it renders the browser extremely robust.</p>

<p>Another nice feature of Chromium is the ability to resize the text entry boxes of forms. It provides a better overview of one's work whilst composing a blog entry, if nothing else.</p>

<p>Other than that and a few annoyances arising from differences in tab behaviour between Chromium and Firefox with Tab Mix Plus, behaviour that can't be altered in Chromium, there aren't that many differences between the two browsers. Most of the fundamental differences are technical in nature and therefore located under the bonnet, but they'er no less impressive for that.</p>

<p>I'm therefore going to persevere with Chromium and see whether I can get used to it over the course of a few weeks. At the moment, it still feels rather awkward and there's a strong sense of trying to hammer a square peg into a round hole. The hole in this case is my own habituation to certain behaviour, encouraged to for years by extremely flexible browser software. I can rationalise most of this desired behaviour with concrete examples, so it's hard to let go of it.</p>

<p>Why bother trying? you might ask. Because I feel that Chromium has enough potential to warrant the effort. It's just a shame that so few of those advantages, in my opinion, are in the most noticeable part of the browser, the user interface.</p>

<p>Given the browser's design goals, that fact is unlikely to change, so I'll just have to hope that extension writers provide the missing functionality. Whilst it may not be as radically reconfigurable as Firefox, it's theoretically infinitely extendible.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>The Return Of Snow</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/the_return_of_s.html" />
   <id>tag:www.caliban.org,2010:/mt//1.830</id>
   
   <published>2010-01-24T01:06:42Z</published>
   <updated>2010-01-24T01:07:46Z</updated>
   
   <summary>It got cold again today, after spending most of the week above zero. This evening, it started to snow again and it&apos;s still snowing now, several hours later. The world outside is lying under a fluffy blanket once again....</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="The Netherlands" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>It got cold again today, after spending most of the week above zero.</p>

<p>This evening, it started to snow again and it's still snowing now, several hours later.</p>

<p>The world outside is lying under a fluffy blanket once again.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Hardware Upgrades</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/hardware_upgrad.html" />
   <id>tag:www.caliban.org,2010:/mt//1.829</id>
   
   <published>2010-01-23T01:00:30Z</published>
   <updated>2010-01-24T00:55:31Z</updated>
   
   <summary>Another good test for my body a couple of days ago came in the form of lying on the ground, screwdriver in hand, trying to reach some inaccessible screws on the MythTV box, so that I could extricate it from...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Technology" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>Another good test for my body a couple of days ago came in the form of lying on the ground, screwdriver in hand, trying to reach some inaccessible screws on the MythTV box, so that I could extricate it from the jungle of leads in the living-room and perform open-heart surgery on it in the dining-room.</p>

<p>One of my <a href="http://www.hauppauge.com/site/products/data_pvr350.html">PVR-350</a> tuner cards gave up the ghost just before Christmas. I suspected a software fault at first, even though I had made no configuration changes to the machine, because the card was still emitting a video signal. Only the sound was missing from any recordings made using the card.</p>

<p>I tried numerous configuration changes to get the card to work, but I couldn't coax it back into making audible recordings. Either something in the machine had suffered a short-circuit, or the tuner card itself had gone to the great pile of hardware in the sky.</p>

<p>I didn't want to open the box -- extricating it from all of its leads and attached devices is quite a kerfuffle -- so I concluded the card must be at fault and set about finding a replacement for it.</p>

<p><a href="http://www.hauppauge.com/">Hauppauge</a> appears to no longer manufacture the PVR-350, so I resorted to <a href="http://www.marktplaats.nl/">Marktplaats</a>, the Dutch equivalent to eBay, and was pleased to quickly be able to find one for sale in Amsterdam for the princely sum of &euro;30.</p>

<p>It was nice to be on the right side of depreciating hardware for once. &euro;30 for a TV card in great condition: you can't say fairer than that.</p>

<p>I'd had to venture out and drive through the snow to buy the card, because I wanted to purchase it before my operation, not knowing how long it would otherwise be before I could go and pick it up. I didn't want the bloke to sell it to someone else if I took too long over it.</p>

<p>I thus picked it up the day before the operation, but I decided that if I was going to be opening the machine anyway, I may as well make it really worth my while and stick some extra memory in it. Our MythTV box has operated on only 1 Gb of RAM since its creation, which isn't a lot these days. It hasn't been a problem in daily use, but sometimes the front-end process can grow very large and there have been occasions when I've wanted to run a couple of other things on the box, and it hasn't really had the capacity for it.</p>

<p>So, I ordered a couple of gigs of extra RAM and waited for that to arrive, knowing that I'd probably be up and about again by the time the stuff arrived.</p>

<p>That turned out to be an accurate prediction, because the memory didn't arrive until Wednesday, at which point I decided to flex the muscles that hadn't seen a lot of use in the intervening week and set about upgrading the box after all of the other TV viewers in the house had gone to bed.</p>

<p>Sure enough, there was a blown capacitor on the bad PVR-350. It appeared to have a corroded top and I was surprised that the fault was so strikingly visible. I put in the replacement PVR-350, which featured a tuner chip of a slightly later revision than the one it was replacing, but I had queried this beforehand with the seller and then verified that the Linux ivtv driver also contained support for this version of the card.</p>

<p>This is one of the ongoing problems with hardware on Linux. A product like the PVR-350 may remain on sale for a number of years, but in that time it may undergo any number of <em>minor</em> hardware revisions. The packaging, however, will typically make no mention of this. And why would it? After all, the supplied CDROM containing Windows drivers has drivers for whichever card is in the box.</p>

<p>The problem is that the writers of Linux drivers typically have to do quite a bit of work to figure out how to make hardware work under Linux. This isn't always the case, however, and things are certainly a lot better now than ten years ago, Many manufacturers provide their own Linux drivers these days, or detailed technical specs, but even then driver writers can be left with plenty of reverse engineering work.</p>

<p>So, when a card like the PVR-250 suddenly starts to ship with a Philips tuner instead of a Hitachi one, Windows users aren't affected and don't even notice, whereas a Linux user will often find that the card doesn't work, even though it's supposedly a supported device.</p>

<p>That's because the developer of the Linux driver wrote the code according to the hardware that was current at the time. The user then has to patiently wait for the driver writer to catch up and add support for the new tuner, which could be trivial or could be a lot of work, especially if he doesn't have access to the latest revision of the card. The user can also add support himself, of course, but for most users, that's not an option.</p>

<p>In my case, both cards had tuners from the same manufacturer, but they were different revisions.</p>

<p>The defective card, as detected by the ivtv driver:</p>

<p><tt>
tveeprom 1-0050: Hauppauge model 48139, rev K257, serial# 8351216
tveeprom 1-0050: tuner model is Philips FM1216 ME MK3 (idx 57, type 38)
</tt></p>

<p>The replacement card:</p>

<p><tt>
tveeprom 1-0050: Hauppauge model 48139, rev K2B7, serial# 9994410
tveeprom 1-0050: tuner model is Philips FM1216ME MK5 (idx 117, type 38)
</tt></p>

<p>The old card is a MK3 version of the tuner, whereas the replacement card is newer, a MK5. That could have been enough for the card not to function, which is why I had to check with the seller what was written on the chip itself. That's a lot harder to do with a new product, still boxed and wrapped in cellophane, which is why buying hardware for Linux can still be a pain.</p>

<p>Next, I cracked open the Kingston KVR400X64C3AK2/2G memory that I'd purchased and added two sticks of 1 Gb 400 Mhz PC3200 CL3 DDR to the existing two 512 Mb sticks.</p>

<p>I also took the opportunity to hoover out the case of the PC, which had once again sucked in an inordinate amount of dust since it had last been opened and cleaned.</p>

<p>Now came the least fun bit: lying on my back to reconnect all of the cables.</p>

<p>Once that was done and I'd turned the machine back on, it came up as hoped with 3 Gb RAM and, more importantly, the replacement TV tuner card was functioning perfectly.</p>

<p>Our MythTV back-end is now back to being a quad-tuner system.</p>

<p>The same day that I upgraded our DVR, I also installed some slightly faster RAM in our new NAS (CL5 instead of CL6, for those who might wonder). The difference in speed won't be noticeable, but I had the chance to exchange the memory I'd originally installed, so I thought that I may as well.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Getting Back Into The Harness</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/getting_back_in.html" />
   <id>tag:www.caliban.org,2010:/mt//1.828</id>
   
   <published>2010-01-23T00:56:44Z</published>
   <updated>2010-01-23T00:57:46Z</updated>
   
   <summary><![CDATA[I exercised on the crosstrainer for the first time since the my operation this evening. I also picked up Elo&iuml;se from school, biked into the city centre for a haircut and then hauled a huge amount of groceries back from...]]></summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>I exercised on the crosstrainer for the first time since the my operation this evening. I also picked up Elo&iuml;se from school, biked into the city centre for a <a href="http://vandehare.nl/">haircut</a> and then hauled a huge amount of groceries back from the supermarket, so I can feel good about the amount exercise my body's had today.</p>

<p>The Wii Fit told me I'd put on a kilo since the last time I exercised, so that's been the cost of the post-operative recovery period. Not too bad, I suppose.</p>

<p>That means I'm still two kilos up on my pre-Xmas low, because I hadn't yet got back to that weight when the operation so rudely interrupted my workout regimen. I hope I can shift those two kilos over the next three or so weeks and return to my mid-December weight.</p>

<p>On the positive side, the Wii Fit declared me to have the body of a 21 year old this evening. Sigh... if only that were true.</p>

<p>We upgraded to the <a href="http://wiifit.com/">Wii Fit Plus</a> on release last year and I'm pleased to say that I've been making good progress on the new activities that have been added.</p>

<p>I've managed 622 points on the Obstacle Course in advanced mode, which is easily good for four stars. I've also achieved four stars a couple of times in the super-advanced mode of Perfect 10 (which should then be called Perfect 20), but it took me a lot of plays to get my brain and hips working in that kind of harmony.</p>

<p>In Big Top Juggling, I've managed to attain a perfect score in standard mode, but I doubt I'll pull off the same feat in advanced mode, where one must juggle five balls instead of three. That's pretty hard, especially when the bombs start exploding at your feet.</p>

<p>Speaking of perfect scores, I've also managed a perfect run through Tilt City, getting all the balls into the matching coloured buckets.</p>

<p>The Obstacle Course is one of the few new activities that hold a lasting appeal for me, though. I find it to be the perfect warm-up for the crosstrainer, so it's an activity I do every evening.</p>

<p>I was a bit wary of doing the squat routine on the crosstrainer this evening, but it wasn't uncomfortable, so I didn't skip it.</p>

<p>I'm in no more discomfort now than I would be if I'd taken part in a strenuous activity and pulled a load of muscles. More disturbing is the subcutaneous hardening of the tissue around my wounds. One of these has so much hardened tissue, that a bulge distends from my belly when I lie down and tense my stomach muscles. Yuck. I hope that's normal.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Life Returning To Normal</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/life_returning.html" />
   <id>tag:www.caliban.org,2010:/mt//1.827</id>
   
   <published>2010-01-20T15:56:42Z</published>
   <updated>2010-01-20T16:08:15Z</updated>
   
   <summary>I ventured out of the house briefly on Monday, for the first time in five days. The last time I was outside, the ground was lined with powdery snow and I was returning from my operation. On Monday, however, the...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>I ventured out of the house briefly on Monday, for the first time in five days. The last time I was outside, the ground was lined with powdery snow and I was returning from my operation. On Monday, however, the only remaining hint of this was the thin layer of ice still floating atop the local ponds.</p>

<p>Yesterday, we went for lunch as a family and today I picked Elo&iuml;se up from school on the bike. I could definitely feel some muscles, tendons and whatnot being pulled in directions they didn't much feel like going in, but all in all, that's probably no bad thing. Certain parts of my body have been getting no exercise over the last week.</p>

<p>As of today, I'm officially allowed to bike and drive a car again. That's good, because the car has to go in for its first <a href="http://www.rdw.nl/nl/voertuigeigenaar/apk/">APK</a> test next week.</p>

<p>I'll probably do some exercise this evening. I'm curious what the scales will read after the last, very inactive week.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Spotify On Sonos HOWTO</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/spotify_on_sono.html" />
   <id>tag:www.caliban.org,2010:/mt//1.826</id>
   
   <published>2010-01-20T13:53:25Z</published>
   <updated>2010-01-20T13:54:43Z</updated>
   
   <summary>The US is home to a great number of on-line music services, such as Napster, Pandora and Rhapsody. The trouble is that, due to copyright and royalty issues, access is currently restricted to users in the US. Over here in...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Technology" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>The US is home to a great number of on-line music services, such as <a href="http://www.napster.com/">Napster</a>, <a href="http://www.pandora.com/">Pandora</a> and <a href="http://www.rhapsody.com/">Rhapsody</a>. The trouble is that, due to copyright and royalty issues, access is currently restricted to users in the US.</p>

<p>Over here in Europe, things are fragmented. <a href="http://www.last.fm/">Last.fm</a> is a popular service that offers listeners the streamed equivalent of a personalised radio station, but outside of the US, it's available only in the UK and Germany.</p>

<p>The only pan-European music service I know of is France's <a href="http://www.deezer.com/">Deezer</a>. The trouble is, Deezer's not very good in its present state. It doesn't have a large number of songs, so selecting a SmartRadio station, which allows one to listen to a particular artist and others deemed similar, very quickly results in repetition, if, indeed, your chosen artist can be found at all.</p>

<p>Over on the the forums of the multi-room <a href="http://www.sonos.com/">Sonos</a> sound system, the most frequently requested integration of a new music service comes from users from all over Europe who'd like to see their Sonos system able to access <a href="http://www.spotify.com/">Spotify</a>, a high-quality music service based in the Swedish capital.</p>

<p>Sonos is obviously aware of the demand, but thus far hasn't granted the request. There are a number of reasons why Sonos integration of Spotify is problematic.</p>

<p>Firstly, at the technical level, Spotify has no API to speak of. The service requires the user to download an application, which then runs on their Windows or Mac machine. For Sonos to make this work on their system, they wouldn't simply be able to perform a few <a href="http://en.wikipedia.org/wiki/Http">HTTP</a> <a href="http://en.wikipedia.org/wiki/HTTP_GET#Request_methods">GET</a>s and make the existing controller software stream from Spotify. They (or more likely Spotify) would have to write a small application to do so. Integrating this with the existing system could prove challenging, but I'm sure it could be done.</p>

<p>Secondly, Spotify is currently in beta as an invitation-only service. This is to control the number of new users taxing the servers and ensure the quality of the service. Periodically, though, eager users in the UK can sign up without an invitation as Spotify decides to expand its user base.</p>

<p>Thirdly, Spotify is only available in a handful of European countries. Sadly, the one I live in isn't amongst them.</p>

<p>The above problems notwithstanding, I'm going to demonstrate how, with a little bit of determination, it's possible to listen to Spotify anywhere in the world on any device that supports streaming.</p>

<p>Prerequisites for this exercise are a computer running a fairly recent distribution of Linux. In particular, it's going to need to be running the revolutionary <a href="http://pulseaudio.org/">PulseAudio</a> sound server. This computer is going to act as middleware between Spotify and the device you listen on. Of course, if the machine in question is also your desktop, you can also use it as an endpoint to listen to Spotify.</p>

<p>First of all, you need to sign up as a user of Spotify. Since UK users sometimes don't need an invitation and, in any case, you need to appear to be registering from a serviced country, we're going to use a regional proxy, such as <a href="http://lessonfly.com/">lessonfly.com</a> or <a href="http://www.daveproxy.co.uk/">DaveProxy</a> to do this. You can find many others with Google, so try a few different ones if you think you're running into a technical problem.</p>

<p>Paste the URL <strong>https://www.spotify.com/en/get-started/</strong> into the box and you will be transported to Spotify's site as if you were in the UK. Once there, sign up for service as a new user.</p>

<p>If you can't get past a screen informing you that Spotify is currently an invitation-only service, you're not going to get in by just knocking on the door. In that case, you're going to need to get yourself invited. If you don't know anyone who has Spotify, ask around in audiophile and torrent forums. With some effort, you should be able to find someone who can send you an invitation.</p>

<p>Complete your registration with a valid UK address. including with a British postcode. The Royal Mail operate a rather nice <a href="http://postcode.royalmail.com/portal/rm/postcodefinder">postcode finder</a>. Just plug in an address somewhere in the UK and it'll spit out a postcode you can use.</p>

<p>Once you've done that, download the <a href="http://www.spotify.com/en/download/windows/">Spotify application for Windows</a>. Spotify doesn't provide a native Linux application, so we're going to have to run the Windows binary on our computer.</p>

<p>Next, install the software on your Linux machine by running <strong>wine Spotify Installer.exe</strong> in a terminal window. It should install flawlessly with a fairly recent version of <a href="http://www.winehq.org/">WINE</a> (a Linux implementation of the Windows API). Once it's installed, configure it with your Spotify user name and password, plus any additional settings you'd like to add, such as the user name and password of your <a href="http://www.last.fm/">Last.fm</a> account, so that anything you listen to can be <a href="http://en.wiktionary.org/wiki/scrobble">scrobbled</a>.</p>

<p>If you can and you haven't already done so, configure WINE at this point to use the PulseAudio sound server. It will make your life easier in the long run, as Spotify and any other Windows applications you use that access your computer's sound card will play nicely with any native Linux applications that do the same. You can configure WINE to use PulseAudio by running <strong>winecfg</strong> and going to the <strong>Audio</strong> tab.</p>

<p>Depending on your distribution, you may first need to patch WINE to add PulseAudio support. How to do this is beyond the scope of this HOWTO. but if you have Fedora 12, the patch has already been integrated in the distribution binary.</p>

<p>You should now have a working Spotify client. Regardless of where you live, the client will function normally at this point, but if you're not within the service area, it will work for only 14 days and you'll start to see warnings to that effect after a few days.</p>

<p>This is because Spotify's free service entitles users to travel outside the coverage area for up to two weeks without affecting their access. If you want to travel for longer, you have to sign up for Spotify's <a href="http://www.spotify.com/en/products/premium/">premium</a> service at &pound;9.99 per month.</p>

<p>If all you want to do is listen to Spotify on your Linux desktop, you're pretty much ready at this point. Consider signing up for Spotify's premium service, because it will remove both the advertising and the geographical restrictions. Because you can pay with PayPal, no-one need be any the wiser that you don't actually live in the UK. You can simply appear to be permanently <em>travelling</em>.</p>

<p>I wanted to listen to Spotify on my Sonos system, however. Although my natural habitat is at my computer, I'm frequently also to be found in the kitchen, dining-room, media room and bathroom. I therefore wanted to be able to listen to Spotify anywhere in the house.</p>

<p>Here's how to get there. The same solution works for streaming Spotify to any number of other networked devices in (or even outside of) your home, including computers, phones, etc.</p>

<p>First of all, we're going to capture the raw sound that the Spotify application sends to your PC's sound card. We do this using PulseAudio's <strong>parec</strong> utility, which is actually just a symlink to <strong>pacat</strong>, a program for recording and playing back raw audio streams.</p>

<p>Next, we take the flowing stream and convert it to signed 16 bit <a href="http://en.wikipedia.org/wiki/Endianness">little-endian</a> <a href="http://en.wikipedia.org/wiki/Wav">WAV</a> format data. This stage makes the sound much more palatable to other programs, because despite the name, this is actually a very common format for audio data interchange.</p>

<p>Finally, we take the resulting stream of WAV format sound and make it accessible to the Sonos. This requires transcoding it a format that is digestible by the Sonos, such as the commonly used MP3 format.</p>

<p>That alone won't be enough, however. We still need a way for the Sonos to actually get to the data we're producing. To achieve that, we'll take our newly re-encoded data and stream it over HTTP from the Linux computer. That way, any device that can play an MP3 stream can connect to the computer and grab the data.</p>

<p>Putting this together, we get the following script:</p>

<p><tt></p>

<pre>
#!/bin/bash

type pactl &>/dev/null ||
  { echo pactl unavailable. Install pulseaudio-utils.; exit 1; }

type cvlc &>/dev/null ||
  { echo cvlc unavailable. Install vlc-core.; exit 1; }

# Change this to 'true' if you have Spotify's premium service.
#
SPOTIFY_PREMIUM=false

# The computer's first Ethernet interface.
#
IF=eth0
IPADDR=$( ip addr show dev $IF | awk '/^ *inet / { print $2; exit }' |
          sed 's#/.*##' )
PORT=8080
DEVICE=$( pactl list | grep -A 2 'Source #' |
          sed -ne 's/^.*Name: \(.\+\.monitor\)$/\1/p' |
          grep -iv headset | head -n 1 )

if [ "$SPOTIFY_PREMIUM" = 'true' ]; then
  BITRATE=320
else
  BITRATE=160
fi

parec --device=$DEVICE --format=s16le --rate=44100 --channels=2 |
  sox --type raw -s2L --rate 44100 --channels 2 - --type wav - 2>/dev/null |
  cvlc -q - --sout "#transcode{acodec=mp3,ab=$BITRATE}:standard{access=http,mux=raw,dst=$IPADDR:$PORT}" \
    2>/dev/null
</pre>

<p></tt></p>

<p>Copy and paste the above script into a file, make it executable and run it. If you don't have <a href="http://sox.sourceforge.net/">SoX</a> or <a href="http://sox.sourceforge.net/">VLC</a> installed, install them now.</p>

<p>There's a chance the above script won't work for you. It's not very sophisticated and doesn't do a lot of error-checking. If you have multiple Ethernet interfaces in your computer and it's not connected to the network via the first one, you'll need to modify the script.</p>

<p>Similarly, if you have multiple sound cards in your computer, the above script may try to use a different one than the one to which the Spotify application is sending its output. Again, you'll have to modify the script to make it work.</p>

<p>For the majority of users, however, the above script will just work.</p>

<p>Spotify streams its free service in <a href="http://www.vorbis.com/">Ogg Vorbis</a> Q5 format, which is good for a nominal 160 kbps of data. Premium users get Ogg Vorbis Q9, which is nominally 320 kbps, although the Ogg Vorbis codec is so good that you'll be hard-pressed to tell the difference. Make the appropriate modification to the script if you've signed up for premium service and want the higher bit rate.</p>

<p>Assuming the script is working, you should now be able to connect to your computer using your Sonos (or similar device) and listen to whatever Spotify is playing at the time. If your computer's IP address were. for example, 192.168.1.12, you would add a radio station to the Sonos, giving it the following URL: <strong>http://192.168.1.12:8080/</strong></p>

<p>At this point, music should start to emanate from the speakers connected to your Sonos system. If it doesn't, make sure that the Spotify application is actually playing something and that the above script is functioning correctly. Troubleshooting the script may prove tricky for you, but it includes enough variables that it, too, is unfortunately beyond the scope of this posting.</p>

<p>If you've got this far, well done. You're listening to Spotify in a location that isn't officially served, using a client application that was written for use on a different operating system, transcoding its output and retransmitting it to an unsupported device!</p>

<p>Obviously, the integration with the Sonos is poor. You can start or stop listening to the stream from your computer, but your computer will go on streaming after you have stopped listening. This only really matters if you're scrobbling data to Last.fm, because you will scrobble tracks you didn't actually listen to.</p>

<p>Similarly, you can't control or even view the details of what you listen to from the Sonos. To select new music or see what's currently playing, you'll have to visit the computer and use the Spotify application.</p>

<p>Still, some integration is better than no integration at all, I think.</p>

<p>There's also the problem of service ending after 14 days if you're not in the service area. Whilst you can sign up for premium service to escape this restriction -- and I encourage you to do so -- there's another solution.</p>

<p>Spotify's preferences dialogue allows you to specify a proxy server to use to access the service. You can choose between a number of different flavours of proxy, one of which is <a href="http://en.wikipedia.org/wiki/SOCKS">SOCKS5</a>. If the proxy you fill in here happens to be located in Spotify's service area, it will appear to Spotify as if you, yourself, are also within that area.</p>

<p>Here again, Google is your <a href="http://www.google.com/search?q=socks5+proxy">friend</a>.</p>

<p>Freely available proxies of this kind tend to come and go with the weather, but you actually only briefly need one once every two weeks to reset the clock on your <em>travelling</em>. After listening to one song via a proxy, you can reselect <strong>no proxy</strong> and enjoy another two weeks of listening <em>on the road</em>, as it were.</p>

<p>There are some stability issues with this set-up. Occasionally, the script will hang and the Sonos will be unable to (re-)connect to the stream. In that case, you'll need to restart the script. Alternatively, you could write a watchdog to monitor the script and restart it as necessary.</p>

<p>Also, you'll experience the occasional audio drop-out, particularly if you're streaming Spotify via a SOCKS5 proxy in another country. There's not much you can do about this, other than sign up for premium service so that you have unlimited access to a direct stream.</p>

<p>Finally, there's some minor danger to your privacy to be aware of with this configuration. You'll recall that all data going to your computer's sound card is being captured and streamed. That means that if you were to receive an incoming call via, say, Skype, and that program is configured to send its output to the same sound card as Spotify, anyone in your house can now tune into the conversation via the Sonos. If this is a worry to you, use PulseAudio to send only the output of Skype to a USB headset.</p>

<p>Getting this operational should not be regarded as a guarantee of continuity of service. Spotify is at liberty to block your account at any time, even as a paying subscriber, because you're circumnavigating their geographical restrictions. They're under absolutely no obligation to you.</p>

<p>Nevertheless, if you can get this working and manage to stay under Spotify's radar, I hope it's of some use to you. If nothing else, it's a nice demonstration of the combined power of Linux, the Internet and geek willpower.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Waitress Service</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/waitress_servic.html" />
   <id>tag:www.caliban.org,2010:/mt//1.825</id>
   
   <published>2010-01-17T00:15:22Z</published>
   <updated>2010-01-17T00:57:47Z</updated>
   
   <summary>Waitress service is what I&apos;ve been enjoying over the last few days, having been rendered less than able to look after myself. I just sit on the couch and watch TV, or sit behind my computer and surf the Net...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>Waitress service is what I've been enjoying over the last few days, having been rendered less than able to look after myself.</p>

<p>I just sit on the couch and watch TV, or sit behind my computer and surf the Net while listening to music. When it's time to eat or drink, the missus calls and I dutifully hobble to the other room to consume what she has prepared. Some men would trade their groin being sliced open for a deal like that. </p>

<p>It's a rough life. For Sarah, it <strong>is</strong> a rough life. She's had to deal with not only the children and me, but also the tasks I would normally take care of. She also says I make a shitty patient, which is probably true.</p>

<p>Happily, my recovery is coming along in leaps and bounds. Thursday wasn't much different to the day of the operation in terms of discomfort and disability, but yesterday I needed only 1000 mg of paracetamol to get me through the day, and even that was borderline.</p>

<p>Today, I took myself completely off this mild medication, as the discomfort/pain has dramatically subsided. It now merely feels as if I've pulled a few muscles rather badly. My abdomen is still rather swollen and the flesh around the wounds of the laparoscopic incisions is tender and hard, but it's all very minor compared to what I was expecting (which was based on the specialist's own admonishments not to underestimate the effects of the operation).</p>

<p>I can walk around fairly normally now, albeit at a slower than normal pace. I'm not allowed to bend over or pick up anything heavy, which is rather debilitating, of course. Biking and driving are also still several days removed, along with having a bath. Other than that, though, things are rapidly returning to normal and I'm obviously delighted with my progress.</p>

<p>The <a href="http://en.wikipedia.org/wiki/Inguinal_hernia">inguinal hernia</a> that instigated all of this is thankfully also drastically reduced, if not completely gone. There's still some mild swelling there, but that could be just fluid retention and may yet dissipate. On the other hand, perhaps the prosthesis that has been inserted into my groin is only 95% effective. I don't know.</p>

<p>I've been sleeping in the guest bed since the operation and will continue to do so for the next few days. I'm afraid of getting a nocturnal kick in the goolies from one of the children. Even the thought of it makes me grimace.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Only The Good Die Young...</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/only_the_good_d.html" />
   <id>tag:www.caliban.org,2010:/mt//1.824</id>
   
   <published>2010-01-13T17:17:48Z</published>
   <updated>2010-01-14T09:34:10Z</updated>
   
   <summary>...so it should come as no surprise that I&apos;m still around. I now have some decidedly odd sensations in my crotch, as if a small rodent is burrowing away down there. Hardly surprising, I suppose, after some bloke has been...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>...so it should come as no surprise that I'm still around.</p>

<p>I now have some decidedly odd sensations in my crotch, as if a small rodent is burrowing away down there. Hardly surprising, I suppose, after some bloke has been rummaging around inside my nether regions.</p>

<p>Apart from these inner ructions, all I have as a physical reminder of today's operation is some soreness, tenderness and the feeling of having pulled a few muscles. One other reminder is that my loins now give Lukie's a run for their money in the baldness stakes, but that will grow back.</p>

<p>All in all, quite a result.</p>

<p>The doctor had prepared me for a lot more pain than I'm feeling at the moment. It's really quite mild and my only medication is paracetamol. I should have no trouble sleeping tonight; touch wood.</p>

<p>There now dawns an irritating period of convalescence, during which I'm not supposed to do much of anything. Some people would say I've spent my whole life doing just that and should find it no adjustment at all, but the idea of being confined to the couch for the next week, not being able to bend over, pick up Lukie or even press out a reluctant turd is not one I relish.</p>

<p>Just another or life's little trials and tribulations.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Under The Knife</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/under_the_knife.html" />
   <id>tag:www.caliban.org,2010:/mt//1.823</id>
   
   <published>2010-01-12T23:33:10Z</published>
   <updated>2010-01-12T23:42:29Z</updated>
   
   <summary>The old groin goes under the surgeon&apos;s scalpel in just a few hours. I have to be at the hospital at 07:30, so I have a taxi picking me up at 06:50. The idea of a 06:30 wake-up is almost...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>The old groin goes under the surgeon's scalpel in just a few hours.</p>

<p>I have to be at the hospital at 07:30, so I have a taxi picking me up at 06:50. The idea of a 06:30 wake-up is almost as unpleasant as the idea of the operation itself.</p>

<p>Assuming my surgeon and anaesthetist aren't having an off-day or preoccupied with concerns that their wife might be shagging the next-door neighbour, it should be a straightforward procedure and I should be lying in the recovery room within an hour of going into theatre.</p>

<p>If either one of them <strong>is</strong> having an off-day, well, then either that taxi ride in the morning will be the last thing I ever do on this earth or I'll emerge from hospital some time tomorrow afternoon a drooling vegetable.</p>

<p>But let's hope not, eh?</p>
]]>
      
   </content>
</entry>
<entry>
   <title>The Joy Of Discovery</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/the_joy_of_disc.html" />
   <id>tag:www.caliban.org,2010:/mt//1.822</id>
   
   <published>2010-01-11T22:54:59Z</published>
   <updated>2010-01-12T00:13:07Z</updated>
   
   <summary>There&apos;s so much computer and entertainment technology to keep track of these days that there will always be developments that slip through the cracks and remain unbeknownst to one. One such development that has passed me by unnoticed until now...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Technology" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>There's so much computer and entertainment technology to keep track of these days that there will always be developments that slip through the cracks and remain unbeknownst to one.</p>

<p>One such development that has passed me by unnoticed until now is <a href="http://www.dlna.org/digital_living/how_it_works/">DLNA</a>.</p>

<p>Since the installation of the media room upstairs, I've spent the last year lamenting that I've been too lazy to build a <a href="http://www.mythtv.org/">MythTV</a> front-end for that room . Our original dual back-end/front-end box is still in the living-room, since that's where we still do most of our viewing. That means we have no DVR at all upstairs, which is very annoying. Once you've used a DVR, there's no going back to live TV, so we just end up not watching TV upstairs.</p>

<p>On the other hand, I <strong>have</strong> installed MythTV on my new desktop computer, turning it into a second front-end. Because I have two monitors on the new system, I can play a TV programme on one monitor while I do work on the other. This can be a recorded programme or even live TV, all of which gets streamed from the back-end in the living-room. It's fun to be able to watch a programme that requires only a bit of my attention whilst still being able to get real work done.</p>

<p>Anyway, as I said, I've been too lazy to build a front-end for the media room upstairs. Little did I know, however, that I actually already had a kind of front-end up there, sitting idle, waiting to be discovered.</p>

<p>It turns out that MythTV has had a built-in DLNA server since version 0.20.2, which basically allows it to announce its digital content to the network.</p>

<p>That wouldn't actually mean much, were it not for the fact that the PlayStation 3 happens to be a DLNA client.</p>

<p>What this means is that we can use the PS3 to play TV programmes (as well as videos, photos, music, etc.) from the MythTV back-end, albeit through a very crude interface.</p>

<p>Because it's not a true MythTV front-end, we don't have fine control of the system, so we can't, for example, sort the programmes by the date they were recorded. Still, it's much better than nothing at all and may prove good enough to avoid the need for a dedicated MythTV front-end in that room.</p>

<p>I'm still reeling from the fact that the functionality I wanted was there all the time, lurking unseen and awaiting discovery for the last year. When I chanced upon the information, I bolted upstairs and found that everything just worked. I didn't even need to configure anything.</p>

<p>The feeling was similar to the way Sarah's parents must have felt when they saw their grandchildren for the first time via the webcam on the other side of the Atlantic. Not that my discovery is in any way on a par with that; just that the surprise at what current technology is capable of is comparable. It's the childlike astonishment that comes with a new discovery and I see it in my own children almost every day.</p>

<p>Even people who've made their living from computers, people like me, experience this from time to time. Like I said, there's just too much to keep track of and even a seasoned computer user can by surprised by what's now possible.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>New NAS</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/new_nas.html" />
   <id>tag:www.caliban.org,2010:/mt//1.821</id>
   
   <published>2010-01-10T18:04:19Z</published>
   <updated>2010-01-20T14:43:37Z</updated>
   
   <summary>Although it seems not so very long ago that I purchased our ReadyNAS NV+ with 2.6 Tb of usable disc space (4 Tb before Netgear&apos;s proprietary X-RAID is applied to the disc array), it&apos;s been hovering around the 80% consumed...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Technology" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>Although it seems not so very long ago that I purchased our <a href="http://www.readynas.com/">ReadyNAS</a> <a href="http://www.readynas.com/?cat=4">NV+</a> with 2.6 Tb of usable disc space (4 Tb before Netgear's proprietary <a href="http://www.readynas.com/?cat=54">X-RAID</a> is applied to the disc array), it's been hovering around the 80% consumed mark for some time now. I thought it would take a few more years to fill it, but with <a href="http://www.mythtv.org/">MythTV</a>, an active digital camera and CDs being regularly ripped to the network, it soon mounts up.</p>

<p>The time had therefore come to do something about the problem, before it became more pressing.</p>

<p>I considered replacing the current discs with 2 Tb models for a doubling of the capacity, but that would still leave me with another problem: the NV+ has quite a slow CPU and this is now especially noticeable on my new desktop, which retrieves my home directory over NFS from the NV+. So, I wanted better performance in addition to more space.</p>

<p>A few years ago, <a href="http://www.netgear.com/">Netgear</a> had few serious competitors in the home and small business NAS market. That's changed now, though, so I had a few other options to check out in addition to Netgear's own latest offerings.</p>

<p>Ultimately, though, I decided to stick with the familiar, well-built boxes manufactured by Netgear. This time, though, I opted for the higher-end <a href="http://www.readynas.com/?cat=24">ReadyNAS Pro</a>, which Netgear had conveniently just released in a 12 Tb format (only 9.1 Tb of which is usable, however), the <a href="http://www.netgear.com/Products/Storage/ReadyNASPro/RNDP6620.aspx">RNDP6620</a>.</p>

<p>I'm told that I'm the first customer in the Netherlands to purchase this model and I certainly had to put up with a couple of promised delivery dates slipping before the box finally arrived a few days ago. Actually, there was a delivery attempt just before Christmas, but we had already left for the US.</p>

<p>Anyway, the package finally arrived on Wednesday and I wasted little time in unpacking it and examining the contents.</p>

<p>The chassis contains 6 x Western Digital <a href="http://www.wdc.com/en/products/Products.asp?DriveID=610">WD2002FYPS</a> drives, good for a theoretical 12 Tb, which, as I've mentioned, is actually 9.1 Tb usable after <a href="http://www.readynas.com/?cat=53">X-RAID2</a> has been applied.</p>

<p>Netgear Nederland had told me on the phone that this model was to be sold with ES series Seagate drives, but the reality is Western Digital. Subtract one point for supplying incorrect product information.</p>

<p>After unpacking the unit, I removed the left side panel to reveal the memory slots. Neither the on-line manual or the FAQ described how to do this, so I first removed the right-hand side panel. When the memory slots weren't to be found there, the panel on the opposite side was pretty much the only place they could be.</p>

<p>The system is supplied with 1 Gb RAM on a single stick of DDR2, but it will definitely benefit from more, so it's strange that Netgear don't explain how to perform the upgrade. That second slot wasn't put there for nothing. It's easy enough to find, but I still score a minus for Netgear for omitting this from the documentation.</p>

<p>I replaced The Unigen module with 4 Gb of DDR2 from Kingston. Netgear don't actually list any 2 Gb sticks on their <a href="http://www.readynas.com/?page_id=83">hardware compatibility list</a>, but the ReadyNAS forums have plenty of postings from people who have successfully used this model, so I felt confident in placing the order. It should really help out with large rsync transfers.</p>

<p>There's a recessed button on the back of the ReadyNAS, which can be used to access rarely used, sub-OS functionality, such as the factory reset. It also provides access to the memory test, so, after replacing the side panel, I turned the unit on, prodded the button with an unfolded paper-clip and ran the test. Happily, the new memory passed with no problems.</p>

<p>After booting the box for the first time, the first thing I did was upgrade the firmware, called RAIDiator, to <a href="http://www.readynas.com/?cat=24">4.2.8</a>, the latest version.</p>

<p>A reboot later, I was able to start exploring the updated Web-based UI, FrontView. That this box has a much faster CPU than the older NV+ became immediately apparent, just from the speed at which Frontiew worked in my browser. It positively zips along. The NV+ had a 280 Mhz <a href="http://www.kaltech.co.il/pdf/LEONSPARRAIDProcessor.pdf">SPARC-compatible CPU</a>, but this box has an Intel <a href="http://processorfinder.intel.com/details.aspx?sSpec=SLA3H">Pentium Dual Core E2160</a> running at 1.8 Ghz.</p>

<p>This box has a few other features that the NV+ doesn't have; dual gigabit Ethernet interfaces, for example. Both my HP ProCurve 2848 switch and the ReadyNAS Pro support 802.3ad <a href="http://en.wikipedia.org/wiki/Link_aggregation">LACP</a>, so I've bonded these interfaces for a single 2 Gbit connection to my network. That should ensure that network I/O is never the bottleneck.</p>

<p>When I configured the networking, the box somehow got itself into a weird state, with networking statically configured as desired, but DHCP still operational in some form or other. A reboot failed to remedy the situation.</p>

<p>This had the effect of taking down DNS on the box, which made NTP and e-mail alerts silently fail. Because the box could thought that DHCP was operational, FrontView annoying greyed out the
field that would have enabled me to manually add a DNS server.</p>

<p>Netgear scores a fairly big minus for this, because I had to install the EnableRootSSH <a href="http://www.readynas.com/?page_id=608">patch</a> in order to fix the problem. An average user would have needed to contact Netgear at this point.</p>

<p>In the past, I've used the ability to ssh into the box as root to add missing functionality. For example, I was able to add support for arbitrary rsync options by hacking <tt>/frontview/bin/backup</tt>.</p>

<p>I washoping to do the same on the new box, too, but the file in question is now compiled Perl bytecode in this version of the firmware. That's a pisser, because I'm now at the mercy of Netgear to supply all of the functionality I need, a point on which they've obviously been remiss in the past.</p>

<p>Maybe there's a Perl bytecode to source decompiler out there, but at that point, it's more effort than I want to make for something that's essentially supposed to be a black-box appliance.</p>

<p>On the other hand, this version of the firmware is newer than that available for the NV+, and it just so happens that this version <strong>does</strong> now offer a field on the rsync back-up page that enables the user to specify directories to --exclude, so Netgear gains a point back here for listening to user feedback (albeit slowly).</p>

<p>Another interesting thing to note here is that backup is the only Perl program in the <tt>/frontview/bin</tt> directory that has been obfuscated in this way, which makes me wonder why they bothered. I can't believe that it's a performance enhancement.</p>

<p>I already had <a href="http://www.networkupstools.org/">NUT</a> running on a Linux box, which allows me to fool the ReadyNAS into believing there's another ReadyNAS on the network that is physically connected to a UPS. This has allowed me to have my NV+ monitor my APC Smart-UPS RT 5000 XL over IP, because you otherwise have to have a UPS that can be connected over USB. This is a major shortcoming of the UPS monitoring and something Netgear evidently isn't in a hurry to fix.</p>

<p>The same strategy works for the Pro, of course, so it, too, is now monitoring the UPS over IP.</p>

<p>Incidentally, the RT 5000 XL is now 22% loaded, which finally lights the first of five load status LEDs on the front and brings my off-line run-time capacity down to 51 minutes, should I ever need it.</p>

<p>In a quirk of fate, when I was situating the new ReadyNAS box, I accidentally nudged the power cord of my main Linux server, causing it to physically detach from the UPS.</p>

<p>This box had been giving me SMART errors about bad sectors for approximately a year, plus warnings about strange NMIs (non-maskable interrupts) from time to time. The sudden loss of electricity was more than this old timer could handle and it subsequently spewed ATA errors
on boot.</p>

<p>An attempt to reinstall Linux on either of its two discs failed at the <tt>mke2fs</tt> stage, so I had to retire it, spending the rest of the evening installing Fedora 12 on my very recently replaced desktop machine, which has now been pressganged into service as my new server. It looks as if I replaced my desktop just in time!</p>

<p>I'm now busy moving back-up jobs from the NV+ to the Pro. <tt>/home</tt> has already been moved across and is now much more responsive.</p>

<p>Incidentally, Netgear supplied the box with a single Cat5 cable, too cheap to include two Cat5e cables for its dual Ethernet. The Pro is supposed to be a small business machine, for crying out loud! Even the old NV+, a home user device, came with a Cat5e cable. Lose another point, Netgear.</p>

<p>The NV+ will remain in service for the time being as storage for our audio and video files, as accessed by our <a href="http://www.sonos.com/">Sonos</a> system and MythTV.</p>

<p>It's hard to believe that our humble home network has now passed the 10 Tb of on-line storage mark. It's even harder to believe that that will one day be used up, but I know from experience that it's an absolute certainty.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>From Snow To Snow</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2010/01/from_snow_to_sn.html" />
   <id>tag:www.caliban.org,2010:/mt//1.820</id>
   
   <published>2010-01-04T22:59:24Z</published>
   <updated>2010-01-05T00:01:16Z</updated>
   
   <summary>We left the US yesterday in ice-cold temperatures and with several centimetres of snow lining the ground. The unhelpful dickhead driver of the bus that took us from Providence to Boston didn&apos;t stop at terminal A of the airport, so...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Travel" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>We left the US yesterday in ice-cold temperatures and with several centimetres of snow lining the ground. The unhelpful dickhead driver of the bus that took us from Providence to Boston didn't stop at terminal A of the airport, so we had to get a porter to ferry our huge pile of luggage across the concourse and up and down the intervening lifts until we were finally where we needed to be.</p>

<p>Unhelpfully and illogically, the bus also drops you at arrivals, not departures, so even finding a porter was a bit of an adventure.</p>

<p>That was the only hitch, though. Tanked up on business lounge nuts and drinks, we made a relaxed entrance onto the flight and, given that the return leg was a night flight, we really appreciated the ability to recline almost horizontally in business class.</p>

<p>Our flight was delayed only as long as was necessary to de-ice the plane, after which it was a smooth ride all the way back to Amsterdam.</p>

<p>We arrived about an hour later than scheduled, but given that we were comfortable and it was the middle of the night, as far as our body clocks were concerned, this was actually a bonus.</p>

<p>Our luggage rolled off the conveyor belt very quickly and we were back at the house by 10:00, which was pretty good going, given that we hadn't even landed until after nine. We went straight to bed and emerged some four hours later, in time for a late lunch.</p>

<p>The worst thing about arriving back from a long trip away is the chores that await one: an essential trip to the supermarket, picking up packages that couldn't be delivered in our absence, etc. The cold and the icy conditions made the bike ride less than ideal, but at the same time, it felt good to be back on two wheels and getting some exercise again.</p>

<p>Speaking of which, the Wii Fit complained this evening when I weighed myself for the first time in seventeen days. I'm back in the <em>overweight</em> band, but I'm confident I can get back to <em>ideal</em> in fairly short order. Getting back to the lowest weight I attained before our trip will take longer, and there's also the hiatus that my operation in a little over a week will impose. Ugh.</p>

<p>My first workout of the year was predictably heavy going, but as with the biking, it felt good to be exercising again. I worked up quite a sweat, which I hope will reveal itself in tomorrow's weight measurement.</p>

<p>The children don't know whether they're coming or going and are having real trouble sleeping this evening. You could say that it's to be expected, but it's usually a lot easier for them than it's proving this time. With a 07:00 start tomorrow, it's uncertain at this point whether Elo&iuml;se will be in any fit state to go to school. We'll see.</p>

<p>As always, it's great to be back home, but it'll be a lot better once the children's bodies have adjusted. Lucas, in particular, has had a rough time of it today. I hope the night will be better.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Scoop: Providence Not Coldest Place On Earth!</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2009/12/scoop_providenc.html" />
   <id>tag:www.caliban.org,2009:/mt//1.819</id>
   
   <published>2009-12-31T16:43:06Z</published>
   <updated>2009-12-31T17:02:50Z</updated>
   
   <summary>We&apos;ve been away from being away for the last couple of days, having been up north to visit some friends. We drove up to Acton, Massachusetts on Tuesday for lunch with Sarah&apos;s old friend, Lauren. After lunch, we reconvened up...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="Travel" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>We've been away from being away for the last couple of days, having been up north to visit some friends.</p>

<p>We drove up to Acton, Massachusetts on Tuesday for lunch with Sarah's old friend, Lauren. After lunch, we reconvened up the road at the <a href="http://www.discoverymuseums.org/">Children's Discovery Museum</a>, where the young ones had a great time running balls along gutter runs and climbing on things.</p>

<p>We parted ways and then drove in high winds on freezing roads further north to North Hampton in New Hampshire. It was about -12&deg;C by the time we arrived, but less than -21&deg;C with wind chill. I had previously thought Providence to be the coldest place on earth, but there it was still a soothing -10&deg;C.</p>

<p>The reason for our visit to New Hampshire was to see our friend Linda, whose daughter, Maisy, is in the same class as Elo&iuml;se at school. Linda's family are incredibly hospitable and made us feel completely at home, except for the fact that our own home doesn't have the incredible catering and service provided by her family. We all immensely enjoyed our evening there together.</p>

<p>Wednesday morning, we drove up the road to the discount malls in Kittery, Maine, in order to do some shopping for children's clothes. I found a lot of good stuff for Lukie at the <a href="http://www.hannaandersson.com/">Hanna Andersson</a> shop. We left Elo&iuml;se at the house with Maisy's grandfather, so that she could look at chickens in the barn and ride on his tractor. Linda's parents live on a big farm and it's great for an urbanite like Elo&iuml;se to experience, even if it's just for a moment, another way of life.</p>

<p>After lunch, we drove back to North Hampton, picked up Elo&iuml;se, loaded the car and drove back to Providence, getting stuck for ages in heavy traffic around Boston. All in all, it was a <a href="http://maps.google.com/maps?f=d&amp;source=s_d&amp;saddr=Providence&amp;daddr=Maynard,+ma+to:north+hampton+to:providence&amp;hl=en&amp;geocode=FfUufgIdnlO--yldc35D4ETkiTEntrNITXzfaQ%3BFZN7hwIdXcS9-ykDtw4GtIzjiTG-nDH8ie5b2w%3BFa61jwIdMDnH-yl1Hn7k8uniiTEG1Fu9hb5kmQ%3BFfUufgIdnlO--yldc35D4ETkiTEntrNITXzfaQ&amp;mra=ls&amp;sll=42.441701,-70.757446&amp;sspn=1.475562,3.15033&amp;ie=UTF8&amp;ll=42.395066,-71.218872&amp;spn=1.476659,3.15033&amp;z=9">pretty long round trip</a> for the driving conditions, but everyone had fun and we all arrived back safe and sound.</p>
]]>
      
   </content>
</entry>
<entry>
   <title>Skinny Bastard</title>
   <link rel="alternate" type="text/html" href="http://www.caliban.org/mt/archives/2009/12/skinny_bastard.html" />
   <id>tag:www.caliban.org,2009:/mt//1.818</id>
   
   <published>2009-12-27T04:15:57Z</published>
   <updated>2009-12-27T04:50:51Z</updated>
   
   <summary>Before we left for Christmas in the USA, I managed to convincingly hit my end of year weight target with room to spare, finally weighing in at just under 79 kilos on the Wii Fit. That means I&apos;ve lost a...</summary>
   <author>
      <name>ianmacd</name>
      <uri>http://www.caliban.org/</uri>
   </author>
         <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
   
   
   <content type="html" xml:lang="en" xml:base="http://www.caliban.org/mt/">
      <![CDATA[<p>Before we left for Christmas in the USA, I managed to convincingly hit my end of year weight target with room to spare, finally weighing in at just under 79 kilos on the Wii Fit. That means I've lost a total of 21 kilos since I entered into this new regime of diet and exercise.</p>

<p>Since arriving in the US a week ago, my weight has, of course, taken a hit. I'm not getting the exercise that I would back home and I'm eating a lot more than I'm now used to. It's Christmas, after all, and there are plenty of tempting treats around.</p>

<p>Once I get back to Amsterdam, however, it will be business as usual again, undoing the damage of this trip and hopefully dropping another few kilos besides, in order to reach my ideal weight of around 75 kilos.</p>

<p>My upcoming hernia operation will throw another spanner in the works, but hopefully won't put me out of action for very long.</p>

<p>We went out shopping for clothes today, because I basically need a completely new wardrobe. Nothing I own fits any more. It all either hangs limply on my body, making me look like a scarecrow, or simply slides right off.</p>

<p>With my weight at a 15 (maybe 20) year low, I found myself trying on jeans with a 32 inch waist this afternoon. Although I could squeeze into them, that was still a little ambitious, so I ended up buying a few pairs with a 33 inch waist. I also bought a new jacket, a shirt and a couple of other items. Ideally, I still need a second shopping expedition in order to buy underwear and a couple more shirts, so I hope we can squeeze that in before we leave. We're here for another week, though, so it shouldn't be a problem.</p>
]]>
      
   </content>
</entry>

</feed>
