You Know You’re Not In America When…

Ian just informed me that he got a bill from the health insurance company.  Apparently his recent operation and hospital stay weren’t paid for by the insurance because he has a deductible.  I immediately thought that it was unfortunate that he’s got the lower plan instead of the higher one that the children and I have and that maybe our reasonably-priced insurance wasn’t so reasonable after all.  He has one of the lowest coverage options because he knows that he’s very unlikely to go to the various voodoo doctors that I favor.

Anyway, I cringed and braced myself for the damage.  The amount?  €146.97.  That’s the entire cost of the laproscopic hernia operation and anesthesiologist (it was a general anesthetic), prep time in the hospital beforehand and about four hours in a bed afterwards.

It makes the €550 that my midwife billed for pre- and post-natal care and Lukie’s birth seem downright expensive.

Posted in Life, The Netherlands | 1 Comment

Of Old Dogs And New Tricks

Once upon a time, as an avid computer user and someone who even made his living in the field of IT, I used to regularly revisit my working habits and make incremental refinements to my methods and the set of tools I used on a daily basis. Over the years, this led to more efficient work practice and a better understanding of how the tools in particular and the system in general functioned.

In recent years, though, I suppose I’ve become set in my ways. I don’t evaluate new software nearly as often as I used to, and tools that I’m comfortable with and have used for years are rarely, if ever, reassessed to determine whether they’re still the best ones for the job.

Hardware isn’t immune from the phenomenon, either. Take the TrackPoint (nipple-like pointing device) on IBM/Lenovo Thinkpad laptops, for example. While most of the mobile computing world has since moved to a touchpad, I still hate the bloody things, because it’s impossible to avoid touching them by accident and they require one to take one’s fingers off the keyboard.

I’ve tried time and time again to adjust to a touchpad, because fewer and fewer laptops are still manufactured with a TrackPoint, but I can ultimately reach no other conclusion every time than that it really is an awful invention.

This choice (which is no choice at all) means that range of laptops available to me is now pretty much restricted to Thinkpads. At least they’re excellent computers, or I’d be left with nothing.

Similarly, even if I didn’t have ideological objections to Apple as a company, which, by themselves, are reason enough to boycott the company, there are the numerous usability issues with both their software and hardware, not least amongst which is their wretchedly handicapped single-button mouse, surely the stillborn child of the input device world. What’s next? A keyboard with a single key? Ovine Apple fans would still lap it up, I suppose, as long as it was shiny and white.

That’s fodder for another posting, however. This one is, as stated at the beginning, about software and working practices.

I once programmed and wrote e-mail in Emacs. After a few years, I moved to Vim, which I’ve been using ever since.

Similarly, I once read news (in the Usenet sense) with TIN, but then moved to slrn, where I still am (although I hardly read news any more).

What about shells? A little know fact is that I was briefly a tcsh user before moving to bash, where I was happy for years until I discovered that almost everything I liked about bash had been implemented in a turbo-charged fashion in zsh. I’ve never looked back.

Window managers have seen more varied use. I started off with fvwm2, but that was too awkward, so I moved to NeXTSteP clone, AfterStep. Then came a brief flirtation with Enlightenment, which was too unstable and unwieldy at the time to truly consider adopting, so I instead moved to WindowMaker, which was basically a slicker AfterStep with easier configuration. I eventually abandoned the concept of the highly configurable window manager and switched, almost incidentally, to the de facto GNOME standard of Metacity. I tried many more along the way, of course, but only the above were used for any great length of time.

By that point, much of the functionality commonly associated with the window manager had been extracted to the wider desktop environment, most commonly GNOME and KDE, leaving Metacity with little more to do than decorate and manage windows. One of the great things about WindowMaker, for example, was its dock. Metacity had no such feature, but GNOME offered a similar feature called the panel. At that point, window managers had all but ceased to be an interesting category of software. I had gone through a series of them, each more heavily-laden with features than the last, to ultimately adopt one that was very lightweight.

