Posts Tagged observation

Good Luck: a dream

This is a fictionalised retelling of a dream I had in the wee hours of this morning.  It flows basically the same as the action from the dream, but some of the thinking and interpretation occurred in the couple of hours after I woke up and still had the dream in my head. I also left out of the retelling some action from the dream before and after this main part; if you dream like me, you’ll know that often there’s a bunch of crap that happens, then the good bit, then it kind of trails of with more crap after the good bit.

I’ve created a new category on this blog, entitled Fiction, because I’ve been doing a bit of writing recently and I figured I perhaps should start to put some of it out there.  This is the first entry in this new category.

Anyway, here it is.  Please enjoy.

“Do you want to start something?” he shouted at me.
A minute or so before we had passed each other walking, and had even exchanged an almost cheerful greeting.  In that moment I don’t think I fully understood who he was though.  But I understood now.
“Do I want to start something?  Yes, in fact…  Let’s START something,” I shouted back.
We were in her, now their, front yard, and he was holding the end of a garden hose that, for some reason, ran along the lawn in an almost straight line right to where I was standing.  He waved the end of the hose, like you do when you’re trying to loosen a kink or dislodge it from under a tyre when you’re washing the car, but the wave didn’t reach me.  He threw down the hose and looked around; there was a pile of garden rakes near where I stood, and we both made to arm ourselves.
I reached the pile first.  The rakes were old, their wooden handles worn and weathered. The rake ends were the plastic fan-shape kind and pretty useless for the purpose they were about to be applied to.  An old metal rake head like Mum used to have at the old house, the kind that cartoon characters stand on and smack themselves in the face with the handle, would have been much more intimidating.  As I picked up one of those sad garden implements I thought to myself that this fight, whatever happened, was going to look pretty bloody ridiculous.
He was far enough away from me that by the time I’d picked up one of the rakes he’d only just managed to complete his short sprint to the pile.  He was enraged, his face contorted by a paroxysm of hate and possibly other emotions.  He bent down, grabbed a rake, and started swinging it randomly at me while yelling wordlessly.  A thought came to me, unbidden: why are you so angry at me?
After all, you’re the one playing Happy Families with my ex-wife.
After fending off a few of his swings I actually had to block one that was almost well aimed.  The handle of his rake snapped, and he stumbled forward with the unexpected change in momentum.  He froze, stooped over the pieces of the rake.  “Oh god,” I heard, “oh god,” and as he slowly straightened it looked for a moment like one of the pieces of the broken rake had impaled his left forearm, but he was actually just kind-of cradling it.  He moved gingerly, as if he thought it might change its mind and impale him after all if he moved too suddenly, or maybe he thought he might get a splinter.
Through rage-clenched teeth he said “I’ll get another…  I’ll break one for you so you can have two pieces…”
“You don’t want to do that.”
The voice was mine, but I only knew that because I had felt my mouth moving along with the sound of the words.  The words were spoken so calmly that I doubted it was me who had spoken: I simply didn’t think I was capable of speaking so serenely.
My hand was on his shoulder.  In an instant all of his rage was gone, replaced with something almost like, I don’t know, grief.
“It’s just that she’s…”
To be honest, I didn’t really hear what he said.  Something about how his kids are everything and that she is so good with them and they are so good together and she completes him and whatever.  He was justifying himself to me, for what reason I could only imagine.  Maybe it was guilt — she’d protested when we separated that she wasn’t having an affair, but that doesn’t preclude them having planned to offload me to be together.  Maybe he realised that I was the one man who had been where he was now, and instead of a threat I was suddenly a confidante.  Whatever it was had left him drained and deflated, and after finishing his speech he hung his head, silently weeping.
In that moment I knew how he felt, for she had once had that hold, that power, over me.  He was in her thrall.  There are some women with enough of that power to hold many men that way, but not her — I mean she’s a great girl, but not that great.  So when I saw that he was spellbound by her, I knew what it meant for me.
It meant I was free.
I took a step back, and after a moment he raised his head to look at me.  I held his gaze for a few seconds, then smiled a wry grin that I tried to make look more “I’m glad for you, no hard feelings” than “sucked in, dickhead”.
“Good luck,” I said.  Finally putting down the rake, I turned and walked away.  I had a life to get back to.

