<?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 &#187; Vic</title>
	<atom:link href="http://veejoe.net/blog/author/vicc/feed/" rel="self" type="application/rss+xml" />
	<link>http://veejoe.net/blog</link>
	<description>Vic's Blog</description>
	<lastBuildDate>Fri, 04 May 2012 13:31:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>DisplayLink and x2x brings back Zaphod mode</title>
		<link>http://veejoe.net/blog/2012/05/displaylink-and-x2x-brings-back-zaphod-mode/</link>
		<comments>http://veejoe.net/blog/2012/05/displaylink-and-x2x-brings-back-zaphod-mode/#comments</comments>
		<pubDate>Fri, 04 May 2012 13:31:28 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[displaylink]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[X]]></category>
		<category><![CDATA[Xorg]]></category>
		<category><![CDATA[zaphod]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5760</guid>
		<description><![CDATA[Ever since work issued me a Lenovo T61 and I installed Fedora on it, I have lamented the loss of something that X afficionados referred to as &#8220;Zaphod mode&#8221;.  By gluing together a few different software and hardware components I managed to get close to the old Zaphod mode days &#8212; but first some background&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since work issued me a Lenovo T61 and I installed Fedora on it, I have lamented the loss of something that X afficionados referred to as &#8220;Zaphod mode&#8221;.  By gluing together a few different software and hardware components I managed to get close to the old Zaphod mode days &#8212; but first some background&#8230;</p>
<p>Usually when you set up a multi-monitor installation you get a single desktop that spans all the screens.  This is great when you have a single desktop, but on Linux multiple desktops are the norm.  When I started using multiple screens in Linux, I loved the extra screen real estate but the fact that switching virtual desktops caused *all* the windows on all the screens to switch really bugged me.  I wanted the ability to have something &#8212; like an email program, or a web browser &#8212; to stay on one screen while I switched between desktop views on the other screen.  Or better still, the ability for both screens to have virtual desktops that were independent of each other.</p>
<p>Enter &#8220;Zaphod mode&#8221;, named for Zaphod Beeblebrox from the <em>Hitchhikers Guide to the Galaxy</em> by Douglas Adams.  Beeblebrox, who was President of the Galaxy before he stole the Starship <em>Heart Of Gold</em>, had two heads that were independent of each other.  In X server terms, multiple display devices are often referred to as &#8220;heads&#8221;.  So you can probably deduce that &#8220;Zaphod mode&#8221; refers to an operating mode of the X server where the multiple &#8220;heads&#8221; or display devices function as different displays.</p>
<p>Go back far enough and you get to a point where that was the standard mode of operation of X.  The X extension &#8220;Xinerama&#8221; was developed to provide the merging of different X displays into a single screen.  NVidia also had a hardware/firmware based equivalent called TwinView, where multiple heads on an NVidia card (and even sometimes heads on different cards) could be joined.  These extensions came not without their problems however: it was common for windows and dialog boxes to get confused about what display to appear on.  You would almost always see dialog boxes that are meant to display in the middle of the screen being split across the two physical displays.  Also, there was the multiple desktop &#8220;inconvenience&#8221; of not being able to switch the desktops independently.</p>
<p>Zaphod mode fixed these problems.  Because the screens were separate, windows and dialog boxes always appeared in the centre of the physical screen.  You could leave a web browser on one screen while you switched between an e-mail client, an IRC client, and an SSH session in the other.  It wasn&#8217;t all beer-and-skittles though, since in Zaphod mode it was not possible to move an application from one screen to the other.  Plus, some applications like Firefox could not have windows running on both screens (the second one to start could not access the user profile).</p>
<p>Zaphod mode largely &#8220;went away&#8221; during the transition from XFree to Xorg.  The servers dropped support for multiple separate displays in the one server, and only gradually added it back in (with the Intel driver being one of the last to do so, and probably still has not).  Since laptops were the only place I still used multiple screens, and the laptops I used all had Intel integrated graphics, I had to do without Zaphod mode.</p>
<p>Today, I hardly use dual monitors at all.  I used to have a desktop system with a 21&#8243; CRT flanked by 17&#8243; LCDs on either side, but that all got replaced by a single 24&#8243; LCD.  At work we don&#8217;t have assigned desks, so setting up a screen to plug the laptop into isn&#8217;t going to happen.  I guess I learned to live without Zaphod mode by just going back to a single screen.  I still remember my Zaphod-powered dual-screen days fondly though, and with almost every update to Xorg I would scan the feature list looking for something like &#8220;Support for configuration of multiple independent displays (Zaphod mode)&#8221;.</p>
<p>A while back I bought a DisplayLink USB to DVI adapter.  I didn&#8217;t really know what to do with it at the time, but recently I dug it out and tried setting it up.  Googling for &#8220;DisplayLink Fedora&#8221; sent me to a couple of very helpful pages and it didn&#8217;t take long to get the &#8220;green screen of life&#8221; that indicates that the DisplayLink driver was active.  It was when I was looking at how to make it work as an actual desktop &#8212; part of the process involves setting up a real xorg.conf (that&#8217;s right, something about the DisplayLink X server means it can&#8217;t be configured by the Xorg auto configuration magic) &#8212; that I realised I could do something wonderful.  Instead of making a config file that contained both my standard display and the DisplayLink device (and probably cause havoc for the 90% of times I boot without an additional screen) I would create a config file with *just* the DisplayLink device and start it as a second server.  Run a different window manager in there, and I would have two independent desktops &#8212; Zaphod mode!</p>
<p>I did a couple of little experiments just starting an xterm in the second X, and it worked fine (the more alert of you will realise that I&#8217;m taking a bit of artistic license with the word &#8220;fine&#8221; here, and know that three little letters in the title of this post are a clue to what wasn&#8217;t yet working&#8230;) with the desktop and the xterm appearing in the second monitor.  I installed XFCE, and configured it to start as the window manager of the second X server, which also worked well.</p>
<p>Something was missing though: there was no mouse input to the second screen.  In Zaphod mode, even though the two screens were separate X displays they were managed by the same server.  This meant that the input devices were shared between the two displays.  In this configuration, I was careful to exclude any mouse and keyboard devices from my second display config to avoid any conflicts.  So how was I to get input device data into the second server?  A second display is not much good if you can&#8217;t click and type on the applications that run on it&#8230;</p>
<p>I remembered about an old program called x2x that could transfer the mouse and keyboard events to a different X server when you moved the mouse to the edge of your display (and, inexplicably, I forgot all about a much younger program called Synergy that can do the same thing).  Since x2x isn&#8217;t built for Fedora I found the source and built it and started it up&#8230;  and it worked first time!  When I moved the mouse to the edge of the screen, it appeared on the other screen!  I could start apps and type into them exactly as I wanted.</p>
<p>It wasn&#8217;t perfect, however.  I found that when I returned the mouse to the primary screen, the second screen was still getting keyboard events.  I figured this would be particularly inconvenient when, for example, I was entering user and password details into an app on the primary screen while an editor or terminal program had focus on the second screen&#8230;  I checked the Xorg.1.log file, and found that even though I had not specified a &#8220;keyboard&#8221; input device Xorg was automatically defining one for me.  I turned off the udev options, but it still happened.  My initial enthusiasm was starting to fade.</p>
<p>What fixed it was to manually define a &#8220;dummy&#8221; keyboard device.  There must be some logic in Xorg that it refuses to allow a configuration with no configured keyboard (which makes sense), so in this rather unusual case where I don&#8217;t want a keyboard I have to define one but give it a dummy device definition.  Defining the dummy keyboard stopped Xorg from defining its automatic one, and everything worked as expected!  Even screensavers work more-or-less as designed (although I haven&#8217;t actually spent much time in front of the setup yet so haven&#8217;t had to unlock the screen that often).</p>
<p>I&#8217;m away from the computer in question right now, otherwise I would post configs and command lines (and even a pic of the end result).  I&#8217;ll update this post with the details &#8212; leave a comment if you think I need to hurry up!  :)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2012/05/displaylink-and-x2x-brings-back-zaphod-mode/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hi, I&#8217;m Vic&#8230; and I have depression</title>
		<link>http://veejoe.net/blog/2012/03/hi-im-vic-and-i-have-depression/</link>
		<comments>http://veejoe.net/blog/2012/03/hi-im-vic-and-i-have-depression/#comments</comments>
		<pubDate>Sun, 04 Mar 2012 03:19:04 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5754</guid>
		<description><![CDATA[This is perhaps the hardest thing I&#8217;ve ever had to write.  There is a lot of emotion behind the words I write here, and I&#8217;m trying to keep that out.  If you were expecting the latest snippet of technical insight from me, I&#8217;m sorry.  Maybe next time.  This post is about me. In the first [...]]]></description>
			<content:encoded><![CDATA[<p>This is perhaps the hardest thing I&#8217;ve ever had to write.  There is a lot of emotion behind the words I write here, and I&#8217;m trying to keep that out.  If you were expecting the latest snippet of technical insight from me, I&#8217;m sorry.  Maybe next time.  This post is about me.</p>
<p>In the first six months of 2004 I changed employer, my first child was born, and I suffered a mild heart attack.  For some time I&#8217;ve believed that this set of major events occurring over such a short period was responsible for the way I feel.  If I&#8217;m honest though, there&#8217;s every likelihood that it was there long before, and 2004 just pushed me off the top of the slippery slope.</p>
<p>People&#8217;s reactions to near-death experiences vary almost as widely as the events that bring them to near-death.  To me, how someone recovers from such an experience will depend very much on how they can rationalise who is at fault for the experience.  Experiences like being a victim of armed robbery or a car accident are fundamentally different from health-related near-death because when it&#8217;s health-related there&#8217;s no-one to blame but yourself &#8212; you ate the wrong food, you didn&#8217;t exercise enough, you got bad genes, etc.  You can try to blame someone or something else (blame the fast-food chains for your diet, blame the TV programs or the computer games for your lack of exercise, blame your parents for your genes) but deep down you know it&#8217;s all on you.  The effect this can have on self-esteem and self-worth are immeasurable.</p>
<p>I say this all in my context of course &#8212; for me it was too tempting to blame that heart attack for feeling bad.  I&#8217;m sure others have felt the same: despite all the other things in their life that might be causes of concern &#8212; stressful or unrewarding job, young children, difficult relationships, money problems &#8212; the health problem that nearly killed them becomes what they use to define themselves.  This was definitely the case for me: I was 34 years old, I had been overseas for a week for work and was supposed to be at home helping to look after my 3-month old son, what the f**k was I doing in a cardiac hospital after suffering a myocardial infarction?  I was broken, a product of a gene pool that produced 11 out of 13 immediate blood relatives with cardiac issues.  People would tell me this was my &#8220;wake-up call&#8221;, my &#8220;second chance&#8221;, but nothing could break my resignation that the deck was stacked against me.</p>
<p>I saw a psychologist for a while in 2005-06, and was on antidepressants for a while around the same time.  I thought I was feeling good about life again.  My last visit with the psychologist was just before I went on an overseas business trip with a colleague in March 2006.  I got a script for more meds before I went overseas (the doctor actually joked with me about how having a psychotic break while going through US airport security wouldn&#8217;t be a good thing), but when that script ran out I didn&#8217;t bother getting a new one.  Looking back, I was in Zoloft-fuelled denial of my real mental and emotional state.  I actually thought I was better, so I didn&#8217;t need the drugs any more.</p>
<p>The denial of my mental state has continued until almost the present day &#8212; except that it was no longer fuelled by antidepressants.  Over the last six months or so, denial came from a self-fulfilling belief that there was nothing worth doing.  When I thought I was feeling good about life, I failed to see that what I was really feeling good about were<em> things in my life;</em> in times when things to feel good about became fewer and farther between, so too would my moods get darker and darker.  I&#8217;d have good days and bad days, but even on good days I&#8217;d be a hair&#8217;s breadth from falling into a dark black mood in which even just moving seemed like too much effort.  I have been denying my state of mind &#8212; except when it suited me to say &#8220;I don&#8217;t feel like it&#8221; to get out of doing something.  I&#8217;ve told myself that my poor diet and lack of exercise led to my heart problems, which in turn made me depressed, causing me to want to withdraw further from family and social situations.</p>
<p>Recently though, I&#8217;ve realised that the opposite is true: that all the things that I thought have derived from the heart attack have actually come from a different &#8212; but no less real &#8212; condition: clinical depression, or &#8220;a major depressive illness&#8221;.  I&#8217;m actually on the border of bipolar disorder, but I&#8217;m told my &#8220;highs&#8221; aren&#8217;t quite manic enough to fit that profile.</p>
<p>Some of you reading this will unfortunately think that now that I know what my problem is I can just get over it.  While knowing what my problem is allows me to find proper treatment, it&#8217;s a long way from getting over it.  Let me ask you: if someone has a broken leg, does being told that they have a broken leg make the leg any less broken?  &#8221;Okay,&#8221; someone might reply, &#8220;so you just pop some pills to feel better.&#8221;  Again: if someone has a broken leg and they take medication for the pain, <em>is the leg any less broken?</em>  &#8220;Well, go and talk to a shrink then.&#8221;  If you&#8217;ve got a broken leg and you talk to someone about the experience of having a broken leg, <strong>is the leg any less broken?</strong></p>
<p>Our protagonist with the broken leg starts the road to recovery when the break is set and the leg is cast.  Pain killers might be needed, along with crutches or a wheelchair for mobility, perhaps even a ruler to scratch the skin irritated by the cast.  Physiotherapy to rebuild muscle and supporting tissue might be needed as well, once the bone is sufficiently restored.  Our protagonist might walk with a limp for a while, but will eventually return to full health.</p>
<p>I have started to get help, but I have no idea what my road to recovery will look like.  I saw my GP a few weeks ago and he referred me to a psychiatrist, with whom I&#8217;ve had my first session.  Medication will be involved, but I&#8217;ve already felt the effects of the other actions I&#8217;ve taken: exercise, eating well, and treating my after-hours as my own time instead of an extension of the work day.  I&#8217;ve started to lose weight as well (2-3kg so far) &#8212; something that I&#8217;d always wanted to do but felt was beyond my mood-locked abilities.  I still have dark times though.</p>
<p>Now the really hard part.  Some of you might be wondering if there was a catalyst to all this self-realisation and affirmative action.  I&#8217;m not ready to talk about that, except to say one thing: this illness I have is like a cancer &#8212; ruthless, vicious, absolutely silent, and often detected way too late.  Unlike cancer though, many people don&#8217;t take it seriously.  Don&#8217;t take anything for granted.  Depression will take things away from you that you don&#8217;t know you&#8217;ve lost until they&#8217;re gone, and what you lose might be the very things you&#8217;ve always needed to make it through to the end of each day.</p>
<p>Don&#8217;t wait until <a title="RU OK? Day website" href="http://www.ruokday.com.au" target="_blank">RU OK? Day</a>&#8230;  if you&#8217;re depressed, talk to someone; if you know someone who might be depressed, talk to them.  Please.</p>
<h5>Online resources in Australia for depression and bipolar disorder (not an exhaustive list, nor a list of endorsements):</h5>
<ul>
<li>Black Dog Institute &#8211; <a href="http://www.blackdoginstitute.org.au" target="_blank">www.blackdoginstitute.org.au</a></li>
<li>beyondblue &#8211; The National Depression Initiative &#8211; <a href="http://www.beyondblue.org.au" target="_blank">www.beyondblue.org.au</a></li>
<li>DepNet &#8211; <a href="http://www.depnet.com.au" target="_blank">www.depnet.com.au</a></li>
<li>RU OK? Day &#8211; <a href="http://www.ruokday.com.au" target="_blank">www.ruokday.com.au</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2012/03/hi-im-vic-and-i-have-depression/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another year over&#8230;</title>
		<link>http://veejoe.net/blog/2011/12/another-year-over-2/</link>
		<comments>http://veejoe.net/blog/2011/12/another-year-over-2/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 13:29:24 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5751</guid>
		<description><![CDATA[As I type this, 2011 draws to a close (in this timezone at least) &#8212; in fact if I keep going long enough it&#8217;ll be my first post to span two years. I would like to have blogged a bit more in 2011. It&#8217;s not like I had any shortage of things to write about, [...]]]></description>
			<content:encoded><![CDATA[<p>As I type this, 2011 draws to a close (in this timezone at least) &#8212; in fact if I keep going long enough it&#8217;ll be my first post to span two years.</p>
<p>I would like to have blogged a bit more in 2011.  It&#8217;s not like I had any shortage of things to write about, in fact that&#8217;s probably the crux of the matter: not enough time to write due to many things going on.  No promises about writing more next year though &#8212; I can&#8217;t imagine I&#8217;ll magically have more time for writing next year!</p>
<p>Wherever you are, best wishes for the coming year.  Here&#8217;s hoping that 2012 brings health and fortune to you and your family.</p>
<p>Happy New Year!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/12/another-year-over-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Database 11gR2 on Linux on System z</title>
		<link>http://veejoe.net/blog/2011/08/oracle-database-11gr2-on-linux-on-system-z/</link>
		<comments>http://veejoe.net/blog/2011/08/oracle-database-11gr2-on-linux-on-system-z/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 13:57:14 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[IOUG]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[RAC]]></category>
		<category><![CDATA[systemz]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5582</guid>
		<description><![CDATA[Earlier this year (30 March, to be precise) Oracle announced that Oracle Database 11gR2 was available as a fully-supported product for Linux on IBM System z.  A while before that they had announced E-Business Suite as available for Linux on System z, but at the time the database behind it had to be 10g.  Shortly after 30 [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this year (30 March, to be precise) Oracle announced that Oracle Database 11gR2 was available as a fully-supported product for Linux on IBM System z.  A while before that they had announced E-Business Suite as available for Linux on System z, but at the time the database behind it had to be 10g.  Shortly after 30 March, they followed up the 11gR2 announcement with a statement of support for the Oracle 11gR2 database on Linux on System z as a backend for E-Business Suite &#8212; the complete, up-to-date Oracle stack was now available on Linux on System z!</p>
<p>In April this year I attended the zSeries Special Interest Group miniconf[1], part of the greater Independent Oracle Users Group (IOUG) event <strong>COLLABORATE 11</strong>.  I was amazed to discover that there are actually Oracle employees whose job it is to work on IBM technologies &#8212; just like there are IBM employees dedicated to selling and supporting the Oracle stack.  Never have I seen (close-up) a better example of the term &#8220;coopetition&#8221;.</p>
<p>On my return from the zSeries SIG and IOUG, I&#8217;ve become the local Oracle expert.  However, I&#8217;ve had no more training than the two days of workshops run at the conference!  The workshops were excellent (held at the Epcot Center at Walt Disney World, no less!) but they could not an expert make.  So I&#8217;ve been trying to build some systems and teach myself more about running Oracle.  I thought I&#8217;d gotten off to a good start too &#8212; I&#8217;d installed a standalone system, then went on to build a two-node RAC.  I communicated my success to one of my sales colleagues:</p>
<p>&#8220;I&#8217;ve got a two-node RAC setup running on the z9 in Brisbane!&#8221;</p>
<p>&#8220;Great!  Good work,&#8221; he said.  &#8221;So the two nodes are running in different LPARs, so we can demonstrate high-availability?&#8221;</p>
<p>&#8221; . . . &#8221;</p>
<p>In my haste I&#8217;d built both virtual machines in the same LPAR.  Whoops.  (I&#8217;ve fixed that now, by the way.  The two RAC nodes are in different LPARs and <strong>seem</strong> to be performing better for it.)</p>
<p>Over the coming weeks, I&#8217;ll write up some of the things that have caught me out.  I still don&#8217;t really know how all this stuff works, but I&#8217;m getting better!</p>
<p><em>Links:</em></p>
<p>IBM System z: <a title="IBM System z site (US)" href="http://www.ibm.com/systems/z" target="_blank">www.ibm.com/systems/z</a> or <a title="IBM System z site (Australia)" href="http://www.ibm.com/systems/au/z" target="_blank">www.ibm.com/systems/au/z</a></p>
<p>Linux on System z: <a title="IBM Linux on System z site (US)" href="http://www.ibm.com/systems/z/os/linux/index.html" target="_blank">www.ibm.com/systems/z/os/linux/index.html</a></p>
<p>Oracle zSeries SIG: <a title="zSeries Oracle Users SIG" href="http://www.zseriesoraclesig.org" target="_blank">www.zseriesoraclesig.org</a></p>
<p>Oracle Database: <a title="Oracle Database" href="http://www.oracle.com/us/products/database/index.html" target="_blank">www.oracle.com/us/products/database/index.html</a></p>
<p>[1] Miniconf is a term I picked up from <a title="linux.conf.au (LCA)" href="http://linux.conf.au" target="_blank">linux.conf.au</a> &#8212; the zSeries SIG didn&#8217;t advertise its event as a miniconf, but as a convenient name for a &#8220;conference-in-a-conference&#8221; I&#8217;m using the term here.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/08/oracle-database-11gr2-on-linux-on-system-z/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What a difference a working resolver makes</title>
		<link>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/</link>
		<comments>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 13:45:19 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5579</guid>
		<description><![CDATA[The next phase in tidying up my user authentication environment in the lab was to enable SSL/TLS on the z/VM LDAP server I use for my Linux authentication (I&#8217;ll discuss the process on the DeveloperWorks blog, and put a link here).  Apart from being the right way to do things, LDAP authentication appears to require SSL or TLS in [...]]]></description>
			<content:encoded><![CDATA[<p>The next phase in tidying up my user authentication environment in the lab was to enable SSL/TLS on the z/VM LDAP server I use for my Linux authentication (I&#8217;ll discuss the process on the DeveloperWorks blog, and put a link here).  Apart from being the right way to do things, LDAP authentication appears to require SSL or TLS in Fedora 15.</p>
<p>After I got the Fedora system working, I thought it would be a good idea to have other systems in the complex using SSL/TLS also.  The process was moderately painless on a SLES 10 system, but on the first SLES 11 system I went to YaST froze while saving the changes.  I (foolishly) rebooted the image, and it hung during boot.  Not fun.</p>
<p>After a couple of attempts to fix up what I thought were the obvious problems (each attempt involving logging off the guest, connecting its disk to another guest, mounting the filesystem, making a change, unmounting and disconnecting, and re-IPLing) with no success, I went into /etc/nsswitch.conf and turned off LDAP for everything I could find.  This finally allowed the guest to complete its boot &#8212; but I had no LDAP now.  I did a test using <strong>ldapsearch</strong>, which reported it couldn&#8217;t reach the LDAP server.  I tried to ping the LDAP server by address, which worked.  I tried to lookup the hostname of the LDAP server, and name resolution failed with the traditional &#8220;no servers could be reached&#8221; message.  This was odd, as I knew I&#8217;d changed it since it was pointing to the wrong DNS server before&#8230;  I could ping the DNS by address, and another system resolved fine.</p>
<p>I thought it might have been a configuration problem &#8212; I had earlier had trouble with systems not being able to do recursive DNS lookups through my DNS server.  I went to YaST to configure the DNS Server, and it told me that I had to install the package &#8220;bind&#8221;.  WHAT?!?!?  How did the BIND package get uninstalled from the system&#8230;</p>
<p>Unless&#8230;  It&#8217;s the wrong system&#8230;</p>
<p>I checked /etc/resolv.conf on a working system and sure enough I had the IP address wrong.  I was pointing at a server that was NOT my DNS server.  Presumably the inability to resolve the name of the LDAP server I was trying to reach is what made the first attempt to enable TLS for LDAP fail in YaST, and whatever preload magic SLES uses to enable LDAP authentication got broken by the failure.  Setting the right DNS and re-running the LDAP Client module in YaST not only got LDAP authentication working but got me a bootable system again.</p>
<p>A simple fix in the end, but I&#8217;d forgotten the power of the resolver to cause untold and unpredictable havoc.  Now, pardon me while I lie in wait for the YaST-haters who will no doubt come out and sledge me&#8230;  :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/08/what-a-difference-a-working-resolver-makes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RACF Native Authentication with z/VM</title>
		<link>http://veejoe.net/blog/2011/07/racf-native-authentication-with-zvm/</link>
		<comments>http://veejoe.net/blog/2011/07/racf-native-authentication-with-zvm/#comments</comments>
		<pubDate>Wed, 20 Jul 2011 02:49:33 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[DeveloperWorks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[developerworks]]></category>
		<category><![CDATA[ldap]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[RACF]]></category>
		<category><![CDATA[redbook]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?guid=625b8b0fd4eed59114ff4be30a66773e</guid>
		<description><![CDATA[ In 2009 I was part of the team that produced the Redbook &#34;Security for Linux on System z&#34; (find it at http://www.redbooks.ibm.com/abstracts/sg247728.html ).  Part of my contribution was a discussion about using the z/VM LDAP Server to provide Linux...]]></description>
			<content:encoded><![CDATA[<p> In 2009 I was part of the team that produced the Redbook &quot;Security for Linux on System z&quot; (find it at <a href="http://www.redbooks.ibm.com/abstracts/sg247728.html">http://www.redbooks.ibm.com/abstracts/sg247728.html</a>).  Part of my contribution was a discussion about using the z/VM LDAP Server to provide Linux guests with a secure password authentication capability.  I probably went a little overboard with screenshots of <a href="http://phpldapadmin.sourceforge.net">phpLDAPadmin</a>, but overall I think it was useful.</p>
<p>I&#8217;ve come back to implement some of what I&#8217;d put together then, and unfortunately found&#8230;  not <i>errors</i> as such, but things I perhaps could have discussed in a little more detail.  I&#8217;ve been using the z/VM LDAP Server on a couple of systems in my lab but had not enabled RACF.  I realised I need to &quot;eat my own cooking&quot; though, so decided to implement RACF and enable the SDBM backend as well as switch to using Native Authentication in the LDBM backend.</p>
<p>Native Authentication provides a way for security administrators to present a standard RFC 2307 (or equivalent) directory structure to clients while at the same time taking advantage of RACF as a password or pass phrase store.  Have a look in our Redbook for more detail, but basically the usual schema is loaded into LDAP and records are created using the usual object classes like <b>inetOrgPerson</b>, but the records do not contain the <b>userPassword</b> attribute.  Instead of comparing a presented password against the field contained in LDAP, the z/VM LDAP Server (when Native Authentication is enabled) issues a RACROUTE call to RACF to have it check the password.</p>
<p>In my existing LDAP database, I had user records that were working quite successfully to authenticate logons to Linux.  My plan was simply to enable RACF, creating users in RACF with the same userid as the <b>uid</b> field in LDAP (I have access to a userid convention that fits RACF&#8217;s 8-character restriction, so no need to change it).  After going through the steps in the RACF program directory, and various follow-up tasks to make sure that various service machines would work correctly, I did the LDAP reconfiguration to get Native Authentication.</p>
<p>At this point I probably need to clarify my userid plan.  The documentation for Native Authentication in the TCP/IP Planning and Administration manual says that the LDAP server needs to be able to work out which RACF userid corresponds to the user record in LDAP to be able to validate the password.  It does this by either having the RACF userid explicitly specified using the <b>ibm-nativeId</b> attribute (the object class <b>ibm-NativeAuthentication</b> has to be added to the user object), or by matching the existing <b>uid</b> attribute with RACF.  This is what I hoped to be able to do; by using the same ID in RACF as I was already using in LDAP, I planned to not require the extra object class and attribute.  In the Redbook, because my RACF ID was different from the LDAP one I went straight to using the <b>ibm-nativeId</b> attribute and didn&#8217;t go back and test the <b>uid</b> method.</p>
<p>So, I gave it a try.  I had to disable SSH public-key authentication so that my password would actually get used, and once I did that I found that I couldn&#8217;t log on.  It didn&#8217;t matter whether I tried with my password or pass phrase, neither was successful.  I read and re-read all the LDAP setup tasks and checked the setup, but it all looked fine.  In one of those &quot;let&#8217;s just see&quot; moments, I decided to see if it worked with the <b>ibm-nativeId</b> attribute specified in uppercase&#8230;  and it did!</p>
<p>Okay, so it <i>appeared</i> that the testing of <b>uid</b> against a RACF id was case-sensitive.  I decided to try creating a different ID, with an uppercase <span style="font-weight: bold;">uid</span>, in LDAP to double-check.  Since phpLDAPadmin wouldn&#8217;t let me create an uppercase version of my own userid (since that would be non-unique), I created a different LDAP id to test:</p>
<blockquote><p>[viccross@laptop ~]$ ssh MAINT@zlinux1<br />Password: <br />Could not chdir to home directory /home/MAINT: No such file or directory<br />/usr/X11R6/bin/xauth:  error in locking authority file /home/MAINT/.Xauthority<br />MAINT@zlinux1:/&gt; </p></blockquote>
<p>My MAINT user in LDAP has no <span style="font-weight: bold;">ibm-nativeId</span> attribute, so the only operational difference is the uppercase <span style="font-weight: bold;">uid</span> (the error messages are caused by the LDAP userid not having a home directory; I use a NFS shared home directory had I hadn&#8217;t bothered setting up the homedir for a test userid).</p>
<p>The final test was to change the contents of the <span style="font-weight: bold;">ibm-nativeId</span> attribute in my LDAP user record to lower-case &#8212; and it broke my login.  So that would seem to indicate that the user check against RACF is case sensitive wherever LDAP gets the userid from.  I&#8217;m going to have a look through documentation to see if there&#8217;s something I need to change, but this looks like something to be aware of when using Native Authentication.</p>
<p>I also noticed that I didn&#8217;t describe the LDAP Server SSL/TLS support in the Redbook, but that&#8217;s a post for another day&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/07/racf-native-authentication-with-zvm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenSSL speed revisited</title>
		<link>http://veejoe.net/blog/2011/05/openssl-speed-revisited/</link>
		<comments>http://veejoe.net/blog/2011/05/openssl-speed-revisited/#comments</comments>
		<pubDate>Tue, 17 May 2011 06:03:05 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[DeveloperWorks]]></category>
		<category><![CDATA[CPACF]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[developerworks]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?guid=25ab712c9d9b45a4c147d6a2fadfa571</guid>
		<description><![CDATA[ I realised I never came back and reported the results of my OpenSSL &#34;speed&#34; testing after our 2096 got upgraded.  For reference, here was the original chart, from when the system was sub-capacity: ... and the...]]></description>
			<content:encoded><![CDATA[<p> I realised I never came back and reported the results of my OpenSSL &quot;speed&quot; testing after our 2096 got upgraded.  For reference, here was the original chart, from when the system was sub-capacity:</p>
<p><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeed.png" ><img alt="image" src="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeed.png" style="display: block; margin: 0pt auto; text-align: center; position: relative;" /></a> </p>
<p>&#8230; and the question was, does the CPACF run at the speed of the CP (i.e. it runs sub-capacity if the CP is sub-capacity) or does it run at full speed like an IFL, zIIP or zAAP.  If the latter, the result after the upgrade should be the same as before &#8212; that would indicate the speed of crypto operations does not change with the CP capacity, and that CPACF is always full speed.  If the former, we should see an improvement between pre- and post-upgrade, indicating that the speed of CPACF follows the speed of the CP.</p>
<p>Place your bets&#8230;  Okay, no more bets&#8230;  Here&#8217;s the chart:</p>
<p><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACF.png" ><img alt="image" src="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACF.png" style="display: block; margin: 0pt auto; text-align: center; position: relative;" /></a>  <br />The graph compares the results from the first chart in blue (when the machine was at capacity setting F01) with the full-speed (capacity setting Z01) results in red.</p>
<p>Okay, so did you get it right?  If you know your z/Architecture you would have!  As the name suggests, the Central Processor Assist for Cryptographic Function (or CPACF) is pretty-much an adjunct to each CP, just like any standard execution unit (like the floating point unit, say).  It is not like the Crypto Express cards, which are actually an I/O device and totally separate from the CP.  Because it is directly associated with each CP, for sub-capacity CPs its CPACF is bound to the speed of that CP.</p>
<p>If you look closer, further evidence that CPACF performance scales with capacity setting can be seen in the respective growth rates of each set of data points.  To see this a little clearer (because I don&#8217;t know the right mathematical terms to describe the shape of the curve, so I&#8217;ll just show you) I drew a couple more graphs:</p>
<p><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACFline.png" ><img alt="image" src="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACFline.png" style="display: block; margin: 1em 1em 0pt 0pt; float: left; position: relative;" /></a> <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACFfactor.png" ><img alt="image" src="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/resource/BLOGS_UPLOADED_IMAGES/OpenSSLspeedTestz9CPACFfactor.png" style="display: block; margin: 0pt auto; text-align: center; position: relative;" /></a>    </p>
<p>Looking at the left graph (which is the same as the bar graph above, just drawn in lines) you can see that in both the software and the CPACF case the lines for before and after the upgrade follow the same trend with respect to the block size.  If these lines followed different trends &#8212; for example if the Z01 CPACF line was flat across the block size range instead of a gently falling slope like the F01 line &#8212; I&#8217;d suspect something else was affecting the result.  Looked at a different way, the right-hand graph above shows the &quot;times-X&quot; improvement between software and CPACF.  You can see that the performance multiplier (i.e. the relative performance improvement between software and hardware; CPACF speed is 16x software at 8192 byte blocks) was the same for each block size.</p>
<p>Now, just to confuse things&#8230;  Although I&#8217;ve used OpenSSL on Linux as the testing platform for this experiment, most Linux customers will never see the effects I&#8217;ve demonstrated here.  Why?  Because Linux is usually run on IFLs, and the IFL always runs at full speed!  Even if there are sub-capacity CPs installed in a machine with IFLs, the IFLs run at full speed and so to does the CPACF associated with the IFLs.  I&#8217;ll say again: CPACF follows the speed of the associated CP, so if you&#8217;re running Linux on IFLs the CPACF on those IFLs will be full capacity just like the IFLs themselves.  If you have sub-capacity CPs for z/OS workload on the same machine as IFLs, the CPACF on the CPs will appear slower than CPACF on the IFLs.</p>
<p>As far as the actual peak number is concerned, it looks like a big number!  If I understand it right, 250MB/sec would be more than enough speed to have a server doing SSL/TLS traffic driving a Gigabit Ethernet at line speed (traffic over connected sessions, NOT the certificate exchange for connection establishment; the public key crypto for certificate verification takes more hardware than just CPACF, at least on the z9 anyway).  And that&#8217;s just one CP!  Enabling more CPs (or IFLs, of course) gives you that much more CPACF capacity again.  Keep in mind that these results are using hardware that is two generations old &#8212; I would expect z10 and z196 hardware to get higher results on any of these tests.  Regardless, these are not formal, official measurements and should not be treated as such &#8212; do NOT use any of these figures as input to system sizing estimates or other important business measurements!  Always engage IBM to work with you for sizing or performance evaluations. </p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/05/openssl-speed-revisited/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My local Borders is no more</title>
		<link>http://veejoe.net/blog/2011/05/my-local-borders-is-no-more/</link>
		<comments>http://veejoe.net/blog/2011/05/my-local-borders-is-no-more/#comments</comments>
		<pubDate>Sat, 07 May 2011 14:34:52 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[borders]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/2011/05/my-local-borders-is-no-more/</guid>
		<description><![CDATA[I had two book-related experiences today, one of which was obvious and prompted this post. The other I had almost forgotten about, but should not have. First, the one I forgot. I went to the shopping centre today (Garden City, in Upper Mt Gravatt) with my seven-year-old son. On the way there we were discussing [...]]]></description>
			<content:encoded><![CDATA[<p>I had two book-related experiences today, one of which was obvious and prompted this post.  The other I had almost forgotten about, but should not have.  First, the one I forgot.</p>
<p>I went to the shopping centre today (Garden City, in Upper Mt Gravatt) with my seven-year-old son.  On the way there we were discussing the various things we might do there, foremost among them was eating (he seems to be inordinately interested in food at the moment; I suspect a growth spurt).  After finding somewhere to park and finding our way from the car to the shops, we resumed the where-will-we-go conversation.  We decided that the main purpose of the shopping trip was to get something for Mummy for Mothers&#8217; Day, but we did agree it was okay to do a little bit of looking at things for ourselves.  I was explaining the concept of &#8220;window shopping&#8221; to him when he suddenly said &#8220;or we could go to the library.&#8221;</p>
<p>I managed to choke back my reflex response of &#8220;The LIBRARY?!?&#8221; and instead managed something a little more fatherly.  &#8220;But Mummy has the library card, I don&#8217;t have one,&#8221; I had to say, thinking he wanted to borrow.</p>
<p>&#8220;That&#8217;s okay,&#8221; he said, &#8220;we can just go and look at the books and maybe read one and then we could have some lunch.&#8221;</p>
<p>Which is exactly what we did.  My seven-year-old son took me to the library.  We looked through the books, found one that he liked which he read aloud, and then left and had sushi for lunch.  I was definitely proud but at the same time stunned that a visit to the library was as interesting a prospect as anything else the shopping centre had to offer &#8212; especially since the library is immediately next door to a Toys-R-Us!</p>
<p>So what has this to do with Borders?</p>
<p>I was a little disappointed, but not too surprised, when the local Borders franchise announced it had entered administration.  All of the Australian Borders stores that have touched me in some way, including the Brisbane City and Mt Gravatt stores, are to be closed.  The hammer is even going to fall on the Jam Factory store in South Yarra, the first Borders I ever set foot in (the novelty of visiting that store was part of what kept me entertained when I was working in Melbourne).</p>
<p>Shortly after we&#8217;d been to the library, had our lunch, and looked at a couple of other shops, my son and I went into the Borders &#8212; it, along with the other stores to be closed, are open while the administrators try to wring every last dollar out of them.  There were people everywhere, picking over the remains of the stock.  How ironic that the busiest many stores are is their last days of trade.</p>
<p>It was pretty depressing: many shelves were bare, even a couple of complete sections had been abandoned (and were being used as impromptu play areas by kids bored by their parents&#8217; sudden interest in books).  Because all the stock was 50% off, people seemed to be treating it as having 50% less value &#8212; books were being disdainfully rummaged through, in a similar way to how a pile of laundry gets treated when you&#8217;re looking for that one lost sock.</p>
<p>I looked at the remnants of the computer books area, and was quickly reminded why I haven&#8217;t bought a tech book from Borders for years.  I saw an O&#8217;Reilly title, one which I wasn&#8217;t sure I had, and the price on it was almost $100.  When I got home I checked and I did have it: bought via Amazon at a price, even including shipping (and an exchange rate at the time that was nowhere near as attractive as it is now), that was less than even the Borders administrators 50% discount would have yielded.  Nevertheless, I did take a few books to the register &#8212; not technical books, rather some light stuff in the vein of Richard Hammond&#8217;s &#8220;As You Do&#8221;.</p>
<p>The final depressing twist came as we left the store.  I got a partial smile from the cashier when I placed my purchases on the counter for payment, but by the time she&#8217;d handed the bag to me her look was more &#8220;enjoy your books and your discount, I&#8217;ll be jobless in a few days&#8221;.</p>
<p>From the safe and insular confines of a blog, it&#8217;s easy to rant about bookstores and big publishing companies that try to ignore the international market and continue pricing domestically as if the Internet doesn&#8217;t exist and it really does cost a fortune to ship books to a tiny place like Australia.  It&#8217;s a different matter when that bookstore you used to love going to can&#8217;t afford to keep the lights on any more.</p>
<p>But then, as I was thinking of how to wrap this post, the thought occurred to me&#8230;  what kind of place would be good for someone who likes looking at books but never buys them&#8230;</p>
<p>Sometimes when I&#8217;d go to Borders I&#8217;d get quietly mad at the people who&#8217;d sit themselves in the comfy chairs and read the books for hours and hours.  What did they think Borders was&#8230; a library?  It was a library &#8212; the problem was, in their kind of library you had to buy the books instead of borrowing them.</p>
<p>I&#8217;ve got a feeling that the initial success of Borders was driven by the same enthusiasm for libraries that my son showed me today.  We all remembered this incredible place where there were thousands of books, and we could pick them up, turn their pages&#8230; and read a bit of them, then put them back.  And to the eventual demise of Borders, that&#8217;s what we all did.</p>
<p>So to anyone thinking &#8220;now that Borders is going, I&#8217;ve got nowhere to read a good book&#8221; I say &#8220;find your local library!&#8221;  And to any passing librarians I say &#8220;I hear there&#8217;s some books hitting the market cheap, might be a chance to build the collection because you never know when traffic might pick up&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/05/my-local-borders-is-no-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Another IPv6 instalment (subtitled: Watch Your Tech Library Currency!)</title>
		<link>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/</link>
		<comments>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 08:52:06 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[gadget]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[manuals]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5567</guid>
		<description><![CDATA[I made a somewhat cryptic tweet a little while ago about how I spent a crazy-long period of time researching what was, I believed, the next-big-thing in DNS resolution for IPv6 (or so my 2002 edition of &#8220;IPv6 Essentials&#8221; told me).  I could not work out why I saw nothing about A6 records in any [...]]]></description>
			<content:encoded><![CDATA[<p>I made a <a href="http://twitter.com/#!/viccross/status/47154961544515585">somewhat cryptic tweet</a> a little while ago about how I spent a crazy-long period of time researching what was, I believed, the next-big-thing in DNS resolution for IPv6 (or so my <strong>2002</strong> edition of &#8220;IPv6 Essentials&#8221; told me).  I could not work out why I saw nothing about A6 records in any of the excellent Hurricane Electric IPv6 material or in any other documentation I came across.</p>
<p>The answer should have been obvious: DNS A6 records (and the corresponding DNAME records) never caught on.  <a href="http://tools.ietf.org/html/rfc3363" target="_blank">RFC 3363</a> recommended that the RFC that defined A6 and DNAME (<a href="http://tools.ietf.org/html/rfc2874" target="_blank">RFC 2874</a>) be moved back into Experimental status.  If I hadn&#8217;t been using an old edition of the IPv6 book, I might never have even known the existence of A6 and not have wasted any time.</p>
<p>In my <a title="IPv6: SSDM?" href="http://veejoe.net/blog/2011/02/ipv6-ssdm/" target="_blank">previous post on IPv6</a> I theorised that we are in the early-adoption phase of IPv6 where things aren&#8217;t quite baked, and yet now I&#8217;ve picked up a 9 year old text on  the topic and acted all surprised when it got something wrong.  It was a bit stupid of me; had I bought a book about IPv4 in 1976, might it have been similarly out of date in 1985?</p>
<p>As always though I&#8217;m richer for the experience!  Or so I thought&#8230;  Like many, I&#8217;m becoming increasingly time-poor.  When I bought a book on IPv6 some years ago I thought I was making an investment, but it turned out that my investment actually lost for me in several ways:</p>
<ol>
<li>The book took up physical space in my bookshelf for all that time I wasn&#8217;t using it</li>
<li>I didn&#8217;t actually use the information at the time I acquired it</li>
<li>The time I could have got value from it was wasted by it idly sitting on the shelf</li>
<li>Once I did try to use it, it actually cost me time rather than saved time</li>
</ol>
<p>I came to think about the other books on my shelf.  It&#8217;s pretty easy to recognise that a book that proclaims to be up-to-date because it &#8220;Now covers Red Hat 5.2!&#8221; will be anything but.  Also, from the preface of a Perl programming book that says &#8220;this was written about Perl 5.8, but it should apply to 5.10 as well&#8221; I&#8217;ll be forewarned that things will be fairly applicable to 5.12 but maybe not to Perl 6 when it&#8217;s out.</p>
<p>Technology usually has a somewhat abbreviated lifespan, so therefore the corresponding documentation will have a lifespan correspondingly short&#8230;  Here, however, is an example of a technology that will have a far greater lifespan (we hope) than much of the documentation that <em>currently exists</em> around it.  I emphasise &#8220;currently exists&#8221;, because it won&#8217;t always be that way: IPv4 was pretty well-baked by the time I had anything to do with it, so I could have bought a book on IPv4 with next to no concern that it was going to lead me astray (indeed, I bought W. Rich Stevens&#8217; TCP/IP programming texts during the 1990s, and still use them to this day).  I keep forgetting that I&#8217;m on a completely different point of the IPv6 adoption curve, and the &#8220;experts&#8221; are learning along with me.</p>
<p>So, a new tech library plan then:</p>
<ul>
<li><em>Reduce dependence on physical books</em> (okay, this one is already a work-in-progress for me) &#8212; they don&#8217;t come with you on your travels as easily, and (more important in this context) they&#8217;re <em>harder to keep up to date.</em></li>
<li>Before regarding the book on the shelf as authoritative, <em>check its publication date</em>.  If it&#8217;s more than three years old, depending on the subject matter it might be out of date.  <em>Check if there&#8217;s a new edition available</em>, and consider updating.  If there&#8217;s no new edition, <em>check for recent reviews</em> (Amazon, etc).  Someone who just bought it last month might have posted an opinion on its currency.</li>
<li>If you have to buy a paper book, <em>don&#8217;t buy a book on any technology that is a moving target</em>.  On the same shelf as my copy of &#8220;IPv6 Essentials&#8221; there is a book entitled &#8220;Practical VoIP Using VOCAL&#8221;.  I never even installed VOCAL, and I&#8217;m sure many current VoIP practitioners never heard of it.  (Side note: I think it&#8217;s strange that I bought that book, and a Cisco one, but still to this day have never owned a book on <a href="http://www.asterisk.org" target="_blank">Asterisk</a>.  Maybe I have some kind of inability to pick the <em>right</em> nascent-technology book to buy.)</li>
<li><em>Use bookmarking technology more!</em> I have a <a href="http://www.delicious.com" target="_blank">Delicious</a> <a href="http://www.delicious.com/veejoe" target="_blank">account</a>, and I went through a phase of bookmarking everything there.  I realise now that, if I was a bit more disciplined, I could actually use it (or a system like it, depending on what Yahoo! does to it) as my own personal index to the biggest tech library in existence: the Internet.</li>
</ul>
<p>That first point is harder than it sounds (especially for someone like me who has a couple of books on his shelf with his name on the cover).  My Rich Stevens books are littered with sticky-note bookmarks for when I flick to-and-fro between different programming examples.  Electronic readers are still not there when it comes to the &#8220;handy-hints-I-keep-on-my-lap-while-coding&#8221; aspect of book ownership.</p>
<p>I have a Sony Reader which I purchased with the intent of making it my mobile tech library.  It&#8217;s just not that great for tech documents though, since it doesn&#8217;t render diagrams and illustrations well (it also isn&#8217;t ideal for PDFs, especially in A4 ratio).  This may change as publishers of tech docs start releasing more titles on e-reader formats like ePub.  The iPad is working much better for tech library tasks; I&#8217;m using an app called <a href="http://www.goodiware.com/goodreader.html" target="_blank">GoodReader</a> which renders PDFs (especially <a href="http://www.redbooks.ibm.com" target="_blank">RedBooks</a>!) quite well and has good browsing and syncing capability as well.</p>
<p>More on these topics later, I&#8217;m sure!</p>
<p><em><strong>Update</strong>:</em> I omitted another option in my &#8220;tech library plan&#8221; &#8212; since <em>IPv6 Essentials</em> is an O&#8217;Reilly book, I could have registered with their site to get offers on updating to new editions.  Had I done so, the events of this post might not have happened!  Now that I&#8217;ve registered my books with O&#8217;Reilly, I&#8217;m getting offers of 40% off new paper editions and 50% off e-book editions.  Also, in line with my reduce-paper-book-dependence policy, I can &#8220;upgrade&#8221; any of the titles I own in paper to e-book for US$4.99.  If you haven&#8217;t already, I encourage anyone who has O&#8217;Reilly books that they rely on as part of their tech library to register them at <a href="https://members.oreilly.com" target="_blank">members.oreilly.com</a>.  (This is an unsolicited endorsement from a happy customer, nothing more!)</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/03/another-ipv6-instalment-subtitled-watch-your-tech-library-currency/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Another round of Gentoo fun</title>
		<link>http://veejoe.net/blog/2011/03/another-round-of-gentoo-fun/</link>
		<comments>http://veejoe.net/blog/2011/03/another-round-of-gentoo-fun/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 06:47:05 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[emerge]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5545</guid>
		<description><![CDATA[A little while back I did an &#8220;emerge system&#8221; on my VPS and didn&#8217;t think much more about it.  First time back to the box today to emerge something else, and was greeted with this: &#62;&#62;&#62; Unpacking source&#8230; &#62;&#62;&#62; Unpacking traceroute-2.0.15.tar.gz to /var/tmp/portage/net-analyzer/traceroute-2.0.15/work touch: setting times of `/var/tmp/portage/net-analyzer/traceroute-2.0.15/.unpacked&#8217;: No such file or directory &#8230;and the [...]]]></description>
			<content:encoded><![CDATA[<p>A little while back I did an &#8220;emerge system&#8221; on my VPS and didn&#8217;t think much more about it.  First time back to the box today to emerge something else, and was greeted with this:</p>
<p>&gt;&gt;&gt; Unpacking source&#8230;<br />
&gt;&gt;&gt; Unpacking traceroute-2.0.15.tar.gz to /var/tmp/portage/net-analyzer/traceroute-2.0.15/work<br />
touch: setting times of `/var/tmp/portage/net-analyzer/traceroute-2.0.15/.unpacked&#8217;: No such file or directory</p>
<p>&#8230;and the emerge error output.  Took me a little while to get the answer, but it was (of course) caused by a new version of something that came in with the system update.  <a href="http://bugs.gentoo.org/show_bug.cgi?id=224483#c37" target="_blank">This bug comment</a> had the crude hack I needed to get back working again, but longer-term I obviously need to fix the mismatch between the version of linux-headers and the kernel version my VPS is using (it&#8217;s Xen on RHEL5).</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/03/another-round-of-gentoo-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IPv6: SSDM?</title>
		<link>http://veejoe.net/blog/2011/02/ipv6-ssdm/</link>
		<comments>http://veejoe.net/blog/2011/02/ipv6-ssdm/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 14:58:31 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Networks]]></category>
		<category><![CDATA[Soapbox]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[observation]]></category>
		<category><![CDATA[router]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5541</guid>
		<description><![CDATA[Two of the four keynotes at LCA 2011 referenced the depletion of the IPv4 address space (and I reckon if I looked back through the other two I could find some reference in them as well).  I think there&#8217;s a good chance Geoff Huston was lobbying his APNIC colleagues to lodge the &#8220;final request&#8221; (for [...]]]></description>
			<content:encoded><![CDATA[<p>Two of the four keynotes at <a title="Linux Conf AU 2011 Brisbane" href="http://lca2011.linux.org.au" target="_blank">LCA 2011</a> referenced the depletion of the IPv4 address space (and I reckon if I looked back through the other two I could find some reference in them as well).  I think there&#8217;s a good chance Geoff Huston was lobbying his APNIC colleagues to lodge the &#8220;final request&#8221; (for the two /8s that triggered the final allocation of the remaining 5, officially exhausting IANA) a week earlier than they did, as it would have made the message of his LCA keynote a bit stronger.  Not that it was a soft message: we went from Vint Cerf the day before, who said &#8220;I&#8217;m the guy who said that a 32-bit address would be enough, so, sorry &#8217;bout that&#8221;, to Geoff Huston saying &#8220;Vint Cerf is a professional optimist.  I&#8217;m not.&#8221;.  But I digress&#8230;</p>
<p>I did a bit of playing with IPv6 over the years, but it was too early and too broken when I did (by &#8220;too broken&#8221; I refer to the immaturity of dual-stack implementations and the lack of anything actually reachable on the IPv6 net).  However, with the bell of IPv4 exhaustion tolling, I had another go.</p>
<p>Freenet6, who now goes alternatively as gogonet or gogo6, was my first point-of-call.  I had looked at Gogo6 most recently, and still had an account.  It was just a matter of deciding whether or not I needed to make a new account (hint: I did) and reconfiguring the <strong>gw6c</strong> process on my router box.  Easy-as, I had a tunnel &#8212; better still, my IPv6-capable systems on the LAN also had connectivity thanks to <strong>radvd</strong>.  From Firefox (and Safari, and Chrome) on the Mac I could score both 10/10 scores on <a href="http://test-ipv6.com" target="_blank">http://test-ipv6.com</a>!</p>
<p>My joy was short-lived, however.  <strong>gw6c</strong> was proving to be about as stable as a one-legged tripod, and not only that Gogo6 had changed the address range they allocated me.  That wouldn&#8217;t be too bad, except that all my IPv6-capable systems still had the old address and were trying to use that &#8212; looks like IPv6 auto-configuration doesn&#8217;t <em>un-</em>configure an address that&#8217;s no longer valid (at least by default).  I started to look for possible alternatives.</p>
<p>Like many who&#8217;ve looked at IPv6 I had come across <a title="Hurricane Electric" href="http://www.he.com" target="_blank">Hurricane Electric</a> &#8212; in the countdown to IPv4 exhaustion I used their iOS app &#8220;ByeBye v4&#8243;.  They offer free v6-over-v4 tunneling, and the configuration in Gentoo is very simple.  I also get a static allocation of an IPv6 address range that I can see in the web interface.  The only downside I can see is that I had to nominate which of their locations I wanted to terminate my tunnel; they have no presence in Australia, the geographically-nearest location being Singapore.  I went for Los Angeles, thinking that would probably be closest network-wise.  The performance has been quite good, and it has been quite reliable (although I do need to set up some kind of monitoring over the link, since everything that can talk IPv6 is now doing so).</p>
<p>In typical style, after I&#8217;d set up a stable tunnel and got everything working, I decided to learn more about what I&#8217;d done.  What is IPv6 anyways?  Is there substance to the anecdotes flying around that are saying that &#8220;every blade of grass on the planet can have an IPv6 address&#8221; and similar?  Well, a 128-bit address provides for an enormous range of addresses.  The ZFS guys are on the same track &#8212; ZFS uses 128-bit counters for blocks and inodes, and there have been ridiculous statements made about how much data could theoretically be stored in a filesystem that uses 128-bit block counters.  To quote the Hitchhiker&#8217;s Guide to the Galaxy:</p>
<blockquote>
<p style="text-align: left;">Space is big. Really big. You just won&#8217;t believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it&#8217;s a long way down the  road to the chemist&#8217;s, but that&#8217;s just peanuts to space.</p>
<p style="text-align: right;">The Guide, <em>The Hitchhiker&#8217;s Guide To The Galaxy</em>, Douglas Adams, Pan Books 1979</p>
</blockquote>
<p>Substitute IPv6 (or ZFS) for space.  To try and put into context just how big the IPv6 address range is, let&#8217;s use an example: the smallest common subnetwork.</p>
<p>When IPv4 was first developed, there were three address <em>classes</em>, named, somewhat unimaginatively, A B and C.  Class A was all the networks from 1.x.x.x to 127.x.x.x, and each had about 16 million addresses.  Class B was all the networks from 128.0.x.x to 191.255.x.x, each network with 65 534 usable addresses.  Class C went from 192.0.0.x to 223.255.255.x, and each had 254 usable addresses.  Other areas, such as 0.x.x.x and the networks after 224.x.x.x, have been reserved.  So, in the early days, the smallest network of hosts you could have was a network of 254 hosts.  After a while IP introduced something called Classless Inter-Domain Routing (CIDR) which meant that the fixed boundaries of the classes were eliminated and it became possible to &#8220;subnet&#8221; or &#8220;supernet&#8221; networks &#8212; divide or combine the networks to make networks that were just the right size for the number of hosts in the network (and, with careful planning, could be grown or shrunk as plans changed).  With CIDR, since the size of the network was now variable, addresses had to be written with the subnet mask &#8212; a format known as &#8220;CIDR notation&#8221; came into use, where an address would have the number of bits written after the address like this: 192.168.1.42/24.</p>
<p>Fast-forward to today, with IPv6&#8230;  IPv4&#8242;s CIDR notation is used in IPv6 (mostly because the masks are so huge).  In IPv6, the smallest network that can be allocated is what is called a &#8220;/64&#8243;.  This means that out of the total 128-bit address range, 64 bits represent what network the address belongs to.  Let&#8217;s think about that for a second.  There are 32 bits in an IPv4 address &#8212; that means that the <em>entire IPv4 Internet</em> would fit in an IPv6 network with a /96 mask (128-32=96).  But the default smallest IPv6 subnet is /64 &#8212; the size of the existing IPv4 Internet <em>squared</em>!</p>
<p>Wait a second though, it gets better&#8230;  When I got my account with Gogo6, they offered me up to a /56 mask &#8212; that&#8217;s a range that covers 256 /64s, or 256 Internet-squareds!  Better still, the Hurricane Electric tunnel-broker account gave me one /64 <strong>and one /48</strong>!  <em>Sixty-five thousand networks, each the size of the IPv4 Internet squared!</em> And how much did I pay for any of these allocations?  Nothing!</p>
<p>I can&#8217;t help but think that folks are repeating similar mistakes from the early days of IPv4.  A seemingly limitless address range (Vint said that 32 bits would be enough, right?) was given away in vast chunks.  In the early days of IPv4 we had networks with two or three hosts on them using up a Class C because of the limitations of addressing &#8212; in IPv6 we have LANs of maybe no more than a hundred or so machines taking up an entire /64 because of the way we designed auto-configuration.  IPv6 implementations now will be characterised not by how well their dual-stack implementations work, or how much more secure transactions have become thanks to the elimination of NAT, but by how much of the addressable range they are wasting.  So, is IPv6 just Same Sh*t, Different Millennium?</p>
<p>Like the early days of IPv4 though, things will surely change as IPv6 matures.  I guess I&#8217;m just hoping that the folks in charge are thinking about it, and not just high on the amount of space they have to play with now.  Because one day all those blades of grass will want their IP addresses, and the Internet had better be ready.</p>
<p><em><strong>Update 16 May 2011</strong>:</em> I just listened to Episode <a href="http://twit.tv/sn297" target="_blank">297</a> of the <a href="http://twit.tv/sn" target="_blank">Security Now</a> program&#8230;  Steve Gibson relates some of his experience getting IPv6 allocation from his upstream providers (he says he got a /48).  In describing how much address space that is, he made the same point (about the &#8220;wasteful&#8221; allocation of IPv6).  At about 44:51, he starts talking about the current &#8220;sky is falling&#8221; attitude regarding IPv4, and states &#8220;you&#8217;d think, maybe they&#8217;d learn the lesson, and be a little more parsimonious with these IPs&#8230;&#8221;.  He goes on to give the impression that the 128-bit range of IPv6 is <strong>so</strong> big that there&#8217;s just no need to worry about it.  I hope you&#8217;re right, Steve!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/02/ipv6-ssdm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Burnt out</title>
		<link>http://veejoe.net/blog/2011/02/burnt-out/</link>
		<comments>http://veejoe.net/blog/2011/02/burnt-out/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 12:40:57 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5539</guid>
		<description><![CDATA[For some time I&#8217;ve been feeling moody and generally unhappy.  My ability to become frustrated with things that go wrong is ever-increasing, and my tolerance fuse seems to be ever-shortening.  Co-incident with those feelings was the real physical manifestation of almost constant weariness &#8212; waking up tired, never-ending back and shoulder pain, and so on.  [...]]]></description>
			<content:encoded><![CDATA[<p>For some time I&#8217;ve been feeling moody and generally unhappy.  My ability to become frustrated with things that go wrong is ever-increasing, and my tolerance fuse seems to be ever-shortening.  Co-incident with those feelings was the real physical manifestation of almost constant weariness &#8212; waking up tired, never-ending back and shoulder pain, and so on.  I really was starting to feel like the proverbial &#8220;cranky old man&#8221;.</p>
<p>The worst part of this was the fact that the feelings have worsened after I had made what I thought was positive changes in my outlook.  I&#8217;ve been more focused on exercise and physical activity, and trying really hard to spend more time with the family.</p>
<p>On the bus on the way home from work on Friday I was looking out the window and thinking about&#8230; nothing.  I closed my eyes for a moment, and the feeling of relaxation I had &#8212; for just a moment &#8212; was blissful.  At that point I realised that my problem was probably little more than the fact that I am completely and utterly burnt-out.</p>
<p>I began to think about the times recently that I&#8217;ve been away from work.  We went to the beach for a couple of days in January, but as every parent knows a family holiday (particularly with young kids) is just all the same stuff with some different scenery.  Last September we went to Melbourne, but I was working.  A few days here and there for trips to the beach and so on.  In November 2009 I did my European trip, which is probably the closest thing to a vacation I&#8217;ve had in the last two years, but again I was working.</p>
<p>I realised, again like just about every parent does, that I haven&#8217;t had a proper &#8220;holiday&#8221; since before our first child arrived &#8212; for me that means 2003 (I&#8217;m guessing it was when S and I went to Rotorua while I was working in NZ, but again that was only a couple of days).</p>
<p>So what&#8217;s my plan?  After all, a realisation is worthless unless it is acted upon.  Well I do have a holiday in mind, but that won&#8217;t be until toward the end of the year (and I&#8217;ve probably given away too much already).  In the meantime, I plan to keep up the physical activity (maintaining health in the long term is surely more important than giving in to a bit of moodiness) and will be doing my best to find enjoyment wherever it exists or how trivial it may seem.  I think I&#8217;ll also get back into the blogging habit &#8212; I find that the time it takes to put a good post together is quite therapeutic!</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/02/burnt-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My flood volunteering day</title>
		<link>http://veejoe.net/blog/2011/01/my-flood-volunteering-day/</link>
		<comments>http://veejoe.net/blog/2011/01/my-flood-volunteering-day/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 14:32:47 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[qldfloods]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5521</guid>
		<description><![CDATA[On Saturday (a couple of days ago as I type this) I volunteered to assist the cleanup in Brisbane&#8217;s suburbs &#8212; the city council organised volunteering locations where you could sign up and be transported to places that needed help. The process was well organised, except at the location I went to where the buses [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday (a couple of days ago as I type this) I volunteered to assist the cleanup in Brisbane&#8217;s suburbs &#8212; the city council organised volunteering locations where you could sign up and be transported to places that needed help.</p>
<p>The process was well organised, except at the location I went to where the buses departed from a nearby bus terminal &#8212; mildly inconvenient if you&#8217;d transported yourself to the bus terminal and walked to the marshalling site, only to have to walk yourself back to the bus terminal&#8230; But honestly, mild inconvenience was probably far from most people&#8217;s minds right then.</p>
<p>The registration process was quick and easy, but I missed the briefing entirely because in a crowded high school hall with a couple of hundred (at least) people inside our briefing was delivered by a lady equipped with a librarian&#8217;s clipboard and the voice to match.   A couple of people near me managed to pick up Oxley and Chelmer as potential locations, but I heard nothing else.</p>
<p>Council also seemed to have been a bit unprepared for the number of volunteers.   Two shifts &#8212; one morning, one afternoon &#8212; were planned, and 6000 volunteers were expected across the four sites over the day.  By lunchtime it was announced that 7000 people had arrived for the morning shift alone!   There were not enough buses available after I&#8217;d been processed, so I and a couple of hundred other volunteers had to wait for transportation.</p>
<div id="attachment_5523" class="wp-caption alignleft" style="width: 235px"><a href="http://veejoe.net/blog/wp-content/uploads/2011/01/20110117-094935.jpg"><img class="size-medium wp-image-5523 " title="20110117-094935.jpg" src="http://veejoe.net/blog/wp-content/uploads/2011/01/20110117-094935-225x300.jpg" alt="Part of the queue of volunteers waiting to be bussed to flood-devastated parts of Brisbane." width="225" height="300" /></a><p class="wp-caption-text">Part of the queue of volunteers waiting to be bussed to flood-devastated parts of Brisbane.  The South-East Freeway is in the left of field -- that&#39;s where the horns of encouragement were coming from.</p></div>
<p>While we were standing in line for buses, the line stretched from the  bus stop near Garden City across a bridge over the South East Freeway.   We must have been clearly visible to the freeway traffic below, standing  there with our shovels and brooms and buckets, because several cars and  trucks blew their horns in encouragement as they passed below.</p>
<p>Eventually we were on a bus, and along the way I got my first view of some of the devastation.   On Riawena Rd, muddy leaves on a roadside shrub near the bank of Stable Swamp Creek while we stood at traffic lights waiting to cross Beaudesert Road.   I looked up to the creek bank and saw a couple of porta-loos that had been unceremoniously dumped on the other side of the creek.   Then the traffic got moving, and we crossed Beaudesert Road to Granard Road, which was badly affected.   Riding in a council bus, I was looking out the window to business that were well higher than the road level, and the water line was a good metre or so up the wall &#8212; had my bus been there at the flood peak, it likely would have been submerged.   The front parking areas of the shops along Granard Road were littered with the contents of the various shops.  My breath caught in my throat.</p>
<p>And then, suddenly, everything was normal again as we crested the high ground midway along Granard Road.   I couldn&#8217;t help thinking &#8220;is that all?&#8221;.  I was quickly answered &#8220;No&#8221;, as the bus turned onto the Ipswich Motorway.</p>
<p>I would find out later we were headed for Oxley Road, but the off-ramp was still under a metre or so of water.   The Harvey Norman store at that off-ramp had a watermark at least a metre up the wall, and there was no-body around.   It was eerie, since the car park of the Good Guys store just up the road was teeming with people&#8230;  I later worked out that the HN store was probably still inaccessible.   So because the off-ramp we needed was inundated, we had to go well up the Motorway and backtrack, and since none of us really knew where we were going (other than generalities) we wondered if our driver was lost.   We did turn off onto Oxley Road however, to see a more human side of the tragedy.</p>
<p>I say &#8220;more human&#8221; now, looking back on my reaction to what I saw.  When it was stores and industry, it wasn&#8217;t as personal as seeing those first few houses along Oxley Road and the nearby streets&#8230;   Suddenly it was people&#8217;s homes, people&#8217;s lives, and it seemed somehow more real.  Some of the side streets were full of equipment helping clean up, others just seemed like normal streets (albeit very dirty and messy-looking streets).  Then, suddenly, just like happened on Granard Road, everything was normal again as we got to some high ground.</p>
<p>The roundabout at Oxley Station Road was under police control; they were stopping normal traffic from going any further up Oxley Road.   The roundabout was under a couple of inches of water still.   I realised that I was close to the house where a friend and former colleague used to live with his brother and a few mates.   I couldn&#8217;t remember exactly where the house was, but there&#8217;s a good chance it would have gone under.</p>
<div id="attachment_5532" class="wp-caption alignleft" style="width: 235px"><a href="http://veejoe.net/blog/wp-content/uploads/2011/01/20110118-064450.jpg"><img class="size-medium wp-image-5532" title="20110118-064450.jpg" src="http://veejoe.net/blog/wp-content/uploads/2011/01/20110118-064450-225x300.jpg" alt="Bridge Street, Chelmer" width="225" height="300" /></a><p class="wp-caption-text">A mud-slick Bridge Street in Chelmer.  Walking in vehicle wheel-tracks was essential.</p></div>
<p>I expected that we would be dropped off at any time, but we kept  driving, back into high ground now, through Oxley, then Corinda, then at  Sherwood we jockeyed across onto Honour Avenue (our spirits still  fairly high, as we cheered the driver through a very tight left turn  onto Sherwood Road from Oxley Road).   Still we drove on, leaving  Sherwood and on through Graceville&#8230;</p>
<p>Just before the crest of the hill to get onto the Indooroopilly Bridge,  at the intersection of Bridge Street, the bus stopped and the doors  opened.   We were in Chelmer, and the support I was pretty-much expecting  to be awaiting us, to direct our efforts and so-on, was non-existent.    We worked out fairly quickly that we simply had to find a place that  looked like they needed help, and&#8230; help.</p>
<p>I took a couple of photos in that first part of the walk, but it was becoming too difficult to walk on the mud-slick streets and footpaths while looking for photo opportunities.  Besides, I realised that I was turning into a &#8220;flood tourist&#8221;.</p>
<div id="attachment_5530" class="wp-caption alignright" style="width: 310px"><a href="http://veejoe.net/blog/wp-content/uploads/2011/01/20110118-064412.jpg"><img class="size-medium wp-image-5530" title="20110118-064412.jpg" src="http://veejoe.net/blog/wp-content/uploads/2011/01/20110118-064412-300x225.jpg" alt="Intersection of Oxley Road and Bridge Street in Chelmer" width="300" height="225" /></a><p class="wp-caption-text">Intersection of Oxley Road and Bridge Street -- starting to get very hazardous here.  That mud was really slippery, and thick enough that once you started to slide there was no stopping you.</p></div>
<p>I was there to work &#8212; I put the camera away.</p>
<p>My sense of direction being pretty good, I wandered in the direction where I knew the river to be, expecting that closer to the river would be where most help was needed.   My sense of local geography however being pretty lousy, I didn&#8217;t realise that the houses closest to the river in that part of Chelmer (near Gordon Thompson Park) were actually among the highest, and therefore the least in need.   For a little while I actually wondered if I was walking in completely the wrong direction.</p>
<p>I found myself near another small group of volunteers and tagged a long for a little while.  We encountered a house which had a lot of activity around it &#8212; but they, thanks for asking, were going okay for now.   I turned one corner, then another, and found myself in Campsey Street, in front of a house where a man was pushing mud down the driveway.  I found myself saying something like &#8220;you look like you need a hand&#8221;, and he replied with something like &#8220;I certainly do&#8221;.</p>
<p>And I worked at that little house in Campsey Street for the rest of the morning, alongside people I&#8217;d never met and likely will never meet again.  Shovelling mud, pushing mud, bucketing mud, barrowing mud.  There was a couple who lived nearby who just decided to go looking for somewhere to help and, like me, found that house.  A young lady who I assume lived nearby, but will soon be going back to Europe where she&#8217;s doing overseas study.   An off-duty policeman from Logan who might have known the owner (owners? I don&#8217;t even know that much).</p>
<p>There were some light moments.  We had been shovelling and sweeping mud down the driveway for almost an hour when a guy with a bobcat came by.  He&#8217;d found a dumped mattress and had pinched it in the bucket of the bobcat and was using it like a big squeegee to clear footpaths and driveways.  In about five minutes work he&#8217;d done as much as we had done in that hour.  A couple of us looked at each other, grinned a wry grin and said &#8220;we needed him an hour ago&#8221;.  That would have been funny enough, but within another hour it happened again &#8212; we started clearing the path up the side of the house (where a bobcat wouldn&#8217;t be able to go) and another guy came by on a dingo (a kind-of mini bobcat) and did the same thing on that side path.  Same looks, same wry grins&#8230;  I make light of them, but the contribution guys like that made was excellent.  They were just riding around the streets on their dingos and bobcats, looking for places that could use them, five minutes here and five minutes there.  Brilliant.</p>
<p>It wasn&#8217;t just the ones working that I need to mention.   At about morning tea time a lass came around with a Tupperware tray of slices and biscuits in one hand, and a tray of jam donuts in the other &#8212; &#8220;Sugar hit?&#8221; she asked.  Too right!  Earlier in the morning I&#8217;d noticed a van parked in the  intersection nearby with signs saying &#8220;TEA COFFEE AND MILO, FREE FOR  VOLUNTEERS&#8221;.  My workmates and I eventually took a break and visited the van, which remarkably was still there, with the signs, and were offered hot tea by a couple from Lismore in NSW (who I hope had other business in Chelmer that day and didn&#8217;t, as much as I appreciated the tea, just come up all that way to make refreshing beverages for everyone).</p>
<p>Thankfully the sun didn&#8217;t get too strong, as it was the back of my shirt was totally drenched and I kept having to pace myself (of all the times to be out of my heart meds!).</p>
<p>I had taken a bucket with me, but hadn&#8217;t used it for anything more than protecting the bag I&#8217;d taken.   After we&#8217;d had our cuppa the activity moved to the house next door where there was suddenly an absolute army of people (earlier there had been almost no-one) moving mud.   A swarm of wheelbarrows came with them, and people were using shovels to try and get the very viscous mud out of the gutter and into the barrows.   A few small round-edged buckets started to appear, but at that minute I was glad that I&#8217;d resisted the temptation to leave that square-edged bucket at home.   The mud was gone from that part of the street in pretty short order with about a dozen people with shovels, small buckets and one big flat-sided bucket and the half-dozen wheelbarrows we were filling!</p>
<p>There was one other man working at that Campsey Street house who had also come on the council bus from Macgregor, and we&#8217;d discussed earlier in the day that neither of us knew for sure how to get home when our &#8220;shift&#8221; was finished.   Between us we decided that we would just make our way back to roughly where the bus dropped us off, and we&#8217;d be collected.   Well while I was scooping mud with the bucket, I started thinking about the time and wondering if I&#8217;d have to make a move.   Sure enough, it was 11:25 by the time I was able to check what time it was, and my fellow council volunteer seemed to have already left.   I cleaned the broom (a new broom that was definitely coming home), decided to donate the bucket (an old bucket, now covered in mud, that was likely to get much more meaningful use in Chelmer than at my house), and turned to go&#8230; but the strangest thing happened.</p>
<p>I didn&#8217;t want to go.</p>
<p>If you&#8217;ve read this blog before, you&#8217;ll have read that I experience a kind of &#8220;travellers&#8217; regret&#8221; when I visit somewhere that has touched me (the regret part is usually the result of knowing that I may never visit there again).  It happens strongest in places that have really moved me &#8212; I felt it in Lake Louise, Canada, at the Kennedy Space Center, and in the shadow of the London Eye.   I felt it at Paris Gare du Lyon, and at New York&#8217;s Grand Central Terminal.   It was not so strong in Newport, Rhode Island (I visited there because it&#8217;s where the Aussie yacht <em>Australia II</em> won the Americas Cup in 1982); very strongly at <em>le Viaduc de Millau</em>.</p>
<p>On Campsey Street, Chelmer, in my own home town, it was as strong as I&#8217;ve ever felt it.  Despite the place looking like arse &#8212; no: <em>because</em> the place looked like arse &#8212; I needed to stay; there was so much more to do&#8230;   but it was more than that even.  I felt in some way <em>connected</em> to the other people who were helping there, even though I knew no-one&#8217;s name.  I probably would have stayed, had I not arranged with Susan that she would do the afternoon shift.  I tore myself away and headed back toward Honour Avenue.</p>
<p>I had to wait for a while, as the buses were being delayed getting through Toowong and Indooroopilly to pick us up.   Then, we went on a crazy route that seemed to loop through Sherwood and Graceville a couple of times before we headed back via Coronation Drive to Macgregor.  This gave me a chance to see some other things I&#8217;d only seen on TV &#8212; the Regatta Hotel looked almost normal again, and so too did the Drift restaurant.</p>
<p>It turned out that Susan didn&#8217;t get her turn to volunteer.  Thanks to my delayed return, it was almost 1:30 before she got to the marshalling area and by then they already had more than enough people in line and didn&#8217;t want any more.</p>
<p>So that was my first volunteering effort.  I was absolutely wrecked by it, and days later I&#8217;m still sore.  The best part has been knowing that I&#8217;ve actually helped someone (maybe multiple someones) start to get some order back in their life.  The kudos earned from friends and family has been a nice fringe benefit also, I have to admit.  I got a SMS message of appreciation from Lord Mayor Campbell Newman today as well (okay, so it wasn&#8217;t the actual Lord Mayor &#8212; the giveaway was the words &#8220;Stop messages? reply STOP&#8221; at the end of the message &#8212; but it&#8217;s the thought that counts, right?).</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/01/my-flood-volunteering-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Floods in Brisbane</title>
		<link>http://veejoe.net/blog/2011/01/floods-in-brisbane/</link>
		<comments>http://veejoe.net/blog/2011/01/floods-in-brisbane/#comments</comments>
		<pubDate>Wed, 12 Jan 2011 05:03:42 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[qldfloods]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5518</guid>
		<description><![CDATA[I was four or five years old when Brisbane encountered its last major flood disaster in 1974. I have vague memories &#8212; so vague I don&#8217;t know for sure if they are real or imagined &#8212; of looking out the front window of the house we lived in at the time and seeing the water [...]]]></description>
			<content:encoded><![CDATA[<p>I was four or five years old when Brisbane encountered its last major flood disaster in 1974.  I have vague memories &#8212; so vague I don&#8217;t know for sure if they are real or imagined &#8212; of looking out the front window of the house we lived in at the time and seeing the water pooled in our front yard.<br />
Obviously the memories this time around will be clearer.  In case you&#8217;re wondering, my family and I are out of reach of the flood waters but, like many, we know folks who are directly affected.  On the work front, one of our customers has lost access to both their Production *and* DR data centers, and I&#8217;m involved in getting them back in action.</p>
<p>I was in the CBD yesterday as the water started to rise.  Shops were closed, and normally traffic-choked streets were almost empty, adding to the nervous tension that was building even then, some 24 hours ago.  On the bus crossing the Brisbane River via the Victoria Bridge (in fact, if bridges were named so it would be Victoria Bridge the Third, because at least one but I&#8217;m pretty sure two previous bridges also called Victoria and in the same spot have been washed away in previous floods) I could see the river having broken its banks at the Queensland Museum and Southbank precincts.  Today, as the first of the tidal peaks hits, streets in the CBD are starting to go under &#8212; and there&#8217;s another metre of water coming with the next peak, due tomorrow morning.</p>
<p>The heavy rain of the last month-or-so that has exacerbated this drama has eased today, but as I type this a sun shower has just started to fall.  I guess Mother Nature wants to remind us that she&#8217;s still in charge&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2011/01/floods-in-brisbane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios service check for IAX</title>
		<link>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/</link>
		<comments>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/#comments</comments>
		<pubDate>Sat, 06 Nov 2010 05:03:48 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[iax]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5515</guid>
		<description><![CDATA[I&#8217;ve been using Nagios for ages to monitor the Crossed Wires campus network, but it&#8217;s fallen into a little disrepair.  Nothing worse than your monitoring needing monitoring&#8230;  so I set about tidying it up. Network topology changes, removal of old kit, and some fixes to service checks no longer working correctly. One of the problems [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Nagios for ages to monitor the Crossed Wires campus network, but it&#8217;s fallen into a little disrepair.  Nothing worse than your monitoring needing monitoring&#8230;  so I set about tidying it up. Network topology changes, removal of old kit, and some fixes to service checks no longer working correctly.</p>
<p>One of the problems I needed to fix was the service check for IAX connections into my Asterisk box.  The script (the standard check_asterisk.pl from the Nagios Plugins package) was set up correctly, but it would fail with a &#8220;Got no reply&#8221; message.</p>
<p>I started doing traces and &#8220;iax2 debug&#8221; in Asterisk, but got nowhere &#8212; Asterisk was rejecting the packet from the check script.  Finally I decided to JFGI, and eventually I found <a href="http://www.thirdlane.com/forum/nagios-check-asterisk-for-iax2" target="_blank">this page</a> with the explanation and the fix.  Basically, sometime in the 1.6 stream Asterisk toughened up security on the control message the Nagios service check used to use.  Thankfully, at the same time a new control message specifically designed for availability checking was implemented, and the fix is to update the script to use the new control message.  Easy!</p>
<p>BTW, while on Nagios, I got burned by the so-called &#8220;vconfig patch&#8221; which broke the check_ping script.  I&#8217;ve had to mask version 1.4.14-r2 and above of the <strong>nagios-plugins</strong> package until the issue is fixed.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/11/nagios-service-check-for-iax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharing an OSA port in Layer 2 mode</title>
		<link>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/</link>
		<comments>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/#comments</comments>
		<pubDate>Thu, 04 Nov 2010 11:28:56 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[z/VM]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5508</guid>
		<description><![CDATA[I posted on my developerWorks blog about an experience I had sharing an OSA port in Layer 2 mode.  Thrilling stuff.  What&#8217;s more thrilling is the context of where I had my OSA-port-sharing experience: my large-scale Linux on System z cloning experiment.  One of these days I&#8217;ll get around to writing that up.]]></description>
			<content:encoded><![CDATA[<p>I posted on my <a title="Vic's dW blog" href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/viccross/?lang=en" target="_blank">developerWorks blog</a> about an experience I had sharing an OSA port in Layer 2 mode.  Thrilling stuff.  What&#8217;s more thrilling is the context of where I had my OSA-port-sharing experience: my large-scale Linux on System z cloning experiment.  One of these days I&#8217;ll get around to writing <strong>that</strong> up.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/11/sharing-an-osa-port-in-layer-2-mode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Asterisk and a Patton SmartNode</title>
		<link>http://veejoe.net/blog/2010/07/asterisk-and-a-patton-smartnode/</link>
		<comments>http://veejoe.net/blog/2010/07/asterisk-and-a-patton-smartnode/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 11:12:57 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[capi]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[isdn]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5504</guid>
		<description><![CDATA[It&#8217;s been ages since I did an update on the main network machine here, and I bit the bullet over the weekend. 250+ packages emerged with surprisingly little trouble, and all I was left to do was build the updated kernel and reboot. I usually end up with something that doesn&#8217;t restart after the reboot, [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been ages since I did an update on the main network machine here, and I bit the bullet over the weekend.  250+ packages emerged with surprisingly little trouble, and all I was left to do was build the updated kernel and reboot.<br />
I usually end up with something that doesn&#8217;t restart after the reboot, usually because of a kernel module that needs to be rebuilt after the kernel (because I forget to remerge the package before the reboot, oops).  This time the culprit was Asterisk (the phone system), which I also often have trouble with after an update due to a couple of codec modules external to the Asterisk build.  This time however the problem ended up being due to the Asterisk CAPI channel driver failing.<br />
Thinking it was the usual didn&#8217;t-rebuild-the-module problem, I went looking for the package I had to rebuild&#8230; only to find it was masked.  Turns out the driver for the ISDN card in the box, a FritzCard PCI, is no longer maintained and doesn&#8217;t build on modern kernels, which has resulted in the Gentoo folks hard-masking the entire set of AVM&#8217;s out-of-tree drivers.<br />
Help was at hand in the form of a Patton SmartNode 4552 ISDN VoIP router I&#8217;d bought months ago to replace the Fritz card.  Even though there isn&#8217;t much information about how to configure the SmartNode for Asterisk around, I managed to get the setup working in only a couple of hours.  I even managed to get the outgoing routing for the work line set up right!<br />
Eventually I&#8217;ll get something posted here that goes into a bit more detail about the configuration.  Let me know in a comment if you need to hurry me up! <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/07/asterisk-and-a-patton-smartnode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Amsterdam trip report</title>
		<link>http://veejoe.net/blog/2010/05/amsterdam-trip-report/</link>
		<comments>http://veejoe.net/blog/2010/05/amsterdam-trip-report/#comments</comments>
		<pubDate>Sun, 30 May 2010 13:23:03 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/?p=5502</guid>
		<description><![CDATA[I recently spent a week in Amsterdam, attending the Novell BrainShare conference there.  This visit to Amsterdam was unlike any I&#8217;ve made before: certainly unlike the last one, where I barely made it halfway from the airport to the city and was there for less than 40 hours. Firstly my arrival was disrupted by the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently spent a week in Amsterdam, attending the Novell BrainShare conference there.  This visit to Amsterdam was unlike any I&#8217;ve made before: certainly unlike the last one, where I barely made it halfway from the airport to the city and was there for less than 40 hours.</p>
<p>Firstly my arrival was disrupted by the Iceland volcano.  About 45 minutes away from Amsterdam I noticed that the little diamond that represented our destination on the flight-map display had jumped somewhere into western Germany, and the plane&#8217;s direction had changed &#8212; we were now flying almost due south instead of following the gentle arc that traced almost all the way back to Hong Kong.  About 5 minutes later, the captain announced that due to volcanic ash we had been diverted to Frankfurt: &#8220;we&#8217;re 40 minutes away from Amsterdam, but they&#8217;re closing the airport in 20&#8243;.  To the credit of Cathay Pacific, however, they had arrangements for our &#8220;connection&#8221; to Amsterdam underway before we had landed.  Cathay&#8217;s airport manager at FRA boarded the plane almost as soon as the door opened, and made an announcement that we would be bussed to Amsterdam and what the process would be.  Once we made it into the Frankfurt terminal we only had a couple of hours wait before we got to shuffle ourselves to some waiting coaches for our unexpected bus tour of north-west Germany and north Holland.</p>
<p>The bus ride was uneventful &#8212; except that I don&#8217;t ever tire of seeing fine German automobiles at-speed in their natural habitat: the autobahn.  As it turned out, the whole event actually solved a problem for me: how to fill in the nine hours between arrival at Schiphol and being allowed to check in to the hotel (S thought I was being <strong>way</strong> too positive when I told her that).  It actually was not an unpleasant way to spend a day post-long-haul-flight.</p>
<p>After catching a train from Schiphol to Centraal, finding my hotel, checking in, and cleaning up from the trip, it was time to get a bit of rest before meeting the rest of the Australian contingent to BrainShare for dinner.  We dined at <a title="Yes, in English it really does mean &quot;The Five Flies&quot;" href="http://www.thefiveflies.com/en" target="_blank">Restaurant d&#8217;Vijff Vlieghen</a>, a fine restaurant that (unbeknown to me beforehand) is one of the best in Amsterdam for traditional Dutch cuisine.  I&#8217;m amazed I stayed awake through the five courses, but luckily my travel didn&#8217;t catch up with me until I made it back to the hotel.</p>
<p>I had Tuesday pretty-much to myself.  I did quite a bit of walking around, trying to push through the jet-lag.  Early afternoon I walked with a couple of colleagues from Novell to the conference venue to register, and had a late lunch afterward. By late afternoon I realised that I wasn&#8217;t over the jet-lag and decided to rest up for the start of the conference.</p>
<p>The next couple of days are a bit of a blur.  Keynotes, demos, technical sessions, product launch parties, beer, food, sunsets after 10pm&#8230;  It was an incredible week.  As far as the BrainShare content goes, even though Linux is just a part of the Novell &#8220;story&#8221; I was never really starved for something interesting.  I enjoyed the demos of SUSE Studio, and learned some things about the High Availability extension for SLES and the Subscription Management Tool.</p>
<p>I had a great time.  The crew from Novell that hosted me were fantastic, and every time I go there I fall a little bit more in love with Amsterdam.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/05/amsterdam-trip-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ppc Linux on the PowerMac G5</title>
		<link>http://veejoe.net/blog/2010/04/ppc-linux-on-the-powermac-g5/</link>
		<comments>http://veejoe.net/blog/2010/04/ppc-linux-on-the-powermac-g5/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 23:42:10 +0000</pubDate>
		<dc:creator>Vic</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[ppc]]></category>

		<guid isPermaLink="false">http://veejoe.net/blog/2010/04/ppc-linux-on-the-powermac-g5/</guid>
		<description><![CDATA[With Apple&#8217;s abandonment of PPC as of Snow Leopard, I began wondering what to do with the old PowerMac. It&#8217;s annoying that so (comparatively) recent a piece of equipment should be given up by its manufacturer, but that&#8217;s a rant for another day. Yes, we can still run Leopard until it goes out of support, [...]]]></description>
			<content:encoded><![CDATA[<p>With Apple&#8217;s abandonment of PPC as of Snow Leopard, I began wondering what to do with the old PowerMac. It&#8217;s annoying that so (comparatively) recent a piece of equipment should be given up by its manufacturer, but that&#8217;s a rant for another day. Yes, we can still run Leopard until it goes out of support, but with S and I both on MacBook Pros with current OS I know that we would both become frustrated with a widening functionality gap between the systems.</p>
<p>I had always resisted runing Linux on the PowerMac, thinking that the last thing I needed was yet another Linux box in the house. I had tried a couple of times, but it was in the early days of support for the liquid cooling system in the dual-2.5Ghz model and those attempts failed dismally. I figured that by now those issues would be resolved and I would have a much better time.</p>
<p>I assumed that Yellow Dog was still the &#8216;benchmark&#8217; PPC Linux distro, so I went to their site. I saw a lot of data there about PS3 and Cell; it seems that YDL is transitioning to the cluster and/or research market by focussing on Cell.</p>
<p>The next thing I discovered is the lack of distributions that have a PPC version, even as a secondary platform. My old standby Gentoo still supports PPC, as does Fedora (I think: I saw a reference to downloading a PPC install disk, bit didn&#8217;t follow it), but every other major distro has dropped it &#8212; openSUSE, for example, with their very latest release (their download page still has a picture of a disc labelled &#8220;ppc&#8221;, but no such download exists, oops). I guess that since the major producer of desktop PPC systems stopped doing so, the distros saw their potential install base disappear. Unfortunately for those distros, I can see the reverse happening: now that Apple has fully left PPC behind, plenty of folks like me who have moderately recent G4 and G5 hardware and who still want to run a current OS will come to Linux looking for an alternative&#8230; I guess time will tell who is right on this one.</p>
<p>So I went to install Gentoo, and to cut a long story short I had exactly the same problem as before: critical temperature condition leading to emergency system power-off. I found that if I capped the CPU speed to 2Ghz I could stay up long enough to get things built, but then the system refused to boot because it couldn&#8217;t find the root filesystem. Probably something to do with yaboot, SATA drives and OpenFirmware. So again I&#8217;m putting it aside.</p>
<p>My next plan was to treat it as a file server. Surely a BSD would support my G5 hardware: after all, Mac OS X is BSD at heart&#8230; Well, no. FreeBSD has no support for SATA on ppc, OpenBSD specifically mentioned liquid-cooled G5s as having no support, and I don&#8217;t think I saw any ppc support on NetBSD more recent than G3 [1].</p>
<p>This is one of the things that annoys me about the computer industry: that somehow it&#8217;s okay to so completely disregard your older releases. What if the automotive industry worked that way?</p>
<p>So I may yet try Fedora, or give the game away for another year or so and see what the situation looks like then.</p>
<p>[1] I may have mixed up a couple of these details.</p>
<p><strong><em>Edit</em></strong>: Gentoo&#8217;s yaboot has managed to make it so that I can&#8217;t boot Mac OS X on the machine any more.  Oh dear.</p>
]]></content:encoded>
			<wfw:commentRss>http://veejoe.net/blog/2010/04/ppc-linux-on-the-powermac-g5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<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[Linux]]></category>
		<category><![CDATA[Networks]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[openvswitch]]></category>
		<category><![CDATA[virtualisation]]></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>8</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>1</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 coast [...]]]></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>3</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, [...]]]></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 [...]]]></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>3</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 [...]]]></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 [...]]]></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>1</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>3</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 [...]]]></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>7</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 [...]]]></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 [...]]]></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>1</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 [...]]]></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. [...]]]></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>4</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 [...]]]></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 [...]]]></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 [...]]]></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>
	</channel>
</rss>

