<?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>Andy&#039;s blog</title>
	<atom:link href="http://blog.norman.cx/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.norman.cx</link>
	<description>Yet another rambling weblog</description>
	<lastBuildDate>Tue, 25 Nov 2008 20:24:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPeng native, a Squeezebox remote app for the iPhone/Touch</title>
		<link>http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/</link>
		<comments>http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 20:03:22 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Toys]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod Touch]]></category>
		<category><![CDATA[Squeezebox]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=28</guid>
		<description><![CDATA[Squeezebox owners who also own iPhones or iPod Touches have been patiently awaiting the arrival of native apps to control their Squeezeboxes. The iPhone was an obvious candidate as a remote control for the Squeezebox and the iPeng web based remote interface has been available for quite some time.
While the iPeng web remote was very [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.slimdevices.com/">Squeezebox</a> owners who also own iPhones or iPod Touches have been patiently awaiting the arrival of native apps to control their Squeezeboxes. The iPhone was an obvious candidate as a remote control for the Squeezebox and the iPeng web based remote interface has been available for quite some time.</p>
<p>While the iPeng web remote was very good, it was just too slow. Mobile Safari can only throw data around so fast.</p>
<p>In the last couple of weeks we suddenly have a flood of Squeezebox control apps hitting the App Store. The one I was waiting for is the native version of <a href="http://penguinlovesmusic.de/?p=166">iPeng</a>. It finally became available today for £5.99 ($9.99 in the US).</p>
<p><span id="more-28"></span></p>
<p>In summary, <em>rawr</em>. It is pretty much everything I hoped it would be.</p>
<p>If I was starting now I probably wouldn&#8217;t buy a Squeezebox Controller, the iPhone + iPeng native beats it in very nearly every respect. The only place were it doesn&#8217;t beat it is hardware buttons and the volume control.</p>
<p>It is still quicker to pick up the SBC and hit pause than it is to do the same on the iPhone. That is if the SBC is in its completely awake state, if it is in its first partial sleep state then the iPhone has it beat. Not that there is much in it when the SBC is fully awake. Picking up the SBC and hitting pause takes a second or so. With the iPhone if iPeng was the last app loaded then it takes 2-3 seconds, if another app was loaded you need to add another couple of seconds.</p>
<p>The volume control has similar issues, but also suffers because it works the same as the iPhone&#8217;s iPod app volume control, I wish it worked more like a Windows slider control. I shouldn&#8217;t have to carefully click on the thumb and slide, I should be able to click to the right of the thumb a couple of times to boost the volume a bit.</p>
<p>You can navigate via all the expected routes:</p>
<ul>
<li>by artist</li>
<li>by album</li>
<li>by the normal Internet radio menu (complete with AlienBBC and iPlayer if you have them installed)</li>
<li>by searching (with keyboard input, and quick matching, the results update as you type)</li>
<li>by genre (quite who browses this way I don&#8217;t know)</li>
<li>by favourites</li>
<li>by playlists</li>
<li>by &#8220;new music&#8221;</li>
<li>by podcasts (not sure how that works, my menu is empty)</li>
<li>by last.fm and Pandora (both listed under &#8220;Internet radio&#8221;)</li>
</ul>
<p>It is quick and easy to toggle between &#8220;Add&#8221;, &#8220;Add next&#8221; and &#8220;Play&#8221;. There is a icon/button in the top bar that shows you the current mode and switches between them.</p>
<p>You can choose whether it implements some iPod-isms. In particular by default it collapses artists that have only a single album down to &#8220;Artist-&gt;Tracks&#8221; instead of &#8220;Artist-&gt;Album-&gt;Tracks&#8221;, thankfully you can turn this off. You can also decide whether playing a track in an album just plays that track or the rest of the album.</p>
<p>Fast forward and rewind work better than on the SBC, using SC 7.3 at least. I was skipping back and forth within iPlayer streams pretty much flawlessly.</p>
<p>It is also fairly configurable. Like the iPod app you can choose which items appear on the bottom toolbar.</p>
<p>Overall it is designed to behave much like the iPod app. On the now playing screen you swipe left and right to switch between the multiplayer screen, current track details and current playlist details.</p>
<p>On the multiplayer screen you can sync players quickly, adjust all the volumes together etc</p>
<p>It isn&#8217;t perfect yet, there are one or two visual bugs I have spotted. I have no doubt Jörg Schwieder, the developer, will fix them quickly and they don&#8217;t detract from the functionality.</p>
<p>Here are a collection of screenshots from the app:</p>

<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0003/' title='img_0003'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0003-150x150.png" class="attachment-thumbnail" alt="Now playing screen" title="img_0003" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0004/' title='img_0004'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0004-150x150.png" class="attachment-thumbnail" alt="Now playing screen showing track position slider" title="img_0004" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0005/' title='img_0005'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0005-150x150.png" class="attachment-thumbnail" alt="Multiplayer control screen" title="img_0005" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0006/' title='img_0006'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0006-150x150.png" class="attachment-thumbnail" alt="Current playlist" title="img_0006" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0007/' title='img_0007'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0007-150x150.png" class="attachment-thumbnail" alt="Current playlist editting, you can drag and drop to rearrange it" title="img_0007" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0008/' title='img_0008'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0008-150x150.png" class="attachment-thumbnail" alt="Artists" title="img_0008" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0009/' title='img_0009'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0009-150x150.png" class="attachment-thumbnail" alt="Artist&#039;s albums" title="img_0009" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0010/' title='img_0010'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0010-150x150.png" class="attachment-thumbnail" alt="Album tracks" title="img_0010" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0011/' title='img_0011'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0011-150x150.png" class="attachment-thumbnail" alt="Albums" title="img_0011" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0013/' title='img_0013'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0013-150x150.png" class="attachment-thumbnail" alt="Internet radio" title="img_0013" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0014/' title='img_0014'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0014-150x150.png" class="attachment-thumbnail" alt="last.fm" title="img_0014" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0015/' title='img_0015'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0015-150x150.png" class="attachment-thumbnail" alt="Search" title="img_0015" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0016/' title='img_0016'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0016-150x150.png" class="attachment-thumbnail" alt="Menu" title="img_0016" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0017/' title='img_0017'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0017-150x150.png" class="attachment-thumbnail" alt="Settings" title="img_0017" /></a>
<a href='http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/img_0018/' title='img_0018'><img width="150" height="150" src="http://blog.norman.cx/wp-content/img_0018-150x150.png" class="attachment-thumbnail" alt="Toolbar settings" title="img_0018" /></a>

]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2008/11/25/ipeng-native-iphone-touch-squeezebox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech Squeezebox Duet Review &#8211; part 2</title>
		<link>http://blog.norman.cx/2008/05/17/logitech-squeezebox-duet-review-part-2/</link>
		<comments>http://blog.norman.cx/2008/05/17/logitech-squeezebox-duet-review-part-2/#comments</comments>
		<pubDate>Sat, 17 May 2008 11:07:11 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=23</guid>
		<description><![CDATA[This is the second part of my review of of the Squeezebox Duet, though all of this part focuses on the Controller part of the package. Part 1 is here.

Battery life
In part 1 it was too soon to talk about battery life. Now I have used the Controller for a couple of weeks I can [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second part of my review of of the Squeezebox Duet, though all of this part focuses on the Controller part of the package. Part 1 is <a title="Part 1" href="http://blog.norman.cx/2008/04/29/logitech-squeezebox-duet-review-part-1/">here</a>.</p>
<p><span id="more-23"></span></p>
<h2>Battery life</h2>
<p>In <a href="http://blog.norman.cx/2008/04/29/logitech-squeezebox-duet-review-part-1/">part 1</a> it was too soon to talk about battery life. Now I have used the Controller for a couple of weeks I can comment on how long the battery lasts in normal use.</p>
<p>My first couple of charges lasted only 5 hours, which I was a little bit disappointed by. I&#8217;m not the only one either, there have been quite a few new users on the SlimDevices <a href="http://forums.slimdevices.com/showthread.php?t=47755">forum</a> complaining that their first charge only lasted a few hours.</p>
<p>I don&#8217;t believe it is a problem with the Controller though. The initial low battery life was down to one thing, the fact that I was using it a lot in those first couple of days. I was picking it up and playing with it all the time, trying out all the features, installing new plugins and testing those, skipping up and down my music library. As such the first couple of charges were under non-typical use.</p>
<p>As soon as I settled down battery life shot up. If I use the Controller &#8220;normally&#8221;, queuing up music throughout the day, it makes it through a full day and into the next day without a charge. If I don&#8217;t use the controller for a couple of days it survives quite happily and still has some charge when I come back to it.</p>
<p>The Controller has a series of power modes that it uses. Monitors the buttons, scroll wheel and its accelerometer to know whether it is being used or not. By default as soon as it has not been use for a few seconds it starts to dim the screen and slows down its CPU. If it stays unused it later turns off the backlight on the screen completely. It then moves on to turn the screen off and then later turns off the wifi connection. At any point if you pick the Controller up it will very quickly wake up and turn everything back on. If it has got to the point that it has turned wifi off then it takes a few seconds to reconnect, otherwise it is available to use straight away.</p>
<p>If you leave it unused long enough or if the battery reaches a low level then the Controller will turn itself off completely. At that point you have to wake it by pressing the power button.</p>
<h2>Pandora</h2>
<p>I&#8217;m not going to explain what <a href="http://www.pandora.com/">Pandora</a> is here. What I am going to talk about the Squeezebox Controller&#8217;s interface for accessing Pandora.</p>
<p>You access Pandora under the Music Services menu on the Controller. When you do you get the options:</p>
<ul>
<li>Your Stations</li>
<li>Create a New Station</li>
<li>Account Settings</li>
</ul>
<p>You access you existing Pandora stations via the first option. The second option lets you create a new station by entering an artist name to search for. The final option lets you turn on the &#8220;Explicit content filter&#8221; and change the order you stations are sorted by.</p>
<p>When you open the &#8220;Your Stations&#8221; menu you are presented with a list of all of your Pandora stations. You can then open a station you can: play the station, add another artist to the station and rename/delete the station.</p>
<p>When you play a station it starts playing within a couple of seconds and the details of the current track are displayed in the &#8220;Now Playing&#8221; screen just as if you had played a track from your local music library. The &#8220;Now Playing&#8221; screen shows all the normal things: artist, track title, album title and the cover art.</p>
<p>If you press the select button on the &#8220;Now Playing&#8221; screen you get a list of actions connected with the current track. The actions are:</p>
<ul>
<li>I like this song</li>
<li>I don&#8217;t like this song</li>
<li>Don&#8217;t play this song for a month</li>
<li>Bookmark (song or artist)</li>
<li>Why did you play this song ?</li>
<li>Create new station from artist</li>
<li>Create new station from song</li>
</ul>
<p>For those of you who use Pandora I&#8217;m sure you&#8217;ll recognise those actions and they work just the same way here as they would if you were using the Pandora website. This is just a brilliant way to use Pandora.</p>
<h2>Things that don&#8217;t work</h2>
<p>The software that the Squeezeboxes use is under constant development and improvement. That is one of great things about buying a product where the developers care about the customers, they are constantly adding new features and fixing things that don&#8217;t work.</p>
<p>However, that said there are some things that don&#8217;t work properly with the Controller even when running the latest software. The most obvious and serious of these is fast forwarding and rewinding.</p>
<p>Fast forwarding and rewinding just does not work on the Controller at the moment. If you try to skip forwards or backwards through a track the audio breaks up and starts to play seemingly random snippets of the track. You can get back to listening to the track again by pausing and unpausing.</p>
<p>So at the moment the only way to skip within a track with a Duet setup is to use the SqueezeCenter web interface, which works fine. The good news is that there is a fix on its way in the next major version of the software, which will of course be available for free to all Squeezebox users.</p>
<p>I honestly can&#8217;t think of any other significant issues that I have found with either the Receiver or the Controller, they work very well.</p>
<h2>Conclusion</h2>
<p>Nothing has changed in my conclusion since part 1, the Squeezebox Duet is excellent, it is a long time since I have loved a product quite so much.</p>
<p>There is loads of functionality in the Duet that I haven&#8217;t even mentioned:</p>
<ul>
<li>An RSS feed reader (perfect for checking the BBC News, weather and the Radio 4 schedule)</li>
<li>Random music mixes with genre filtering</li>
<li>Music services including Rhapsody, Slacker, MP3Tunes, Live Music Archive (and Napster/Last.FM soon)</li>
<li>Internet radio including Radio IO, Radio Time, Live 365, Shoutcast</li>
<li>Alarm clock functions</li>
<li>Synchronised playback between multiple players</li>
<li>Lots and lots of third party plugins that add all sorts of new functionality (and more plugins being created all the time)</li>
<li>Optional crossfading between tracks (including a plugin that turns on cross fading only when you are playing random music selections</li>
<li>Automatic software updates</li>
<li>Automatic volume adjustment</li>
<li>etc</li>
</ul>
<p>If you want a network music player, buy a Squeezebox Duet. I will be buying another couple more  Squeezebox Receivers soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2008/05/17/logitech-squeezebox-duet-review-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech Squeezebox Duet Review &#8211; part 1</title>
		<link>http://blog.norman.cx/2008/04/29/logitech-squeezebox-duet-review-part-1/</link>
		<comments>http://blog.norman.cx/2008/04/29/logitech-squeezebox-duet-review-part-1/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 12:24:57 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Toys]]></category>
		<category><![CDATA[mp3 slimdevices empeg]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=22</guid>
		<description><![CDATA[I&#8217;ve had an MP3 player for my car since I bought my first empeg back in 1999. The empeg is an absolutely brilliant MP3 player, but I&#8217;ve never had anything that compared for the the home.
I own a bunch of Rio Receivers, which were designed by the same team as the empeg, but the software [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had an MP3 player for my car since I bought my first <a href="http://www.riocar.org/modules.php?op=modload&amp;name=FAQ&amp;file=index&amp;myfaq=yes&amp;id_cat=2&amp;categories=Basic+questions+about+the+car+player+and+the+company&amp;faqent=1#1">empeg</a> back in 1999. The empeg is an absolutely brilliant MP3 player, but I&#8217;ve never had anything that compared for the the home.</p>
<p>I own a bunch of Rio Receivers, which were designed by the same team as the empeg, but the software on them is just too flawed (largely thanks to the Rio marketing department I fear) to make them anything other than mediocre MP3 players.</p>
<p>I&#8217;ve looked in the past at the <a href="http://www.sonos.com/">Sonos</a> system, but it is always looked very expensive and restricted in its functionality. I also looked at the previous <a href="http://www.slimdevices.com">SlimDevices</a> players, but the big problem with those was that even though they had a clear bright screen I can&#8217;t read the screen from across the room without first finding my glasses.</p>
<p>So when I saw that SlimDevices (now owned by <a href="http://www.logitech.com/">Logitech</a>) were working on a system similar to Sonos, with a screen-less player and a Wifi enabled remote with a screen, I was very excited. So I bought one as soon as they became available.</p>
<p>Anyway, enough of the waffle, on with the review (the Duet has a lot of functionality, so we are going to be here a while).<br />
<span id="more-22"></span></p>
<h2>Physical</h2>
<p>The Squeezebox Duet is made up of two parts, the player itself called the Squeezebox Receiver and the remote called the Squeezebox Controller. The Receiver is much smaller that I was expecting, it barely covers the palm of my had. The Controller looks and feels much like a typical mobile phone, through without a keypad and about 25% longer.</p>
<p>They look like this:</p>
<p><img src="http://www.slimdevices.com/images/duet_hero_500_2.jpg" alt="Logitech Squeezebox Duet" width="500" height="340" /></p>
<p>The design and the finish to both equal to Apple devices that I have had my hands on recently, as you can see the design is very clean and uncluttered. The Receiver has just a handful of external connections: left/right phono out, optical/coax out, an RJ-45 network port and the power socket. It has no buttons or switches on it at all and just a single LED on the front which cycles through a whole rainbow of colours while it is going through the various stages of connecting to the network, but thankfully settles down to just white when it is playing.</p>
<p><em>Correction: the Receiver does indeed have a button, the LED on the front also doubles as a button that pauses or unpaused the Receiver and appears to reboot the Receiver when held down for a few seconds</em></p>
<p>The Controller has 2.4 inch (6 cm) colour screen, 10 buttons and a scroll wheel. The screen is reasonably good, with not bad viewing angles, certainly much better than my HTC S710 phone for example. It certainly looks good when it is displaying flickr photo streams, more on that later&#8230;</p>
<p>The buttons on the Controller are:</p>
<ul>
<li>Add &#8211; adds the item to the playlist</li>
<li>Play &#8211; plays the current item immediately</li>
<li>Back &#8211; backs up to the previous menu</li>
<li>Home &#8211; take you back to the home screen (pressing it again switches to the &#8220;Now playing screen&#8221;, pressing and holding it powers the Controller off)</li>
<li>Select &#8211; selects the current item (the select button sits in the centre of the scroll wheel)</li>
<li>Volume up and down</li>
<li>Rewind and fast forward &#8211; skips tracks with a single click</li>
<li>Pause &#8211; pauses the current playlist</li>
</ul>
<p>The buttons are flush with the surface of the Controller, but that doesn&#8217;t cause any problems when using in it dim light as they are all beautifully back-lit in white.</p>
<p>The scroll wheel is a mechanical one, rather than the solid state ones on the iPods. It doesn&#8217;t have a phsyical clicking mechanism as you scroll it (though by default the Controller uses its speaker to simulate a click as you move between menu items). Using the scroll wheel was the first disappointment that I had, because the surface of the wheel has the same smooth finish as the rest of the Controller it sometimes slips under your finger as you scroll it. It isn&#8217;t that much of a problem, just a minor annoyance.</p>
<p>I do hope that the rotary encoder behind the scroll wheel lasts better than some of them do. It would be very annoying to find that it two years the Controller became unusable because the scroll wheel was behaving erratically.</p>
<p>The Controller is charged with a very slick looking docking stand. The stand itself is very small and looks like it will topple over easily. However when you pick it up you realise that your concern is unwarranted as the stand is nicely weighed to stop that happening.</p>
<p>Thankfully because Logitech are not Apple the Li-ion battery in the Controller is user replaceable, yah !</p>
<h2>How it works</h2>
<p>The old Slim system and the Rio Receivers both worked the same way, the player has a screen and an infra red remote to control it. The music files are stored on you PC and you have to install some sort of server software on the PC.</p>
<p>The Duet works like the Sonos system, the screen moves to the Controller and which is connected via Wifi. The Controller doesn&#8217;t connect to the Receiver directly, instead it talks to the SqueezeCenter server. The Receiver also talks to the server to stream its music. You can have more that one Receiver connected and can control them all with a single Controller.</p>
<p>You can also control older Slim players using the Controller just the same way as you control the Receiver.</p>
<p>The geeks among you will be excited to hear that the Controller is a complete Linux computer in the palm of your hand, with 64MB of RAM and a reasonably powerful ARM processor.</p>
<h2>Getting started</h2>
<p>I must quickly mention the packaging, someone at Logitech has clearly been looking at Apple&#8217;s packaging. After you remove the out &#8220;marketing blurb&#8221; box you find a matt black box with black musical scores printed in gloss black. You realise that it isn&#8217;t an Apple product however when you have to go and find a knife to open the box and its compartments.</p>
<p>The Duet doesn&#8217;t come with a CDROM or DVD, so one of the first things you need to do it download the <a href="http://www.slimdevices.com/su_downloads.html">SqueezeCenter </a>software from the SlimDevices website and install it on your computer, you can run SqueezeCenter on Windows XP, 2000, NT, Vista, OS X 10.3.5+, Linux, BSD or Solaris. SqueezeCenter is very easy to install.</p>
<p>Getting the Duet setup was pretty straight-forward, you fit the battery to the Controller, plug the Receiver in and away they go detecting your network settings. The Controller&#8217;s battery has more than enough charge in it to get you through setting everything up and having a good play with it.</p>
<p>Once it has examined your network the Controller displays a list of Wifi networks to you, I expect if your Wifi is set to hide itself then at this point you have to enter your SSID yourself. So you select your network and move onto entering your pass phrase or key.</p>
<p>This bit was a little painful as the Controller has no keypad at all, so you have to select each character by scrolling up and down with the wheel. My pass phrase  is stupidly long, so this step took me a few minutes. At least I shouldn&#8217;t have to do this too often (thankfully settings like this survive software updates).</p>
<p>The Controller also takes charge of setting up the Receiver, which is good because the Receiver has no screen or keypad.</p>
<p>Once they are both connected to the network the Controller displays a list of SqueezeCenter servers, so you pick your server from the list. At this point if there is a more recent firmware for the Controller it downloads it, installs it and restarts (I think the Controller has an SD slot hidden somewhere so you can update the firmware if you need to and can&#8217;t connect to the network).</p>
<h2>In use</h2>
<p>The Controller is very easy to use, even Eryl my wife said &#8220;this is so much easier to use that the Rio Receivers&#8221;. As you&#8217;d expect you just scroll with the wheel and click.</p>
<p>The top level menu on the Controller has the following items:</p>
<ul>
<li>Now Playing</li>
<li>Music Library</li>
<li>Internet Radio</li>
<li>Music Services</li>
<li>Favorites</li>
<li>Settings</li>
<li>Extras</li>
<li>Turn Off Receiver</li>
</ul>
<p>To play some music you open up the Music Library menu and select from:</p>
<ul>
<li>Artists</li>
<li>Albums</li>
<li>Genres</li>
<li>Years</li>
<li>New Music</li>
<li>Random Mix</li>
<li>Music Folders</li>
<li>Play Lists</li>
<li>Search</li>
</ul>
<p>Most of these menu items take advantage of the SqueezeCenter database, that has read all the tags from your music files to build up the list of Artists, Albums, Genre, Year etc. As you would hope when you drill down into Artists you get a complete list of all the Artists in the database. If you then pick a artist you get a list of all their albums, if you have cover art for your albums then they are also displayed in the list of albums (the cover art takes a couple of seconds to be displayed, but it is intelligently cached by the Controller).</p>
<p>At any point in these menus you can use the Add or Play buttons on the Controller to either add the current item to the end of the play list or to immediately play the item. For you empeg users, the Controller doesn&#8217;t current appear to allow the clever playlist manipulation tricks that the empeg can do. I must go and suggest some new functionality on the SlimDevices forum.</p>
<p><em>Correction: the Controller does actually have one trick up its sleeve in this area. If you press the Add button the item you have selected is added to the end of the current playlist, whereas if you press and hold the Add button it inserts the item as the next item in the playlist.</em></p>
<p>The Music Folders item lets you browse the directory structure of you music files on the server. For you empeg users, this almost gives you the same functionality as hierarchical playlists, but obviously only if your directory structure is neat and tidy. However I believe a SqueezeCenter and Control plugin combination could give you the same playlist functionality as emplode+empeg. I need to go an brush up my perl and learn lua (SqueezeCentre plugins are coded in perl, Controller plugins are coded in an odd scripting language called lua).</p>
<p>The Search menu lets you search for Artist, Albums, Songs and Playlists. To search you enter, using the scroll wheel, part of their name. The search doesn&#8217;t start until you have entered all the characters you want to and started the search. It would be better if it started searching as soon as you started entering searches, though I think their might be an old plugin to do this that just needs to be ported to the new system.</p>
<p>Once you are playing some music you can see what is playing via the Now Playing screen. It shows you the Artist, Track and Album for the current song, along with a progress bar for the song and a &#8220;x of y&#8221; display for the running order. It also displays the cover art for the album if there is any.</p>
<p>Pressing Select on the Now Playing screen brings up a list of the current running order which again shows the Artist, Album, Track and cover art. You can skip straight to a song by selecting it and pressing the Play button. Selecting a track and pressing the Add button at this point removes the song from the running order.</p>
<p>Pressing Select on one of the tracks in the running order list brings up detailed information on the song and also shows an Add to favorites item. The information items that it shows like Album, Year, Artist etc are all active. By active I mean that if you select Album you can use the Add button to add that whole album to the running order, press Select to explore the album&#8217;s tracks or use Play to play that whole album. All very well thought out.</p>
<p>All of this functionality is very quick to use, there are no annoying pauses to frustrate you. The only time you see any significant pauses is when you are using some of the other functionality that has to go to the Internet to fetch data (like the RSS feed browser, flickr screen saver, Internet Radio streams etc).</p>
<h2>Expandability</h2>
<p>One of the reasons why the Duet looked more appealing to me than the Sonos system is that the Sonos software is pretty much completely closed. If people want to add new features to it they pretty much can&#8217;t. In comparison SlimDevices actively encourage their customers to get involved adding new features to the product and to help fix existing features.</p>
<p>Both SqueezeCenter and the Controller support use added plugins and there is a wide range of them available for SqueezeCenter already. One of the most impressive of the existing plugins is called Alien and it allows you to listen to BBC Radio live transmissions and &#8220;Listen Again&#8221; content via your Receiver.</p>
<p>When you install the Alien plugin a new menu is added to the &#8220;Internet Radio&#8221; menu on the controller. The Alien menu then lists all the BBC radio stations and you can either pick one of them to listen to live or choose from a list of the &#8220;Listen Again&#8221; content that the BBC makes available on its website. That means that I can listen to Radio 4 live using it or go an listen to yesterday&#8217;s Archers&#8230;</p>
<h2>Conclusion</h2>
<p>There are large chunks of the Controller&#8217;s functionality that I haven&#8217;t even touched on yet and this review already has too many words. I think I shall stop for now and do a second part to this review covering the rest of the functionality.</p>
<p>I love this thing, it really is much better and more complete than I was expecting. I thought it would be a typical version 1.0 product, with gaps in functionality, compromises and bugs. But it isn&#8217;t, it has a very full feature set and works very well.</p>
<p>I can definitely recommend this to anyone, geek or newbie alike. I plan on buying another couple of Receivers as soon as they are available and then I can also test out the synchronised playback feature.</p>
<p>I&#8217;ve had the Duet less than 24 hours so far, so I don&#8217;t know yet how battery life on the Controller is goin g to work out. That said it is looking fairly promising so far, I&#8217;ve had the Controller sat next to me and played with it occasionally for the last couple of hours and the battery guage hasn&#8217;t moved off of full yet. The Controller goes to sleep when you don&#8217;t use it from a while, cleverly it wakes up when you pick it up again, which is another neat touch.</p>
<p><strong>See also <a href="http://blog.norman.cx/2008/05/17/logitech-squeezebox-duet-review-part-2/">part 2</a> of this review.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2008/04/29/logitech-squeezebox-duet-review-part-1/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Review of i-mate Momento 100  photo frame</title>
		<link>http://blog.norman.cx/2007/11/27/review-of-i-mate-momento-100-photo-frame/</link>
		<comments>http://blog.norman.cx/2007/11/27/review-of-i-mate-momento-100-photo-frame/#comments</comments>
		<pubDate>Tue, 27 Nov 2007 21:15:41 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Toys]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=19</guid>
		<description><![CDATA[I had hoped to give my parents a Wifi enabled digital photo frame for Christmas. After researching various Wifi frames, I settled on the i-mate Momento 10 inch one.]]></description>
			<content:encoded><![CDATA[<h2>The Plan</h2>
<p>I had hoped to give my parents a Wifi enabled digital photo frame for Christmas. For it to be usable by my parents it had to be very easy to use and robust.</p>
<p>Ideally I want to just point it at a set of RSS feeds and have the frame cycle through random images from them. It would be nice if it could fall back to local storage if the Wifi connection isn&#8217;t present (my Dad likes to turn off his router when he isn&#8217;t using it).</p>
<p>After researching various Wifi frames, I settled on the i-mate Momento 10 inch one.<span id="more-19"></span> The only people that seem to have it in stock in the UK are PCWorld, who have it for £199. I deliberately bought it from their website rather than in store. That way if it doesn&#8217;t suit me I can send it back under the Distance Selling regulations and get my money back.</p>
<h2>The Good</h2>
<p>Physically the frame is not too bad. It has a very modern look, very Apple-like white and transparent plastic. It certainly feels more solid that many of the frames I have looked at.</p>
<p>Setting up the frame was reasonably straight forward. The only painful part was entering the Wifi WPA key using the remote and an on-screen A-Z keyboard. This step is not made any easier by the sluggish and unpredictable response to the remote.</p>
<p>The 800 x 480 pixel screen is bright and most of the time the picture quality is ok. That however is where the good stuff ends.</p>
<h2>The Bad</h2>
<p>As I mentioned before the remote is a bit of a problem. It wouldn&#8217;t be so bad if the frame just didn&#8217;t respond quickly to button presses, that you could work around. The real problem is that it is inconsistent in its response. Sometimes it will respond immediately, other times there will be a fraction of a second delay and occasionally it will stop responding for several seconds.</p>
<p>All this means that you end up pressing a button again, because you assume you didn&#8217;t press it properly. Which means you end up in the wrong place on the menu and have to spend time getting back to the right place again.</p>
<p>You&#8217;d also better pray you never lose the remote. Without the remote the only thing that you can do with the frame is turn it on and off.</p>
<p>Talking of not responding, this frame crashes and hangs a lot. I have only had it for about 24 hours now and it has already crashed and become totally unresponsive half a dozen times.</p>
<p>None of this is helped by the fact that the UI is just a bit clunky. The clunky-ness is present in just about all areas of the UI, for example:</p>
<ul>
<li>When browsing images in a list of thumbnails you can&#8217;t delete them or add them to the favourites (the only way to delete an image is to wait until it appears in the slideshow, press &#8220;Info&#8221;, select &#8220;Delete&#8221; and press &#8220;Mode&#8221;, a total of 5 button pressess)</li>
<li>When browsing images in a list of thumbnails there is no &#8220;Last&#8221; option on the first page, so if the image you want is on the last page you have to navigate through all the pages to get to it</li>
<li>When in a slideshow, with the order set to random, pressing &#8220;Back&#8221; will not show the last displayed image, it just displays another random image</li>
</ul>
<p>There are plenty of other examples of this&#8230;</p>
<p>While much of the time the images don&#8217;t look too bad on screen, as soon as you view and image with large areas with a colour gradient across them you realise that the frame doesn&#8217;t have the same colour range as an LCD monitor. From what I can tell the frame only appears to be able to display around 256 colours or so at a time. So photos with big areas of skin or other areas with gradually changing colour look like old fashioned 256 colour GIFs.</p>
<p>I thought this might be a limitation of the MomentoLive service or the frame&#8217;s downscaling function. To test it I took an image and downsized it to 800 x 480 and displayed it on the frame via a USB card reader. This made no difference, the image still had the same limited colour look on areas with a colour gradient.</p>
<p>There are also a number of bugs that I have spotted:</p>
<ul>
<li>the pause button doesn&#8217;t always work</li>
<li>sometimes an odd effect is seen, the bottom 90% of an image will jump up and down on the screen</li>
<li>thumbnails are not displayed in the correct aspect ratio (they get squashed so they are tall and thin)</li>
</ul>
<p>There is very little documentation on how the Wifi side of frame is supposed to work.</p>
<p>It appears that there are 50 slots for favourite images and 50 slots for images delivered via the MomentoLive service. Images in these 100 slots are stored on the frame&#8217;s builtin memory.</p>
<p>I can&#8217;t quite work out how the MomentoLive slots are supposed to work. On the MomentoLive website you can send as many images as you like to the frame.</p>
<p>I had hoped that the frame would continue to cycle through <strong>all</strong> of the images that had been sent to it via MomentoLive, downloading them when it needed new ones. This doesn&#8217;t seem to be how it works.</p>
<p>I sent more than 50 images to the frame yesterday and it downloaded and displayed the first 50 of them. That was all though, it just cycled through the first 50 images and ignored the rest.</p>
<p>I tried deleting some of the images from MomentoLive.com, in the hope that they would also be deleted from the frame and new ones downloaded. This didn&#8217;t happen, even when I had deleted all but two new images from MomentoLive.com it still kept showing the same old 50 images.</p>
<p>In the end I had to use the delete function on the frame, which at 5 button presses to delete each image was very painful.</p>
<p>However, even when I had done that it still refuses to download new images from MomentoLive.com, so now it is just cycling through a couple of images that I didn&#8217;t delete locally.</p>
<p>The frame also has RSS feed functionality and when the MomentoLive.com side didn&#8217;t work well for me I hoped the RSS feeds might work better. The first thing to note about the RSS functionality is that the frame doesn&#8217;t do RSS itself. It is all done via MomentoLive.com, you add RSS feeds there and the frame gets the feed and the images from there.</p>
<p>I tried adding my flickr feed first and it did work. However for some reason only low resolution versions of the images were downloaded. This meant that the images only filled a small area in the middle of the screen. Hardly ideal.</p>
<p>I then tried a Google Picasa Web Album RSS feed instead. That worked better, the images were full size images.</p>
<p>There are however another couple of problems however with the RSS feeds. Firstly the frame only sees the first 50 images in an RSS feed. Secondly as it downloads each image from the feed it copies the image into one of the MomentoLive slots on the frame. And as I discovered earlier, once all 50 slots are full it stops downloading new images until you manually delete them on the frame.</p>
<p>The momentolive.com website istself is worth a mention. All the reviews of the Momento frame talk about the momentolive.com website being a subscription service. According to the website itself it is free and you are not asked to enter any credit card details.</p>
<p>Presumably if i-mate went bust or pulled out of the photo frame market the momentolive.com site would cease to exist and most of the Wifi features of their frames would stop working.</p>
<p>I should also talk about the USB/flash side of the frame. It has a card reader slot, that takes SD, Memorystick and some other formats (but not Compact Flash). It also has a USB port so you can plug a card reader into it for other flash formats.</p>
<p>However it is very slow when it is reading full size images from flash or USB. If you are going to use it like this you probably want to downsize all your images to fit the display first, it is much quicker at reading small images.</p>
<p>I had hoped that the frame would be able to show images from the Wifi connection and automatically fallback to images from flash/USB when the Wifi images weren&#8217;t available. Unfortunately that isn&#8217;t the case, it is very much a manual process of switching from one image source to the next (through it does automatically switch to showing the USB/flash ones when you first plug the flash/USB in).</p>
<p>It can take a long time for changes to come through from momentolive (no doubt this process will slow down even more when the momentolive servers are busy).</p>
<h2>The Ugly</h2>
<p>I wasn&#8217;t expecting this product to be perfect, it is early days still for Wifi digital photo frames. However I had to say I am disappointed in i-mate&#8217;s implementation, they have a long way to go to meet my expectations.</p>
<p>I could have forgiven it a number of the issues that it has and put up with it. But there are just so many large and small issues with the frame that I couldn&#8217;t live with (and more importantly neither could my parents).</p>
<p>So back to PCWorld it goes.</p>
<p><em>Edit:</p>
<p>After using it for another couple of days I have another couple of observations. The frame &#8220;forgets&#8221; the remote on a regular basis, three times now I have had to do the resync process to connect the frame and remote. That is just unacceptably poor.</p>
<p>The other thing is that the limited colour problem is just so much more an issue than I thought. Just about every photo that has sky, a close up of a face or a wall in it has obvious colour banding on it.</p>
<p>I have also spotted a couple of other issues, but I really can&#8217;t be bothered to document them. This frame sucks.<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2007/11/27/review-of-i-mate-momento-100-photo-frame/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Scooby owners, don&#8217;t assume that the knocking noise is piston slap&#8230;</title>
		<link>http://blog.norman.cx/2007/01/08/scooby-owners-dont-assume-that-the-knocking-noise-is-piston-slap/</link>
		<comments>http://blog.norman.cx/2007/01/08/scooby-owners-dont-assume-that-the-knocking-noise-is-piston-slap/#comments</comments>
		<pubDate>Mon, 08 Jan 2007 10:32:30 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Cars]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=17</guid>
		<description><![CDATA[Since the end of last summer my Subaru Impreza 2000 Turbo had the problem that it sounded like a diesel taxi when the engine was cold.
The sound was a real worry when it first started, it sounds rattly and very diesel like. Revving above 3,000 rpm made it go away and after the engine had [...]]]></description>
			<content:encoded><![CDATA[<p>Since the end of last summer my Subaru Impreza 2000 Turbo had the problem that it sounded like a diesel taxi when the engine was cold.</p>
<p>The sound was a real worry when it first started, it sounds rattly and very diesel like. Revving above 3,000 rpm made it go away and after the engine had run for five minutes it was just about gone.</p>
<p>Everyone that I spoke to, both online and at my Subaru dealer said the same thing. They all said it was caused by piston slap, which is apparently occurs when one or more of the pistons become slightly oval and bang on the cylinder walls until the piston expands when it warms up.</p>
<p>It appears this is a common issue on older Impreza engines but that it isn&#8217;t anything to worry about as long as it goes away when the engine is warm.</p>
<p>I did have one symptom that didn&#8217;t fit the piston slap case. Very occasionally, when using engine braking from 70mph+ down to zero, the diesel sound would reappear and go away when the engine was revved.</p>
<p>I had my 105,000 mile service the other week and asked them to take a proper look at the sound (I left the car parked round the corner from the dealer the night before, so that I could take it in with a cold engine).</p>
<p>Much to surprise I got a phone call later that day to say that it wasn&#8217;t piston slap after all, which brought on a brief moment of panic and thoughts of engine rebuilds. I needn&#8217;t have worried though, the problem was a faulty timing belt tensioner, which was banging against the engine block.</p>
<p>The tensioner had been fitted at my 90,000 mile service less than 12 months ago (when the timing belt was replaced), so it was replaced under parts warranty.</p>
<p>So my Scooby now sounds like it should again, no more taxi impressions every morning.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2007/01/08/scooby-owners-dont-assume-that-the-knocking-noise-is-piston-slap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Every day is a school day&#8221;</title>
		<link>http://blog.norman.cx/2006/12/01/microsoft-sql-event-log/</link>
		<comments>http://blog.norman.cx/2006/12/01/microsoft-sql-event-log/#comments</comments>
		<pubDate>Fri, 01 Dec 2006 17:06:14 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=16</guid>
		<description><![CDATA[Today's lesson was on Microsoft SQL Server. I was struggling to debug a problem inside a stored procedure that buried deep with a nested set of other stored procedures. I was getting frustrated and thought to myself "it would be so nice if I could dump stuff to the Windows Event Log from within this stored procedure".]]></description>
			<content:encoded><![CDATA[<p>One of the guys I am working with at the moment uses the phrase &#8220;every day is a school day&#8221;. He&#8217;s not wrong, rarely does a day go past when I don&#8217;t learn something new about some bit of computing technology (typically finding out a new way that some piece of software is broken).</p>
<p>Today&#8217;s lesson was on Microsoft SQL Server. I was struggling to debug a problem inside a stored procedure that is buried deep with a nested set of other stored procedures. I was getting frustrated and thought to myself &#8220;it would be so nice if I could dump stuff to the Windows Event Log from within this stored procedure&#8221;.</p>
<p>I got so fed up in the end that I went off to see whether event logging from Transact-SQL was actually possible. It is, using the <code><a href="http://msdn2.microsoft.com/en-us/library/ms186244.aspx">xp_logevent</a></code> stored procedure (which lives in the master database).</p>
<p>This is the code that I am using:<br />
<code><br />
declare @message varchar(255)<br />
set @message = '@primary_contact_type ' + cast(@primary_contact_type as varchar(30))<br />
EXEC master..xp_logevent 60000, @message<br />
</code></p>
<p>Two things to know to make this work:</p>
<ul>
<li>you have to declare the <code>@message</code> variable, you can&#8217;t just pass a string constant to the <code>xp_logevent</code> call</li>
<li>your database user needs the relevant permissions on the master database to make the call</li>
</ul>
<p>The <code>xp_logevent</code> stored procedure makes a COM call to log the message, so you probably wouldn&#8217;t want to leave the call in any production code (unless you put in a switch to turn it on and off when you needed). </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2006/12/01/microsoft-sql-event-log/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Goodbye to the 1980s</title>
		<link>http://blog.norman.cx/2006/08/11/goodbye-to-the-1980s/</link>
		<comments>http://blog.norman.cx/2006/08/11/goodbye-to-the-1980s/#comments</comments>
		<pubDate>Fri, 11 Aug 2006 09:46:55 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=14</guid>
		<description><![CDATA[I did two momentous things today. I unplugged our video recorder and CD player.]]></description>
			<content:encoded><![CDATA[<p>I did two momentous things today. I unplugged our video recorder and CD player. They are now stashed in the attic.</p>
<p>A few years ago that isn&#8217;t an event that I could have predicted.</p>
<p>We no longer need a VCR and CD player in our living room. The VCR has been more than replaced by the combination of the DVD player and our Sky+ <a href="http://en.wikipedia.org/wiki/Digital_video_recorder">PVR</a>. The CD player is redundant, because with the right hardware high bit rate MP3s are indistinguishable from CDs.</p>
<p>I still remember back in the eighties when my parents rented a series of Betamax VCRs. At time time they couldn&#8217;t afford to buy one outright.</p>
<p>At the same time I was buying albums on audio cassettes, complete with all their hiss and warbling.</p>
<p>Who would have believed then that both technologies would become obsolete within 20 years and that CDs would be going the same way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2006/08/11/goodbye-to-the-1980s/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t get too attached to gacutil.exe</title>
		<link>http://blog.norman.cx/2006/01/20/dont-get-too-attached-to-gacutilexe/</link>
		<comments>http://blog.norman.cx/2006/01/20/dont-get-too-attached-to-gacutilexe/#comments</comments>
		<pubDate>Fri, 20 Jan 2006 10:19:17 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=15</guid>
		<description><![CDATA[If you have ever got involved with putting .NET assemblies into the GAC (Global Assembly Cache), then you will have come across gacutil.exe
There is a problem with gacutil.exe, it isn&#8217;t part of the .NET framework and therefore isn&#8217;t installed on machines that have had the framework installed on. It is actually part of .NET SDK [...]]]></description>
			<content:encoded><![CDATA[<p>If you have ever got involved with putting .NET assemblies into the GAC (Global Assembly Cache), then you will have come across gacutil.exe</p>
<p>There is a problem with gacutil.exe, it isn&#8217;t part of the .NET framework and therefore isn&#8217;t installed on machines that have had the framework installed on. It is actually part of .NET SDK and you aren&#8217;t supposed to distribute it with your own applications.</p>
<p>If like us you don&#8217;t realise until late on in your project that gacutil isn&#8217;t redistributable then you are faced with a number of options for registering your assemblies with the GAC:</p>
<ul>
<li>use the features in your installer (not an option for us as we were using a very old version of Install Shield)</li>
<li>illegally redistribute gacutil</li>
<li>write your own code to call the GAC API</li>
</ul>
<p>I&#8217;m ashamed to say that we took option 2 as we were pushed for time and resources. At the time I couldn&#8217;t find C# code to call the GAC API and we didn&#8217;t have anyone around that could write a C++ version for us.</p>
<p>I have since found this C# code, which is supposed to achieve the task of registering with the GAC:</p>
<p><code>using System.EnterpriseServices.Internal;</code></p>
<p><code>  string path = Directory.GetCurrentDirectory() + "\\";</code><br />
<code>  Publish publish = new Publish();</code><br />
<code>  publish.GacInstall(path + "MyAssembly.dll");</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2006/01/20/dont-get-too-attached-to-gacutilexe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scooby owners, don&#8217;t assume your MAF sensor is working just because it looks brand new&#8230;</title>
		<link>http://blog.norman.cx/2005/11/18/scooby-owners-dont-assume-your-maf-sensor-is-working-just-because-it-looks-new/</link>
		<comments>http://blog.norman.cx/2005/11/18/scooby-owners-dont-assume-your-maf-sensor-is-working-just-because-it-looks-new/#comments</comments>
		<pubDate>Fri, 18 Nov 2005 08:31:42 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Cars]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=12</guid>
		<description><![CDATA[So, enough about C#, today we are on to cars.
My year 2000 Scooby (Subaru Impreza) has been suffering from the symptoms that I seems that most of them have at some point in their lives. The symptons are inconsitent delivery of power, with flat spots in acceleration (feels like you have stepped off of the [...]]]></description>
			<content:encoded><![CDATA[<p>So, enough about C#, today we are on to cars.</p>
<p>My year 2000 Scooby (Subaru Impreza) has been suffering from the symptoms that I seems that most of them have at some point in their lives. The symptons are inconsitent delivery of power, with flat spots in acceleration (feels like you have stepped off of the gas suddenly) and surging.</p>
<p>It seems that there is a long list of things that can cause these symptoms (or very similar symptoms), that include:</p>
<ul>
<li>failing lambda (oxygen sensors)</li>
<li>failing HT (high tension) leads</li>
<li>failing crank angle sensor</li>
<li>failing or dirty MAF (mass air flow) sensor</li>
<li>air leaks in various pipes</li>
</ul>
<p>The most common one appears to be the last one, the MAF sensor (which measures the amount of air going into the engine). When the problems developed on my car I therefore checked the MAF sensor first.</p>
<p>When I pulled my MAF sensor it looked spotless, it was clean and I thought it was almost brand new. I ruled it out as a cause and plugged it back in.</p>
<p>Over the next month the symptoms got worse and my local Subaru dealer had a couple of failed attempts at diagnosing the problem (the ECU wasn&#8217;t reporting any fault codes, which didn&#8217;t help).</p>
<p>They finally fixed it this week, after having the car for three days to give them time to track it down. The main cause of the problem? Yes, you&#8217;ve guessed it, it was the MAF sensor failing.</p>
<p>So if I had just replaced my MAF sensor when the problems started (&pound;60 and 10 minutes work) I could have saved myself &pound;200 in labour costs.</p>
<p>So, next time something like this happens I&#8217;ll think carefully about just replacing the MAF sensor before looking at other things. Some Scooby owners replace their MAF sensor every year as a preventative measure (it seems that the MAF sensor on the &#8220;classic&#8221; Impreza is a fragile item), not sure I&#8217;ll go quite that far.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2005/11/18/scooby-owners-dont-assume-your-maf-sensor-is-working-just-because-it-looks-new/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealing with &#8220;class doesn&#8217;t support automation&#8221; with ASP Classic and .NET COM interop</title>
		<link>http://blog.norman.cx/2005/11/12/dealing-with-class-does-not-support-automation/</link>
		<comments>http://blog.norman.cx/2005/11/12/dealing-with-class-does-not-support-automation/#comments</comments>
		<pubDate>Sat, 12 Nov 2005 00:34:58 +0000</pubDate>
		<dc:creator>andy</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.norman.cx/?p=11</guid>
		<description><![CDATA[I had a problem today when trying to call a C# component from Classic ASP. When I called a method in the C# component I got the error &#8220;class doesn&#8217;t support automation&#8221;.
This was very puzzling because I had already prototyped this to make sure that I could sucessfully call C# from Classic ASP (using both [...]]]></description>
			<content:encoded><![CDATA[<p>I had a problem today when trying to call a C# component from Classic ASP. When I called a method in the C# component I got the error &#8220;class doesn&#8217;t support automation&#8221;.</p>
<p>This was very puzzling because I had already prototyped this to make sure that I could sucessfully call C# from Classic ASP (using both VBScript and Javascript). The C# assembly and class were marked as <code>COMVisible</code> and I had used <code>regasm</code> to register the DLL with COM.</p>
<p>Through a process of elmination I worked out that the problem was that the method had some boolean parameters that I wasn&#8217;t initialising with boolean values in my ASP code. I hadn&#8217;t completed my ASP page, so the variables being passed to the booleans were in fact set to empty strings.</p>
<p>So the error message is very misleading, as it has nothing to do with the class you are calling not supporting automation.</p>
<p>Once I initialised my booleans correctly the problem went away, which made me a very happy bunny <img src='http://blog.norman.cx/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.norman.cx/2005/11/12/dealing-with-class-does-not-support-automation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