Tags: , , , , ,

IPv6: SSDM?

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’s a good chance Geoff Huston was lobbying his APNIC colleagues to lodge the “final request” (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 “I’m the guy who said that a 32-bit address would be enough, so, sorry ’bout that”, to Geoff Huston saying “Vint Cerf is a professional optimist.  I’m not.”.  But I digress…

I did a bit of playing with IPv6 over the years, but it was too early and too broken when I did (by “too broken” 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.

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 gw6c process on my router box.  Easy-as, I had a tunnel — better still, my IPv6-capable systems on the LAN also had connectivity thanks to radvd.  From Firefox (and Safari, and Chrome) on the Mac I could score both 10/10 scores on http://test-ipv6.com!

My joy was short-lived, however.  gw6c 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’t be too bad, except that all my IPv6-capable systems still had the old address and were trying to use that — looks like IPv6 auto-configuration doesn’t un-configure an address that’s no longer valid (at least by default).  I started to look for possible alternatives.

Like many who’ve looked at IPv6 I had come across Hurricane Electric — in the countdown to IPv4 exhaustion I used their iOS app “ByeBye v4”.  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).

In typical style, after I’d set up a stable tunnel and got everything working, I decided to learn more about what I’d done.  What is IPv6 anyways?  Is there substance to the anecdotes flying around that are saying that “every blade of grass on the planet can have an IPv6 address” and similar?  Well, a 128-bit address provides for an enormous range of addresses.  The ZFS guys are on the same track — 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’s Guide to the Galaxy:

Space is big. Really big. You just won’t believe how vastly, hugely, mind-bogglingly big it is. I mean, you may think it’s a long way down the road to the chemist’s, but that’s just peanuts to space.

The Guide, The Hitchhiker’s Guide To The Galaxy, Douglas Adams, Pan Books 1979

Substitute IPv6 (or ZFS) for space.  To try and put into context just how big the IPv6 address range is, let’s use an example: the smallest common subnetwork.

When IPv4 was first developed, there were three address classes, 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 “subnet” or “supernet” networks — 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 — a format known as “CIDR notation” came into use, where an address would have the number of bits written after the address like this: 192.168.1.42/24.

Fast-forward to today, with IPv6…  IPv4’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 “/64”.  This means that out of the total 128-bit address range, 64 bits represent what network the address belongs to.  Let’s think about that for a second.  There are 32 bits in an IPv4 address — that means that the entire IPv4 Internet would fit in an IPv6 network with a /96 mask (128-32=96).  But the default smallest IPv6 subnet is /64 — the size of the existing IPv4 Internet squared!

Wait a second though, it gets better…  When I got my account with Gogo6, they offered me up to a /56 mask — that’s a range that covers 256 /64s, or 256 Internet-squareds!  Better still, the Hurricane Electric tunnel-broker account gave me one /64 and one /48Sixty-five thousand networks, each the size of the IPv4 Internet squared! And how much did I pay for any of these allocations?  Nothing!

I can’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 — 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?

Like the early days of IPv4 though, things will surely change as IPv6 matures.  I guess I’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.

Update 16 May 2011: I just listened to Episode 297 of the Security Now program…  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 “wasteful” allocation of IPv6).  At about 44:51, he starts talking about the current “sky is falling” attitude regarding IPv4, and states “you’d think, maybe they’d learn the lesson, and be a little more parsimonious with these IPs…”.  He goes on to give the impression that the 128-bit range of IPv6 is so big that there’s just no need to worry about it.  I hope you’re right, Steve!

Tags: , , , , , ,

On being an early-adopter

I like new things. Many of my friends and colleagues do as well. Some of us are very familiar with “early adopter tax”, the high price of paying for a new release product or program in spite of the knowledge that delaying the purchase would save money. I got to thinking about early-adoption a little while ago, and came to somewhat of an epiphany: nothing to do with shiny gadgets or cool software, either…

Some months ago I was in an IRC channel with a group of folks in the team I was working with at the time. The conversation had come around to green electricity, what deals our respective electricity companies were offering, and whether we were “doing the right thing” and selecting green energy.

