<?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>Crossed Wires</title>
	<atom:link href="http://veejoe.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://veejoe.net/blog</link>
	<description>Vic's Blog</description>
	<lastBuildDate>Sun, 21 Feb 2010 07:38:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Network virtualisation</title>
		<link>http://veejoe.net/blog/2010/02/network-virtualisation/</link>
		<comments>http://veejoe.net/blog/2010/02/network-virtualisation/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 07:38:42 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5494</guid>
		<description><![CDATA[I&#8217;ve been doing a lot of mucking around with KVM with libvirt (I keep promising an update here, don&#8217;t I).  In my desktop virtualisation requirements I had a need for presenting VLAN traffic to guests: simple enough, and I&#8217;ve done it before.  You can do what I usually do, and configure all your VLANs against [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been doing a lot of mucking around with KVM with libvirt (I keep promising an update here, don&#8217;t I).  In my desktop virtualisation requirements I had a need for presenting VLAN traffic to guests: simple enough, and I&#8217;ve done it before.  You can do what I usually do, and configure all your VLANs against the physical interface then create a bridge for each VLAN you want to present to a guest.  The guest then attaches to the bridge appropriate to the VLAN it wants access to, with no need to configure 8021q.</p>
<p>(The other method of combining VLAN-tagging and bridging is to bridge the physical interface first, then create VLANs on the bridge.  I couldn&#8217;t work out how to get VLAN-unaware guests attached to this kind of setup, and it didn&#8217;t work for me even to give IP access to the host using a br0.100 for example.  Still, it must work for someone as it&#8217;s written about a lot&#8230;)</p>
<p>I realised that from particular virtual machines I needed to get access to the VLAN tags &#8212; I needed VLAN-awareness.  Now I knew up-front that the way I could do this was to just throw another NIC into the machine and either dedicate it to the virtual guest or set up a bridge with VLAN tags intact.  I really wanted to exhaust all possible avenues to solve the problem without throwing hardware around (as I&#8217;ve been doing a bit of that recently, I have to admit).</p>
<p>First, I tried to use standard Linux bridges as a solution, but discovered that an interface can&#8217;t belong to more than one bridge at a time, which put paid to my plan to have one or more VLAN-untagging bridges and a VLAN-tagged bridge.  I figured it could be done with bridges, but I envisaged a stacked mess of bridge-to-tap-to-bridge-to-tap-to-guest connections and decided that wasn&#8217;t the way to go.</p>
<p>Next I checked out VDE, which I had first seen a couple of years ago &#8212; but something gave me the impression that VDE either wasn&#8217;t really going to give me anything more than bridging would, or was not flexible enough to do what I needed.  I like the distributed aspect of VDE (the D in the name) but I&#8217;d rarely use that capability so it wasn&#8217;t a big drawcard.  I widened my search, and found two interesting projects &#8212; one that eventually became my solution, and another that I think is quite incredible in its scope and capability.</p>
<p>First, the amazing one: <a title="The ns-3 network simulator" href="http://www.nsnam.org" target="_blank">ns-3</a>, &#8220;a great network simulator for research and education&#8221;.  As the name suggests, it simulates networks.  It is completely programmable (in fact your network &#8220;scripts&#8221; are actually C++ code using the product&#8217;s libraries and functions) and can be used to accurately model the behaviour of a real network when faced with network traffic.  The project states that ns-3 models of real networks have produced libpcap traces that are almost indistinguishable from the traces of the real networks being modelled&#8230;  I&#8217;ll take their word for that, but when you get to configure the propogation delay between nodes in your simulated network it seems to me it&#8217;s pretty thorough.  Although the way that I found ns-3 was via a forum posting from someone who claimed to have used it to solve a similar situation as me, and ns-3 does provide a way to &#8220;bridge&#8221; between the simulated network and real networks, the simulation aspect of ns-3 seems to be more complexity than I&#8217;m looking for in this instance.  It does look like a fascinating tool however, and one I&#8217;ll definitely be keeping at least half-an-eye on.</p>
<p>To my eventual solution, then: <a title="Open vSwitch" href="http://openvswitch.org" target="_blank">Open vSwitch</a>.  Designed with exactly my scenario in mind&#8211;network connection for virtualisation&#8211;it has at least two functions that make it ideal for me:</p>
<ul>
<li>a Linux-bridging compatibility mode, allowing the brctl command to still function</li>
<li>IEEE 802.1Q VLAN support (innovatively at that)</li>
</ul>
<p>The Open vSwitch capability can be built as a kernel module (there&#8217;s a second module that supports the brctl compatibility mode), or very recent versions have the ability to be run in user-space (with a corresponding performance drop).</p>
<p>On the surface, configuring an OvS bridge does seem to result in something that looks exactly like a brctl bridge (especially if you use brctl and the OvS bridging compatibility feature to configure it), but its native support for VLANs really brings it into its own for me.  In summary, for each &#8220;real&#8221; bridge you configure in OvS, you can configure a &#8220;fake&#8221; bridge that passes through packets for a single VLAN from the real bridge (the &#8220;parent&#8221; bridge).  This is <em>exactly</em> what I needed!</p>
<p>For the guest interfaces that needed full VLAN-awareness, I simply provided the name of my OvS bridge as the name of the bridge for libvirt to connect the guest to&#8211;OvS bridge-compatibility mode took care of the brctl commands issued in the background by libvirt.  The VLAN-unaware guest interfaces presented a bit of a challenge&#8211;the OvS &#8220;fake&#8221; bridge does not present itself like a Linux bridge, so it doesn&#8217;t work with libvirt&#8217;s bridge interface support.  This ended up being moderately easy to overcome as well, thanks to libvirt&#8217;s ability to set up an interface configured by an arbitrary script&#8211;I hacked the supplied <em>/etc/qemu-ifup</em> script and made a version that adds the tap interface created by libvirt to the OvS fake bridge.</p>
<p>The only thing I might want from this now is an ability for an OvS bridge to have visibility over a subset of the VLANs presented on the physical NIC.  The OvS website talks about extensive filtering capability though, so I&#8217;ve little doubt that the capability is there and I&#8217;m just yet to find it.  From a functionality aspect, OvS is packed to the gills with support for various open management protocols, including something called OpenFlow that I&#8217;d never heard of before (but I hope that some certain folks in upstate New York have!) but is apparently an open standard that enables secure centralised management of switches.</p>
<p>Detail of exactly how I pulled this all together will come in a page on this site; I&#8217;ll make a bunch of pages that describe all the mucky details of my KVM adventures and update this post with a link, so stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/02/network-virtualisation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>LDAP groups in Postfix</title>
		<link>http://veejoe.net/blog/2010/02/ldap-groups-in-postfix/</link>
		<comments>http://veejoe.net/blog/2010/02/ldap-groups-in-postfix/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 11:24:35 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[servers]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5490</guid>
		<description><![CDATA[For a long time I&#8217;ve been managing virtual e-mail addresses (the ones you create when you sign up to a web service, so that you know where your spam is originating) using Postfix&#8217;s LDAP alias capability.  At the time I was still putting every bit of configuration I could into LDAP&#8211;particularly if it was user-id [...]]]></description>
			<content:encoded><![CDATA[<p>For a long time I&#8217;ve been managing virtual e-mail addresses (the ones you create when you sign up to a web service, so that you know where your spam is originating) using Postfix&#8217;s LDAP alias capability.  At the time I was still putting every bit of configuration I could into LDAP&#8211;particularly if it was user-id related&#8211;and I&#8217;ve never had a need to change what was working really well.</p>
<p>N&#8217;s school recently decided to distribute the weekly school newsletter via e-mail, and had allowance for one e-mail address per family.  Not wanting the additional overhead of having to have either S or me receive it and then having to forward it to the other, I thought it would be neat to have a single common address that, when items arrived, distributed the mail to multiple boxes.  Of course I took the stupid path of providing the school with a yet-to-be-created e-mail address, foolishly trusting my ability to set the system up before they tried to send anything to it&#8230;  but in the end it was not so foolish after all, as unbeknown to me I already had everything I needed to achieve my objective.</p>
<p>Unfortunately the first thing I did was assume that I needed mailing list software.  I installed Mailman, and started to read-up on the process to get it working.  I did this on my yet-to-be-commissioned KVM-hosted mail server (a blog post for another day), and started trying to diagnose why mail wasn&#8217;t getting delivered.  I had set up Postfix on this mail server to point to my existing LDAP to test, and thought that there was a problem there (but also started to work out if there was a way to use the LDAP server to manage the Mailman aliases).  I re-found the <a href="http://www.postfix.org/LDAP_README.html" target="_blank">Postfix LDAP HOWTO</a>, and stumbled over the section entitled &#8220;Example: expanding LDAP groups&#8221;.  <em>Et voila: </em>multidrop incoming mail without the need for a mailing list manager!</p>
<p>I had always assumed that e-mail aliases were a one-to-one mapping of alias address to real destination.  Not the case: an alias can have multiple destinations.  It doesn&#8217;t just apply to LDAP alias support, either: as per the &#8220;aliases&#8221; man page you can do</p>
<pre>name: value1, value2, ...
</pre>
<p>In my LDAP situation, all I need to do is list the alias in the &#8220;mailLocalAddress&#8221; attribute of which ever users need to receive mail for that alias.  Done!</p>
<p>I may have to keep Mailman, however.  Shortly after this success, I wondered how cool it would be to have the notification SMS messages for voicemail received at home, that currently go only to S, come to me as well.  I&#8217;m using a hosted email-to-SMS gateway service for this, so the &#8220;alias&#8221; would have to expand to multiple <em>external</em> e-mail addresses.  I&#8217;m not sure if you can alias mail addresses that are not in your domain&#8230;  I&#8217;ll have to try and see&#8211;might be easier to do that than subscribing to a Mailman list via SMS-to-email!  <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/02/ldap-groups-in-postfix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Travel report: Driving to Sindelfingen</title>
		<link>http://veejoe.net/blog/2009/12/travel-report-driving-to-sindelfingen/</link>
		<comments>http://veejoe.net/blog/2009/12/travel-report-driving-to-sindelfingen/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 01:23:31 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[driving]]></category>
		<category><![CDATA[france]]></category>
		<category><![CDATA[germany]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5485</guid>
		<description><![CDATA[Since I&#8217;ve been back home now for almost a month, it seems silly to call these posts &#8220;travel updates&#8221;.   
With the experience of visiting le Viaduc de Millau still buzzing in my head, I pointed my trusty Peugeot back toward Montpellier for the journey to Germany.  The run down the mountain back toward the [...]]]></description>
			<content:encoded><![CDATA[<p><em>Since I&#8217;ve been back home now for almost a month, it seems silly to call these posts &#8220;travel updates&#8221;.  <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em></p>
<p>With the experience of visiting le Viaduc de Millau still buzzing in my head, I pointed my trusty Peugeot back toward Montpellier for the journey to Germany.  The run down the mountain back toward the coast was a really nice drive, but by the time I was back in Montpellier it was back to nasty busy city driving.  I think I made a little bit of an error: instead of following the path that Google found for me to get to the A9 (which was more-or-less back through the middle of town), I followed the first sign I saw that said &#8220;A9 NIMES&#8221;.  This ended up taking me on a Cooks Tour of bypass roads around the south outskirts of the city, past industrial estates and the consequent heavy workaday traffic.  The city path was very likely to have been quicker and easier.  Oh well.</p>
<p>Once I made it to the A9 for the trip north, I was able to settle in and enjoy the drive again.  The <em>autoroutes</em> in France are excellent, with a great smooth driving surface (in spite of the heavy-vehicle traffic they carry) and plenty of visibility and clearance for cars to be able to carry the 130km/h speed limit (again, in spite of the heavy-vehicle traffic, which is only permitted to do about 90km/h).  Mind you I ended up paying around 50€ in tolls while I was in France!  If it&#8217;s a demonstration of how tolling a road can lead to better quality, I don&#8217;t mind at all.</p>
<p>The traffic bogged down a bit going through Lyon, but soon opened up again.  I was starting to get a bit worried about the time: I&#8217;d left Montpellier three or four hours before, yet seemed to be only a third of the way there!  Night was starting to fall as I turned east onto the A36 &#8212; the car was at last actually pointing toward Germany!  A short while after that, I stopped for some dinner before making the last part of the drive.   I was not far from the border by this time, and it looked like I was making good time after all.</p>
<p>I hadn&#8217;t planned for my first drive on an <em>autobahn</em> to be at night, but that&#8217;s how it worked out.  About the only indication that I&#8217;d actually crossed into Germany was the change in the road signage!  The speed limit dropped to 120km/h, but a little while later I saw a sign that showed the 120 crossed-out.  This, I eventually worked out, was the only indication I would get that I was on one of the famous speed-unlimited <em>autobahnen</em> (well, the Mercs and Beemers and Audis rocketing past me were another indication).  Because it took me so long to work out what was going on, I almost didn&#8217;t get to go for a rocket myself &#8212; I had wound the Peugeot up to about 140-150 and was still getting passed like I was stationary, so I decided to give it a run.  In a few seconds the little Pug was at 195km/h, and seemed like it could have gone a bit higher, but slower traffic ahead meant I had to back off.  As it turned out, I didn&#8217;t get another chance to wind it out because we were in and out of roadworks for the last part of the run to Stuttgart.</p>
<p>Eventually I found the last motorway exit I had to take, and I was on the streets of Sindelfingen.  I had made it all the way from Montpellier, without a single wrong turn!  Before congratulating myself too heartily though, I had to find my hotel&#8230;  and this was a bigger challenge than I had thought.  I found it, eventually, but not before I&#8217;d driven up the same street three times (at least) and done at least one U-turn <strong>in front</strong> of the place without realising it&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/12/travel-report-driving-to-sindelfingen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Travel update: le Viaduc de Millau</title>
		<link>http://veejoe.net/blog/2009/11/travel-update-le-viaduc-de-millau/</link>
		<comments>http://veejoe.net/blog/2009/11/travel-update-le-viaduc-de-millau/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 13:53:22 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[france]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5478</guid>
		<description><![CDATA[Seems like ages ago I watched that episode of Top Gear where they took a Ford GT, a Pagani Zonda and a Ferrari F430 from Paris to the Millau Viaduct.  At the time, I didn&#8217;t figure that I&#8217;d have any opportunity to see the bridge in the near future, but nonetheless subliminally noted it as [...]]]></description>
			<content:encoded><![CDATA[<p>Seems like ages ago I watched that episode of Top Gear where they took a Ford GT, a Pagani Zonda and a Ferrari F430 from Paris to the Millau Viaduct.  At the time, I didn&#8217;t figure that I&#8217;d have any opportunity to see the bridge in the near future, but nonetheless subliminally noted it as one of those things to see, if I got a chance to, sometime in the next forty-or-so years.  As it turns out, the chance came up sooner than I thought: not only that, I somehow remembered about it before the chance went by!</p>
<p>As I was planning my drive from Montpellier to Stuttgart, I suddenly remembered &#8220;that stonking-great bridge somewhere in France that those pommie tossers drove those cars over&#8221;.  I really had no idea where it was &#8212; I couldn&#8217;t even remember the name of it.  Somehow, however, I managed to locate it &#8212; and found that it was only a bit over an hour&#8217;s drive from Montpellier.</p>
<p>So Google Maps told me at least, and my record with that site was not great.  When first I consulted the Googleplex for how to get from Montpellier to Stuttgart, I&#8217;m sure it said it would take 3-4 hours.  Just before I&#8217;d found <em>le Viaduc de Millau</em>, though, I asked it again and it said more like 8 hours.  More on that later&#8230;  but now I was contemplating making my 8-plus hour trip to Stuttgart into at least 11.  I was seriously considering giving up on the tentative plan to see the bridge.  Then I thought: how would I feel if I went home, knowing that I was so close and didn&#8217;t bother going?  I made my mind up: I was going to Millau.</p>
<p>I planned my departure the following morning to be a little earlier than originally scheduled, and packed the bags the night before.  The next day I got moving nice and early, right in the middle of Montpellier weekday-peak morning traffic!  It didn&#8217;t take long for that to clear, though, and I was on the A750 heading west.  The A750 joined the A75, and then I was heading up into higher altitude.  The diesel Peugeot I was driving ate up the twisting climb with no trouble, and before long the road had levelled- and straightened-out a bit.</p>
<p>I saw a tourist sign saying &#8220;Viaduc de Millau&#8221;, and realised I was almost there.  Then, I <em>was</em> there!</p>
<div id="attachment_5479" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-5479" title="My first approach to the Millau Viaduct, from the south." src="http://veejoe.net/blog/wp-content/uploads/2009/11/DSC_2235-300x199.jpg" alt="Darned windscreen wiper!  Actually it doesn't matter really, since there's no way a photo from a moving car could do it justice." width="300" height="199" /><p class="wp-caption-text">Darned windscreen wiper!  Actually it doesn&#39;t matter really, since there&#39;s no way a photo from a moving car could do it justice.</p></div>
<p>You can see the towers of the bridge pylons in the distance: the seventh (and most distant) one is still over <em>two kilometers away!</em> The sign in this photo is for the tourist stop on the north side of the valley, which is three kilometers down the road, and the bridge starts just past the sign&#8230;</p>
<p>I tried to take a couple of photos as I was going over the bridge to get a sense of the height and distance involved, but it was a wasted effort.  Not only was the camera unable to focus on anything but the blurring side barrier of the bridge, but the valley floor below was probably <em>too</em> far away for a camera to be able to convey the scene from a car.  So I concentrated on driving the rest of the way over, and trying to enjoy some of the view.</p>
<p>On the north side (as the signpost said) there is an information kiosk and observation area, so I pulled off the road and stopped there.  The observation point turned out to be the peak of a hill accessed by a very steep climb up a bitumen path&#8230; but when I made it to the top, the pain of the climb was soon forgotten.</p>
<p>The bridge actually looked to me like it was from another world: it is <strong>so</strong> big, <strong>so</strong> high, <strong>so</strong> amazing and different, that it just doesn&#8217;t seem like it could have been made here.  It was truly an amazing thing to see, and it didn&#8217;t matter about the lung-bursting climb up the hill or the finger-numbing-face-freezing wind blowing up the Tarn valley or the drizzle of rain that just refused to go away &#8212; I could not bear the thought of having to leave there.</p>
<div id="attachment_5481" class="wp-caption alignnone" style="width: 235px"><img class="size-medium wp-image-5481" title="Le Viaduc de Millau" src="http://veejoe.net/blog/wp-content/uploads/2009/11/05112009304-225x300.jpg" alt="Le Viaduc de Millau.  I'm surprised I got these photos, I was beginning to wonder about my chances of frostbite thanks to the wind and rain!" width="225" height="300" /><p class="wp-caption-text">Le Viaduc de Millau.  I&#39;m surprised I got these photos, I was beginning to wonder about my chances of frostbite thanks to the wind and rain!</p></div>
<p>I took a stupid number of photos, and stood for a while and just gazed.  I realised it was still (just) daytime in Australia and phoned home, but must have sounded like an idiot just banging on about a bridge.</p>
<p>Eventually I realised that I would have to leave in order to get to Stuttgart in a reasonable time, so reluctantly I set off back down the hill.  I went through the souvenir shop and picked up a trinket or two, along with a brochure or two that N might take an interest in.  Then, with even more reluctance, I got in the car and departed.  I wasn&#8217;t able to avoid the toll plaza &#8212; 12 euro (6€ each way) in tolls!  It was a small price to pay though &#8212; besides, I got to drive over it again!</p>
<p>The Millau Viaduct is a wonder of the modern world, and I am <strong>so</strong> glad that I didn&#8217;t talk myself out of driving up to see it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/11/travel-update-le-viaduc-de-millau/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Travel update: On to Montpellier</title>
		<link>http://veejoe.net/blog/2009/11/travel-update-on-to-montpellier/</link>
		<comments>http://veejoe.net/blog/2009/11/travel-update-on-to-montpellier/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 06:46:45 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5475</guid>
		<description><![CDATA[There I was, standing in the Paris Gare de Lyon looking like an idiot staring at the trains on the platforms.  I was about to experience my first trip on TGV!
I took a few photos then loaded my gear on the train (big bag in the luggage space at the end of the carriage, smaller [...]]]></description>
			<content:encoded><![CDATA[<p>There I was, standing in the Paris Gare de Lyon looking like an idiot staring at the trains on the platforms.  I was about to experience my first trip on TGV!</p>
<p>I took a few photos then loaded my gear on the train (big bag in the luggage space at the end of the carriage, smaller stuff in the overhead rack), then went back onto the platform to get a few more photos.  I&#8217;m sure I was still acting like a stunned mullet as I wandered around the station!</p>
<p>As departure time drew closer, I headed back to my train and got comfortable.  I faintly heard the sound of the doors closing and then, without a sound, the train started moving.  It picked up speed as it started to snake along the lines heading out of Paris: there were a couple of curves where I could see the front of the train as we went.  Even though we were still in the suburbs and the tracks were eight-wide, the TGV was moving at quite a pace as we headed south.</p>
<p>Some breakfast came by, and the next time I looked out I noticed that the other tracks were gone and we were moving a lot faster now.  At no time had I felt any great acceleration, I suppose for comfort&#8217;s sake they let the train wind up gradually.</p>
<p>Then we got faster still.  And faster.  And <em>faster</em>.  <em>And <strong>faster</strong></em>.</p>
<p>Again I have to reiterate: if you&#8217;re not a train-fan, you probably won&#8217;t appreciate how exciting, exhilarating and mildly terrifying it was for me.  I realised that I was actually on the ground at 300+km/h, and that if I was in a plane I&#8217;d be airborne by then!  In the dark the night before, I hadn&#8217;t been able to appreciate going through tunnels or passing under bridges at that speed.  The line ran near a highway at one stage, and I just couldn&#8217;t get my head around seeing the cars that I knew were going in the same direction as I was moving <em>backward!</em></p>
<p>I could see trackside distance markers, and did a rough timing of our travel over one kilometre: &#8220;one-onethousand-two-onethousand &#8230; 12-onethousand&#8221;.  Math it out: that&#8217;s 300km/h.</p>
<p>I expected that the train would stop a couple of times, but there was only one stop (Nimes, about 100km from Montpellier).  The remaining run from Nimes down to Montpellier was fast, but not TGV-fast.  As we pulled into Montpellier, I gathered up my gear and got ready to leave the train.  My first TGV journey was over!</p>
<p>When the train did arrive, it was three minutes late.  I was amazed: over all those hundreds of kilometres, we only accrued a delay of three minutes.</p>
<p>I used a map in the Montpellier railway station to find that my hotel was literally a stone&#8217;s throw away.  I hauled my bags up the street and into what seemed like a dingy alley to the hotel and checked in.  My room had a dodgy double doorway onto the dingy alley, and I looked out at the street and watched a few cars go by.  I also got my first spectator view of French contact-parallel-parking!  That evening I met up with my residency colleague and a couple of his workmates over a couple of Belgian beers, and went for a stroll through the city after taking a slightly wrong turn when I was dropped off near the station.</p>
<p>The next day, since the plan to go to IBM didn&#8217;t work out, I had a chance to look around.  First order of business was to do some planning for the drive to Germany the next day, so I did some internetting before going to pick up my car.  The car was a diesel Peugeot 308, and I went for a bit of a drive to familiarise myself.  Thankfully the streets of Montpellier are a bit more forgiving than metropolitan Paris!  I managed to get lost a couple of times, but did my usual Zen navigation to get back on track (thank-you, Douglas Adams).</p>
<p>After the car adventure, I went for a bit of a walk around the old part of the city and took a couple of photos along Esplanade Charles de Gaulle.  Once again I saw that although large cities around the world are starting to become more and more alike (town square, shopping mall, etc.), European cities still have the charm of the &#8220;old town&#8221;.  I really like the narrow cobbled streets with people walking along seemingly day or night, and the food stalls and shops every couple of doors &#8212; real food shops, like a patisserie or coffee shop, not your chain-of-the-week like Starbucks or McDonalds.  Yes, I could really get the hang of Europe: I need to put more effort into learning more of the local language though.  I found myself too cautious about my inability to order from those patisseries and coffee shops to be able to enjoy them.  Dinner one night in Montpellier was Subway, and as I walked back to the hotel to eat I found myself looking at the local shops and regretting that I wasn&#8217;t confident enough to try.</p>
<p>The time came for me to leave Montpellier though, and start my journey to Sindelfingen in Germany.  My research on the route yielded an interesting fact: the Millau Viaduct is only a little over an hour&#8217;s drive from Montpellier&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/11/travel-update-on-to-montpellier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safe, secure, terrifying, VISA</title>
		<link>http://veejoe.net/blog/2009/11/safe-secure-terrifying-visa/</link>
		<comments>http://veejoe.net/blog/2009/11/safe-secure-terrifying-visa/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 12:41:18 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5469</guid>
		<description><![CDATA[I listen to a few netcasts from Leo Laporte&#8217;s TWiT network.  For a while about 18-24 months ago a few shows on the network were sponsored by VISA, flogging their fraud protection capabilities.  &#8221;Safe, Secure, VISA&#8221; was something I heard ad-nauseum a while ago (and started hearing it again recently, as I listen to old [...]]]></description>
			<content:encoded><![CDATA[<p>I listen to a few netcasts from Leo Laporte&#8217;s <a title="TWiT" href="http://twit.tv" target="_blank">TWiT</a> network.  For a while about 18-24 months ago a few shows on the network were sponsored by VISA, flogging their fraud protection capabilities.  &#8221;Safe, Secure, VISA&#8221; was something I heard ad-nauseum a while ago (and started hearing it again recently, as I listen to old Security Now episodes).</p>
<p>While my Thalys journey to Paris was coming to an end, I got a phone call.  I wasn&#8217;t going to answer it for the combined reasons of being in a foreign country, being on a train in a foreign country, and being in a small room not normally associated with telephone communication while on a train in a foreign country.  Something made me answer the damned thing though.</p>
<p>It was someone claiming to be from my bank in Australia, asking me if I&#8217;d just used my credit card to buy something from the Apple Store in the US.  Now I did very nearly say yes, and to stop bothering me with such stuff: this was the card that had been associated with my Apple ID, and there was a chance that N had picked up my iPod and stumbled through and found the App Store and bought something.  They&#8217;d never contacted me before about App Store purchases however, and then I remembered that card was not on my Apple ID any more.  So I replied non-committally (and very helpfully, in hindsight)&#8230;</p>
<p>&#8220;Well, maybe.&#8221;</p>
<p>&#8220;This was only in the last couple of minutes,&#8221; said the bank.</p>
<p>&#8220;Oh,&#8221; said I.  That changed things.  Knowing that the card was not linked to my Apple ID any more, there was very little chance that N might have done something.  It definitely wasn&#8217;t me either, given where I had been during the few minutes in question.  &#8221;No, then,&#8221; I replied.</p>
<p>At this, the VISA machinery sprang into action.  Within seconds I had been recited the standard dialogue about how my card(s) had now been cancelled and that I would soon receive new card(s) and PIN(s), so on and so on.  Being none too happy about having to re-arrange scheduled charges to the account (the only use that particular card gets, as it turns out) I started to think about how the number had got into the wild.</p>
<p>In spite of knowing that there are card number generators that the bad guys use to generate valid card numbers to try on unsuspecting e-commerce sites, something gave me the thought that it was more likely I had lost the small wallet that card was kept in.  I started thinking about the other cards that were in that case.  Hotel/car loyalty cards: painful, but not a problem.  Unused AMEX: cancellation drama only.  Travel-backup credit card: hmm, that might be a problem.  What else&#8230;</p>
<p>Oh, wait a minute&#8230;</p>
<p>OH CRAP.</p>
<p>Last I saw that wallet it was wrapped around&#8230;</p>
<p>O. M. F. G.</p>
<p>My PASSPORT.</p>
<p>Instantly I understood the feeling described by the term &#8220;heart in my mouth&#8221;.  There I was, standing on a train pulling into Paris Gare du Nord with my knees buckling contemplating the possibility that my passport was lost.</p>
<p>I started to look through the bags I was carrying, the places where I knew the wallet should have been.  Nothing.  By this time the train had stopped, and I alighted the train with the other passengers and took my frantic search to the Gare du Nord platform.  Still nothing.</p>
<p>My mind was racing.  Do I continue my journey to Montpellier as planned, and sort out the passport later?  Maybe ironically, the thing I was most upset about was having lost all the stamps in my passport!</p>
<p>I decided that I couldn&#8217;t think properly standing on a train platform and that I had to get to my hotel and sort it out there.  I managed to find the subway that links the SNCF station to the RER, but halfway through the subway I realised that I couldn&#8217;t go any further without having a proper search.  So in the middle of a railway station subway in Paris I started rifling my luggage like a sniffer-dog looking for the stash (and it wasn&#8217;t until later that I realised how much trouble that might have got me into).</p>
<p>FOUND.</p>
<p>The wallet, all cards secure and still encasing my passport, had worked its way into the lowest portion of the wheeled laptop bag I use.  I suffered the joyous feeling of my heart returning to its rightful place, combined with the return of my ability to breathe.  As I put stuff back into my bags and resumed my journey, I tried to concentrate on the task of getting the right ticket, the right RER line and the right train to get me to Gare de Lyon (thanks to the signage in the station, this was made very easy).</p>
<p>Once I was on the RER, with other commuters around me and me trying to marshall my luggage, I realised how I could not have done the trip thinking that I had lost my stuff.  I also realised that that was the closest I <strong><em>ever</em></strong><span style="font-weight: normal;"> want to come to actually losing my passport while overseas.</span></p>
<p><span style="font-weight: normal;">Oh, and the credit card?  Like I said, it was in the wallet all along.  The card hasn&#8217;t been out of that same wallet for over twelve months, and the regular deductions (and my automatic payment to cover them) have been the only transactions on the account for at least that long, so I guess a card generator just happened to get lucky with my number.</span></p>
<p><span style="font-weight: normal;">So if you happen to get that phone call from your bank, think seriously about your card&#8217;s whereabouts and recent activity&#8230; and for heaven&#8217;s sake don&#8217;t do what I did and jump to the conclusion that the card was lost or stolen &#8212; your imagination might just take you someplace you really don&#8217;t want to go.</span></p>
<p><span style="font-weight: normal;"><em>Update:</em> Before I left Australia </span><span style="font-weight: normal;">I had asked the bank to reissue the card for a promotion they were having, but the new one didn&#8217;t reach me before I left the country. </span><span style="font-weight: normal;">When I got home, I had a look at the card that had been issued &#8212; the one that got hacked.  I think I know now why I got pinged: the CVV number (the three-digit printed number on the back of the card that is supposed to increase security) was the last digit of the card number followed by &#8220;00&#8243; &#8212; I&#8217;d have to think that would be about the weakest CVV number the card could possibly have had!</span><span style="font-weight: normal;"> I feel much better now that this was simply a random selection by a card-number generator, facilitated by a stupidly-insecure CVV.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/11/safe-secure-terrifying-visa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Travel update: Riding the rails of Europe</title>
		<link>http://veejoe.net/blog/2009/11/travel-update-riding-the-rails-of-europe/</link>
		<comments>http://veejoe.net/blog/2009/11/travel-update-riding-the-rails-of-europe/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 11:29:10 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[europe]]></category>
		<category><![CDATA[trains]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5461</guid>
		<description><![CDATA[When last you heard from me, I had arrived in my Amsterdam hotel.  The weather was a bit rainy, so I postponed the planned orientation walk and caught a bit of a kip, had some dinner, and made sure I was ready for the presentation the next day.
I&#8217;m not going to talk about the work [...]]]></description>
			<content:encoded><![CDATA[<p>When last you heard from me, I had arrived in my Amsterdam hotel.  The weather was a bit rainy, so I postponed the planned orientation walk and caught a bit of a kip, had some dinner, and made sure I was ready for the presentation the next day.</p>
<p>I&#8217;m not going to talk about the work stuff in these updates: for one, this is not actually a work blog so I probably shouldn&#8217;t anyway.  Secondly, it&#8217;s a bit on the boring side of things and I&#8217;d rather talk about the travel.  So, with that decided, let&#8217;s continue&#8230;</p>
<p>So Monday arrived and I did my presentation, then picked up my bags from the hotel and went to Schiphol.  I made use of the NS HiSpeed lounge (a little bit like an airline club lounge, but on a smaller scale) to have a refreshment before heading down to the platform for my train.  My final destination was Montpellier, France, but because of the time I thought I had to be there I had to overnight in Paris: so it was Thalys to Paris on Monday, then TGV to Montpellier on Tuesday morning.</p>
<p>I feel the need here to reiterate what I mentioned in the previous post: I&#8217;m a rail-fan.  When TGV was introduced in the 1980s, I made it one of my life&#8217;s goals to make a TGV journey one day.  I marked the goal halfway complete when a colleague and I travelled on Thalys in 2006: half-complete because we only went from Amsterdam to Brussels, which is not true high-speed (although I saw that it has been upgraded, and Thalys will run high-speed to Amsterdam from December 2009).</p>
<p>As I boarded Thalys for Paris that Monday night, I realised that my goal was about to become fully-complete.  I settled in as the train departed into the Dutch night, and started to enjoy the comforts of Thalys &#8220;Comfort 1&#8243;.  I hooked up to the Wi-Fi and made a couple of silly Facebook updates, and saw a nice little map feature they provided on their portal page:</p>
<div id="attachment_5462" class="wp-caption alignleft" style="width: 333px"><img class="size-full wp-image-5462" title="ThalysMap1" src="http://veejoe.net/blog/wp-content/uploads/2009/11/ThalysMap1.png" alt="My train was just south of Antwerp at this time...  Cool, eh!" width="323" height="370" /><p class="wp-caption-text">My train was just south of Antwerp at this time...  Cool, eh!</p></div>
<p>Due to the dark outside, it was difficult to get a sense of how fast the train was moving: the only way to know for sure was the occasional lit-up building or car that went by.  As I said, having travelled on Thalys before I knew that the best was yet to come (in other words, after we went through Brussels).</p>
<p>Eventually we pulled into Brussels, and my excitement built a little more.  The wait in Brussels-Midi station was almost unbearable!  Finally though, we got moving again.</p>
<p>I read an article by a UK travel reviewer when the TGV first ran.  He described a dramatic surge of acceleration as the 1k5V standard French pantograph was lowered and the 25kV circuit was activated on the high-speed line to Lyon.  I didn&#8217;t experience any such hard surge, but as we picked up speed out of Brussels I just <em>knew</em> that something was different.  I guess I was seeing enough points-of-reference outside to know that we were moving much faster than before, but whatever it was I could tell that now we were <em>really</em> moving.</p>
<p>I sat and enjoyed it all for a while: the surreal feeling of approaching the continuous lights of a stream of traffic on a road or highway <em>impossibly</em> fast, and realising that the train was actually going to pass over it&#8230;  and then the lights were gone as the train flashed over the highway.  The thrilling hum and vibration of the train itself: not disturbing at all, just the feeling of being on board a piece of machinery that was working hard.  After a while I checked back on the ThalysNet map, and realised that the map was clickable&#8230;  I clicked, and was rewarded with an enlarged view, with a <em>speedometer!</em> I refreshed the view a couple of times to make sure it wasn&#8217;t something static&#8230;</p>
<p><em> </em></p>
<p><em> </em></p>
<p><em> </em></p>
<p><em></p>
<div id="attachment_5463" class="wp-caption alignnone" style="width: 369px"><img class="size-full wp-image-5463" title="ThalysMap2" src="http://veejoe.net/blog/wp-content/uploads/2009/11/ThalysMap2.png" alt="I did see refresh and get one that said 300km/h, but it looked a bit staged ;-)" width="359" height="467" /><p class="wp-caption-text">I did refresh and get one that said 300km/h, but it looked a bit staged <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p></div>
<p></em></p>
<p>I refreshed each time I felt a large change in speed (and before anyone asks, no at 300km/h you can&#8217;t tell a change of 5km/h), and saw enough change in the display to be confident that it was a real representation of the train&#8217;s speed.</p>
<p>Unfortunately the journey had to come to an end.  I&#8217;ll write a separate post about the terrible experience I had as I arrived in Paris, but once I got over that I worked on the task of getting myself from Gare du Nord (where Thalys operates from) across town to Gare de Lyon (where the southbound TGVs run from, near which I&#8217;d booked my room for the night).  I ended up managing very easily to find the way to the RER station, buy my ticket, find the right train &#8212; a direct train, where my research had told me I&#8217;d need to change trains &#8212; and hop off at Gare de Lyon.  After a little mixed-up street navigation (unbeknownst to me I&#8217;d left the station from the back entrance, and ended up walking all the way around to the front) I made it to my hotel, checked in, and negotiated an old-style elevator (with a swinging outer door!) to my floor and my room.</p>
<p>The next morning I went for a little walk.  I realised I was quite close to the River Seine, so thought I couldn&#8217;t go home without seeing it.  What can I say: yes, it&#8217;s a river.  I thought I&#8217;d be able to see perhaps just the top of the Eiffel Tower, but there were too many buildings in the way.  Back to the hotel then, to check out and go to the station.</p>
<p>When I got to the plaza in front of the station, I had to pause.  There I was, actually standing in front of Paris Gare de Lyon!  Okay, a railway station&#8230; but which railway station!  This is where TGV basically started it&#8217;s first passenger services.  I was having another one of those dream-about-to-come-true moments.  Then I went inside and saw <em>a real TGV!</em> If you&#8217;ve seen the movie <em>Cars</em>, you&#8217;ll know the scene at the end when the Michael-Schumacher-Ferrari drives into Luigi&#8217;s Casa Della Tires and Luigi ends up fainting (&#8220;a REAL FERRARI!&#8221;).  For me, seeing not one but at least <em>five</em> TGVs was much like that.  Okay, they aren&#8217;t the old TGV Orange that I knew when I was a kid, and the design is a bit updated, but they&#8217;re TGV and they&#8217;re where modern high-speed commuter rail began.</p>
<p>Next update I&#8217;ll describe more of my TGV experience, as well as my first European drive!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/11/travel-update-riding-the-rails-of-europe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Travel update: Arriving in Europe</title>
		<link>http://veejoe.net/blog/2009/11/travel-update-arriving-europe/</link>
		<comments>http://veejoe.net/blog/2009/11/travel-update-arriving-europe/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 12:48:32 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Travel]]></category>
		<category><![CDATA[airplanes]]></category>
		<category><![CDATA[amsterdam]]></category>
		<category><![CDATA[railways]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5455</guid>
		<description><![CDATA[Time to fill in a little bit of detail from my travel so far.
I arrived in Amsterdam on Sunday morning, and decided that rather than get bounced by the hotel trying to check in too early that I&#8217;d fill in some time at Schiphol Airport.  While I was there I had a chance to reflect [...]]]></description>
			<content:encoded><![CDATA[<p>Time to fill in a little bit of detail from my travel so far.</p>
<p>I arrived in Amsterdam on Sunday morning, and decided that rather than get bounced by the hotel trying to check in too early that I&#8217;d fill in some time at Schiphol Airport.  While I was there I had a chance to reflect on the flight over from Hong Kong.</p>
<p>My stop in Hong Kong turned out to be just long enough to create a risk of me missing the flight.  I was sitting in a comfortable chair in the lounge and getting occasional snacks and drinks, and successfully dozing for ten or fifteen minutes at a time.  Our boarding time was delayed by about an hour, and whether I became just a bit more relaxed because of the delay or because the noodle dinner I had settled in my stomach I ended up falling into a proper sleep.  Like many airlines overseas, Cathay Pacific doesn&#8217;t make boarding announcements in their lounges&#8230;  I awoke to find the departure monitor flashing &#8220;Final Call&#8221; next to my flight.</p>
<p>The terminal building of Hong Kong&#8217;s Chek Lap Kok Airport is shaped a bit like a big letter-Y with an upside-down capital-T overlaid.  You guessed it, to get to my flight I had to go from the tip of one arm of the T (where the Cathay Lounge is located) to the fork of the Y (where my departure gate was).  Doesn&#8217;t sound like far, does it: perhaps I didn&#8217;t mention that this munged-up T-Y shape got stretched out in the middle and is about three-times longer than it is wide&#8230;  As I fast-walked along travelators, I kept looking at monitors and expecting the dreaded &#8220;Gate Closed&#8221; to appear.  I drew closer to the gate, and could see no queue of people waiting to board&#8211;now I knew I was pretty late.  I saw someone in a green uniform starting to walk away from the gate toward the main terminal building (toward me), and as I got closer I saw that she was carrying a card with my flight number on it in large letters.  At this point I relaxed: they&#8217;re still looking for the latecomers.  I waved at her when I realised this, and when I reached her she asked my seat number.  It looked like I would be okay.</p>
<p>When I finally got to the gate I saw that I did actually have a bit of time available: the queue was actually on the aerobridge waiting to actually get on the plane.  It took at least five minutes in the bridge before I was on the aircraft, so it wasn&#8217;t like I was keeping them from closing the doors.  Still, a bit of panic to teach me to be careful about being inattentive in an airline lounge.</p>
<p>The flight was bad.  Actually I take that back: in the context of other long-distance flights I&#8217;ve taken it compares badly, but really it was probably just your normal Cathay Pacific long distance economy-class flight.  Cathay&#8217;s seat in Economy though is weird: it&#8217;s actually a little enclosure, a bit like a discount version of the Qantas Business-class cocoon.  What&#8217;s weird is that the seat doesn&#8217;t recline, instead the seat cushion slides forward and back.  The bottom of the seat back is attached to the back edge of the seat cushion, and the top of the seat back slides in runners in the seat frame.  So the angle of the seat back does in fact change, but for someone tall like me instead of being able to actually recline with a straight back I got curled up by the crazy thing.  The only good thing about it is that it eliminates that feeling of intrusion you get when you want to sit fairly straight but the person in front wants to recline all the way back.</p>
<p>The arrival into Amsterdam&#8217;s Schiphol Airport was uneventful.  The reason we were delayed from departing Hong Kong was actually so that we didn&#8217;t arrive too early to be allowed into Schiphol; the flight time was about an hour shorter than scheduled.  So even though we left late, we arrived on-time (if not a bit early).  The arrival hall in the airport was a mess however: I&#8217;m sure that they put us into the smallest passport hall in the place, and our full 747 from Hong Kong arrived at the same time as a United flight from the US.  The place was packed&#8211;they had to switch off the escalator into the hall to stop people from getting jammed into this room like sardines.</p>
<p>After I made it out to pick up baggage I waited another 10 minutes or more.  I had thought that the length of time it took to get through passport control would have given plenty of time for the bags to get off the plane, but it wasn&#8217;t so.  It took almost an hour to get landside&#8211;perhaps the messiest arrival at Schiphol I&#8217;ve ever had.</p>
<p>I decided to save some time for the next day and went to pick up my ticket for the train to Paris.  The airport terminal is actually built behind the railway station&#8211;if you were to arrive at Schiphol by taxi for the first time, you&#8217;d be tempted to think that the taxi driver misunderstood and took you to the train station instead of the airport.  Entering through the front doors, you have to walk past all the railway kiosks and ticket machines and timetables before you get to anything that even remotely looks like something to do with air travel.  I&#8217;m a train-guy though, so I like it that way. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I am so much a train-guy in fact that after I had some breakfast I decided to throw my bags in a locker and hop on a train to fill in some time.  I went to Utrecht, which I thought would be an hour or so away and would fill in a nice chunk of time, but actually only turned out to be 30 minutes away.  On this little trip I saw some Dutch countryside and was stunned at how green it looked.</p>
<p>When I got back to Schiphol I picked up my bags and got the airport shuttle to the hotel.  &#8221;Yes, sir, your room is ready&#8221;&#8211;how wonderful those words can sound when you&#8217;re tired and filthy from a long plane ride!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/11/travel-update-arriving-europe/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Back in the saddle again&#8230;</title>
		<link>http://veejoe.net/blog/2009/10/back-in-the-saddle-again/</link>
		<comments>http://veejoe.net/blog/2009/10/back-in-the-saddle-again/#comments</comments>
		<pubDate>Sat, 31 Oct 2009 11:53:29 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5447</guid>
		<description><![CDATA[This post comes to you from the Cathay Pacific lounge in Hong Kong airport.  Around 8 weeks have passed since my last post, and I&#8217;m pretty disgusted with myself at how little (read: not at all) I blogged when I was in the US and China.  In fact, by the looks of things the site [...]]]></description>
			<content:encoded><![CDATA[<p>This post comes to you from the Cathay Pacific lounge in Hong Kong airport.  Around 8 weeks have passed since my last post, and I&#8217;m pretty disgusted with myself at how little (read: not at all) I blogged when I was in the US and China.  In fact, by the looks of things the site has been down for most of the time anyway, which is also pretty disappointing.</p>
<p>I&#8217;d love to break my blogging drought now, as I have about five hours before I board my next flight, but I have a splitting headache which I&#8217;m sure you understand is not conducive to effective computer usage (which is a shame, as the Wi-Fi here is excellent).  Maybe later.</p>
<p>By the way, what brings me to Hong Kong?  I&#8217;m going to Europe for my remaining ITSO Workshop presentations.  Amsterdam on Monday, then Montpellier (France) on Tuesday.  I make some things up for a few days, then London next Monday followed by Milan on Thursday, then flying home via Rome and HK (again, three fortnights in a row).</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/10/back-in-the-saddle-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doing the New York thing</title>
		<link>http://veejoe.net/blog/2009/09/doing-the-new-york-thing/</link>
		<comments>http://veejoe.net/blog/2009/09/doing-the-new-york-thing/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 03:58:03 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[ibm]]></category>
		<category><![CDATA[itso]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[poughkeepsie]]></category>
		<category><![CDATA[redbook]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/2009/09/doing-the-new-york-thing/</guid>
		<description><![CDATA[(okay, so after fixing the blog now that I discover it&#8217;s been down for two days, I might as well update it&#8230;)
I&#8217;m in Poughkeepsie for a couple of ITSO projects. For the last week I&#8217;ve been working on the development of material for the ITSO&#8217;s Workshop World Tour. I&#8217;m helping out with the &#8220;System z [...]]]></description>
			<content:encoded><![CDATA[<p>(okay, so after fixing the blog now that I discover it&#8217;s been down for two days, I might as well update it&#8230;)</p>
<p>I&#8217;m in Poughkeepsie for a couple of ITSO projects. For the last week I&#8217;ve been working on the development of material for the ITSO&#8217;s Workshop World Tour. I&#8217;m helping out with the &#8220;System z Virtualization&#8221; stream, and I&#8217;m lucky enough to be presenting in a half-dozen cities around the world. Only problem with that is that the first one is only a few days away, and the material probably needs a bit longer in the oven (so to speak). Still, I&#8217;m looking forward to the event as a way to help build the Linux on System z community (and to do a bit of travel to some new places).</p>
<p>Starting this week I&#8217;ll be doing a residency with the ITSO. The book will be &#8220;Security on z/VM&#8221; &#8212; I don&#8217;t know if it was made so open-ended on purpose, but there&#8217;s a lot that could go into a book with that title so I&#8217;m looking forward to a busy time as the project develops.</p>
<p>More on my US travel as I get settled (I&#8217;ve been here a week and my sleep is still all wrong).</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/09/doing-the-new-york-thing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgrading from Cisco</title>
		<link>http://veejoe.net/blog/2009/08/upgrading-from-cisco/</link>
		<comments>http://veejoe.net/blog/2009/08/upgrading-from-cisco/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 11:48:33 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[aastra]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[voip]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5444</guid>
		<description><![CDATA[In case you weren&#8217;t aware, I am a VoIP nutcase.  I have an Asterisk phone system at home, and all the phones in the house are VoIP of some description (either real VoIP devices or analogue handsets through an ATA).  While I haven&#8217;t converted to VoIP as a replacement for PSTN, I have some connectivity [...]]]></description>
			<content:encoded><![CDATA[<p>In case you weren&#8217;t aware, I am a VoIP nutcase.  I have an <a href="http://www.asterisk.org" target="_blank">Asterisk</a> phone system at home, and all the phones in the house are VoIP of some description (either real VoIP devices or analogue handsets through an ATA).  While I haven&#8217;t converted to VoIP as a replacement for PSTN, I have some connectivity to VoIP providers both here and overseas (and soon to be more, to help the phone-home situation while I&#8217;m overseas).</p>
<p>I&#8217;ve been a user of Cisco IP phones, buying 7960s and a couple of 7970s through a well-known internet site (maybe it starts with an &#8220;e&#8221;, not sure).  The phones have been excellent, and I&#8217;ve even written a few XML apps to supplement their use here.  The 7960s are getting a bit dated now, however, and I found myself contemplating buying 7971s (or even something newer, like the 7965 or 7975).  Before I committed myself further into the relationship with Cisco, though, I thought about what I was <em>really</em> getting out of using Cisco phones.</p>
<p>Like many users of second-hand Cisco gear, I only purchased the hardware.  I do occasionally succumb to a nagging feeling of being an &#8220;outlaw&#8221; (at least in the eyes of Cisco), but admittedly that feeling usually only comes when I find out that Cisco has released <em>another</em> new version of SIP software that I can&#8217;t get because I haven&#8217;t paid for SmartNet.  The last time I had this thought though, I had a realisation: even if I <em>did</em> pay for SmartNet, the only thing I&#8217;d get would be the firmware: Cisco will only support their phone software when connected to their CallManager server (yes, even the SIP firmware).  Anyone running Cisco phones against anything other than CUCM gets no support from Cisco in the event something doesn&#8217;t work&#8211;and based on the information floating around, the problems are many.</p>
<p>So basically I would be paying Cisco to allow me to run one of the worst SIP implementations in embedded existence, with no opportunity to report problems with it in my environment.  Hmm, let me think about that for a minute&#8230;</p>
<p>At around the same time, I happened across the <a href="http://nerdvittles.com" target="_blank">NerdVittles</a> site, and in particular the post where NerdUno nominated the <a href="http://www.aastra.com/cps/rde/xchg/SID-3D8CCB6A-45444966/04/hs.xsl/19703.htm" target="_blank">Aastra 57i</a> as the &#8220;<a href="http://nerdvittles.com/?p=207" target="_blank">World&#8217;s Best Asterisk Phone</a>&#8220;.  I started to do some research into it, and was astounded at the level of support the manufacturer (a Canadian company which a few years ago acquired the telephony business of a little mob called Nortel) and the community provide for this phone and Asterisk.  Looking through the phone manual, I found functions that <em>only work with Asterisk!</em> I found a full set of integration scripts that provide XML applications, right through to automatic provisioning tools.  Possibly the best thing was that on the product page for their phones &#8212; <em>right there</em> on the page that descibes the product &#8212; are links to <strong>current</strong> versions of firmware, documentation, XML application development guides, even a Linux-based application to encrypt the phone configuration files.  Not hidden in some obscure hard-to-find portal, or behind a registration-only support site.</p>
<p>I started to think of the possibilities&#8230;  I&#8217;d be able to freely modify the phone configuration (even via a HTTP interface if I so chose), without having to make trial-and-error changes to a cryptic and totally undocumented configuration file.  I&#8217;d be able to write XML apps without having to do laborious debugging to cater for why the parser was choking on XML that was perfectly okay according to the documentation but apparently tripped over an undocumented field length restriction or character encoding limitation.  I could get access to things like Visual Voicemail, BLF, integration with Asterisk functions like day/night mode and call parking.  I could keep the phones up-to-date for new functions and bug fixes.  With a click of a mouse I could get <em>proper Australian tones!</em></p>
<p>So, I decided to give one a try.  Finding nothing on that &#8220;e&#8221; site I went looking for a vendor locally, and found several places that would sell one to me (legitimate e-tailers, no less!  Zounds!  A VoIP phone with a <em>warranty</em>?  You jest!).  It took a while for my chosen vendor to source it for me, but I&#8217;ve had it now for a couple of weeks.  It&#8217;s probably going to take a while for it to live up to it&#8217;s full potential in my installation, but since that potential is so much greater than what I have been able to do with the Ciscos I think I&#8217;m already ahead.</p>
<p>More in the coming weeks as the Aastra settles in.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" src="http://img.zemanta.com/pixy.gif?x-id=bdcd0ad4-6f17-8de5-9b09-84421a5b7b4a" alt="" /></div>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/08/upgrading-from-cisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk chan_mobile fail</title>
		<link>http://veejoe.net/blog/2009/07/asterisk-chan_mobile-fail/</link>
		<comments>http://veejoe.net/blog/2009/07/asterisk-chan_mobile-fail/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 08:06:13 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[bluetooth]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5440</guid>
		<description><![CDATA[I&#8217;ve been struggling with setting up chan_mobile on my Asterisk system.  For those fortunate enough to actually get it working, chan_mobile provides an interface for Asterisk to treat a mobile phone like a PSTN or VoIP trunk&#8211;when someone calls your mobile phone it can ring your desk phone or softphone, or you can use your [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been struggling with setting up chan_mobile on my Asterisk system.  For those fortunate enough to actually get it working, chan_mobile provides an interface for Asterisk to treat a mobile phone like a PSTN or VoIP trunk&#8211;when someone calls your mobile phone it can ring your desk phone or softphone, or you can use your normal handset to make an outgoing call on your mobile.  It works by making the Asterisk system look like a Bluetooth headset or handsfree to the phone.  You can even connect Bluetooth headsets to Asterisk using chan_mobile and have them appear like an extension in your dialplan (although that capability doesn&#8217;t seem to be covered very much).</p>
<p>I figured this would be an ideal way to make use of an old Nokia 6230 with a broken speaker.  Somewhat foolishly, on the assumption that it would Just Work (and that all the troubles experienced by others would not beset me) I went and bought a two-pack of prepaid mobile SIM cards and went through the adventure of activating them.  One of these SIMs I threw into the 6230, the other I kept on hand for after I got everything working.  The plan, you see, was to be able to take advantage of free calls between the two accounts by taking one of the phones with me when travelling and leaving the other strapped to Asterisk at home.</p>
<p>I think it&#8217;s probably fair to say that I&#8217;ve had more success with it than a lot of other folk have.  The process of configuring Asterisk to use the Bluetooth dongle is quite straightforward, and it&#8217;s even quite easy to configure the chan_mobile driver to have calls enter your Asterisk system in a routable way.  When I dialled the &#8220;tethered&#8221; mobile from another phone, I was rewarded with the ringing of my desk phone&#8211;and at this point, I think I gave myself the kiss-of-death.  &#8220;Wow, that was easy,&#8221; I thought&#8230;</p>
<p>When I picked up the desk phone, I was rewarded with silence.  Not just the silence of the phone not ringing any more, but also the silence of no audio being passed either way over the call path.  Nothing put the pure, desolate sound of FAIL.</p>
<p>Things actually went downhill from there, believe it or not.  I have tried a total of four different Bluetooth dongles, with results ranging from the aforementioned signalling-but-no-audio to why-the-@#%$-won&#8217;t-this-thing-pair.  The three different phones I&#8217;ve tried elicited a similar spectrum of results.  &#8220;Make sure your dongle has a Cambridge Silicon radio, they definitely work&#8221; say the forum experts&#8230;  Sorry guys, one of the biggest failures I had&#8211;failure of Asterisk to pick up the call&#8211;was on the last dongle I tried and, yes, it was a CSR.  I&#8217;ve even had two different versions of the bluez stack and (I think) two different asterisk-addons versions.</p>
<p>The one thing that I&#8217;ve distilled from all the experiences I read through is that there is a ridiculously high level of sensitivity to particular phone and dongle features.  For example, great success has been reported with the Nokia 6230i.  I figured that I was lucky and that a 6230 would be close enough&#8230;  Doesn&#8217;t look like it.  There is one model of D-Link Bluetooth device&#8211;no longer in production, by the way&#8211;generally reported to give the most success.  Tweaking the device class reported by the bluez stack in the Linux host is said to give success too, but led to me being unable to get a connection to Asterisk.  Unfortunately, I have neither the time nor the patience to spend too much time trying to go through the motions of getting it working.  I tell you, if it really is that difficult to get two Bluetooth devices to talk to each other it&#8217;s no wonder that the majority of folks still use wired headsets!</p>
<p>Luckily all this little experiment has cost me so far is time.  The two-pack of SIM cards cost me the grand total of $2, and they had enough start-up credit on them to allow me to receive calls without a top-up.  The handsets are from that ever-growing pile of GSM hardware that just about every modern household is accumulating now (well, at least the ones that house a gadget-freak who can&#8217;t even bear to part with a broken one).  The kernel version I&#8217;m running on the system could be an issue, since I get ugly error messages from the <em>btusb</em> module when I take a call, so a kernel update might help.  After that though it&#8217;s likely to cost real money&#8211;buying a new/different Bluetooth dongle, for example.</p>
<p>If anyone out there has suggestions on something else to try, I&#8217;m listening (reading? watching?).  I don&#8217;t mean to complain, after all I am one that usually subscribes to the &#8220;it&#8217;s Open Source, it&#8217;s the hard work and dedication of others, you got it for nothing, you&#8217;ve got no right to complain&#8221; philosophy.  It is really frustrating to come away from a couple of days&#8217; effort with nothing to show for it, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/asterisk-chan_mobile-fail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LDAP-backed DNS and DHCP&#8230;?</title>
		<link>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/</link>
		<comments>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 10:42:47 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[dhcp]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5437</guid>
		<description><![CDATA[I&#8217;m having a bit of an infrastructure redesign here at the Crossed Wires campus.  Each time I have an outage (the last one was caused by a power failure) I learn a little more about the holes in my current setup and what I can do better.
I&#8217;m implementing a router box on an old low(-ish)-power [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m having a bit of an infrastructure redesign here at the Crossed Wires campus.  Each time I have an outage (the last one was caused by a power failure) I learn a little more about the holes in my current setup and what I can do better.</p>
<p>I&#8217;m implementing a router box on an old low(-ish)-power PC that will be backed up by a virtual machine on my main virt-box.  I&#8217;ve already done most of the preparation of using <a href="http://www.keepalived.org" target="_blank">keepalived</a> to implement VRRP, and a colleague has given me some pointers in using the <a href="http://www.linux-ha.org" target="_blank">Linux-HA</a> tools like <a href="http://www.linux-ha.org/Heartbeat" target="_blank">Heartbeat</a> and <a href="http://www.drbd.org/" target="_blank">DRBD</a> to make services like e-mail and Samba redundant.</p>
<p>I&#8217;ve had a soft spot for LDAP for ages; I&#8217;ve always thought that putting as much backend data into LDAP as you can would be a really good way to get failover and redundancy.  Instead of having to deal with every single server&#8217;s different way of doing replication and failover, just bung everything into LDAP and get <em>that</em> replicating.  Sounds good in theory, but in a nutshell it&#8217;s not working out that way for the two least-celebrated but most important components of my (arguably any) network: DNS and DHCP.</p>
<p>There are a number of LDAP-backed DNS projects out there.  If I&#8217;m willing to go to the bleeding edge with BIND on my Gentoo build I can get access to the two most talked-about ones (<a href="http://bind9-ldap.bayour.com/" target="_blank">bind9-sdb-ldap</a> and the <a href="http://bind-dlz.sourceforge.net/ldap_driver.html" target="_blank">BIND DLZ LDAP driver</a>), and other solutions like <a href="http://www.powerdns.com" target="_blank">PowerDNS</a> and <a href="http://ldapdns.sourceforge.net" target="_blank">ldapdns</a> are available.  But none of them offer integration with DHCP, and I&#8217;m currently using dhcpd&#8217;s &#8220;interim DDNS update method&#8221; to make sure that hostnames are seen in my DNS when a lease is granted (okay, there&#8217;s a Perl daemon that goes with bind9-sdb-ldap, but it seems like a sort-of clunky afterthought).</p>
<p>Speaking of DHCP, LDAP backends for it are virtually non-existent.  The only LDAP-enablement I&#8217;ve found for ISC DHCP involves putting the <em>config file</em> into LDAP, not the leases&#8230;  I actually used that for a few days a while ago and pulled it out because it was actually more work to do it that way (and for no benefit in failover).</p>
<p>It seems to me it would be a project ripe for the picking: take an integrated DNS/DHCP server like <a href="http://www.thekelleys.org.uk/dnsmasq/doc.html" target="_blank">dnsmasq</a> and make it write into LDAP instead of to a file.  If I had more free time I&#8217;d probably have a go at it, except for the fact that no-one really seems to be that interested in storing DNS and DHCP in LDAP: that it hasn&#8217;t been done says to me that there&#8217;s no demand for it, and it&#8217;d end up being a big waste of time and effort.</p>
<p>Over to you, lazyweb&#8230;  Is this a yawning chasm of unfulfilled networking dreams, or a case of me trying to make something more complex than it needs to be?  After all, the rest of the world gets by with DNS master-slave and DHCP failover, they should be good enough for me too, right?  <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/ldap-backed-dns-and-dhcp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia SIP client: WTF?</title>
		<link>http://veejoe.net/blog/2009/07/nokia-sip-client-wtf/</link>
		<comments>http://veejoe.net/blog/2009/07/nokia-sip-client-wtf/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 13:13:45 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5434</guid>
		<description><![CDATA[I was having a browse around the excellent Nerd Vittles site tonight, and stumbled onto a disturbing conversation about the removal of the Nokia SIP client from S60 Third Edition Feature Pack 2 (as used on recent phones like the N78 and N96).
Nerd Vittles linked to this blog, which alludes to the possibility of mobile [...]]]></description>
			<content:encoded><![CDATA[<p>I was having a browse around the excellent <a title="Nerd Vittles" href="http://nerdvittles.com" target="_blank">Nerd Vittles</a> site tonight, and stumbled onto a disturbing conversation about the removal of the Nokia SIP client from S60 Third Edition Feature Pack 2 (as used on recent phones like the N78 and N96).</p>
<p>Nerd Vittles linked to <a href="http://www.intomobile.com/2008/08/26/nokia-ditches-built-in-sip-for-s60-3rd-edition-feature-pack-2-fp2.html" target="_blank">this blog</a>, which alludes to the possibility of mobile carriers putting pressure on Nokia to remove &#8220;free&#8221; calling capability (i.e. VoIP) from their phones.  Within the comments on that blog post comes a <a href="http://conversations.nokia.com/2008/08/27/the-report-of-the-death-of-voip-has-been-grossly-exaggerated/" target="_blank">link</a> to a post on Nokia Conversations (I&#8217;ve never seen that site before, but it seems to simply be a bit of a PR site&#8230;).</p>
<p>&#8220;Charlie&#8221; from Nokia Conversations tries to spin the changes to Nokia&#8217;s SIP support.  Firstly, in what seems to be almost believable at first he says &#8220;no, the SIP stack is still there, in fact it is actually better in FP2 than previous versions&#8221;.  Apparently, the improvements meant that the integrated VoIP client had to be dropped because it wasn&#8217;t ready.  This explanation loses credibility, however, when you see that Charlie&#8217;s blog post was made on 27 August 2008: <strong>nearly one year ago!</strong> And folks are still commenting on that thread, saying &#8220;where&#8217;s my VoIP client?&#8221;.  I cannot believe that it would take Nokia a full year to update the VoIP client and package a firmware update for these phones&#8211;especially given that two other S60 3rd-ed FP2 phones released after the N78 and N96, namely the N79 and N85, apparently <em>do</em> have the VoIP client!</p>
<p>On 8 December 2008, Charlie posts a <a href="http://conversations.nokia.com/2008/12/08/nokia-lost-some-friends-when-we-changed-our-voip-offering-but-there-might-be-good-news-2/" target="_blank">follow-up</a> on Nokia Conversations.  In it he says &#8220;well we made some folks unhappy, but we&#8217;ve made a fix&#8221;.  He points to something called the &#8220;SIP VoIP Settings&#8221; application that was supposed to bring back what people were asking for.  Problem is, it&#8217;s not a VoIP client at all: it&#8217;s simply a configuration tool allowing more detailed control over the configuration of a SIP profile.</p>
<p>In the final insult it appears that the new N97, Nokia&#8217;s current flagship also has <a href="http://conversations.nokia.com/2008/12/08/nokia-lost-some-friends-when-we-changed-our-voip-offering-but-there-might-be-good-news-2/#comment-7170" target="_blank">no VoIP client</a>.  The N97 is based on S60 5th edition and not 3rd edition, but 5th is supposedly just 3rd updated for touch-screen anyway (not a significant change in technology).</p>
<p>Looking more closely at the specifications pages for these N-series phones, the tiny-tiny text that says &#8220;VoIP&#8221; is missing.  It&#8217;s probably arguable therefore that Nokia never advertised the phones as having VoIP capability[1], so anyone who bought one without checking has created their own situation.  However, Nokia, why is the &#8220;upgrade&#8221; to the N95 missing one of that phone&#8217;s most popular features?</p>
<p>At one point Nokia&#8217;s story changes&#8230; it seems that VoIP is a function that doesn&#8217;t fit the product direction of N-series and belongs in the E-series phones (indeed both the E75 and the soon-to-be-released E72, reportedly S60 3rd-ed FP2 phones, list VoIP capability).  Why, then, do other S60 3rd-ed FP2 phones like the N79 and N85 have VoIP?</p>
<p>This whole &#8220;affair&#8221; seems to have been handled really poorly by Nokia.  Firstly, claim a technical limitation.  When that fails (because you discover that your users actually <em>know</em> something about tech), claim that your third-party providers have developed a solution.  When it turns out that the third-party products are steamers that don&#8217;t even use the infrastructure your OS provides (something you didn&#8217;t know before either), claim that the product has been &#8220;realigned&#8221; and doesn&#8217;t service that market any more&#8211;while simultaneously marketing a product in the same series with the same technology that still has the disputed feature.</p>
<p>I must admit to being a lot less angry about this after researching this post than when I started it.  I&#8217;m more angry about the survey I completed earlier today when I visited the Nokia website&#8211;I was very complimentary about .  My shopping-slash-wish list just lost an item&#8211;not that I was seriously contemplating buying the N97, but it&#8217;s nice to have a technical reason <em>not</em> to buy it rather than the boring can&#8217;t-really-justify-it line. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[1] Of course it&#8217;s easy to make this statement based on what the product pages look like <em>now</em>&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/nokia-sip-client-wtf/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Is it catching on&#8230;?</title>
		<link>http://veejoe.net/blog/2009/07/is-it-catching-on/</link>
		<comments>http://veejoe.net/blog/2009/07/is-it-catching-on/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 14:24:10 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5431</guid>
		<description><![CDATA[Mark isgetting an internal server error on http://tinyurl.com/n5fgd9.  I think I amgetting an internal server error too.
Unless, of course, I don&#8217;t get it.
(The first result got fixed, this version (courtesy Google&#8217;s cache) has the goodness.)
]]></description>
			<content:encoded><![CDATA[<p><a title="Mark's blog post" href="http://mdesbo.wordpress.com/2009/07/13/unix-beard-ftw/" target="_blank">Mark</a> isgetting an internal server error on <a href="http://tinyurl.com/n5fgd9" target="_blank">http://tinyurl.com/n5fgd9</a>.  I think I amgetting an internal server error too.</p>
<p>Unless, of course, I don&#8217;t get it.</p>
<p>(The first result got fixed, <a href="http://74.125.155.132/search?q=cache:OMgVjWKvOekJ:www-304.ibm.com/jct01005c/university/students/contests/aus_mainframe/rules.html+%22i+amgetting+an+internal+server+error+on%22&amp;cd=1&amp;hl=en&amp;ct=clnk" target="_blank">this version</a> (courtesy Google&#8217;s cache) has the goodness.)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/is-it-catching-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lifeblog test post (photo fun with Nicholas)</title>
		<link>http://veejoe.net/blog/2009/07/lifeblog-test-post-photo-fun-with-nicholas/</link>
		<comments>http://veejoe.net/blog/2009/07/lifeblog-test-post-photo-fun-with-nicholas/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 14:48:33 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/2009/07/lifeblog-test-post-photo-fun-with-nicholas/</guid>
		<description><![CDATA[
A spooky pic of Nicholas playing with an LED toy.



]]></description>
			<content:encoded><![CDATA[<div class="Lifeblog_Posting">
A spooky pic of Nicholas playing with an LED toy.</p>
<div class="Lifeblog_Resource">
<a href="http://veejoe.net/blog/wp-content/uploads/lifeblog-23062009081.jpg"><img src="http://veejoe.net/blog/wp-content/uploads/lifeblog-23062009081-450x337.jpg" alt="Tue 23/06/2009 08:39 23062009081" /></a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/lifeblog-test-post-photo-fun-with-nicholas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreePBX device-and-user mode, part two</title>
		<link>http://veejoe.net/blog/2009/07/freepbx-device-and-user-mode-part-two/</link>
		<comments>http://veejoe.net/blog/2009/07/freepbx-device-and-user-mode-part-two/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 09:53:21 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[freepbx]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5407</guid>
		<description><![CDATA[In part one, I described how I reconsidered device-and-user mode in FreePBX, and did the initial changeover.  Read on to find out how I overcame a major issue with the configuration!
I have an ISDN phone line coming into my Asterisk system.  One of the indials is for our home number, the other is one I [...]]]></description>
			<content:encoded><![CDATA[<address>In <a title="Revisiting device-and-user mode in FreePBX" href="http://veejoe.net/blog/2009/07/revisiting-device-and-user-mode-in-freepbx/" target="_self">part one</a>, I described how I reconsidered device-and-user mode in FreePBX, and did the initial changeover.  Read on to find out how I overcame a major issue with the configuration!</address>
<p>I have an ISDN phone line coming into my Asterisk system.  One of the indials is for our home number, the other is one I use for work.  Before I found FreePBX, I had manually worked the Asterisk dialplan to have calls made from my work phone(s) appear from the work phone number&#8211;useful not just for Caller-ID, but also required for the long-distance provider I use to bill calls for work.  With FreePBX I was able to use a custom context to pre-select a route that dialled the provider override prefix to send the calls through the other provider, but it was a bit of a hack using hand-written dialplan code and a bit of luck.</p>
<p>Before I changed to device-and-user, I naively assumed that FreePBX would allow a user to be associated with a context in the same way a device/extension can be.  This is not the case, and the context of the device is still used for routing.  This meant that I could not use a device for either work or personal calls without having to log onto FreePBX and change the device context (logging on as the work user was not enough).  I was back to square one&#8230;</p>
<p>I did a little research.  Firstly, I rediscovered how I was making the existing routing work.  The ISDN interface I use (driven by <strong>chan_capi</strong> in Asterisk) simply uses the outgoing caller-id of the call to select from available MSNs[1].  So I had one route that had the &#8220;normal&#8221; MSN set as the outbound caller-id, another route with the &#8220;work&#8221; MSN (plus the rewrites to add the long-distance override code at the front), and a custom context for the work devices that made only the route with the work MSN available.</p>
<p>Looking more closely at the user definition page, I saw that there is an &#8220;Outgoing Caller-ID&#8221; field.  By using this field, I was able to do away with the separate route and the custom context and set the work MSN there instead.  This gives me just what I need: a way to control my outbound MSN on a per-user basis!  This got me half-way there, as I still needed a way to set the long-distance override codes for work calls.  A bit more research turned up a predialling macro hook that the FreePBX folks made available.  With a bit of code to test the caller-id and the number dialled (the long distance company doesn&#8217;t handle free calls, for instance) I get just what I need.</p>
<p>Here&#8217;s the macro hook (this is added to extensions_custom.conf):</p>
<blockquote>
<pre>[macro-dialout-trunk-predial-hook]
exten =&gt; s,1,NoOp(Trunk is ${OUT_${DIAL_TRUNK}}, CallerID ${CALLERID(num)} calling ${OUTNUM} )
exten =&gt; s,n,GotoIf($["${CALLERID(num)}" != "xxxxxxxxx"]?endit)
exten =&gt; s,n,GotoIf($["${OUT_${DIAL_TRUNK}:4:11}" != "CAPI/contr1"]?endit)
exten =&gt; s,n,GotoIf($["${OUTNUM}:0:4}" = "1800"]?endit)
exten =&gt; s,n,Set(OUTNUM=1xxx${OUTNUM})
exten =&gt; s,n(endit),MacroExit()</pre>
</blockquote>
<p>So I&#8217;m now a happy device-and-user user!</p>
<address>[1] Actually I don&#8217;t know if that&#8217;s chan_capi doing it for me or whether it&#8217;s just the way the ISDN network works.</address>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/freepbx-device-and-user-mode-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revisiting device-and-user mode in FreePBX</title>
		<link>http://veejoe.net/blog/2009/07/revisiting-device-and-user-mode-in-freepbx/</link>
		<comments>http://veejoe.net/blog/2009/07/revisiting-device-and-user-mode-in-freepbx/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 09:49:09 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[freepbx]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[voip]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5405</guid>
		<description><![CDATA[Buoyed by the success of a colleague I introduced to Asterisk and FreePBX a little while ago, I decided to have another look at the extension configuration mode I use on our system.
Check this post for a recap of the FreePBX configuration modes and my first thoughts.
Last time I looked at this I thought there [...]]]></description>
			<content:encoded><![CDATA[<p>Buoyed by the success of a colleague I introduced to Asterisk and FreePBX a little while ago, I decided to have another look at the extension configuration mode I use on our system.</p>
<address>Check <a title="FreePBX Modes" href="http://veejoe.net/blog/2007/10/freepbx-modes/" target="_blank">this post</a> for a recap of the FreePBX configuration modes and my first thoughts.</address>
<p>Last time I looked at this I thought there were some problems with the way it was implemented that meant it didn&#8217;t work for my installation, so I ended up hacking together a mess of fake extensions, ring groups and queues that more-or-less reimplemented the good parts of device-and-user mode and still letting me use things from extensions mode.  Doing this however meant that FreePBX always complained about what it called &#8220;invalid destinations&#8221;, and I had to use some custom logic for doing something simple like a common voicemail access number.</p>
<p>What won me over to device-and-user mode again though was the ability to log a device on and off from a number.  I have a couple of Nokia handsets that have SIP clients now, and it&#8217;s handy to just have one device that all my work calls (for example) arrive on.  After-hours though, I didn&#8217;t want that device to still be tied up to the work line; it made more sense to be able to use that device for home calls.  To do that with extensions mode and my ring-group hack would mean reprogramming the ring-group (and one other change, which I&#8217;ll talk about later) when I wanted to switch over.  Presumably I could write some script or AGI logic that I could tie to a feature code in FreePBX, but I&#8217;d simply be making more custom modifications for little real gain.</p>
<p>In the end, I realised that the main thing keeping me in extensions mode&#8211;the ability to call a device by it&#8217;s &#8220;extension&#8221; number regardless of who&#8217;s logged on to it&#8211;wasn&#8217;t something I used often enough to warrant all the work I&#8217;d have to do to make extensions mode do what I needed.  With that in mind, I edited <strong>amportal.conf</strong> and made the all-important change:</p>
<blockquote>
<pre>AMPEXTENSIONS=deviceanduser</pre>
</blockquote>
<p>I had to reload the FreePBX admin page a couple of times, but eventually the &#8220;Extensions&#8221; tab changed into two tabs, &#8220;Devices&#8221; and &#8220;Users&#8221;.  True to the description of extension and device-and-user modes given in the FreePBX doco, the Devices and Users tabs had the same number of entries.  All I needed to do was delete the users that were no longer required (i.e. almost all of them) and the devices that belonged to the voicemail extensions from my original setup.  I then ran through each of the device definitions and correctly assigned them as either &#8220;Fixed&#8221; (statically allocated to a user) or &#8220;Ad-Hoc&#8221; (able to be logged on to a user).</p>
<p>This was the point at which I worked out a solution to my original dial-a-device-directly problem.  I realised that the majority of times I need that functionality is when testing.  So, for those devices that I use for testing, I left the user definition in place and made it the &#8220;default&#8221; user for that device.  This means that when I log out of the real user from that device it is reachable by the default user number, and I can dial it directly for testing.  The other use for direct-connection to a device, the intercom, requires a separate SIP endpoint anyway (due to the Cisco phones not adhering to the SIP command for remote off-hook) so I need to keep those as separate users too.</p>
<p>I&#8217;m quite happy with how it&#8217;s turned out&#8211;at least, I was once I&#8217;d overcome the showstopper I found!  Read about that in <a title="FreePBX device-and-user mode part two" href="http://veejoe.net/blog/2009/07/freepbx-device-and-user-mode-part-two/" target="_self">part two</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/revisiting-device-and-user-mode-in-freepbx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New blog engine</title>
		<link>http://veejoe.net/blog/2009/07/new-blog-engine/</link>
		<comments>http://veejoe.net/blog/2009/07/new-blog-engine/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 12:27:46 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5402</guid>
		<description><![CDATA[Here is the new and improved (well time will tell about that, I suppose) Crossed Wires.  Changing to a more mainstream blog engine will I hope allow me to provide a bit more function.  I&#8217;ve adopted the Disqus comment system as the first improvement; I was unhappy about turning off comments on the old system.
I [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the new and improved (well time will tell about that, I suppose) Crossed Wires.  Changing to a more mainstream blog engine will I hope allow me to provide a bit more function.  I&#8217;ve adopted the <a title="Disqus" href="http://disqus.com" target="_blank">Disqus</a> comment system as the first improvement; I was unhappy about turning off comments on the old system.</p>
<p>I imported all the entries from the old engine (I&#8217;m even gradually working through them to categorise and tag them).  I even found some Perl and SQL mojo I never knew I had to make nice redirections from the old blog to the new.</p>
<p>As I said when I first started this blog, none of this coolness is likely to make me write more&#8230;  But here&#8217;s hoping!  <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/07/new-blog-engine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Trouble with apt-get and Squid</title>
		<link>http://veejoe.net/blog/2009/05/trouble-with-apt-get-and-squid/</link>
		<comments>http://veejoe.net/blog/2009/05/trouble-with-apt-get-and-squid/#comments</comments>
		<pubDate>Mon, 11 May 2009 04:36:44 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=31</guid>
		<description><![CDATA[I recently started having trouble with APT transactions on my Kubuntu desktop. &#8220;apt-get update&#8221; would fail for some source entries with the error &#8220;The HTTP server sent an invalid reply header&#8221;. I thought it was something specific to (K)Ubuntu, but when I had the exact problem on my NSLU2 running Debian I figured the problem [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started having trouble with APT transactions on my Kubuntu desktop. &#8220;apt-get update&#8221; would fail for some source entries with the error &#8220;The HTTP server sent an invalid reply header&#8221;. I thought it was something specific to (K)Ubuntu, but when I had the exact problem on my NSLU2 running Debian I figured the problem must be elsewhere…</p>
<p>I&#8217;d recently updated the machine that provides the transparent web proxy function for the network; one of the updates took Squid up to version 3.0 (from 2.6). This was the first thing I was suspicious of.</p>
<p>There&#8217;s an option in Squid that controls how it handles an &#8220;If-Modified-Since&#8221; request from a client. The default is for Squid to respond based on the age of the item in the <em>cache</em>, not based on the real item on the source web page. The comments in the Squid config file indicate that some clients use an IMS when requesting a reload — looks like APT is one of those clients.</p>
<p>Setting this option to &#8220;on&#8221; (from the default of &#8220;off&#8221;) in <strong>squid.conf</strong> fixed the issue for me:</p>
<p><code>refresh_all_ims on</code></p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/05/trouble-with-apt-get-and-squid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Classic Mac sounds on my mobile phone</title>
		<link>http://veejoe.net/blog/2009/04/classic-mac-sounds-on-my-mobile-phone/</link>
		<comments>http://veejoe.net/blog/2009/04/classic-mac-sounds-on-my-mobile-phone/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 01:29:32 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[tones]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=41</guid>
		<description><![CDATA[We watched WALL-E the other day. A bit of trivia for Apple Mac fans (if you didn&#8217;t already know) is that WALL-E&#8217;s startup sound — heard when he&#8217;s finished his solar recharge — is that of a post-1997 Mac computer (with Steve Jobs on the board of Pixar and Disney, WALL-E was never going to [...]]]></description>
			<content:encoded><![CDATA[<p>We watched WALL-E the other day. A bit of trivia for Apple Mac fans (if you didn&#8217;t already know) is that WALL-E&#8217;s startup sound — heard when he&#8217;s finished his solar recharge — is that of a post-1997 Mac computer (with Steve Jobs on the board of Pixar and Disney, WALL-E was never going to make <a href="http://en.wikipedia.org/wiki/The_Microsoft_Sound">The Microsoft Sound</a> (: ). Coincidentally, at around the same time as I saw WALL-E I was going through that modern malaise of mobile-phone-alert-tone-taedium… So, inspired by this bit of cinematic crossover coolness, I decided to get some Mac-chime action for my handset.</p>
<p>The first thing was obviously to get hold of the audio file. This turned out to be surprisingly easy, thanks to Google pointing me to a piece of software called <a href="http://www.mactracker.ca/">MacTracker</a>. MacTracker is actually a reference guide for Apple products (computers all the way back to the Macintosh XL, the MessagePads, printers, displays, even iPods and mice), but part of the information it holds about the computers is their startup and death chimes.</p>
<p>There&#8217;s no option in MacTracker to export the audio files, but by opening the app package (&#8220;Show Package Contents&#8221; in Finder) it&#8217;s possible to navigate to where the chime sound files are stored. Then from Finder, all I had to do was zap the file to the phone via Bluetooth. On the phone, opening the Bluetooth message gave me an option to save the &#8220;music&#8221; file, which I did — this adds the file to the Music Player, but importantly makes it easily selectable in the configuration of the alert tones.</p>
<p>So now when I receive an SMS I hear the death chime of a Macintosh LC, and the startup sound of the Twentieth Anniversary Macintosh alerts me to incoming e-mail. I&#8217;m going to apply similar configuration to my desktops: on-and-off for the last ten years I&#8217;ve been using a Homer Simpson soundbite to advise incoming mail, and it&#8217;s a bit tired now…</p>
<p>Next task will be to replace the startup sound on my N810 with something a bit retro-Mac! <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/04/classic-mac-sounds-on-my-mobile-phone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Comments and Downtime</title>
		<link>http://veejoe.net/blog/2009/03/comments-and-downtime/</link>
		<comments>http://veejoe.net/blog/2009/03/comments-and-downtime/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 02:25:40 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=51</guid>
		<description><![CDATA[Observant readers will notice that they are no longer able to respond to posts. The blog-spammers have won the battle but, as they say in the classics, they will not win the war&#8230;
I&#39;ve turned off the comment capability, until I can get something in place to bring the rubbish under control (a recent update to [...]]]></description>
			<content:encoded><![CDATA[<p>Observant readers will notice that they are no longer able to respond to posts. The blog-spammers have won the battle but, as they say in the classics, they will not win the war&#8230;</p>
<p>I&#39;ve turned off the comment capability, until I can get something in place to bring the rubbish under control (a recent update to PolarBlog helped a bit, in that the crap doesn&#39;t display on the site any more, but when I log on I get to see the mess). I&#39;m thinking of a new site, where I can discuss technical stuff a bit more and thoroughly while keeping the private stuff separate if I need to.</p>
<p>The site has had a bit of downtime recently, due to my non-existent monitoring of what&#39;s happening on my hosted server. This will change shortly, and I&#39;m looking forward to things returning to the stability they had when I was self-hosting.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/03/comments-and-downtime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time off from work</title>
		<link>http://veejoe.net/blog/2009/03/time-off-from-work/</link>
		<comments>http://veejoe.net/blog/2009/03/time-off-from-work/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 02:14:27 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=61</guid>
		<description><![CDATA[I&#39;m taking a bit of time off. There&#39;s a few projects going on around the house, plus I&#39;ve been letting a few things get to me recently and I think I need a break from work. A couple of weeks off, with a few days on the Sunshine Coast to unwind, could be a good [...]]]></description>
			<content:encoded><![CDATA[<p>I&#39;m taking a bit of time off. There&#39;s a few projects going on around the house, plus I&#39;ve been letting a few things get to me recently and I think I need a break from work. A couple of weeks off, with a few days on the Sunshine Coast to unwind, could be a good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2009/03/time-off-from-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Photo printing pain</title>
		<link>http://veejoe.net/blog/2008/12/photo-printing-pain/</link>
		<comments>http://veejoe.net/blog/2008/12/photo-printing-pain/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 02:47:34 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Soapbox]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=71</guid>
		<description><![CDATA[S went to print some photos the other day, and what was supposed to have been a simple exercise turned out to be a very frustrating one for both of us. I was utterly amazed to discover that even on the eve of 2009 there are web sites that think the world is only viewed [...]]]></description>
			<content:encoded><![CDATA[<p>S went to print some photos the other day, and what was supposed to have been a simple exercise turned out to be a very frustrating one for both of us. I was utterly amazed to discover that even on the eve of 2009 there are web sites that think the world is only viewed through Windows&#8230;</p>
<p>S&#39;s and my respective creative sides are being adequately satisfied by the iLife suite on the Mac, but there are times when we need to get the pictures out of the silver tower and onto other media&#8212;on this occasion paper, for albums and so on. A large <a href="http://www.bigw.com.au">retailer</a> here has part of their floor space in each store set aside for those photo printing kiosks, and I introduced S to the art of putting photos onto a USB stick so that she could print some photos when next she went there&#8230;</p>
<p>On her return from the shop, she reported that we hadn&#39;t successfully put the photos she wanted onto the stick. When she&#39;d plugged the stick in, she&#39;d found only less than half of the photos we&#39;d stored there. Sure enough, when I plugged the stick in all the files were there safe and sound. Strange thing was I could find nothing in common about the files (uppercase/mixedcase filename, long or 8.3 filename, datestamp, etc) that would have yielded the number of photos that the kiosk had found on it.</p>
<p>Annoying, but life is too short to worry about it. After all, this same retailer was plastering adverts of their new web-based photo printing service&#8230; S could submit the photos online for printing and pick them up from the store later.</p>
<p><code>&lt;sarcasm&gt;</code>This is where the fun really started.<code>&lt;/sarcasm&gt;</code></p>
<p>Their app is Flash-based but seems to have some Java involved as well. While it loaded quickly enough, the app portion of the web page had an incongruous grey background that just looked dodgy. S had to create an account and sign onto the site just to get this far though, which was a bit annoying.</p>
<p>The workflow seemed to be to create an album, upload pictures to the album, then select photos from the album for processing. Creating the album went fine, but when the upload function was selected there were no action buttons visible to complete the operation! S was using Safari, but Firefox made no difference.</p>
<p>Then I suggested she use her laptop, which runs Ubuntu 8.04. The situation actually seemed a bit better to start with, as instead of the upload function showing an embedded file selection dialog like it did on the Mac we got a &#34;normal&#34; GNOME file dialog box. However, only some of the photos showed again: this time, it was because they had hard-coded a non-modifiable filename filter for the dialog that was only picking lower-case file extensions!</p>
<p>Trying to work around this, I mounted the stick manually with different mount options. I succeeded in getting all but one of the files showing with a lowercase name, and a rename fixed that one. Back in the web page however, it still didn&#39;t like us: any file chosen from the dialog box resulted in a nonsensical error message followed by a &#34;You have selected no files to upload&#34; dialog.</p>
<p>S was beyond caring by this stage (she has a very low threshold for being stuffed around by technology). She went to <a href="http://www.snapfish.com.au">Snapfish</a> after a friend&#39;s recommendation, and found a well-designed and easy to use WEB site that required no downloads or other junk.</p>
<p>So why did this wind me up to the point of spending all this time blogging it? Because nowhere on Big-W&#39;s site is there any mention of browser or operating system compatibility. Not even a &#34;we&#39;ve tested only on Windows, Mac users may experience difficulty&#34;[1]. Not a blessed thing. Their Help page has a single paragraph about trouble uploading, blaming &#34;your IT Department&#34; for &#34;setting certain network properties that inhibit the upload tool from working&#34;.</p>
<p>I wonder if the developers of the app were just so blind to believe that their gunk would just work wherever it was run, or whether they really think that it&#39;s a Windows world. Of the two I hope it&#39;s the former. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>So Snapfish gets a recommendation for being not just an application hosted on the web but a <strong>web application</strong>. They do good photos too!</p>
<p>[1] I never expect to see Linux mentioned on these things and get pleasantly surprised on the occasions it is; even if it says &#34;Linux is not supported&#34;, someone there at least knows enough to mention it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/12/photo-printing-pain/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BOM Radar for Cisco 7970</title>
		<link>http://veejoe.net/blog/2008/12/bom-radar-for-cisco-7970/</link>
		<comments>http://veejoe.net/blog/2008/12/bom-radar-for-cisco-7970/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 16:26:09 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=81</guid>
		<description><![CDATA[I&#8217;ve written an XML app to display rain radar images from the Australian Bureau of Meteorology on the screen of a graphics-capable Cisco IP phone. It seemed like it would be simple to do, and I couldn&#8217;t work out really why no-one had done it. Well it wasn&#8217;t hard to do, but I can see [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve written an XML app to display rain radar images from the Australian <a href="http://www.bom.gov.au">Bureau of Meteorology</a> on the screen of a graphics-capable Cisco IP phone. It seemed like it would be simple to do, and I couldn&#8217;t work out really why no-one had done it. Well it wasn&#8217;t hard to do, but I can see now why it hadn&#8217;t been done…</p>
<p>While the screen of the 7970 looks nice on it&#8217;s own, and is certainly a drastic improvement over the 7940/7960, it doesn&#8217;t have the resolution to be able to display anything useful other than text and simple images. The BOM images are 524&#215;564, while the largest image the Cisco can show is 298&#215;168.</p>
<p>Here&#8217;s an example of my app in action:</p>
<p><img class="alignnone size-full wp-image-5381" title="bom7970" src="http://enterprise/veejoe.net/wp-content/uploads/2009/06/bom7970.png" alt="bom7970" width="320" height="234" /></p>
<p>Because the phone&#8217;s image viewer can&#8217;t scroll a large image I&#8217;ve had to scale and crop it, losing a fair amount of detail in the process (I did try just scaling it to fit the entire image, but it was totally useless to view). Plus, one of the key attractions of the BOM radar site is the animated images, and the phone has no way to display animations.</p>
<p>So what do you think, lazyweb? I&#8217;ve learned a bit more about coding Cisco XML apps, but other than that have I wasted my time? I will put it up on my Projects site eventually (once I&#8217;ve put in some more error handling etc), but let me know with a comment here…</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/12/bom-radar-for-cisco-7970/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Living with an iPod touch</title>
		<link>http://veejoe.net/blog/2008/12/living-with-an-ipod-touch/</link>
		<comments>http://veejoe.net/blog/2008/12/living-with-an-ipod-touch/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 21:23:35 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[ipod]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=91</guid>
		<description><![CDATA[I held out for a long, long time. I&#39;d even talked myself entirely out of getting one. Like they say in the classics though, &#34;you think you&#39;ve escaped, but they pull you back in&#34;. I now have a 32GB iPod touch and it&#39;s doin&#39; alright, even though it took me nearly a week before I [...]]]></description>
			<content:encoded><![CDATA[<p>I held out for a long, long time. I&#39;d even talked myself entirely out of getting one. Like they say in the classics though, &#34;you think you&#39;ve escaped, but they pull you back in&#34;. I now have a 32GB iPod touch and it&#39;s doin&#39; alright, even though it took me nearly a week before I bothered putting any media on it!</p>
<p>I think what finally did it for me was the App Store. I love being able to simply go to an app on the device and easily look for software, installing what I like with no fuss. I especially like the fact that my downloads are synced with my computer, so that I don&#39;t have to keep track of all the individual items I&#39;ve installed (unlike my phone; I can&#39;t think where all the sis and sisx files for different stuff I&#39;ve installed might be).</p>
<p>My Facebook friends will know that I&#39;m much more active there suddenly. Why? The Facebook app on the Touch &#8212; I no longer have to start up a computer or open a browser to update my status or reply to comments. I had a bit of this function with Fring&#39;s Facebook interface on my phone, but the large screen of the Touch makes things like this much more friendly.</p>
<p>I came very close to getting an iPhone actually &#8212; but not to use as a phone. This was after I&#39;d realised that it&#39;s just as valuable as an Internet-connected device as an actual phone. The cost of iPhone service is still a bit prohibitive to me though, especially for an occasional-use device.</p>
<p>One of the things that had turned me off was the closed nature of the iTunes ecosystem (iPod, iPhone, Apple TV, iTunes). People sometimes ask me about Skype, and I say that the worst thing about it is that it Just Works. I mean, it&#39;s a closed system with no interconnections other than those provided by Skype themselves &#8212; by this nature it should fail, and yet because it works (arguably) better than any other desktop VoIP product it enjoys immense success. Same goes for Apple&#39;s stuff: the iTunes ecosystem Works And Works Bloody Well.</p>
<p>I&#39;ve been thinking for ages about sync for calendar and contacts and stuff; I&#39;ve been hunting for services and software and tools for ages. I could build something myself, and indeed started to (I&#39;ve looked at Google Apps, used Chandler, checked out Ovi, and played with Sync4J before it was called Funambol). I could spend time and effort coming up with something myself&#8230;</p>
<p>Or I could just buy an iPod.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/12/living-with-an-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The difference between pipe and redirection</title>
		<link>http://veejoe.net/blog/2008/12/the-difference-between-pipe-and-redirection/</link>
		<comments>http://veejoe.net/blog/2008/12/the-difference-between-pipe-and-redirection/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 00:58:29 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=101</guid>
		<description><![CDATA[Newcomers to UNIX-like operating systems are often confused by the difference between the shell operations pipe and redirection. The difference is easily explained with an example, in the context of web development. The shell command echo "st=1" &#124; ./lifeswork.pl shows how a pipe is used to supply command line input to a script usually invoked [...]]]></description>
			<content:encoded><![CDATA[<p>Newcomers to UNIX-like operating systems are often confused by the difference between the shell operations <b>pipe</b> and <b>redirection</b>. The difference is easily explained with an example, in the context of web development. The shell command <code>echo "st=1" | ./lifeswork.pl</code> shows how a pipe is used to supply command line input to a script usually invoked via CGI in a web server. This allows the script to be more easily debugged by testing at the command line. The shell command <code>echo "st=1" > ./lifeswork.pl</code> shows how redirection uses command line input to overwrite a script file, destroying the file and the web developer&#39;s sanity. Hopefully this example illustrates the difference between pipe and redirect, and helps you avoid the idiotic mistake I just made.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/12/the-difference-between-pipe-and-redirection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Security blows</title>
		<link>http://veejoe.net/blog/2008/11/security-blows/</link>
		<comments>http://veejoe.net/blog/2008/11/security-blows/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 01:00:45 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[synergy]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=111</guid>
		<description><![CDATA[I was about to post about how pleased I was with Synergy in helping me tidy up my desktop clutter (by removing a keyboard and mouse from the surface). Ironically, I&#8217;m instead posting about a problem with the configuration that will cause me to throw it out and look for something else. Why the title? [...]]]></description>
			<content:encoded><![CDATA[<p>I was about to post about how pleased I was with <a href="http://synergy2.sourceforge.net">Synergy</a> in helping me tidy up my desktop clutter (by removing a keyboard and mouse from the surface). Ironically, I&#8217;m instead posting about a problem with the configuration that will cause me to throw it out and look for something else. Why the title? Because the default configuration of a Linux distribution nowadays has given me no way to fix this ridiculously simple problem without powering off the running PC, VMware guests and all.</p>
<p>The problem is that Synergy and the VMware console don&#8217;t play well together (I could have sworn that when I first started using Synergy I had no trouble with it, but there are a few hits around that describe problems like I&#8217;ve now hit). The problems people are reporting are that keys like Shift and Ctrl are not passed to the VM (some described <a href="https://bugs.launchpad.net/ubuntu/+source/synergy/+bug/215745">here</a> and <a href="http://communities.vmware.com/thread/110726">here</a>).</p>
<p>My problem is slightly different: the screen of my Synergy client (the one that&#8217;s running VMware) locked while a VMware guest had focus. Now, the Shift and Ctrl keys are not picked up by gnome-screensaver to unlock the screen. Even the real keyboard attached directly via USB doesn&#8217;t work. Big problem, for the following reasons:</p>
<p>* Thanks to password strength rules enforced on the Linux build I use, my password now has a Shift-obtained punctuation character.<br />
* I can&#8217;t switch to a virtual console, since that requires Ctrl (e.g. Ctrl-Alt-F1).</p>
<p>Okay, so the keyboard doesn&#8217;t work. This client machine just happens to be a tablet PC, and I had hacked gnome-screensaver (to display the onscreen keyboard to allow the screen to be unlocked in tablet mode). I grabbed the pen and tapped out my password, but it *still* didn&#8217;t work: even the output of the virtual keyboard gets the Shift modifier dropped. Hmm&#8230; Starting to fume now.</p>
<p>Never mind, I&#8217;ll connect via the network&#8230;</p>
<p>* Fedora does not start SSH by default (okay, yes, and I didn&#8217;t make sure it gets started after I&#8217;d finished the install).<br />
* There is no remote desktop (VNC server, XDMCP) configured.<br />
* The shiny web-based management interface on VMware Server 2.0 only listens on 127.0.0.1 (or is being blocked by the Fedora firewall).</p>
<p>So with no way to get access to the machine to try and fix it, a power-off is the only solution. Some readers are probably thinking &#8220;boo-hoo, diddums had to kill-switch his widdle poota, how tewwible,&#8221; but I <b>hate</b> having to do that; not because the system doesn&#8217;t recover, but it&#8217;s &#8220;problem resolution, Windows-style&#8221;.</p>
<p>Even though the real problem was between Synergy and VMware, I&#8217;m blaming the (perceived) need for security since without that I wouldn&#8217;t have a cryptic password that I can&#8217;t enter without Shift and a system I can&#8217;t administer over the network. Red Hat and Fedora doing everything in their power to ensure I don&#8217;t fall prey to nasty Internet fiends (rich analogies to <a href="http://matt.bottrell.com.au/archives/286-Government-Morning-Milk-Afternoon-Naps.html">governmental nannying</a>, but that&#8217;s probably over-thinking things).</p>
<p>So in summary: Synergy is great, just as long as you&#8217;re not using VMware console and have a password with punctuation or uppercase&#8230; Remember to have your SSH or other network access enabled before you play!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/11/security-blows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We finally meet K (a.k.a. Clinker)</title>
		<link>http://veejoe.net/blog/2008/11/we-finally-meet-k-aka-clinker/</link>
		<comments>http://veejoe.net/blog/2008/11/we-finally-meet-k-aka-clinker/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 23:07:13 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=121</guid>
		<description><![CDATA[To our beautiful baby girl, the warmest and fondest welcome!

The post I made here last night was going to be a comment about how ironic it was that we didn&#8217;t want to know our baby&#8217;s gender and yet the time of the birth was known. Well as fortune would have it, I would have been [...]]]></description>
			<content:encoded><![CDATA[<p>To our beautiful baby girl, the warmest and fondest welcome!</p>
<p><img src="/pics/kaylee.jpg" alt="" /></p>
<p>The post I made here last night was going to be a comment about how ironic it was that we didn&#8217;t want to know our baby&#8217;s gender and yet the time of the birth was known. Well as fortune would have it, I would have been wrong on both points!</p>
<p>We were due to arrive at hospital at 1:30pm today for a 2pm induction, but our baby had different plans! S went into labour spontaneously at about 1:30am this morning, so we had the dash to the hospital that we never thought we&#8217;d have. By 2:30am we were in the birthing suite, and just over one hour after that our baby girl K arrived!</p>
<p>As for the gender thing, although we were obviously going to be happy to have a healthy baby of either gender we&#8217;d both been hoping for a girl. This time, something was telling me that it was in fact a girl&#8211;I guess you&#8217;d say I was very confident. So confident in fact, that S was quite angry at me about a week ago for not committing to a name for a boy. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>N met his baby sister this morning&#8230; he has a very proud-looking smile on his face whenever he looks at her! He&#8217;s a wakeup to our grownup tricks though&#8211;we&#8217;d bought him a present to take home with him &#8220;from the baby&#8221;. When given the present, he reportedly (and in his best &#8220;hang-on-a-minute-you-can&#8217;t-trick-me&#8221; voice) said &#8220;that&#8217;s not from the baby, babies can&#8217;t go shopping!&#8221;</p>
<p>PS: What&#8217;s Clinker? That&#8217;s the nickname that S&#8217;s work friends gave to her baby-bump!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/11/we-finally-meet-k-aka-clinker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tomorrow is a Big Day</title>
		<link>http://veejoe.net/blog/2008/11/tomorrow-is-a-big-day/</link>
		<comments>http://veejoe.net/blog/2008/11/tomorrow-is-a-big-day/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 01:59:39 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=131</guid>
		<description><![CDATA[Every one of us experiences life-changing events. Sometimes we&#8217;re fortunate enough to know about them in advance. One such event will come tomorrow for my wife and I, with the scheduled arrival of our second child! All going well, I&#8217;ll make an update here with news (and I&#8217;m veejoe on Twitter, so look out there [...]]]></description>
			<content:encoded><![CDATA[<p>Every one of us experiences life-changing events. Sometimes we&#8217;re fortunate enough to know about them in advance. One such event will come tomorrow for my wife and I, with the scheduled arrival of our second child! All going well, I&#8217;ll make an update here with news (and I&#8217;m veejoe on Twitter, so look out there for progress too).</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/11/tomorrow-is-a-big-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scourges of the Universe: Blog Spam, and ISPs</title>
		<link>http://veejoe.net/blog/2008/11/scourges-of-the-universe-blog-spam-and-isps/</link>
		<comments>http://veejoe.net/blog/2008/11/scourges-of-the-universe-blog-spam-and-isps/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 19:12:25 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[adsl]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=141</guid>
		<description><![CDATA[If you can read this, it means that Round 3 of my fight with my ISP is over and my ADSL is back up, which is a good thing because it means that I can tell you about why my ClustrMaps image has so many red dots on it suddenly&#8230;
Every so often I found that [...]]]></description>
			<content:encoded><![CDATA[<p>If you can read this, it means that Round 3 of my fight with my <a href="http://www.peopletelecom.com.au">ISP</a> is over and my ADSL is back up, which is a good thing because it means that I can tell you about why my ClustrMaps image has so many red dots on it suddenly&#8230;</p>
<p>Every so often I found that some random junk would show up in comments to my blog posts. When I saw it I&#8217;d just delete it, and it didn&#8217;t occur often so I didn&#8217;t really think much of it.</p>
<p>This was until I spied a comment that I actually needed to reply to, and found I couldn&#8217;t. I started looking at why the record number of the comment was so high, and found that my blog of little-more than 100 entries had become home to over 13000 items of blog-spam. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>I blame myself, obviously, as the <a href="http://www.polarlava.com/polarblog">software</a> I use had introduced spam-filtering techniques a couple of versions ago and I hadn&#8217;t kept up.</p>
<p>In cleaning up the garbage, behind the red mist of rage I saw at having my blog being violated so, I noted something interesting. The issue had been going on for some time, and I realised that in front of me, in my humble little blog, I had a snapshot of the evolution of blog-spam.</p>
<p>The early stuff was primitive, and easily identified by querying for the names of erectile dysfunction drugs and other medications. The later stuff was harder and harder to detect until I was virtually picking it record-by-record out of the database. Some of it made absolutely no point to me at all: strings of random alphabetics with not even a URL in sight; maybe this was a worm just looking for the kudos of a DOS.</p>
<p>The thought occurred to me that perhaps I should have kept it, in much the same way as someone I know keeps copies of PC viruses and worms in a little (hopefully isolated) folder. Then I realised two things:</p>
<p>* Preserving something, or putting it in a museum, gives it some legitimacy. I don&#8217;t want to legitimise blog-spam; and<br />
<br />
* The art (if any) in blog-spam is in the code that generates it, not in the crap it leaves behind.</p>
<p>As for all the hits on my ClustrMap, I figure 80% are the spambots infecting the blog and about 19% are the poor folk that got drawn to my site as a result of the spam. I had been thinking of a different blog platform, perhaps this episode shows that I need something a little harder.</p>
<p>Of course another way to fight blog-spam is to get your network disconnected from the &#8216;Net, and my ever-so-unfriendly ISP went out of their way to do that for me this weekend. Unsolicited, of course, which is even better. On a Friday afternoon, too &#8212; better still, as if you do actually manage to get someone on the phone it&#8217;s too late for them to find anyone who can do anything about it (apparently).</p>
<p>Recommendations of a good ADSL ISP accepted: although keep it to yourself if your ISP&#8217;s called wwkjukhkkjlpuggh or qjkdfsdfaksjkulkfhg&#8230; <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/11/scourges-of-the-universe-blog-spam-and-isps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sometimes, Gentoo bites</title>
		<link>http://veejoe.net/blog/2008/10/sometimes-gentoo-bites/</link>
		<comments>http://veejoe.net/blog/2008/10/sometimes-gentoo-bites/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 01:51:01 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=151</guid>
		<description><![CDATA[I had a failure of my Cacti system over the weekend, entirely caused by bad Gentoo emerges. Two different problems, both caused by bad upgrades of packages brought in from ~amd64 or ~x86, made Cacti colourfully dysfunctional for a couple of days.
The first was an update to the spine resource poller, part of the Cacti [...]]]></description>
			<content:encoded><![CDATA[<p>I had a failure of my Cacti system over the weekend, entirely caused by bad Gentoo emerges. Two different problems, both caused by bad upgrades of packages brought in from ~amd64 or ~x86, made Cacti colourfully dysfunctional for a couple of days.</p>
<p>The first was an update to the <b>spine</b> resource poller, part of the Cacti project but installed separately (it used to be called cactid). Turns out that somewhere between 0.8.7a and 0.8.7b, bugs were introduced that made spine unreliable on 64-bit systems. The update brought in a SVN version of spine which, while still labelled 0.8.7a, must have been somewhere after one or more of the bugs came in. The symptom was that every data value obtained via SNMP was garbage and ignored.</p>
<p>The second issue was strange &#8212; graphs were getting generated (even those for which there was no data) but there was no text on them! Titles, margins, legend, axes, all were blank. Some posts pointed to a problem accessing the TTF font file provided with rrdtool, but the actual problem turned out to be the upgrade to rrdtool 1.2.28 which introduced different parameters for the configuration of text attributes in graphs &#8212; and a corresponding &#8220;feature&#8221; that suppressed any text output if the new parameters were missing.</p>
<p>So what does &#8220;~&#8221; have to do with this? The software on your system is built according to the architecture of your machine. In Gentoo, this is called your &#8220;arch&#8221; (for architecture) and is usually &#8220;x86&#8243; or &#8220;amd64&#8243;. Gentoo implements a &#8220;testing branch&#8221; in an arch which starts with &#8220;~&#8221;; if a pre-release version of a package exists in portage you can bring it in with the &#8220;~x86&#8243; keyword. The nice thing about this is that you don&#8217;t have to enable a testing repository across your whole system &#8212; you can enable the ~ keyword for specific packages on your system, and everything else stays stable.</p>
<p>Unfortunately, this flexibility has a cost. The &#8220;amd64&#8243; arch seems to lag a bit behind &#8220;x86&#8243; in terms of packages being marked stable or just simply having packages available. This means that just to get things installed, it&#8217;s necessary to flag packages with &#8220;x86&#8243;, &#8220;~amd64&#8243; or even &#8220;~x86&#8243;. This flagging is easily done &#8212; almost too easy in fact, as it creates a problem later on when the package you actually set the keyword for eventually becomes stable and you don&#8217;t need the keyword set any more. It&#8217;s a manual process to revisit the keywords you&#8217;ve set and verify that they are still needed (and you know how well manual processes work).</p>
<p>Some time ago I started adding comments to the Portage config file where keywords are set, trying to explain why I set the flag: &#8220;to bring in version 1.2.34&#8243; for example. That way, if I ever do get around to manually auditing the package.keywords file, I&#8217;ll be able to check if some of the keywords are still needed. Still a manual review though.</p>
<p>So in the case of rrdtool and spine, I had set the &#8220;~&#8221; keyword some time in the past for some reason, possibly to get early access to a bug-fix ebuild. With no established method to revisit the keywords, I continued to pull in unstable versions of packages long after the packages I really needed had been marked stable. Eventually, it bit me.</p>
<p>The pre- and post-upgrade chacklist grows some more&#8230;&nbsp;&nbsp;:)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/10/sometimes-gentoo-bites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Heading home from Singapore</title>
		<link>http://veejoe.net/blog/2008/09/heading-home-from-singapore/</link>
		<comments>http://veejoe.net/blog/2008/09/heading-home-from-singapore/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 01:12:55 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[singapore]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=161</guid>
		<description><![CDATA[So here I am in the Qantas lounge at Changi Airport after my the last day of my trip to Singapore. The education went well (lots of smiling farewells) and I&#8217;ve forged some links with the locals that I hope will be fruitful for all.
I&#8217;m trying to get over the silly habit I&#8217;ve developed of [...]]]></description>
			<content:encoded><![CDATA[<p>So here I am in the Qantas lounge at Changi Airport after my the last day of my trip to Singapore. The education went well (lots of smiling farewells) and I&#8217;ve forged some links with the locals that I hope will be fruitful for all.</p>
<p>I&#8217;m trying to get over the silly habit I&#8217;ve developed of bringing home stacks of coins from overseas, and it looks like I&#8217;ve had a bit of success this time. Somehow I&#8217;ve managed to come home with almost no coins! I brought a stack of coins I had collected on previous trips, and not only have I got rid of all them I&#8217;ve collected hardly any more.</p>
<p>I indulged my gadget addiction to the tune of an Archos 605 Wi-Fi media player. Yes, I know that there is a new series of devices released by Archos, but they are not generally available and may not be for a while (in this geography at least). Besides, the 605 has what I need (especially since the supplier over here includes the key plugins that I need) and is available now. The store recently reduced the price too &#8212; admittedly, probably to clear stock in advance of the new models coming in a few months.</p>
<p>Here&#8217;s hoping I get some sleep on the plane, as I want to have a good day with N and S before I have to do the Canberra thing all over again.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/09/heading-home-from-singapore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Short trip to Singapore</title>
		<link>http://veejoe.net/blog/2008/09/short-trip-to-singapore/</link>
		<comments>http://veejoe.net/blog/2008/09/short-trip-to-singapore/#comments</comments>
		<pubDate>Tue, 16 Sep 2008 00:33:28 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=171</guid>
		<description><![CDATA[This week I&#8217;m in Singapore, running a training course on z/VM and Linux on System z. I really enjoy coming here! This is the first time I&#8217;ve done any kind of work here, and I&#8217;m enjoying fitting into the daily commute in another city!
The weather here is, obviously, hot and humid. It&#8217;s been far from [...]]]></description>
			<content:encoded><![CDATA[<p>This week I&#8217;m in Singapore, running a training course on z/VM and Linux on System z. I really enjoy coming here! This is the first time I&#8217;ve done any kind of work here, and I&#8217;m enjoying fitting into the daily commute in another city!</p>
<p>The weather here is, obviously, hot and humid. It&#8217;s been far from unbearable though, in fact I&#8217;d almost say it&#8217;s comfortable (which is quite something from someone who usually can&#8217;t stand hot weather). I&#8217;ve rediscovered the transport system, the excellent MRT train system with its regular services and its cheap fares, and I&#8217;m using it to go to and from work.</p>
<p>I&#8217;ll make some further notes as the week goes on. Wish me luck with the training!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/09/short-trip-to-singapore/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On being an early-adopter</title>
		<link>http://veejoe.net/blog/2008/09/on-being-an-early-adopter/</link>
		<comments>http://veejoe.net/blog/2008/09/on-being-an-early-adopter/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 02:19:39 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[green]]></category>
		<category><![CDATA[observation]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=181</guid>
		<description><![CDATA[I like new things. Many of my friends and colleagues do as well. Some of us are very familiar with &#8220;early adopter tax&#8221;, the high price of paying for a new release product or program in spite of the knowledge that delaying the purchase would save money. I got to thinking about early-adoption a little [...]]]></description>
			<content:encoded><![CDATA[<p>I like new things. Many of my friends and colleagues do as well. Some of us are very familiar with &#8220;early adopter tax&#8221;, the high price of paying for a new release product or program in spite of the knowledge that delaying the purchase would save money. I got to thinking about early-adoption a little while ago, and came to somewhat of an epiphany: nothing to do with shiny gadgets or cool software, either&#8230;</p>
<p>Some months ago I was in an IRC channel with a group of folks in the team I was working with at the time. The conversation had come around to green electricity, what deals our respective electricity companies were offering, and whether we were &#8220;doing the right thing&#8221; and selecting green energy.</p>
<p>I was a nay-sayer. &#8220;It&#8217;s a scam,&#8221; I railed. &#8220;Why should I pay extra for green power when the electricity companies know they should be doing that anyway?&#8221; The conversation turned to subsidies for installing solar power systems, and soon after that we actually got back to work. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Months later I recalled that conversation while listening to a podcast. The presenter was discussing climate change and the need for urgent action, whatever the cost. Which is when it hit me: green energy and it&#8217;s friends are like an early-adopter tax for a sustainable future.</p>
<p>In the early 90s, I remember models of the IBM ThinkPad would cost A$12k and more. Twelve THOUSAND dollars! Over time however, the developments in the technology have led to such remarkable improvements that a modern laptop can be had for a fraction of that amount, and projects like OLPC becoming viable. None of it wold have happened, however, if early-adopters had not backed the IBMs, Compaqs, and Toshibas (and the Osbornes before that, bless them) and supported the idea.</p>
<p>In 1978, when Mercedes-Benz first fitted ABS to the S-Class[1], I expect they would have wanted to make it at least an option on all their vehicles. That they didn&#8217;t, when the cost of doing so would have been astronomical, ensured that they were able to viably continue research and development on the technology and bring the cost down over time. Together with other car makers who progressively did the same, they ensured that even a modern $10k car can have access to such technology, but again it wouldn&#8217;t have happened if not for those S-Class buyers validating the idea and stumping-up the cash.</p>
<p>I&#8217;ve realised that businesses don&#8217;t have a conscience, and that the current economic model cannot reward a company for &#8220;knowing what it should be doing&#8221;. In quite a real way, companies need their customers to be their conscience by supporting those products that make a contribution to society, and rejecting products that are damaging or harmful. Longer-term, those companies that &#8220;get it&#8221; will thrive while those that don&#8217;t will fail.</p>
<p>So my consideration on things like green electricity changed to, simply, &#8220;can we afford to?&#8221;. Knowing that in around three months I&#8217;ll be meeting my second child (all going well), and becoming maudlin about the state of the world that a new person is being brought into (as new parents sometimes are wont to do), perhaps the question should be &#8220;can we afford NOT to?&#8221;&#8230;</p>
<p>[1] Other manufacturers fitted ABS systems to cars earlier than 1978, but they seemed to be one-off decisions that were inconsistently implemented or met with commercial failure. Mercedes-Benz, once the decision was made, stuck with it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/09/on-being-an-early-adopter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Umbrellas like Canberra</title>
		<link>http://veejoe.net/blog/2008/08/umbrellas-like-canberra/</link>
		<comments>http://veejoe.net/blog/2008/08/umbrellas-like-canberra/#comments</comments>
		<pubDate>Sun, 31 Aug 2008 00:16:48 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[lose]]></category>
		<category><![CDATA[umbrella]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=191</guid>
		<description><![CDATA[Or at least the ones bought there do. In my travels to Canberra I&#8217;ve now bought two compact travel umbrellas and lost *both* of them within a week of purchase. Seems like an umbrella bought in Canberra really wants to stay in Canberra &#8212; the last one lost was liberated by someone who sought to [...]]]></description>
			<content:encoded><![CDATA[<p>Or at least the ones bought there do. In my travels to Canberra I&#8217;ve now bought two compact travel umbrellas and lost *both* of them within a week of purchase. Seems like an umbrella bought in Canberra really wants to stay in Canberra &#8212; the last one lost was liberated by someone who sought to relieve me of a burden at the x-ray screening at Canberra Airport. To that someone, if you&#8217;re reading: I&#8217;d rather have kept the umbrella, thanks, and you could have asked me before you liberated it from me&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/08/umbrellas-like-canberra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New gadget: Nokia E71</title>
		<link>http://veejoe.net/blog/2008/08/new-gadget-nokia-e71/</link>
		<comments>http://veejoe.net/blog/2008/08/new-gadget-nokia-e71/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 02:45:53 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[nokia]]></category>
		<category><![CDATA[phone]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=201</guid>
		<description><![CDATA[I have been in the mobile phone market on-and-off for nearly 12 months. There wasn&#8217;t really anything wrong with the N70, I guess I was just getting a little fidgety with lots of new &#8220;shiny&#8221; going around. The trip to the US in May, and seeing an iPhone in person for the first time, probably [...]]]></description>
			<content:encoded><![CDATA[<p>I have been in the mobile phone market on-and-off for nearly 12 months. There wasn&#8217;t really anything wrong with the N70, I guess I was just getting a little fidgety with lots of new &#8220;shiny&#8221; going around. The trip to the US in May, and seeing an iPhone in person for the first time, probably didn&#8217;t help, nor (obviously) did the local release of iPhone 3G. Once I&#8217;d talked myself out of getting an iPhone though, the itch was still there&#8230; and I must say it&#8217;s being well-and-truly scratched by the E71.</p>
<p>I&#8217;ve had this phone for just on a week now, and it&#8217;s certainly one of the best phone purchases I&#8217;ve ever made. In a nutshell, the key things about it are:</p>
<p>* QWERTY keyboard, in a form factor not much larger than the N70. Importantly, it&#8217;s much smaller than the E61 that preceded it (now there&#8217;s a phone that was just MADE of ugly). Despite it&#8217;s size the keyboard is amazingly easy to type on, although I may have to update this after I give my thumbnails a trim.</p>
<p>* Symbian OS. Maybe I&#8217;m biased, as the owner of a Psion 5, but to me Symbian has an edge over other phone OSes. Not only with the functions in the handset and Nokia&#8217;s Series 60 interface, but the range of third-party apps for Symbian (or Series 60 specifically) is great. Almost straight after charging the battery I downloaded PuTTY (SSH client) and &#8220;vejotp&#8221; (S/Key one-time-password utility). Plus, the recent news that Nokia intends to open-source Symbian is a great thing.</p>
<p>* Nokia Maps and A-GPS. While the iPhone glitterati download the entire UBD or Melways every time they walk down the street thanks to Google Maps, I get quick GPS mapping for zero download (the last few times I&#8217;ve used it, the download counter has stayed stuck on &#8220;0.0kb&#8221; even though A-GPS is supposed to cost a bit of data every startup). It&#8217;s not the most accurate GPS ever made, for sure, but it&#8217;ll do me for now at least.</p>
<p>* Built-in podcast support. I was getting more and more frustrated with the way that Amarok and iPod fought with each other over my podcasts. It never seemed to work as well as it did on iTunes! Now, I can use the device I download the podcasts with to listen to them as well. It&#8217;s self-contained, tidy (no more podcasts mixed in with the music library and causing havoc), elegant.</p>
<p>* Wi-fi capability and SIP client. Being able to connect to the home network obviously means that I can do things like update my podcasts without having to second-mortgage the house to pay for HSDPA data. The SIP client is very cool too: I&#8217;ve connected it to my Asterisk box, and now have a cordless home phone and mobile in one device.</p>
<p>* Solid construction. It&#8217;s got to be the most sturdy-feeling phone I&#8217;ve ever owned. The case is metal, and it has a nice weight to it. The buttons feel solid, almost like real keyboard keys.</p>
<p>* Drop-dead gorgeous. I got the grey version, the metal casing looks like titanium and has a glossy finish (which is a little prone to fingerprints, but cleans easily). The screen is just amazing, usable in daylight, bright and colourful and incredibly high resolution.</p>
<p>I&#8217;ll mention more as time goes on, but for now I am very happy!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/08/new-gadget-nokia-e71/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canberra</title>
		<link>http://veejoe.net/blog/2008/08/canberra/</link>
		<comments>http://veejoe.net/blog/2008/08/canberra/#comments</comments>
		<pubDate>Sat, 23 Aug 2008 01:08:49 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=211</guid>
		<description><![CDATA[I&#8217;ve been extremely slack at blogging recently. It&#8217;s ironic that what has been keeping me from blogging has probably been the very thing that I could be blogging plenty about: the constant travel to Canberra. I&#8217;m planning on writing a bit more about my experiences of and in our nation&#8217;s capital, so for now here [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been extremely slack at blogging recently. It&#8217;s ironic that what has been keeping me from blogging has probably been the very thing that I could be blogging plenty about: the constant travel to Canberra. I&#8217;m planning on writing a bit more about my experiences of and in our nation&#8217;s capital, so for now here is the first edition.</p>
<p>I&#8217;ve been doing the three-day-per-week thing now for nearly two months and it&#8217;s fair to say that I&#8217;m over it. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s not the weather so much: okay, it&#8217;s cold, but at the moment I&#8217;m breezing in and out so I don&#8217;t have to live with it. It&#8217;s not the loneliness; I&#8217;ve been working at home (and away) for long enough that solitude doesn&#8217;t bother me at all. I have a bit of an idea of things it might be, though&#8230;</p>
<p>* The inconsistency of accommodation: one week I&#8217;ll be staying five-plus stars, the next I&#8217;ll be in a little fleabag place with barely adequate heating and hundred-year-old floors (which is quite a feat when the city itself has only been there eighty years[1]). One week I&#8217;ll have a kitchen and be making myself healthy meals, the next I&#8217;ll be eating lukewarm takeaway noodles using toothbrush handles as chopsticks.</p>
<p>* Trying to do the right thing by work by saving money: this has me riding my motorbike to the airport at 5am to save a night&#8217;s accommodation and a couple of taxi fares. I&#8217;m DEFINITELY over that.</p>
<p>* Separation from N: Although he&#8217;s coping really well now (much better than me, I think), it worries me that I&#8217;ll be one of those absent fathers that ends up having only a passing influence on the lives of their children. A bit dramatic, sure, as this is not meant to last for long, but how long is too long?&nbsp;&nbsp;How long is long enough to do damage? It seems like I do little else but spend time with N when I get back, which is probably making things worse.</p>
<p>* Separation from S: I think we&#8217;ve changed. We used to do the living-apart thing really well (when I was working in Melbourne and Auckland, we really seemed to be living proof that &#8220;absence makes the heart grow fonder&#8221;), but now things are different. She is looking after N, and is in full-time work, so she has a lot more on her plate than before, and I barely get wound-down from one trip than I&#8217;m having to gear up for the next.</p>
<p>* Not being able to &#8220;connect&#8221; with the place: When I have worked away from home in the past, I went to special effort to do things that would familiarise me with the locality. In Melbourne I went on tram rides &#8220;just because&#8221;, and in Auckland I&#8217;d ride my motorbike here and there. Day trips, intended to not only help me know my way around but to give me a feel for where my career had sent me. With Canberra, however, these work trips have never been across weekends and I&#8217;ve not had any opportunity to do my &#8220;connecting&#8221;. If not for a colleague of mine who was living in Canberra about eight years ago, and whom I visited one weekend while I was working in Melbourne, I would never have visited places like the Australian War Memorial, Parliament House, Mt Stromlo Observatory, and the comms tower on Black Mountain. After all the visits I&#8217;ve made I&#8217;ve never seen the National Gallery, The Royal Australian Mint, and the dozens of other things worth visiting.</p>
<p>However, probably the number-one thing that&#8217;s getting to me:</p>
<p>* Having little (nothing) to do when I get there: I&#8217;m a technical person, and I feel most useful doing technical things. From that perspective, there is no need for me to be in Canberra to do what I&#8217;m doing. My presence there at the moment is merely a perception thing, building trust and a relationship; intangible things that probably are tremendously significant to the client and their perceptions, but don&#8217;t register with me at all.</p>
<p>I mentioned how well N is coping with me being away: he&#8217;s doing so well that I&#8217;m in awe. It seems like he&#8217;s keeping me sane. He got upset the first couple of times, but now he almost packs my bag for me! I took him to preschool the other day and this is the conversation that took place:</p>
<p>I said &#8220;now, Mummy&#8217;s going to come and get you this afternoon, mate.&#8221;</p>
<p>&#8220;Why?&#8221; said N.</p>
<p>Oh great, I thought, I almost made it without mentioning anything. &#8220;Well I&#8217;m going on the plane this afternoon,&#8221; I said.</p>
<p>&#8220;Are you going to Sydney, or Canberra?&#8221; he asked.&nbsp;&nbsp;I was taken-aback: no tears, no don&#8217;t-go-daddy-I-need-you&#8230;</p>
<p>&#8220;Canberra,&#8221; I told him, &#8220;back to Canberra.&#8221;</p>
<p>&#8220;Oh, okay Daddy,&#8221; said N, &#8220;have a good trip. Bye!&#8221;, and off he ran to play with his friends.</p>
<p>Four. Years. Old. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p>So on Canberra&#8230; I think I&#8217;ve worked out which are the roads not to be on when I need to get from place to place (not having to spend much time in, near, or passing through Civic helps in that regard). I used to take a drive around after work at least once a trip (the closest I&#8217;ve been able to come to my &#8220;connecting&#8221;), but I&#8217;ve stopped doing that now as I think I&#8217;ve been to most of the districts. I have a bit of an idea what are the good food places, and which restaurants one can go to (as a male person dining alone) without ending up feeling like a total outcast.</p>
<p>Next update I might talk a bit more about the places I work and stay. Don&#8217;t expect anything too soon, though, as I have about 18 more months in which to do it&#8230;</p>
<p>[1] Okay, my little joke. The floors obviously aren&#8217;t a hundred years old. They do, however, sound like they belong on the sound-stage of a cinematic re-enactment of the voyage of the First Fleet. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/08/canberra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motion Computing Tablet PC</title>
		<link>http://veejoe.net/blog/2008/08/motion-computing-tablet-pc/</link>
		<comments>http://veejoe.net/blog/2008/08/motion-computing-tablet-pc/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 02:06:24 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[pc]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=221</guid>
		<description><![CDATA[Thanks to work, I am now the possessor of a rather cool piece of kit: a tablet PC. It&#8217;s a Mobile Computing LE1700, and I&#8217;m quite impressed with how it works. The big question though is of course&#8230; Will it run Linux?
At the moment it&#8217;s still running Windows XP Tablet Edition, but that&#8217;s only because [...]]]></description>
			<content:encoded><![CDATA[<p>Thanks to work, I am now the possessor of a rather cool piece of kit: a tablet PC. It&#8217;s a Mobile Computing LE1700, and I&#8217;m quite impressed with how it works. The big question though is of course&#8230; Will it run Linux?</p>
<p>At the moment it&#8217;s still running Windows XP Tablet Edition, but that&#8217;s only because a Hardy Heron install DVD is quite some way away from me right now. </p>
<p>I just trained Microsoft speech recognition and this paragraph has been dictated using speech recognition.&nbsp;&nbsp;The recognition rate is actually quite good for the amount of training I&#8217;ve done, although I am having to go back and correct quite a few minor errors.</p>
<p>Back to handwriting recognition, which is outstanding: it&#8217;s only just now, as I write on the screen of this device, that I realise how poor my handwriting has become! Almost certainly this is due to lack of practice and under-use! I can tell as I&#8217;m writing that its recognition is somewhat dictionary-based, as if I pause or lift the pen it will make a guess abort what I&#8217;ve written which it will change as I complete the word. </p>
<p>Credit where credit is due, I think tablet Windows looks pretty good. Having used it before just putting Ubuntu on, I&#8217;ll be expecting a bit more from Linux&#8230;</p>
<p>On the hardware side, the machine looks quite sturdy and solid &#8212; so much so it&#8217;s a bit or the weighty side. I did install the additional battery pack though, and I&#8217;m sure that if I was adopting a proper tablet-PC posture it wouldn&#8217;t feel as heavy as it does. It has a 3G modem built-in, which works fine with my Telstra USIM (that&#8217;s how I&#8217;m posting this now), and the usual complement of Wi-Fi, Bluetooth, PC-Card, SD&nbsp;&nbsp;and infra-red. It even has a place to stow the pen-stylus.</p>
<p>As I said, I don&#8217;t have a Linux disc handy to start setting up properly so the big Linux question will have to wait for a while. Some early Googling shows that there is support for most of the hardware components in it (the digitiser is Wacom, the Wi-Fi is Intel 3945, I&#8217;ve even seen support for the 3G adapter. It&#8217;s the interface and application level that I&#8217;m worried about &#8212; the state of handwriting recognition, whether XRandR lives up to the promise, and so on. I&#8217;ll post more as I get used to it and see what it can do&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/08/motion-computing-tablet-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laptop hard disk replacement, part two</title>
		<link>http://veejoe.net/blog/2008/06/laptop-hard-disk-replacement-part-two/</link>
		<comments>http://veejoe.net/blog/2008/06/laptop-hard-disk-replacement-part-two/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 20:18:32 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=231</guid>
		<description><![CDATA[Way back in May I had a hard disk in my laptop fail, and after the warranty replacement disk showed up it took me a few days to get around to doing the replace. It didn&#8217;t get off to a very good start though&#8230;
In the past when I&#8217;ve done this kind of recovery I copied [...]]]></description>
			<content:encoded><![CDATA[<p>Way back <a href="http://veejoe.net/?eid=901" title="06:17PM May??4, 2008 - Crossed Wires: Laptop hard disk replacement, part one">in May</a> I had a hard disk in my laptop fail, and after the warranty replacement disk showed up it took me a few days to get around to doing the replace. It didn&#8217;t get off to a very good start though&#8230;</p>
<p>In the past when I&#8217;ve done this kind of recovery I copied the details of the partition table and copied each partition in turn off the failed drive. This time however in my haste (or something) I imaged the entire 80GB in a single file by using <em>dd</em> pointing at the disk device node (<em>/dev/sda</em>, say) instead of each partition.</p>
<p>When it came to restore, this brought me undone. I tried the reverse of what I&#8217;d done to create the image, just <em>dd</em> to the disk device node, but at around the point where the first partition would have ended it failed with an I/O error.</p>
<p>Assuming that I did actually have a valid image of the entire drive, I needed to find a utility that would treat a disk file as an image of an entire drive, partition table and all. Then, theoretically, I could copy each partition out of the source file in the same way I was used to.</p>
<p>As usual, the lazyweb came through for me. I found a beaut utility called <em>kpartx</em>, apparently part of multipath-tools. I also found some blog posts describing how to use the tool for what I needed. What kpartx does by itself is scan a block device <em>or normal file</em> (significant, as I&#8217;m sure when I first used it I had to use <em>losetup</em>) and create device-mapper mappings to the partitions it finds. <em>kpartx</em> was just what I needed!</p>
<p>This <a href="http://blog.vodkamelone.de/archives/137-Mounting-a-disk-image-containing-several-partitions.html">blog post</a> describes the process I went through (and no <em>losetup</em> here either). For me, I let <em>kpartx</em> create device-mapper nodes for the partitions in the disk image, and then used <em>dd</em> to copy from each of those partitions to the real partitions in the new disk (carefully created using <em>fdisk</em> to match the originals). Then I set up grub on the new disk, and installed it into the laptop. It worked first go!</p>
<p>So now on its third hard drive, this Sony Vaio (same one with the <a href="http://veejoe.net/?eid=971" title="09:10PM June 18, 2008 - Crossed Wires: Ubuntu 8.04 Wireless Weirdness">weird wireless issue</a> in Hardy) gets yet another lease on life. The battery is almost expired though, so I think it won&#8217;t be long before it goes to the Old Hardware Shelf&#8230;</p>
<p><b>Edit:</b> I realised my confusion about <em>losetup</em>. <em>kpartx</em> uses <em>losetup</em> under the covers if it detects that you&#8217;re trying to work on a disk file instead of a block device. When you use the <em>-a</em> or <em>-l</em> switches to <em>kpartx</em>, if it needs to it straps up a loop device for you and automatically works on that; running <em>kpartx</em> with the <em>-d</em> removes not only the device-mapper nodes but the loopback node as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/laptop-hard-disk-replacement-part-two/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t you hate it when defaults change?</title>
		<link>http://veejoe.net/blog/2008/06/dont-you-hate-it-when-defaults-change/</link>
		<comments>http://veejoe.net/blog/2008/06/dont-you-hate-it-when-defaults-change/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 19:29:42 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=241</guid>
		<description><![CDATA[Sometimes when working with computers and networks (as with most things in life) the thing that causes the most problem is the last thing you suspect&#8211;or often something you never suspected. I had a reminder of this the other day, when a moderately complex task I&#8217;d set myself looked to be scuppered for absolutely no [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes when working with computers and networks (as with most things in life) the thing that causes the most problem is the last thing you suspect&#8211;or often something you never suspected. I had a reminder of this the other day, when a moderately complex task I&#8217;d set myself looked to be scuppered for absolutely no reason I could fathom.</p>
<p>I&#8217;ve got a system here that is a host for a virtualisation environment I run. I dedicated a couple of network cables to the adapters owned by the virtualised system, and a third one was attached to the host&#8217;s IP stack. To get connectivity for another system, I had to steal the host&#8217;s cable though&#8211;which wasn&#8217;t a problem as the operation of the system works more-or-less entirely from the console rather than over the network. Just for grins, however, I decided to set up connectivity to the host by routing <i>through</i> the virtualised environment it hosts.</p>
<p>Having established the tunnel connection between the virtualiser and the host stack, I set about configuring the special details required to support routing through this system. After a few tries at getting it right, I was rewarded with successful pings between the systems on my LAN and the hosts system on its routed connection. So I jumped onto the console of the machine and light up Firefox, but got an error page. I realised I hadn&#8217;t set DNS resolution&#8211;on the LAN, the machine was having <em>resolv.conf</em> configured by DHCP, so now I had to do it manually.</p>
<p>Okay, so DNS resolver now correctly set, let&#8217;s see Firefox WIN! Oh. Fail.</p>
<p>When I hit Try Again or Reload, the page would instantly refresh. This was starting to look like no routing problem. I used <em>dig</em> to test name resolution, and it told me it was being rejected. I looked at my <i>dns.conf</i>&#8230; Nope, so subnet restrictions coded there&#8230;</p>
<p>So I hit the lazyweb, and it didn&#8217;t take too long before I found a forum post that led me to <a href="http://www.isc.org/index.pl?/sw/bind/docs/support_bulletin_200707.php">this</a>. In BIND 9.4.1-P1, ISC basically changed the default behaviour of a couple of query filtering settings. This had the effect of rejecting some requests that were previously accepted, such as those from non-local subnets. A reconfiguration of my DNS server gave me success at last.</p>
<p>Hooray for persistence! Now, someone hand me some Cat-5 so I can make a cable and plug this thing back in properly. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/dont-you-hate-it-when-defaults-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu 8.04 Wireless Weirdness</title>
		<link>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/</link>
		<comments>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 00:10:23 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[wireless]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=251</guid>
		<description><![CDATA[Over the last fortnight I finally got the wriggle-on to upgrade all my (K)Ubuntu systems to Hardy Heron. Various issues occurred with each of them, but overall the entire exercise went smoothly (my wife&#8217;s little old Fujitsu Lifebook was probably smoothest of the lot). I had one rather vexing issue however, on my old (I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last fortnight I finally got the wriggle-on to upgrade all my (K)Ubuntu systems to Hardy Heron. Various issues occurred with each of them, but overall the entire exercise went smoothly (my wife&#8217;s little old Fujitsu Lifebook was probably smoothest of the lot). I had one rather vexing issue however, on my old (I&#8217;m tempted to say &#8220;ancient&#8221;) Vaio laptop.</p>
<p>The onboard wireless on this thing is an ipw2100, hence only 802.11b, and I had a PCMCIA 802.11g NIC lying around (actually it came from the Lifebook, liberated from there after I bought it a Mini-PCI 802.11g card on eBay). On Gutsy, I used the hardware kill-switch to disable the onboard adapter to make double-sure that it wouldn&#8217;t try and drag the network down to 11Mbps.</p>
<p>This laptop was the last machine I upgraded to Hardy, and I was playing with KDE 4 on it so I was looking forward to seeing what KDE4-ness made it into Hardy. While the upgrade was taking place the wi-fi connection dropped out, but I didn&#8217;t think anything of it since Ubuntu upgrades try and restart the new versions of things and I figured NetworkManager had fallen and couldn&#8217;t get up. After the reboot, however, KNetworkManager (still the KDE3 version, don&#8217;t get me started there) could find no networks &#8212; could find no adapters, in fact.</p>
<p>I logged back into KDE3 and poked. Still no wireless (as if the desktop would make a difference, but I had to make *some* start on pruning the fault tree). The Hardware Drivers Manager was reporting that the Atheros driver was active (for the PCMCIA card), and an unplug-plug cycle generated all kinds of good kernel messages.</p>
<p>On a whim, I flicked the hardware kill-switch for the onboard wifi[1]. Almost instantly, KNetworkManager prompted to get my wallet unlocked &#8212; it had found my network and wanted the WPA passphrase. I provided it, and got a connection: <i>via the PCMCIA NIC</i>. </p>
<p>&#8220;That&#8217;s odd&#8221;, I thought, and flicked the switch. A few seconds passed, and the link dropped. Flicked the switch on, link came back. Flicked the switch off again: this time a few minutes went past, but again the link failed. Tried it several times again, and the same thing happened. The state of the kill-switch for the onboard NIC was influencing the other NIC too!</p>
<p>It seems that this is altered behaviour in NetworkManager, applying the state of the hardware switch to all wi-fi adapters. If it annoys me significantly I&#8217;d like to think I&#8217;ll trawl changelogs, or even better lodge something on Launchpad&#8230; more likely though I&#8217;ll forget all about it having found a kludgy workaround.</p>
<p>I&#8217;ve now added ipw2100 to the module blacklist and things work okay (presumably because the state of the onboard switch can&#8217;t be reported any more). I&#8217;ll also have a think about whether a few dollars for another g-capable Mini-PCI NIC will be throwing good money after bad, as this laptop really is quite long-in-the-tooth.</p>
<p>Oh yes, that&#8217;s right&#8230; KDE 4. Next time perhaps. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>[1] I can&#8217;t think why I did this. I knew that I&#8217;d disabled 802.11b in my access point, to make triple-sure an 802.11b device wouldn&#8217;t slow my network down&#8230; The onboard 802.11b NIC would never successfully get a connection.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/ubuntu-804-wireless-weirdness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Whither Twitter</title>
		<link>http://veejoe.net/blog/2008/06/whither-twitter/</link>
		<comments>http://veejoe.net/blog/2008/06/whither-twitter/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 00:54:09 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=261</guid>
		<description><![CDATA[I really don&#8217;t use Twitter much at all. It&#8217;s one of those things, like Facebook, that I just signed up to more-or-less on a whim. But with all the stability and performance problems they&#8217;ve been having recently (and the flak they&#8217;ve been taking in the press, I understand) I&#8217;m hoping that they pull through. You [...]]]></description>
			<content:encoded><![CDATA[<p>I really don&#8217;t use <a href="http://twitter.com">Twitter</a> much at all. It&#8217;s one of those things, like <a href="http://facebook.com">Facebook</a>, that I just signed up to more-or-less on a whim. But with all the stability and performance problems they&#8217;ve been having recently (and the flak they&#8217;ve been taking in the press, I understand) I&#8217;m hoping that they pull through. You have to wonder though, when their <a href="http://status.twitter.com">Status Blog</a> gets a post entitled &#8220;Odd whales&#8221;&#8230;</p>
<pre>
Odd whales

We're seeing a number of whales pop up around the site, especially on profile pages. We're aware of the issue and working on it now.

Update: site back up and mostly whale free.
</pre>
<p>Bizarre &#8212; but maybe if I was a more regular user it would make more sense. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Unfortunately my visibility of their problems started when they shut off their IM functionality &#8212; unfortunate because at around the same time I had done an upgrade of my Jabber server and blamed the upgrade for not being able to connect to Twitter. Hours of fruitless config checking and Googling finally led me to the aforementioned Twitter Status Blog and the news that IM had been disabled. Ever since then (two or three weeks ago) IM function has been the &#8220;number one priority to get restored&#8221;&#8230;</p>
<p>I&#8217;m not complaining. It&#8217;s a service I barely use, and one I&#8217;ve never paid for. I can appreciate people getting upset however; as someone who does have trouble keeping in touch with friends and family, if I had gotten more used to it I&#8217;m sure I&#8217;d be one of those complaining.</p>
<p>Doom-and-gloom time&#8230; Part of the flak Twitter has been copping is around the design of their systems (virtually no redundancy or scalability) &#8212; if this is systemic to Web 2.0 startups and the investors and venture-capitalists catch on, things could get ugly FAST. Are we set for a repeat of Dot-Bomb? Could Twitter be the first victim of an impending burst of the Web 2.0 bubble?</p>
<p>I hope it comes back. Twitter is a nice way to see what folks are doing, and it&#8217;s a reminder of the fact that there are people out there. <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Perhaps I&#8217;ll even make a bit more use of it, if it can get its IM groove back on. Good luck folks, and watch out for the whales&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/whither-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annoying cliche of the week</title>
		<link>http://veejoe.net/blog/2008/06/annoying-cliche-of-the-week/</link>
		<comments>http://veejoe.net/blog/2008/06/annoying-cliche-of-the-week/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 20:29:26 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[cliche]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=271</guid>
		<description><![CDATA[If I see or hear one more reference to something being a &#8220;perfect storm&#8221; I think I&#8217;m going to be sick.
]]></description>
			<content:encoded><![CDATA[<p>If I see or hear one more reference to something being a &#8220;perfect storm&#8221; I think I&#8217;m going to be sick.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/annoying-cliche-of-the-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slack blogger</title>
		<link>http://veejoe.net/blog/2008/06/slack-blogger/</link>
		<comments>http://veejoe.net/blog/2008/06/slack-blogger/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 18:33:36 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=281</guid>
		<description><![CDATA[It doesn&#8217;t take much to see just how rubbish I am at this blogging thing. The last few months have been full of interesting happenings, and the blog has been silent. I&#8217;m not going to embarrass myself by saying &#8220;I&#8217;ll do more frequent updates, really I will&#8221; because I know it won&#8217;t happen. Oh well, [...]]]></description>
			<content:encoded><![CDATA[<p>It doesn&#8217;t take much to see just how rubbish I am at this blogging thing. The last few months have been full of interesting happenings, and the blog has been silent. I&#8217;m not going to embarrass myself by saying &#8220;I&#8217;ll do more frequent updates, really I will&#8221; because I know it won&#8217;t happen. Oh well, as appears in the gospel according to Dirty Harry, chapter <em>Magnum Force</em>, &#8220;A man&#8217;s got to know his limitations&#8221;. &nbsp;&nbsp; <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/06/slack-blogger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USA travel!</title>
		<link>http://veejoe.net/blog/2008/05/usa-travel/</link>
		<comments>http://veejoe.net/blog/2008/05/usa-travel/#comments</comments>
		<pubDate>Mon, 12 May 2008 20:47:27 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Travel]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[usa]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=291</guid>
		<description><![CDATA[I&#8217;m in the US right now, for a work conference and some meetings. It&#8217;s been an interesting trip already: a non-eventful flight over (when I was expecting it to be really bad having not flown economy to the US before, yes I know I&#8217;m spoilt), and a fascinating and very enjoyable tour of Los Angeles [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the US right now, for a work conference and some meetings. It&#8217;s been an interesting trip already: a non-eventful flight over (when I was expecting it to be really bad having not flown economy to the US before, yes I know I&#8217;m spoilt), and a fascinating and very enjoyable tour of Los Angeles yesterday with a local limo driver. The technical program of the conference starts tomorrow, and it looks like a very intensive programme. More details as they happen!</p>
<p><em>Edit:</em> Technically I have flown economy to the United States: when Susan and I went to Hawaii we were on economy. I should have said that I haven&#8217;t flown economy to the mainland US before. Or maybe I shouldn&#8217;t have said anything&#8230; <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Anyway, it was far-and-away the longest economy class flight I&#8217;ve ever done and I must say it wasn&#8217;t anywhere near as bad as I was imagining it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/05/usa-travel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeroshell redux</title>
		<link>http://veejoe.net/blog/2008/05/zeroshell-redux/</link>
		<comments>http://veejoe.net/blog/2008/05/zeroshell-redux/#comments</comments>
		<pubDate>Sun, 04 May 2008 03:08:59 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[vmware]]></category>
		<category><![CDATA[zeroshell]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=301</guid>
		<description><![CDATA[I wrote about Zeroshell, and how I thought it was pretty great. I still do, but it hasn&#8217;t taken centre-stage in my network configuration like I thought it would. I&#8217;ve had to tone down my raves about some of its integrated features as well.
The fact that it hasn&#8217;t taken centre-stage is possibly as much to [...]]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://veejoe.net/?eid=891" title="10:36PM April 12, 2008 - Crossed Wires: Zeroshell: network services distro">wrote</a> about Zeroshell, and how I thought it was pretty great. I still do, but it hasn&#8217;t taken centre-stage in my network configuration like I thought it would. I&#8217;ve had to tone down my raves about some of its integrated features as well.</p>
<p>The fact that it hasn&#8217;t taken centre-stage is possibly as much to do with VMware&#8217;s bogus clock-drift problems as anything, as I haven&#8217;t dedicated hardware to my Zeroshell instance yet (I could keep it running virtual, but some of the things I want to do with it will make more sense if it&#8217;s a separate machine). VMware Server takes another barb for its handling of VLAN tagging (but to be fair that might be the Linux 8021q module works). It seems that if you have <em>any</em> VLAN definitions on a network card, VMware won&#8217;t get to see any VLAN tags on that NIC. You can get a guest attached to a bridged interface to see the real VLAN tags, but only if Linux has not got any VLAN awareness over that NIC.</p>
<p>Alright, so enough ragging on VMware. I have Zeroshell attached to the networks it needs and all is fine. Except that I can&#8217;t actually change anything! The web interface that I spoke so highly of originally is actually very restricted in some areas. One of these is in the RADIUS server, and it bit me badly when I decided I&#8217;d use Zeroshell&#8217;s RADIUS server to authenticate access to the Web interface of my Linksys switch. Turns out that the Linksys firmware expects a particular attribute to appear in the response from the RADIUS server.</p>
<p>The fact that Linksys don&#8217;t document this anywhere is not Zeroshell&#8217;s fault, but that there is no interface allowing me to do updates to the records above what Zeroshell uses for its own applications is a bit of an issue. It means that instead of a Zeroshell box potentially becoming the hub of administration functions, it is in danger of becoming just another little vertical application server that doesn&#8217;t integrate.</p>
<p>Having said that, the backend for most (all?) authentication data is LDAP so a tool like PHPLDAPAdmin might be usable to extend the base records. But, arguably, I shouldn&#8217;t have to do that! It is still beta software though, so improvements and enhancements will be made.</p>
<p>The other area that it&#8217;s a bit lacking in is monitoring/graphing. Okay sure, I&#8217;d probably integrate Zeroshell into the rest of my Cacti setup, but it would be nice if Zeroshell did like other router distos and had a pre-built statistics/graphing page.</p>
<p>Zeroshell is still my pick (I revisited pfSense and fixed the problem updating, but to me it doesn&#8217;t have enough function to justify running its own hardware), but it&#8217;s just not quite the bees-knees it was when I first saw it.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/05/zeroshell-redux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>When Upgrades Go Wrong</title>
		<link>http://veejoe.net/blog/2008/05/when-upgrades-go-wrong/</link>
		<comments>http://veejoe.net/blog/2008/05/when-upgrades-go-wrong/#comments</comments>
		<pubDate>Sun, 04 May 2008 02:14:33 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linksys]]></category>
		<category><![CDATA[nslu2]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=311</guid>
		<description><![CDATA[I&#8217;m running Debian on a Linksys NSLU2 storage device, and it works really well in general. So well in fact that a lot of the time I forget the thing is even there! It&#8217;s sitting in the garage minding its own business, serving out video and music files, and storing backups of the other systems [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m running Debian on a Linksys NSLU2 storage device, and it works really well in general. So well in fact that a lot of the time I forget the thing is even there! It&#8217;s sitting in the garage minding its own business, serving out video and music files, and storing backups of the other systems in the house. Just occasionally, however, the thought pops into my head to run a system update over it &#8212; a habit I&#8217;ve gotten into for the Gentoo systems in the house, but &#8220;the Slug&#8221; usually misses out. About a fortnight ago however I decided to do the &#8220;apt-get shuffle&#8221;. Timing, as they say in sport and comedy, is everything.</p>
<p>I&#8217;ve become fairly complacent about system updates. All the distros I use now have got excellent tools for keeping everything up-to-date, and for making sure that things don&#8217;t go wrong in the process. It&#8217;s all just software, however, and it&#8217;s all too easy for something to get missed or for a bug to creep in. One such bug that did exactly that is <a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=478236">this one</a>. Unreported at the time I did my update, it rendered my Slug unbootable after the update I gave it.</p>
<p>It took me a day to realise that the Slug was off the network. The failure of the nightly backups was my first clue. Next was the inability to stream any of the media files stored on it. For the next week, on-and-off, I tried a dozen things in an attempt to get it working again. I finally arrived at a process that used the Debian Installer firmware image as a way to get a running system onto the device, allowing me to then access the hard disk and try and reflash earlier kernel and initrd images to it.</p>
<p>I started trying to work on the boot disk, but I couldn&#8217;t see it for some reason. Then I discovered that the power supply of the USB2 disk enclosure that holds it was playing up! Now, I had two problems&#8211;was one related to the other? Was my boot problem just a hard disk problem all along? Turns out that the power supply failure was a coincidence&#8211;replacing the power supply got the disk working again but made no improvement in the bootup scenario.</p>
<p>The NSLU2 boots differently to a PC. On a PC, the BIOS locates some boot code on a storage device and executes that, which usually is a program like LILO or GRUB that has more intelligence and (in the case of GRUB) a way to interact with it. These boot loader programs then load in the kernel and start executing it. With the NSLU2, however, the kernel and the &#8220;initial root device&#8221; are written into the flash memory of the device&#8211;they more-or-less <em>are</em> the BIOS.</p>
<p>On a PC, if there&#8217;s a problem with the kernel or initrd you can generally select another one from a list. Worst-case would have you installing the hard-disk in a different PC and fixing the problem from there. On a NSLU2, however, any problem with the kernel or initrd <em>can&#8217;t</em> be fixed by changing the hard disk because the kernel and initrd aren&#8217;t read from the hard disk but from the flash memory instead. There&#8217;s also no option for selecting another kernel, since the NSLU2 is a &#8220;headless&#8221; device with no console (besides, there&#8217;d be no room in the flash memory for two copies of kernel and initrd).</p>
<p>Once I&#8217;d been able to get my Slug booting (by writing out a previous version of a kernel and initrd) I was going to leave it alone&#8230; but curiosity got the better of me. I&#8217;d suspected a bad update to the utility that generates the initrd, and sure enough an &#8220;apt-get update &amp;&amp; apt-get upgrade&#8221; revealed a pending update to the initramfs-tools package. Google led me then to the above bug report. With fingers crossed I did the update, reflashed, and rebooted&#8230; successfully!</p>
<p>The Slug is now back in its usual place, quietly going about its business of entertaining us and keeping critical data safe. I might at least think twice before doing a kernel update on the poor beast in future though!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/05/when-upgrades-go-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Laptop hard disk replacement, part one</title>
		<link>http://veejoe.net/blog/2008/05/laptop-hard-disk-replacement-part-one/</link>
		<comments>http://veejoe.net/blog/2008/05/laptop-hard-disk-replacement-part-one/#comments</comments>
		<pubDate>Sat, 03 May 2008 21:17:40 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=321</guid>
		<description><![CDATA[A couple of weeks ago I had bootup problems with my old Sony laptop. I had replaced the hard disk in it last year (February), and everything was pointing to another busted hard disk. First time I&#8217;d had a machine outlive two hard disks!  
Sure enough, I put a different disk in the laptop [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago I had bootup problems with my old Sony laptop. I had replaced the hard disk in it last year (February), and everything was pointing to another busted hard disk. First time I&#8217;d had a machine outlive <em>two</em> hard disks! <img src='http://veejoe.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Sure enough, I put a different disk in the laptop and it worked, and the original disk in a USB caddy failed (but only after working successfully a couple of times, leading me to think it was a transient problem and reassemble the laptop, at which point it failed again&#8230; sigh).</p>
<p>Through persistence and determination (and a couple of goes in the freezer) I managed to get a copy of the disk onto another drive. I then went shopping, but decided to check the warranty on the dud drive: lo-and-behold, it still had nearly four years of a five year warranty to run. Better yet, unlike the Western Digital I had to send at my own cost to Singapore for replacement, Seagate have an address in Australia that can be used.</p>
<p>Sod it, I said, anything more than the original 80GB (since for less than what I paid for the 80GB a year ago I&#8217;m looking at 160GB or more!) is wasted on this particular machine, so I completed the RMA, found a box to pack the drive in, and sent it off.</p>
<p>The address in Australia is a mail forwarder to Seagate in Singapore. I had to keep that in mind when I checked their order status page, which a week later was still showing &#8220;awaiting your return&#8221;. Nevertheless, it wasn&#8217;t long before the page changed to &#8220;shipped&#8221;. Looking a bit closer I could see that my 80GB drive must have put on a bit of weight on the way to its birthplace, as Seagate was sending me a 100GB drive in return!</p>
<p>Having left Singapore last Thursday the drive arrived on Monday, but due to work commitments (plus having to fix the Slug first) I wasn&#8217;t able to do anything with it until today. Stay tuned for the recovery exercise&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/05/laptop-hard-disk-replacement-part-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zeroshell: network services distro</title>
		<link>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/</link>
		<comments>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 01:36:28 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[zeroshell]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=331</guid>
		<description><![CDATA[I love it when, almost by chance, I find something new. I decided yesterday to look at FLOSS-based router distributions. I&#8217;ve been using IPCop for a while, as an easy way to create a VPN to another location. Unfortunately, IPCop failed my latest requirement: 802.1Q VLAN support. So I went surfing and found an absolute [...]]]></description>
			<content:encoded><![CDATA[<p>I love it when, almost by chance, I find something new. I decided yesterday to look at FLOSS-based router distributions. I&#8217;ve been using <a href="http://www.ipcop.org">IPCop</a> for a while, as an easy way to create a VPN to another location. Unfortunately, IPCop failed my latest requirement: 802.1Q VLAN support. So I went surfing and found an absolute ripper in <a href="http://www.zeroshell.net/eng/">Zeroshell</a>, but I didn&#8217;t find him straight away&#8230;</p>
<p>First I found <a href="http://www.pfsense.com">pfSense</a>, a FreeBSD-based distro that seemed to fit the bill&#8211;indeed the very first question the Live-CD asked me on bootup was &#8220;do you want to use VLANs?&#8221;. It also promised a very extensive set of additional packages that extend it&#8217;s capability into areas like file/print, WWW proxying, and a host of other features. However, even though it has a very nice web-based configuration facility, due to what looks like a problem on their web site I was unable to even look at what packages are available. Since some of the basic function I would like is provided by these packages, I&#8217;ve had to move on&#8211;but pfSense gets an honourable mention because of its easy installation and excellent configuration interface.</p>
<p>I looked again at <a href="http://www.smoothwall,org">Smoothwall</a>, but soon remembered why I discounted it at the time I chose IPCop. For me, the level of function I think I&#8217;d use is a bit too close to the threshold of function in the &#8220;community&#8221; (read, &#8220;free&#8221;) version. <a href="http://www.astaro.com">Astaro</a> would go in this category too, except that I was too dense to be able to even find much clear information about the level of function you get in their community version. So no recommendation on either of these, as I&#8217;ve never used either&#8211;I do work with a fellow who happily uses Smoothwall though.</p>
<p>Then, I came across Zeroshell. The lead developer describes it as &#8220;a small Linux distribution for servers and embedded devices aimed at providing the main network services a LAN requires&#8221;. And does it ever! It&#8217;s a veritable Alladin&#8217;s Cave of features and functions. It certainly does everything I was looking for, from VLAN tagging through QoS to VPNs, from an SPI firewall to multi-zone DNS and multi-subnet DHCP servers, but also has Certificate Management (using a self-signed CA certificate or one you import), a RADIUS server, WiFi access-point capability with multiple SSID <em>and VLAN mapping</em>, captive portal or &#8220;normal&#8221; HTTP proxying, 802.1d bridging, clients for Dynamic DNS, a Kerberos 5 server, plus a raft of other capabilities. Zeroshell&#8211;named because the author wanted to provide a system that was extremely flexible and powerful yet did not require users to access a shell prompt&#8211;is remarkably feature rich, and yet the download for the ISO image is only around 100MB (a bit beefier than pfSense, admittedly, which weighed in at around 60MB).</p>
<p>There are a couple of downsides, however. Until very recently, installing to a hard disk was not supported. The distro is designed to boot from a CD only, but can use an installed hard disk (if available) for what it calls &#8220;databases&#8221;, where configuration and other data is kept. With the latest release, however, the developers have created a &#8220;1GB USB drive&#8221; download (the size of the download isn&#8217;t 1GB), which is designed to be copied to a USB pendrive or hard disk.</p>
<p>The other downside (and it&#8217;s not fair to say that, as will become clear) is the web interface. Not because it&#8217;s ugly or not functional: it is neither of those. It&#8217;s clean and well laid out, and fairly consistent. It&#8217;s very technical, however. Where other distros tackle the &#8220;SOHO divide&#8221; by hiding details such as protocol numbers or port ranges, Zeroshell uncovers all this stuff in its gory detail. So it&#8217;s great for someone like me, who looks at the interfaces on other systems and pines for the knobs I can&#8217;t fiddle with, but it&#8217;s not for newcomers.</p>
<p>It looks to be a fairly new project (current release is 1.0beta9), but the forums look good and there does seem to be a bit of activity around it. I&#8217;m running Zeroshell in a VMware guest at the moment while I kick the tyres&#8211;the VMware download is also available from the project&#8217;s mirrors&#8211;but I reckon this one will be a keeper!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2008/04/zeroshell-network-services-distro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