Programming languages have undergone similar scrutiny in the course of my computing life. Ten years ago, most of the programming I did as a system administrator was in Perl. Be it number-crunching, analysing log files, parsing text or writing an interface through which two pieces of software could talk to each other, Perl was the tool I reached for.

The nature of the job of a system administrator hasn’t changed much since then, but since 2002, I have been using Ruby almost everywhere that I would previously have used Perl; the sole exception being throwaway one-liners, such as quick text substitution. It’s still hard to beat Perl for that.

Since I stopped working as a system administrator, I’ve had only my own (home and remote) systems and network to manage. I suppose I must have overdosed on technology at some point, because I haven’t felt the need to keep up on new developments over the last four years. Part of that is because of the illusion of free time that retirement has created. I no longer feel cornered into the evenings and weekends by my work schedule, so in theory, each and every day can be turned into anything I want it to be, including a productive day of learning, honing one’s skills.

It doesn’t work out like that, however. Without the constrictions of a work schedule to underscore the precious nature of free time, I find myself putting off until never that which I could do today. I can shove some of the blame onto my children, too, of course, who are a big drain on my time and energy, but it’s a bit disingenuous. My own lack of self-discipline is the real problem here.

There was once a time that I read the Linux Weekly News every week. If I was going on holiday, I’d print it out and take it with me. The rain forests suffered, but my knowledge increased over time.

I used to read the kernel developers’ mailing list, not because I was one of their kith, but to keep up on the direction in which Linux was travelling and to find out what new features were being developed.

When a new release of Red Hat Linux would come out, I would check to see which new packages had been added since the last release and then research each of them to see if any useful new tools had been added. This was guaranteed to expose me to new tools, which often revealed new approaches to old problems, as well as areas of technology about which I was basically ignorant.

Perhaps the most amazing to me now is that I would, on a more or less annual basis, read all of the man pages on the system, to see which familiar commands had acquired new features and options that I could put to good use in my work. It was also a good way of reminding myself of the existence of the more obscure tools available in the UNIX world. You’d be surprised how many talented, senior admins I’ve met who have never heard of tac and rev, for example (which aren’t even that obscure).

The time has come to mend the error of my ways and rediscover some of those good practices.

That’s partially what the migration of the blog from Movable Type to WordPress was about, as was my attempt to teach this old dog new browser tricks with Chromium. Yes, they’re not a branch of rocket science, but that’s not the point, either. The point is to find inspiration again. To make fire, you first need a spark, and I chose browsing and blogging software to be my first pieces of flint. Once that fire is lit and the snowball starts to roll, I won’t just have poorly mixed metaphors, I’ll have momentum, too.

There’s nothing wrong with old technology and working practices. Not all change is progress. On the other hand, it’s important to move with the times and not just cling to the old out of ignorance.

Posted in Technology | Leave a comment

More Face-lifting

Two site updates in as many days. I’ve been busy.

I’m continuing to get to know WordPress, delving into the guts of the system to understand how widgets, themes and plug-ins work. The more I see, the more I’m impressed.

Sarah wasn’t wild about the new look. I liked it, but she’s probably more representative of the public at large, so I’ve heeded her advice and moved to something that’s less of a departure from the look of the old Movable Type site.

The link to allow subscriptions by e-mail, courtesy of FeedBurner, disappeared with the move to the new theme, so I’ve had to add some code to put it back. In any case, I don’t recommend you use it. FeedBurner updates are but daily, so you could be up to 24 hours behind a posting, if you’re unlucky. You should really be using the RSS feed instead. If you don’t know what that is, go to Google Reader and find out what a news aggregator can do for your browsing experience. I set up Sarah today on Google Reader and she’s quite impressed.

Posted in This Site | 9 Comments

Change We Need

You’ll have noticed that things look a little different today. It was time for a change.

I’d been using Movable Type for many years; more than five, at least.

When I first started using it, it seemed flexible and powerful, but quite complex. For one thing, making changes to a MT-managed site required laborious and error-prone editing of intricate templates. Once one’s templates were edited in this way, upgrades of MT itself became an even more unattractive proposition, as one now had to port one’s changes to a new, probably incompatible set of templates.