I was a nay-sayer. “It’s a scam,” I railed. “Why should I pay extra for green power when the electricity companies know they should be doing that anyway?” The conversation turned to subsidies for installing solar power systems, and soon after that we actually got back to work. 🙂

Months later I recalled that conversation while listening to a podcast. The presenter was discussing climate change and the need for urgent action, whatever the cost. Which is when it hit me: green energy and it’s friends are like an early-adopter tax for a sustainable future.

In the early 90s, I remember models of the IBM ThinkPad would cost A$12k and more. Twelve THOUSAND dollars! Over time however, the developments in the technology have led to such remarkable improvements that a modern laptop can be had for a fraction of that amount, and projects like OLPC becoming viable. None of it wold have happened, however, if early-adopters had not backed the IBMs, Compaqs, and Toshibas (and the Osbornes before that, bless them) and supported the idea.

In 1978, when Mercedes-Benz first fitted ABS to the S-Class[1], I expect they would have wanted to make it at least an option on all their vehicles. That they didn’t, when the cost of doing so would have been astronomical, ensured that they were able to viably continue research and development on the technology and bring the cost down over time. Together with other car makers who progressively did the same, they ensured that even a modern $10k car can have access to such technology, but again it wouldn’t have happened if not for those S-Class buyers validating the idea and stumping-up the cash.

I’ve realised that businesses don’t have a conscience, and that the current economic model cannot reward a company for “knowing what it should be doing”. In quite a real way, companies need their customers to be their conscience by supporting those products that make a contribution to society, and rejecting products that are damaging or harmful. Longer-term, those companies that “get it” will thrive while those that don’t will fail.

So my consideration on things like green electricity changed to, simply, “can we afford to?”. Knowing that in around three months I’ll be meeting my second child (all going well), and becoming maudlin about the state of the world that a new person is being brought into (as new parents sometimes are wont to do), perhaps the question should be “can we afford NOT to?”…

[1] Other manufacturers fitted ABS systems to cars earlier than 1978, but they seemed to be one-off decisions that were inconsistently implemented or met with commercial failure. Mercedes-Benz, once the decision was made, stuck with it.

Tags: ,

Internet-grade

It’s probably been coined already, and I’m sure it’s not a new realisation. Something happened at my employer recently that’s made me wonder whether the old benchmark of “enterprise-grade” is really relevant any more.

Our internal IM system was closed down for a while this week, and when it was restarted a number of us could not reconnect. It turns out that the IM servers had been set up to lock this particular client out. Nothing unusual about that really, as it has happened in the past with unsupported clients that stress the servers in unexpected ways.

What was different this time is that the client in question is part of a new “integrated communications” offering — a version of our e-mail client that has the IM client built-in. This product, which will be sent to-market quite soon (and therefore we will be expecting our customers to buy), has been locked out of our IM infrastructure. The further irony is that the part of the business that markets this software runs a “use what we make” initiative to get people to use development versions of their software in their day-to-day work.

The IM system in question is marketed as enterprise-grade — and in general it lives up to that, having to support a couple of hundred-thousand users at peak. What got me thinking though is that systems like MSN Messenger (or whatever it’s called now) and Yahoo! IM and AOL IM must be supporting millions of connections at a time with nary a blink.

So (if it wasn’t already) I’m knocking “enterprise-grade” off the top-spot of reliability rankings. Nowadays, the top spot surely goes to “Internet-grade”. I mean, just imagine the amount of traffic that must pour through Google Talk and Skype — these are systems that not only do text chat but voice and video as well — while our IM is still struggling with smilies and changing fonts. The trouble, in the case of my employer, is that the name of this IM service is synonymous with the concept of IM there. It doesn’t matter that even an open system like Jabber could scale better.

In my opinion, our software people need to take a look at what Google has done in taking XMPP/Jabber and creating Google Talk. Either that or the company needs to do what another prominent software company did and actually use one of the public IM systems (I cant remember which one they use, either YIM or AIM) as the corporate IM platform.

I feel for the developers of the new client, who I’m sure would love to have a stable environment to do a large-scale test on. Oh well.

Tags: