db(); $openidname = $_SESSION["sess_openid_auth_code"]; ?>

« November 2007 | Main | January 2008 »

December 2007 Archives

Friday, 7 December 2007

Sinterklaas, kom maar binnen met je knecht

Yesterday was 5th December, a big day in the Netherlands. The occasion is Sinterklaas, which is the eve of Saint Nicholas, the patron saint of children. The name Sinterklaas is a contraction of Sint Nicolaas.

Sinterklaas also provides the basis for the North American figure of Santa Claus, although that personage is distinct in Dutch culture and is known as de Kerstman.

The celebration of Sinterklaas is still much more popular than Christmas in this country. Many more people give presents on Sinterklaas than at Christmas, although more and more are giving presents on both occasions these days.

Sinterklaas is assisted in his giving duties by Zwarte Piet (Black Pete), a colourfully dressed figure with a black face. Opinions differ on whether this historically represents a person of African origin (originally, it was intended as a depiction of the devil). Some of those who believe it does read further into the role of Zwarte Piet as the servant of Sinterklaas and find unacceptable racial stereotyping. I find this reading to be naïse and largely the product of oversensitivity to the modern plague of political correctness.

Anyway, Eloïse 's playschool obviously celebrates this nice tradition and so we snapped a few photos when we went to pick her up.

Pepernoten, taaitaai decorated by the children with hagelslag, toddlers made up as Zwarte Piet and wearing colourful costumes, presents galore; it was all there.

Sinterklaas has now returned to Spain on his steamboat, but he'll be back again next year.

Before he went, he found time to ring the doorbell of the house yesterday evening and deposit a few more presents in Eloïse 's boot. Papa also wrote a poem about Eloïse , which he read to her great disinterest after dinner.

A phone conversation with Opa rounded out the day and Eloïse went to bed, a very tired little girl.

Today, Eloïse has been talking about the presents that Sinterklaas gave her. It's clearly made a big impression on her and it's a joy to see her imagination working overtime.

Ik Ben Toch Niet Gek?

Media Markt. Tja.

Het type kabelversterker dat ik zoek: niet voorradig.

De DVD die ik zoek (Love My Way serie 2): niet voorradig.

Het type geheugenkaart dat ik zoek (8Gb microSDHC): niet voorradig. Ook hangen er geen 16Gb CF-kaarten in het rekje en zo eentje heb ik al in maart van dit jaar uit de VS laten overkomen. Zucht.

Alles wat je zoekt is consequent niet bij deze winkel te vinden.

Niet alleen dat, maar de praktische bedrijfsvoering is uitermate slordig. Ik zie bv. ergens borden boven schappen staan met daarop de tekst Notebooktassen en Accessoires. En wat vind je er in die schappen? Juist, DVD's.

Zo'n zaak waar dit soort slordige praktijken wordt geduld doet je kooplust snel omslaan in minachting en onwilligheid om je zuurverdiende centjes te overhandigen. Die gun je ze gewoon niet; hebben ze zodoende niet verdiend.

Toch liep het niet uit op onvervalste tijdverspilling, want ik kwam uiteindelijk toch weg met een damesscheerapparaat voor Sarah d'r verjaardag (ja hoor, vandaag is ze 34 geworden). Eens te meer verliet ik de zaak morrend, een beetje boos op mezelf dat ik ondanks dergelijke ervaringen toch weer eens was teruggekomen.

Onderweg naar je auto krijg je ook nog een trap na van de parkeerautomaat, die onverbiddelijk geld afdwingt voor je mislukte winkelrit en het gebruik van een verder uitgestorven parkeerterrein.

Ik ben toch niet gek? En toch kom ik ongetwijfeld weer terug. Er zijn gewoon geen goede elektronicazaken in Amsterdam. Het aanbod ontstijgt niet eens het niveau van het Amerikaanse platteland.

Goh, dat lucht op. Bloggen in het Nederlands voor de verandering. Het interesseert toch geen hond buiten de landsgrenzen; als het al iemand binnen de stadsgrenzen interesseert.

Tuesday, 11 December 2007

Please Rescue My Stagnant Software

In the 2.5 years since I left Google, stopped working and moved away from Silicon Valley, my motivation to write code has waned and reached an all-time low ebb.

There are many reasons for this. For example, I'm father to a busy toddler these days, I'm no longer surrounded by brilliant geeks who fire my imagination and make me research new technology, and I rarely happen upon a need for a piece of code that hasn't yet been written.