This has effectively kept this site running the same version of Movable Type for many years. MT has moved on to version 5.0, but this site was stuck at 3.34, because I couldn’t steel myself to do the upgrade. Everything worked well enough and you know the old adage, right? If it ain’t broke, don’t fix it.

The trouble is that technology moves on. Not only was running an old version of Movable Type an ever greater security risk as new vulnerabilities were discovered, the Web itself had moved on and left this old version of MT for dead. Whereas everything these days works with AJAX, my Movable Type installation was still doing everything with CGI scripts, fifteen year old technology. That’s a lifetime in Internet years.

Another problem was with the Movable Type code itself. Occasionally, it proved necessary to delve into this, but it’s a mass of very complex Perl. I’m proficient in Perl, but it’s not the most legible of languages at the best of times. Where it goes really awry is when the programmer makes heavy use of Perl’s abortive attempt at OO (object orientation). Movable Type understandably, yet ultimately also lamentably, makes great use of this feature.

Aged technology isn’t necessarily bad per se, but in this case, it was bad. MT was designed to use CGI scripts to generate static pages. That worked well in an earlier, more innocent age, but on today’s Web, that approach generates high server load as comment spammers all over the world attempt to add their links for Viagra and Russian dating sites to your pages.

Now, I don’t know how modern the latest version of MT feels or which of these problems have been addressed in which way by the authors, but I didn’t really care to find out, either. Back when I started using Movable Type, it was very powerful and arguably the best of breed. Budding competitors were still busy playing catch-up.

That was more than half a decade ago and there are now some very mature alternatives available. They are also vastly easier to use; I really can’t emphasise how much easier. Tricky template editing has all but given way to drag-and-drop technology, with widgets like sidebar blogrolls and archived entry listings being a mere mouse gesture away from being added to a your blog and automatically configured. Wow.

As far as I’m concerned, the clear winner of the publishing platform/content management sweepstakes has got to be WordPress. I’m very impressed with the design of the system and the ease of use that stems from that well thought out design.

I’ve spent the day getting the new site ready. 95% of the work was accomplished within minutes. The remainder has been, as always, in the fine tuning: installing plug-ins, minor editing of templates, patching up botched data after importation, etc.

There are almost certainly still broken links, but I’ve taken care of the obvious stuff with some Apache mod_rewrite magic. WordPress actually contains a good deal of its own magic to make all kinds of strange links point to the canonical link for an item, so this wasn’t nearly as hard as it might have been.

The new site is really quite simple, but looks good, I think. I hope you agree.

The old site was too busy. Gone are the AdSense banners. Gone is the Last.fm Flash. I don’t want to see Flash in my daily browsing, so why should I make you?

Gone are all of the widgets with links to Amazon. Gone, too, is the obligatory list of links to other sites. In fact, gone, even, are the links to other areas of caliban.org, most of which were only of dwindling historic interest, anyway. One or two of them will find their way back home in the coming days, but I intend to keep the site free of pointless clutter.

Also consigned to the celestial bit bucket is the old mailing list for notification of new blog postings. Instead, there’s a field at the top right of the front page where you can subscribe to e-mail notifications via FeedBurner. A more modern way to stay abreast of updates is to subscribe to this site’s RSS feed in your favourite news aggregator. If you don’t yet have one, I suggest Google Reader as a place to start.

I hope the new look and feel will encourage me to post more regularly. Maybe Sarah can even be drawn out of the woodwork, although that’s probably hoping for a bit too much. She spends most of her time at the computer on Fa(e)ce(s)book, keeping up to date with subatomically trivial events in the life of people she once bumped into in a supermarket. That stuff makes my rants here seem Shakespearean in prosaic value and universal in relevance.

Well, it wouldn’t be me talking if I didn’t get a dig in somewhere, would it?

Posted in This Site | Leave a comment

Chromium