Indeed, with very few computer systems to set up at home and no professional programming assignments to send me off on weird and wonderful coding tangents at home, the only piece of code that has seen regular development over the last year has been my TV guide data grabber for the Dutch cable TV network, UPC. Unless you were a Dutch MythTV user whose cable company was UPC, you wouldn't have noticed this. It's not exactly been my top download.

Even maintenance of my old projects has pretty much ground to a halt. You see, most open source software is born of a personal need. Necessity is the mother of invention, as they say. If code to solve a certain problem didn't exist, I had to invent it, assuming it was within my capability; which it fortunately sometimes was.

Ruby/LDAP is a good case in point. Although I didn't start Ruby/LDAP from scratch, it amply illustrates what I'm talking about.

After submitting a series of patches to Ruby/LDAP in 2003 and becoming frustrated at their slow rate of inclusion, the then maintainer tired of my e-mails and offered me the role of maintainer of the software. He had lost interest in the project, because he had long since stopped working with LDAP. See what I mean?

Anyway, I jumped at the chance. In the next year, development was rapid. I added a lot of features and fixed a legion of bugs. The development roadmap was easy. The use of LDAP at Google was exploding at the time, much of which was happening under my guidance and supervision. Every time a new need was found that logic dictated should be solved at the library level, it went on the Ruby/LDAP to-do list and was implemented by me not long after. I didn't need to spend much time thinking about which new features should be added, because they simply presented themselves to me in the course of doing my work.

These days, things are a little different. Not only do I no longer have a need to manipulate vast quantities of data in LDAP directories, I no longer even have ready access to working LDAP servers full of real, live data. Granted, I could set up a server at home, populate it with junk, and use that to test my library against, but without real-world problems occurring to me, it's not obvious which course development should take. In this scenario, the only real work that happens is the fixing of bugs.

It's the same with most of the software I have produced in recent years. The conclusion is simple. Once I cease to use a particular technology, my interest in it eventually drops below the level required to continue maintaining software. Sometimes the technology is no longer used because I am no longer in a professional environment (Ruby/LDAP, Ruby/CorporateTime), but it can also be because I have ceased to use it at home (bash completion.

Another reason software development can grind to a halt is because it reaches the point that it satisfies all of my personal needs (Ruby/Password, Ruby/DICT, Ruby/Finance, acoc, the very ancient signature.

The upshot of all of this is that most of the software that is under my wing for maintenance has badly stagnated.

In spite of promises to the contributors and enthusiasts of my various projects, I have languished and failed to make available public source repositories, mailing lists and the like. Such resources would have allowed the development of the software to continue, in spite of my current apathy.

Part of the problem has been in not wanting to let my babies go. bash completion, in particular, was started by me from scratch and has been very successful. Whilst I haven't made a cent from it, it features in many Linux distributions, has been in the Freshmeat most highly rated projects top 10 for many years and has featured in several magazine articles. Not bad for a piece of code that I started just to keep myself busy in the evenings, whilst killing time for a month in Canada, waiting to re-enter the US (it's a long story).

Rightly or wrongly, I'm quite proud of that software, but that pride has got squarely in the way of its continued development. In not wanting to relinquish the reins of control and any vague geek recognition that might have afforded me, I have instead allowed it to stagnate. Its last release was over 18 months ago.

Well, I have seen the error of my ways and am now prepared to act. As of this moment, I am declaring all of my software eligible for adoption by new parents, with the exceptions of my MythTV data grabber and Ruby/Amazon. This latter project has, in spite of everything I've said above, seen some recent work and I still intend to release a new version within the foreseeable future (but please don't hold your breath).