Few tools are as indispensable as the modern Web browser. With the development of groundbreaking interactive applications like GMail and Google Apps, the Web is turning into a remote application platform. As the facilitator of this, the browser is assuming a double role. It’s no longer just a hatch through which we passively view text and images, it’s rapidly becoming (and has arguably already evolved into) the window manager for the Web.

My browsing history goes back some fifteen years, to the early pre-1.0 versions of Netscape Navigator. It’s hard to imagine now, but there are Internet users — millions of them — who’ve never even heard of Netscape.

Actually, my first browser was the text-based Lynx browser, because I couldn’t afford a PC at the time and was still using an Amstrad PCW running CP/M Plus to dial into my Internet provider, where I’d run a remote instance of Lynx at the UNIX command prompt.

Back then, I didn’t even have VT100 emulation (I had only a very lame VT52), so I had to write my own EMUlator in Z80 assembly language. This allowed me to see the text of the pages I viewed without ugly control codes messing up the flow. I then added the ability to render bold and italics and I’d managed to cobble together what seemed at the time to be a half-decent browser.

Anyway, I’ve been a faithful user of the Navigator bloodline the entire time I’ve been on the Internet. That’s not servile brand loyalty speaking, simply the fact that Linux users had no other choice at the time. Development of Mosaic (from which Navigator was derived) ceased in 1996, because Netscape had rendered it superfluous.

Navigator would later be rechristened Communicator, but the browser was always commonly referred to by the company’s name. After the purchase of Netscape by AOL, the browser was later officially renamed Netscape before reaching its end of life as Navigator once again.

To add to the confusion, Netscape had been codenamed Mozilla whilst the initial version was still in development. It actually retained this name throughout its life in its User-Agent header.

When Netscape were painted into a corner by Microsoft and released the source code to Navigator, they named this stripped down version Mozilla. I compiled the source code on the historic day of its release, but it would be a some time before Mozilla would be usable.

Several iterations of Mozilla ensued, before ultimately evolving into Firefox. That brings us to the present day and Firefox 3.5.6, the version I currently use.

Enter Google Chrome.

A year ago, Sarah migrated to Google Chrome and has never looked back. I watched with interest, but found it too lightweight for my taste. It didn’t matter, anyway, because there was no version for Linux.

Google finally released a Linux beta in December of last year and I was eager to try it. Again, though, I was immediately struck by how many important features were missing. Most of these omissions were intentional, but one, the ability to remap keys via ~/.gtkrc-2.0 was an oversight. I filed a ticket about this, but it turned out to have been fixed already in the development version. This omission in the beta version caused me to close windows when I hit Ctrl-W, when I merely wanted to delete a word. This small detail rendered the browser too dangerous to use.

I subsequently checked the code out of SVN and set about compiling it. It’s quite a beast and there was some reading to do to discover how to correctly configure the build, but nothing too bothersome.

It was then time for a cup of coffee while the 16 hyperthreads of the 8 cores of my 2 Xeons went to work. This was the first time my new desktop had ever been put under significant load. I ran make with -j10, which was fun to watch.

Anyway, in a display of wanton disregard for good naming common sense, Google has chosen to call the open source version of their browser Chromium, whilst the version they officially support and make available, complete with company logos and who knows what other proprietary stuff, is called Google Chrome. Whilst they share a large common code base, if you install both, they will maintain separate configurations.

The exercise yielded a working browser with the keybinding problem fixed. This at least gave me something that wouldn’t result in lost work. I now had a platform I could test and attempt to configure into something suitable for daily work.

The biggest problem for me with Chromium is the lack of flexible tab management. To be fair, Firefox doesn’t have this out of the box, either. You need to install the Tab Mix Plus extension to get it. The trouble is, Firefox has such an extension, while Chromium doesn’t. I’ve come to regard it as indispensable, particularly the ability to wrap tabs onto multiple rows. This keeps the tab bars a constant width, which makes them both easy to find and keeps the titles readable. In Chromium, the tab bars shrink to create room for each newly opened tab, which soon renders them unreadable. I routinely have 30 tabs open and this is a real problem, because all that is left to identify the site contained in each tab is its favicon.

I looked around for an equivalent of Tab Mix Plus, but it appears that Chromium doesn’t expose as many of its internals as Firefox. Given what I know about the project, that’s almost certainly a conscious design decision to keep the browser from straying too far from its roots, even at the user’s behest. The developers of Chromium want to maintain a simple, slick UI with very few configuration and management options. They presumably also want extensions to enhance the user experience without radically altering the look and feel of the browser.

After trying an extension called TooManyTabs, I settled on VerticalTabs, which at least provides a drop-down menu with the titles of all of my tabs. Even that requires vertical scrolling of the drop-down box, so it’s far from ideal, but I can live with it.

Next problem: type-ahead find. It sounds picky, but I don’t want to have to hit Ctrl-F before I initiate a ‘find text in page’ operation. Firefox has an option (turned off by default) that allows you to type directly into a page to find text within it.

Chromium doesn’t support this, presumably because Google is pioneering the development of Web-based applications whose functionality almost necessarily involves binding keys to operations, so that the user can interact with the application from the keyboard. GMail is a good example of this.

These applications bind keys using JavaScript, a technique that would conflict with the ability to type a search string directly into a page to locate it. I wish the developers had chosen to simply allow JavaScript to override type-ahead when it needs to, but they chose instead to not implement the feature at all. There’s an extension that implements it, called Type-ahead-find, but it’s slow and suffers from some quirks. Still, it’s much better than nothing at all, so I have it installed and active.

A final indispensable extension provides a way to block all of the diabolical Flash animation so prevalent on today’s Web. Flash considerably lengthens page load times and consumes vast quantities of memory and CPU cycles, usually for no better purpose than to display garish advertising for products not available in this country or not desirable in any case. I never want to see any of that rubbish, nor any videos hosted by YouTube, nor any other Flash-based frivolity. Away with it.

Happily, there are multiple Flash blockers for Chromium, so it’s easy to find one that suits. Some are more configurable than others. I settled on this one

My bleeding-edge Chromium is version 5.0.308.0 (37390), which represents the latest code in SVN as of a few minutes ago. As long as you compile a release version, i.e. with all of the debugging code removed, you end up with a very fast browser. With the aforementioned extensions installed, it’s even usable.

I still can’t quite bring myself to abandon Firefox, but the speed of Chromium is a strong draw. It renders pages blazingly fast and is, for this reason alone, very impressive.

Each tab also runs in its own process, which means that an errant site or a bug in the browser that affects just one tab won’t hang the entire browser. Individual tabs can therefore be killed off without affecting the rest of the browser. This is a terrific design feature, as it renders the browser extremely robust.

Another nice feature of Chromium is the ability to resize the text entry boxes of forms. It provides a better overview of one’s work whilst composing a blog entry, if nothing else.

Other than that and a few annoyances arising from differences in tab behaviour between Chromium and Firefox with Tab Mix Plus, behaviour that can’t be altered in Chromium, there aren’t that many differences between the two browsers. Most of the fundamental differences are technical in nature and therefore located under the bonnet, but they’er no less impressive for that.

I’m therefore going to persevere with Chromium and see whether I can get used to it over the course of a few weeks. At the moment, it still feels rather awkward and there’s a strong sense of trying to hammer a square peg into a round hole. The hole in this case is my own habituation to certain behaviour, encouraged to for years by extremely flexible browser software. I can rationalise most of this desired behaviour with concrete examples, so it’s hard to let go of it.

Why bother trying? you might ask. Because I feel that Chromium has enough potential to warrant the effort. It’s just a shame that so few of those advantages, in my opinion, are in the most noticeable part of the browser, the user interface.

Given the browser’s design goals, that fact is unlikely to change, so I’ll just have to hope that extension writers provide the missing functionality. Whilst it may not be as radically reconfigurable as Firefox, it’s theoretically infinitely extendible.

Posted in Technology | Leave a comment