In particular, bash completion and Ruby/LDAP urgently need loving new homes. If you are reading this and would like to become the new maintainer of either project, please get in touch. Be forewarned, however, that you will need a fairly convincing argument to become the new owner of bash completion, as it needs a skilled and dedicated developer (yes, yes, even though I haven't been that myself recently). Ideally, you will have been a reasonably prolific past contributor to the project, thereby having already proven your candidature.

If I don't find new homes for these waifs and strays soon, I will scour my old e-mail for likely candidates and approach those myself. In fact, I may do this anyway.

So, it's open season on my old software. Let me know if you're interested, explain why and where you plan to take future development, and you could find yourself the owner of a mouldering CVS repository.

Saturday, 15 December 2007

Münster

We're in Germany tonight, Münster to be precise.

We drove here after this morning's Little Gym session in order to sample the atmosphere of another German city's Weihnachtsmarkt.

It turns out to be an attractive, vibrant little town, although I'm not entirely certain we ever left the Netherlands. I distinctly remember driving across the border and seeing the signs change from Dutch to German, but on the basis of the people walking around here, I have to wonder.

It seems as if one in two people speaks Dutch around town. Even before they've opened their mouth, you can identify a group of people as Dutch from the young men in the group. They all have that same tell-tale bad hair. You know; where great care and even greater quantities of hair gel have been applied to achieve a look of cruel disarray.

Dutch men and their hair gel: what can you say? It's so embarrassing and pitiful that I've been able to pick otherwise anonymous Dutch men out of a crowd on the other side of the world. I'm honestly not joking. No other nation in the world has placed its future in the hands of men with such daft hair. It's so bad that it makes you want to take them aside and tell them. You think they mustn't really know how daft they look. It's as if they're walking around with their flies undone. You cringe and blush on their behalf.

But I digress.

The Christmas market is good. All of the usual stuff is here, everything from bee's wax candles to wooden puzzles, from olive wood carvings to Christmas books; all of it accompanied by fairground rides, lashings of piping-hot Glüwein, suggestive-looking bratwurst and downright lewd Krakauers; not to forget the rice-pudding with cinnamon and sugar. Yum.

We haven't actually bought anything (except food) yet, but it's been fun looking around. Mostly fun, that is. It's extremely busy here and pushing the pram across squares filled to capacity can take several minutes instead of ten seconds. Seriously, it wouldn't do to be claustrophobic here. Hopefully, the crowds will be fewer in the morning.

We had dinner at a really nice Spanish restaurant that was positively hopping with customers. The food was excellent and the service was attentive. Eloïse seemed to have a good time, too.

Our hotel's just outside of the old town. Most of the hotels we called a week ago were booked solid, so we had to take what we could find. It's pretty good, though. There's free wireless Internet, a TV that gets Nederland 2 and even CNN if you're desperate, and the room doesn't smell.

The bed is interesting. When I put pressure on the mattress earlier on, it sank in the middle, so I inspected the frame and discovered several slats displaced and lying on the floor. We'd have sunk through the middle if we'd tried sleeping on it in that state. I pulled off the mattress and literally had to make the bed this evening, which is a first. Still, the free Internet access makes up for everything.

We'll spend more time ambling around here tomorrow, perhaps buy a couple of things, then head back to Amsterdam in the afternoon. Sadly, there's no decent autobahn along the route, so you'd hardly know that we were in the last bastion of the unconstrained cruiser. So, it'll be pretty much all 100 - 120  kmh back to Mokum.

Sunday, 16 December 2007

Home Improvement

As the year draws to a close and we prepare to head off to Providence at the end of next week, the last bits of work on the house and its grounds are being done.

The roofers are in to replace the roof on the garden house. Once the slates were off, the beams underneath turned out to be completely rotten, so they must now be replaced. It's a big and very expensive job, which won't now even be finished before we leave for the US. I hope there are no more nasty surprises in store, but that seems unlikely, because everything remotely related to the roof has already been demolished and is now ready for replacement.

Last Thursday, I the electricians came in to do some new cabling and rewiring for me.

Firstly, they ran CAT5 cables from the meter cupboard (where the phone line comes in) to the stair cupboard (where the patch panel and the DSL router are located). This was to allow me to disconnect the PBX (home telephone exchange) from the ISDN line in the meter cupboard and connect it to a new (not yet set up) PBX in the stair cupboard. Then, the new PBX will be connected to the ISDN line, hence the need for at least two new cables.

I had them run five new cables in total, which provided the capacity for a network jack panel to be put in place by the computers that handle the various security cameras around the perimeter of the house. These are located in the cellar, opposite the meter cupboard.

This allowed me to network these two machines, which means that I can now use VNC on the laptop and the desktop in the office to view the images from the outside security cameras in real time. Not that there's much happening out there, but I like the idea of being able to view my front doorstep from Providence over Christmas. Well, why not?

Finally, all of the relevant cellar locations are now interconnected and the equipment in those areas is able to address any other device on the network. This is exactly as it should be.

The electricians also rewired a couple of extension sockets in the living room, so that whatever's plugged into those is no longer controlled by one of the wall knobs by the door. This allows us to use the knob to control our lovely new standard lamp, without turning off the Sonos when we turn off the lamp at the end of the evening. Previously, the sockets connecting these things were all on the same circuit.

The new year will see the return of the electricians for a few more jobs here and there, including the repair of a few of the security lamps around the building. I've been extremely happy with the work they've done on this and previous occasions, especially now the way has been paved for me to fit a new PBX with VoIP capabilities and an advanced dialling plan. Watch this space.

The garden, too, is ready for a major overhaul. The architect has received our approval for her rough plan and is now going to work out the design in detail. The garden should be laid in the first quarter of 2008 and will feature, amongst other things, playing apparatus for Eloïse .

This will be a thorough reworking of the current garden and is, without a doubt, the most ambitious project that we have ever commissioned. I can't wait to see what the end result looks like and what Eloöse makes of it.

Thursday, 20 December 2007

Putting On The Fritz

After last week's rewiring and laying of cables, I settled down Monday evening to install my latest gizmo, a FRITZ!Box Fon WLAN 7170 from the German manufacturer, AVM.

Now, FRITZ!Box may just possibly be the worst-name ever devised for a product, but the product itself is as sound as a pound.

Basically, the 7170 is a combined DSL modem, IP router and PBX. The DSL modem/IP router combo is a common one nowadays, and more and more are appearing with RJ-11 sockets for attaching analogue telephone equipment, which can then be used for Internet telephony, a.k.a. VoIP.

Where the 7170 leaves most of its peers behind is in the inclusion of the PBX. Not only can analogue equipment be connected, but on the Annex B model, there's also an S0 bus for attaching ISDN equipment. The 7170 is then connected to your ISDN NT1. (The Annex A model is for attaching to an analogue line.)

But that's only where the fun begins, because you can also define up to 10 VoIP carriers and then put together a comprehensive dialing plan.

The telephone hardware topography is now as follows. The ISDN line enters the building in the meter cupboard and the signal is split for DSL and telephony. The alarm is connected directly to the ISDN line at this point. Our legacy NEC ISDN PBX is located here, too.

A cable carries the NEC PBX to the patch panel in the cupboard under the stairs, where most of our server and network equipment is located. There, the NEC PBX is connected to the S0 bus of the FRITZ!Box and the analogue telephone is plugged into the appropriate socket. The FRITZ!Box is then patched back to the meter cupboard, where the DSL and telephony join the ISDN NT1 box.

Our fax machine is still attached to the NEC PBX, as I couldn't find a way to make it call out using the correct number when attached to the FRITZ!Box. It will answer the right number, but it calls out using the main ISDN number. No matter, having it attached to the NEC means that we keep an analogue socket free for future use on the FRITZ!Box.

Next comes the dialling plan and that's where the magic really begins.

As we all know, different carriers have different tariffs and some are cheaper than others in one area, whilst being more expensive in a second. The situation is further complicated by the fact that some carriers cannot be used to call certain numbers at all.

The dialling plan allows you to determine how your telephony is routed. You do this by categorising numbers based on their initial digits.

Our dialling plan ends up looking like this:

Numbers beginningPurposeRouted via
112emergency callsfixed line
090commercial services (0900, 0906 & 0909)fixed line
087essentially XS4ALL subscribersXS4ALL VoIP
0800free servicesfixed line
0all other trafficVoipCheap VoIP

Here, we see that emergency calls and information services are routed via the fixed line. In the case of emergency calls, that's for the sake of reliability. In the latter case, it's because some (but not all) of these numbers can't be dialled usng VoIP.

Other XS4ALL subscribers are contacted over XS4ALL's VoIP network, because such calls are free and this is the shortest path.

All other calls are routed via VoipCheap, because this carrier has the cheapest rates available, as far as I can ascertain.

VoipCheap works like this. You deposit €10 of credit, which allows you to make calls on their network. However, it also entitles you to 90 days of 300 minutes per week of free calls to large parts of the world. This basically includes Europe, North America and New Zealand, which are the places Sarah and I are most likely to call.

You may have noticed that our dialling plan will default to routing calls to Dutch mobile phones also through VoipCheap. That's because VoipCheap offers such calls at the rate of 10 cents per minute, which is cheaper even than when I call a mobile number from my own mobile phone. It's amazing to me that a foreign carrier can offer cheaper calls to Dutch mobile numbers than any Dutch carrier (including all of the mobile operators), but there you go.

Once your 90 free days are up or you go over your 300 minutes per week of free calls, calls are charged at VoipCheap's normal rate, which is basically 1 cent per minute to the destinations I listed. That's still cheaper than any of the alternatives, before you even consider the 90 days of free calls per €10 of credit.

Yes, it's actually cheaper for me to call another number in Amsterdam via a foreign carrier than it is to use a Dutch carrier, unless I sign up for a flat-fee subscription with the latter, but those are priced in such a way that it's cheaper for us to just pay as we go. We simply don't make enough calls for it to be economical.

The end result is that we can now pick up any phone in the house and make a call without having to first think about who we're calling. That we happen to pick up an ISDN or an analogue handset says nothing about how the call we make will be routed. The ISDN handset could have its call sent out over the Internet. The analogue handset, which we had previously attached to our SpeedTouch 780 DSL modem and could therefore use only for VoIP calls, could now just as easily send a call over ISDN.

The one area where the dialling plan lacks sophistication is that you can't configure time-based rules. Our ISDN Bellvrij Weekend subscription, which we need for the alarm system, gives us free calls to any destination in the Netherlands at the weekend.

Ideally, we would route any domestic weekend calls over ISDN instead of through VoipCheap, since a fixed line is always more reliable than VoIP. Additionally, we would preserve some of our 300 minutes per week of free calls or, if we had already used them up or were past our 90 days of free calls, still be able to make free calls.

If we really cared, we could still elect to make a fixed line call at the weekend for a number that wouldn't ordinarily be routed that way by prefixing the number with *111#. That allows you to manually select the fixed line for an outgoing call. Similarly, you can also manually select a particular VoIP carrier.

The FRITZ!Box has a lot of useful (prefix) codes like this. For example, by picking up a handset and typing in a code, I can turn off or on the radio transmitter, thereby disabling or enabling the WLAN facility.

Using another such code, I can start or stop the FRITZ!Box's telnet daemon that allows me command-line access.

What a cool toy the FRITZ!Box is, in spite of its appalling name. There are a few disadvantages, however. Given the wealth of features and settings on the box, it's rather surprising to find that some things that I regard as basic are missing.

For example, you can't configure static DHCP addresses. Any hosts that you require to always have the same IP address must be manually configured at source, outside the defined DHCP range.

Staying with DHCP, it's not possible to pass a list of extra or alternative DNS servers to clients. The FRITZ!Box always configures hosts with itself as the DNS server. This proved problematic yesterday when I somehow ended up with a negative cache entry (or something with the same effect) for gmail.com, so that Sarah spent the whole day unable to read her e-mail until I was able to troubleshoot the issue.

Another minor issue is that once a host has obtained an address over DHCP, it remains in the list of known hosts long after its lease has expired. The only way to flush this table is apparently to save the FRITZ!Box's settings to a file and reload them. Why not make them manually deletable?

As I mentioned earlier, another issue is that I can't find a way to make an analogue device make an ISDN call using an MSN other than the main number. Perhaps it can be done, but if so, it's not obvious how.

Finally, WLAN range seems to be a little less than with the SpeedTouch 780, but it's not a big difference.

Small niggles aside, the FRITZ!Box is great. For the money (about €160), it's hard to imagine a more intelligent and flexible device. To get more flexibility than this, you'd be looking at expensive, rack-mountable devices for the business market. In particular, the ability to connect to an ISDN fixed line and to allow the definition of up to 10 VoIP carriers are, for me, its main selling points.

Telnetting in, it was nice -- and not altogether surprising -- to discover that the FRITZ!Box is, in fact, just another Linux box, running a 2.6.13 kernel on a MIPS processor. It's always nice to support a company using Linux, as long as the product is actually any good, which, in this case, it clearly is.

The FRITZ!Box has a million features. Here, I've touched only on those of most importance to me, namely the ones that allow me to call transparently and cheaply.

Saturday, 22 December 2007

Nippy

It's -5° outside as I write this.

The gossamer webs on the garden gate are coated with a thin layer of frost, which makes them look both beautiful and fake, as if someone were deliberately going for the haunted house look.

The Vondelpark's ponds are frozen and the trees reach to the skies with their blanched, skeletal limbs. It's an old-fashioned winter, the like of which we haven't seen for a few years.

Many flights from Schiphol have been delayed and we have to be up in just four hours to catch ours to the annual Christmas run. I do hope it leaves on time.

Sunday, 23 December 2007

Eloïse's Christmas Party

We've made it to Providence without any delays, which is good going, considering the number of people whose flights have been severely disrupted over the last few days.

We usually fly to the US for Christmas a little earlier than this, but it was important to allow Eloïse to finish the school term properly, as the entire group had been working steadily up to Christmas. The excitement culminated in the Kerstfeest, which was held after school on Thursday. And what a party it turned out to be.

I've also put up the photos of last week's visit to the Weihnachtsmarkt in Münster.

About December 2007

This page contains all entries posted to Caliban - Opinion and Righteous Anger in December 2007. They are listed from oldest to newest.

November 2007 is the previous archive.

January 2008 is the next archive.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34