Back to the salt mines

Being out of action for months gives you a new slant on how to cope with constant change, especially in IT

Early last year I woke one morning with a muscular stiffness in my legs I'd never felt before. I put it down to a delayed reaction to a week spent in the snows of Boston at the XML Conference the previous week. But it persisted, and my doctor sent me to a rheumatologist who sent me to a neurologist who diagnosed CIDP, which is (deep breath) Chronic Inflammatory Demyelinating Polyneuropathy. It can attack anyone without warning, and appears to be triggered by a response to a simple infection (in my case a bad sore throat before I went away). It strips off the myelin sheathing from the nerves in the legs and the hands, so that the signals sent to the nerves just dissipate in the muscle tissue instead of being obeyed. The effect is that you lose control of some of your leg and finger muscles, so you limp, and you can't grasp or release things properly. It's a variant form of Guillain-Barré syndrome; the difference being that GBS occurs only once, whereas CIDP can return to bite you again.

Fortunately they spotted it early, treated it, and after 7-8 months it started to wear off, but in the meantime getting around was a problem (although oddly, driving was unaffected), and using a keyboard was seriously difficult for a while. I was lucky, as I had it mildy — a colleague had GBS some years ago and it paralysed her up to the waist for the duration.

So, what did I miss? Apart from the inability to type, which fortunately didn't last too long, I missed the casual way in which we pull, push, grasp, release, and twist things. Smooth, spherical door-knobs are a stupid invention: replace them with lever-type handles and all is well. Handles on mugs and cups (and beer-jugs) that only allow a couple of fingers in are hard to handle, because the lack of control means you have to think carefully to open your fingers and remove them after putting your drink down, otherwise you'll flick the contents over yourself and everyone else. Buttons have to be pressed with care. Putting things into pockets and taking them out is hard, because your fingers won't stiffen to slide around objects before grasping them. And I missed walking: with CIDP you walk like a penguin (how appropriate for a Linux user), unable to control the flexing of your feet, so anything other than very short distances tires you rapidly, and your feet tingle and go numb.

The XML meeting in Boston (2007 now) was small but high-quality, and included a very lively session on publishing and editing, at which it became apparent that a few editor makers are finally looking at the market beyond the technical specialist and starting to test interfaces which do things the right way round.

However, life is now back to its normal hectic rate. I walk, talk, and I can pick up a beer without spilling it. I did manage to shuffle my way around Berlin on a visit earlier in the year, and around Galway, and around Annecy, but now I'm off to the Alps again with a new pair of boots!

Monday 2008-12-22 12-04-23 Up

Post-Yuletide review

New kit, old kit, and where to go from here

First of all, my apologies for the disappearance of my old home page, with the recipes I mentioned last time. The console screen on that ancient system died, so while it's trying to reboot (after a power cut which may have damaged something), there's no way to see what's happening: it's a Sun Sparcstation IPX (Ireland's first web server, and only the ninth in the world) and requires a special Sun monitor which I don't have. I've rescued the recipes and the data, and I'll get them moved to my new server sometime after the holidays.

After that hiatus, I decided that the old Sharp Zaurus 5500, which has been my PDA for years, was really not updatable any more, and had started doing silly things like pretending there was no wireless available. It also won't handle WPA, and the only browser (Konqueror) would regularly die on media-rich pages. So I took the plunge (after testing the waters on comp.sys.handhelds and comp.os.linux.portable) and went for a Nokia N800 tablet (see link in sidebar).

After the Zaurus it's immediately clear that the whole ARM-based world has taken a number of major steps forward. The most noticeable is that the installation of extras is almost completely painless (using .deb instead of .ipk). Admittedly there was an embarrassing hiatus over the holidays due to a host naming problem, but everything I have needed so far has downloaded and installed correctly. The Nokia and Maemo people have done a great job, making it the most usable pocket tablet I have tried.

I got it just before heading to Boston for the XML meeting, so I specifically put it to the test, as I didn't bring the ageing Dell lapdog with me. The Nokia connected to all the wifi I found and needed, even the ugly ones in airports, and the WiFlyer (another sidebar item) made the ring-weighted Comcast wired connection in my hotel perfectly usable. Browser (Opera) and email (Claws) work well, and the Gizmo SIP phone application let me call anywhere I needed far more cheaply than the ludicrous roaming rates cellphone providers sting you with. There's even a built-in FM tuner as well as the usual PDA and music/videoplayer utilities. The battery life was fine for a whole day of occasional use, but I needed the charger if I was using the editor for note-taking for more than a couple of hours.

Which brings me to the downside. The charger broke after a few days (while I was away) because it's seriously badly made. The rat-tail which is supposed to protect the LT lead on edit from the bricklet is too short and too weak, so the wires broke. I survived by patching it manually, as phone shops in the States don't really understand things like spares and chargers, so I waited until I got home. The local Nokia store tried to palm me off with a loose replacement out of a huge box of chargers, but the first two I tried also didn't work (surprise…guess what, they were dumped there as junk). Finally I persuaded them to give me a new one in a sealed packet and it works fine, but I'm being oh-so-delicate in handling the cable.

Development? Well, Java works, so Saxon works. Not blindingly fast, of course, given the size of the thing, but adequate. Emacs is in the pipeline, and TEX is already there, so in effect I can have the same complete XML authoring and formatting system that people run on desktops and laptops. CUPS is available, but it's huge, and the version I tested was missing a library (the first software download that failed) so printing will have to wait.

I wonder will it last as long as the Zaurus did?

Saturday 2008-01-05 21-37-00 Up

Settling dust

End-of-summer round-up

Addition What summer? I think we had it in April and May. I feel sorry for all the people who wanted a sunny vacation here and elsewhere and who were faced with rain, floods, gales, cloud, and snow (yes, snow — well, sleet: some rain froze the other day here).

But it's provided a pause to look back at a few things good and bad which have cropped up over the past year.

  • Time management:   I can't remember where I saw it recommended, but Tom Limoncelli's Time Management for System Administrators (O'Reilly, 978-0596007836) is probably the best business book I've read this year. Tom's approach (and O'Reilly's) is entirely free from the usual corporate woffle you normally find in these books, and his recommendations have rearranged several hours of my working life each day. If you work in IT, or manage those who do, or simply have a geek in your life, Mooch or buy a copy today.

  • Wireless down the phone:   ‘A little life-saver’ is what a colleague called the WiFlyer. This is a wireless router with a phone dialler for those situations where you can't get a normal broadband wireless connection (cheap hotels, hired training rooms, meeting rooms inside Faraday cages, parking lots, etc). You of course need an ISP you can dial, with a username and password, but once you've given that, the WiFlyer will connect you, and provide wireless access. It's slow, of course, but in those circumstamces where you really need it, it's ideal.

  • Ten-fingered typing:   I never learned to type properly. I just picked up the rudiments on my father's manual typewriter with two fingers and two thumbs. I kept on trying to use my little finger to hit Return, but it never took. Now I'm using Das Keyboard, which has no markings whatsoever, so I'm slowly learning not to bother looking down as I type. But although there's geek cred to be gained, and a marked decline in other people wanting to use your computer, and it's probably easier for non-Germans to pronounce than das Tastenbrett, I'm still keeping my old clickety IBM Model M for the moment.

  • Typebook:   I was touched to be presented with a copy of Valerie Kirschenbaum's Goodbye Gutenberg (Global Renaissance Society, 978-0974575032) at the TUG meeting in San Diego. Apart from being very beautiful — about as close as I'll ever get to owning the Très Riches Heures du Duc de Berry — it raises some good questions about why so many books since the mechanisation of print have been so boringly designed: unillustrated and in monochrome. Although the author's tone is a little hectoring (it is, after all, a polemic put into practice), it's well-written and even well-structured (although I doubt if it is well-formed XML, so it's non-reusable). Unfortunately, the richly decorated pages make it almost unreadable except in very short chunks, as the illustrations are a constant distraction. It's a book to browse, and I shall browse it for a long time, and get a lot out of it, but I'm not sure we'll see the technique applied to mainstream books until digital printing stabilises and produces an attractive RoI. Someone had to write this book, and I'm glad the author tackled it as she did.

  • Facebook:   From print books to other types, and numerous friends and colleagues persuaded me to reach out and join Facebook. I've been on LinkedIn for a while, which is mildly interesting, but isn't exactly life-inspiring. And I did the second life thing for a few days way back in the 80s when the Internet was younger and you could meet under the bandstand each morning. But the Facebook interface seems to have got the balance right between TMI and making you hunt. I let it search my list of email addresses, but among the old friends it also turned up dozens of people I don't know, but to whom I must have replied on assorted mailing lists and newsgroups over the last couple of decades. Nice to know you're still around, but I'm sorry for disturbing you. The problem with all FOAFs is they they're closed societies, which in the long term will be their downfall. Several projects are examining this, but until the FOAFs use a common format and API to expose whatever data subset their members agree to, we just have a large number of blind alleys.

  • Booking sites:   You would have thought by now that the designers of travel and entertainment sites where you book stuff would have grasped a few of the fundamentals of interaction design. But no, I still find airline sites where setting the outward date still doesn't pre-set the return month and year; theatre and cinema sites where you can find details of the shows but you can't book any tickets unless you visit some ghastly rip-off agency site; and even a ferry site where you have to fill in the entire booking form (with mythical trip data) just to get the timetable. We all know that there are some real idiots in Marketing everywhere, but they seem to congregate around the services sector: buying physical goods online is usually a fairly painless business. It would be interesting to know what compels them to make it as difficult as possible for the user, rather than as easy as possible.

  • Recipes:   Finally it's time for dinner. I've been experimenting with pounding my own spices for curry, and come to the conclusion that Mr Patak makes curry paste far better than I ever will. I've also decided that unless I visit the subcontinent, I probably won't get to experience what an Indian or a Pakistani actually cooks and eats, so I'll have to make do with the kind of Anglicised version that restaurants serve. My own version is therefore here (and that whole site needs a spring-clean — next spring).

Monday 2007-08-21 09-26-00 Up

Wrong kind of rain

A tale of lost baggage and floods

The spring passed in a blur of projects and repair work at home and in the office, and all of a sudden it's summer, which means the unexpectedly warm and sunny weather gives way to rain.

Dune du Pilat, Arcachonne, FranceIn the Dordogne on vacation, the French were apologetic about the cloudy sky, and clearly both baffled and annoyed that their traditional hot blue sky hardly made an appearance. One of the few bright days was spent on the highest sand-dune in Europe, which is deeply impressive as well as exhausting to climb. A wet day was spent down a cave, the Gouffre de Proumeyssac, and the rest of the time visiting châteaux, drinking wine, reading, eating my weight in foie gras and persuading my family that nutty gizzards under the appellation of salade de gésiers were perfectly edible. One daughter returned early, leaving the car with a void easily filled with cases of wine; and the other daughter and I had a competition to find (but not buy) the cheapest wine in France (she won: 6 × 1.5ℓ shrink-wrapped for €1.56, which is just over 17¢ a liter).

SDSUBack to work, and in San Diego for the TEX Users Group meeting. The STiX fonts for full Unicode mathematical typesetting are near completion; XƎTEX is now a standard part of the TEX Live installation, and thus is readily available to any user who installs this distribution: XƎTEX is full multilingual Unicode throughout, and automatically recognises all types of fonts (TrueType, PostScript, OpenType, etc) without the need for separate installers; Sketch is a 3-D visualisation program that works with TikZ to let you include finely-wrought, mathematically-based illustrations with no extraneous detail in your PDF documents; CrossTEX is a new bibliography management tool that makes bibliographies less error-prone, based on an object-oriented data model that minimizes redundant information; and an excellent presentation from Adobe dispelled some of those long-cherished myths that I and many others have held about the PDF file format. All good solid stuff, and makes me glad I don't have to use a manual system like XPress. The announcement that next year's meeting is in Cork was well received, and the fact that SDSU is dry and could only offer Coke™ or iced tea at the conference banquet led to several questions about what we'd give people to drink here in 2008.

Leaving Sandy Ego, NorthWest fumbled my bag, so I arrived in Heathrow while it went halfway round the USA. It took them four days to locate it, but it turned up, and Virgin delivered it intact to me at the XML Summerschool in Oxford. Not only were Virgin courteous and efficient, but their planes have seatback displays and multiple movies even in cattle class, edible food, and smiling staff. Perhaps another 2" on the seat squab and I wouldn't have had numb thighs, but overall a big improvement over Aer Fungus, who used to offer the best service over the pond but are now flying to places I don't want to go, and (in cartel with American) charging too much for it. Dulles? No-one in their right mind wants to go to Dulles when BWI is just as close to DC and far less stressful.

The summer school was bulging with information as usual. After my own stint in the Knowledge Management track there were the Trends and Transients sessions (a chance to be persuaded that Microformats aren't Tag Abuse after all), and I finally bit the bullet and went to the XSL:FO and XQuery sessions. FO is one of those things you either grok or you don't: I've used it on numerous occasions but I've never seen the advantage of a solution that requires so much reinventing of the wheel — but then the typographic demands of the publishing field are really out of scope for FO. Priscilla's presentation filled in a lot of holes in my knowledge, and even more so on XQuery, which I've only just started using, and am going to find much more useful shortly.

Punts waterlogged on the CherwellOxford was an island in the middle of a sodden morass running from the M25 to the Bristol Channel, and even the trains stopped running from Paddington (hardly BR's — or rather, Virgin's — fault this time, though). Punting was cancelled, a walk in the park became a wade, and a relative sent a superb aerial photograph from the Grauniad of Tewkesbury Abbey looking almost like Escher's Cathédrale Engloutie.

The only drawback of dog-leg trips like this one is that the final segment is short-haul, and I'd completely forgotten to regulate my bag weight by the limits imposed by the smallest airline. Aer Arann stung me for excess baggage far beyond what I had expected, especially as I'd had to buy extra stuff when the bag was lost. And they don't have seat-back displays on their new ATR 72s, although they're incredibly quiet and comfortable. If they'd merge with Virgin we'd all be happy.

Friday 2007-08-02 23-15-00 Up

Open Sauce

Taking a gander at the current state of the Open Source software movement

To Limerick at the weekend for SkyCon, the Open Source Conference being held as the 15th anniversary meeting of the University of Limerick's Computer Society (Skynet). Due to work commitments I wasn't able to make all the sessions, but here's my take on some of the rest.

Alan Cox (Red Hat) gave a lucid explanation of the human components of the Open Source movement, from the kernel hackers who develop the core, to the artists who do the icons and the eye-candy. Along the way he acknowledged the contributions of the applications developers, the documenters (more needed!), the device-driver gureaux, the evange, sorry, markete, sorry, lobbyists, and — with a little prompting — the UI designers and usability people. A key point was that as the movement matured over the last decade from a relatively uncoordinated community of individuals writing programs to a set of managed projects, our mindset has also had to change, but without losing that enthusiasm which he characterised as 初心 (Shoshin), the Japanese for the Zen Buddhism concept of ‘beginner's mind’. Alan's descriptions of the interactions between the commercial-software project management paradigms and the way Open Source software is managed made it clear that there is a lot more going on behind the scenes than users would imagine (and even than most developers would imagine).

Bill O'Brien (Microsoft) stepped boldly into the lion's den and emerged relatively unscathed. He gave a well-presented but predictable description of how Microsoft is being as nice as they can be, by opening their source code (under heavy conditions) to governments demanding verification, and by creating a small number of specialist classes (eg the Most Valued Professional, or MVP) who are trusted (again, under penurious ND contracts) to see source code but not divulge it. To be fair, they are doing what little their business model allows, but the questions that were asked were mostly querying the validity of choosing that model — or rather, continuing to pursue it. The question of open file formats (and Microsoft's embattlement at the ISO) also came up, but attracted no comment at the time (there was a BoF on that topic in the evening which was more enlightening). The crit sheets went into a lottery for an Xbox — astonishingly, I won a second prize, a LifeCam, which was very nice of them).

Thought Matthew Garrett (Cambridge) provided a very clear walk-through of the problems developers face from the highly proprietary and largely undocumented hardware in laptops, compared with the generally very standardised hardware found in desktop systems. Graphics cards, sound cards, and sleep/hibernate interfaces were singled out for particularly critical (and humorous) comment. The upshot is that people should stick to big, well-known brands (eg Dell, HP) if they want the hardware to be recognised by Linux (and especially Ubuntu), and to avoid VIA graphics card in favour of Intel (support for nVidia 3D is there, but patchy).

Matthew Revell [unknown link] (Canonical) presented the translation features of Launchpad.net where anyone can sign up to translate the interface (not the documentation) for a range of Open Source systems and applications. The problems are large, especially in dealing with code in which the programmer has not provided sufficient hooks to localise the interface (or has ignored the guidelines), and in translating into languages which have a wholly different structure or which depend on information from a prior activity (Nóirín Plunkett gave the example of Irish needing this instead of ‘Yes’ and ‘No’). Alan Cox asked if Canonical would open-source the Launchpad software: the answer was ‘not immediately’, but eventually. There is clearly scope for more involvement here, especially by language experts in universities.

Robert Chassell (http://www.rattlesnake.com/) described the various methods by which the Internet and its facilities are being used by individuals and lobbyists to tackle the problems of Freedom, both in software and in the wider field of politics in general. Although he drew most of his examples from the USA, the principles are now slowly being applied in Ireland, as politicians become aware of the way in which the Internet can be used (shades of the ClueTrain).

Simon Phipps (Sun) packed the hall for his definitive open-heart session on what Sun is doing in Open Source. He started with a run-through of his philosophy on the direction that networked society and business is taking: the death of the Consumer Society and the rise of the Mesh and Digital Identity. He compared the traditional closed-source corporate IT development methodology (a small bunch of smart people in a closed room working to beat the mass of smart people outside) with the Open Source concept of involving 100% of the smart people outside; and he charted the course of software acquisition and licensing from what he called Software Market 1.0 (bundled hardware and software) through 2.0 (unbundled pay-as-you-buy) to 3.0 (networked pay-as-you-deploy); and he (naturally) emphasised the importance of (Sun-driven) Open Source Initiative license. Overall, he characterised the future as a combination of Open Source software, standards adherence, licensing, governance, and freedom to develop — which is probably not very far from the truth. It was interesting to contrast this presentation with Microsoft's and note how far ahead Sun is: Microsoft appear to be very close (again) to dropping the ball on this one.

Overall a very worthwhile meeting. At a technical level, I was surprised by how many people were running Ubuntu on their laptops — the traditional geek distro is raw Debian; Ubuntu is usually classed as an end-user distro. A goodly number ran Macs, and a few hard chaws still had Windows. I didn't actually see anyone with RedHat or Fedora, which was surprising (RH were handing out FC6 DVDs). The attendance appeared to be well over the hundred mark — despite the uneven publicity, the organisation was efficient and well-planned. But strange that only UL seems to have an active computing and open-source community able to organise something like this: full marks to them.

Saturday 2007-02-17 16:27:00 Up

Going for Glod

If Ubuntu is ‘Linux for Humans’, where does that leave the rest? KDE for Klingons?

Regular readers will be bored stiff by my gripes passim about the unusability of operating systems installations, so I'm happy to report that installing Ubuntu Edgy Eft (6.10) today went almost perfectly.

I'd been pondering whether to move from FC4 to FC6 since the summer, but I finally couldn't stomach the thought of having to risk another round of battles with a network connection manager that thought all connections began with eth, and with a package installer interface that took longer to start up than it did to download and install the software.

What held me back was the horrifying thought of having to use Gnome. My wool was dyed in KDE colours, and the occasions when I'd used Gnome left me convinced it was really aimed at the ex-Windows novice. I use a few Gnome apps under KDE, and the tangle of compatibility libraries really isn't funny.

One of the oddities of Ubuntu is that the default ISO only provides Gnome. There's a separate one for KDE (Kubuntu), but while I was half-way to the decision to forsake FC for Ubuntu, I felt I might as well be hung for a KDE-dyed sheep as a Gnome-dyed lamb. I had been playing with the ‘Live’ CD and it did seem to be an improvement on past experiences.

15 CDs and a DAT tape later I felt my data was adequately secure, so I started from the Ubuntu CD. I tested the CD integrity, which was fine, except that the message at the end said ‘0 tests failed’ or something like — guaranteed to be off-putting to any novice, when it ought to say ‘All tests succeeded’. Please get rid of the negativist approach, guys!

It took an unconscionably long time to boot, until I realised that it actually boots you into full Gnome-mode before you get something to click on to start the installation. It would be nice of it to tell the user what it's doing during this pause: all you get is an interminably oscillating fake-progress bar and then a blank screen while the CD drive rattles away. One odd little message appeared, something about a ‘wait-for-sysfs’ and ‘failed on serio2/bus’ or something, but no explanation of what, and then it scrolled off and I was greeted by a cool kind of Lion King jungle noise as Ubuntu started. A pity about the turd-brown theme, though. Maybe it's meant to be chocolate. Or Glod.

Installation had only one hiccup. Language and keyboard selection went fine, even offering me a ‘Unicode Expert’ mode (which I took). User details were simple and self-explanatory. But the partitioning was slightly baffling: it uses gparted, which I hadn't used before. It took so long to find my partitions I thought it had hung (at 50%) but finally it moved on, and gave me a neat little display of usable disk space showing all the partitions, and a message reminding you that you have to declare at least a root partition…but nowhere to do it. I hunted everywhere, clicked and right-clicked on everything, but absolutely nowhere is there any way at all that you can pin a partition to a mount-point. I could see my old fat and vfat Windows (unused for about two years anyway), and the partition formerly known as /boot, plus a swap partition and an empty 25Gb which ought to be the root, but nothing whatsoever would let me specify which was which. I gave up and restarted the entire process just in case the hang at detection time was an error.

Eventually I tried to click on Next…and there I got a screen which invited me to assign the mount-points. Gparted works, but would someone fix the interface so that even an old hack like me can see that the first screen is merely a pretty display where you can change partition sizes: the real meat doesn't arrive until the next screen, which is grotesquely non-obvious. There is one minor bug in the program: if you start to remove the boot flag on a partition, but then click Cancel, it nevertheless goes ahead and removes it, which is very naughty, but probably innocuous. There is one major bug, however: once it has the mount-points allocated and starts to format the partitions, it will carry out a wholly unauthorised check of the unused partitions (in my case the fat and vfat Windows partitions). It claimed to find an error, which may very well be true (I'll have to try and boot XP soon to find out), but the point it that this shouldn't interrupt the Ubuntu installation process, especially not with error messages that will frighten the life out of any humans using it. At the point where it formats Linux partitions, it shouldn't be anywhere bloody near the Windows partitions.

That's all, folks…it started up and I found and installed all the oddments I want (well, a few minor exceptions: does no-one use xv under Ubuntu? Or FreeMind? Or Jabref? Or vTcl?).

The only serious error is in printing. Sodding CUPS again: why this system was ever written I shall never understand, when we had a perfectly good, working lprNG. On the ‘Live’ CD, CUPS found my HPDJ1220C and printed fine. On the full installation it had to be told about it (but seemed to like it), but I clicked on Print Test Page and it's sitting there in the queue doing zilch. What's more, it claims not to be able to see the kids' printer on the Windows XP share. Come on, CUPS people: if it was that important to write a new printing system, please fix the broken stuff first before adding bells and whistles.

Sunday 2006-11-12 17:00 Up

Desktop Linux

It's almost possible but not quite: but do we really want it?

With the once-imminent arrival of Microsoft Vista now delayed yet again (although the release of RC1 was a good move), it might be worth looking again at whether desktop-ised Linux can do the job.

[My colours are already nailed to the masthead: I haven't used anything except Unix-based systems since the late 1980s because neither Microsoft Windows nor MacOS did anything interesting or useful that I couldn't already do (and Macs are now Unix anyway). But I'm not an Average Desktop User, although I deal with ADUs every day.]

So I've been keeping a track of stuff people seem to want to do,and comparing it with how I do the same stuff (if at all). There are lots of discontinuities, but in general, X-based desktops (KDE, Gnome, etc) are perfectly capable of doing almost all the same stuff that Microsoft Windows can — the problem is that they don't come installed to do it yet.

A decade ago, MS-Windows shot ahead in the desktop eye-candy business, leaving the X Window system trailing its feet in the dust. Third-party suppliers created an uncountable host of plugins, dropdowns, popups, and inglorious crud to download and install. ADUs (regardless of operating system) love eye-candy, and dedicate a significant percentage of their cycles and desktop real estate to it.

Gizzmos and gadgets for X now abound, and I haven't yet found anything in this line that a MS-Win ADU wanted to do that couldn't be done with some little package for X, although the glitz and spiff is sometimes missing.

For the more serious side of the desktop there is equally little difference in availability, but the distinguishing marks are almost all in the usability of the interface. There are also still numerous restrictions on proprietary material which are designed to prevent the Open Source field from providing equivalent software.

What follows is a very brief list of the gaps in the system that I have come across. Doubtless I've missed something crucial, because there are constant updates from all the major distributions, and there are new and upcoming releases which I haven't yet looked at, so any mistakes here will be rectified if someone notifies me.

Multimedia

The most glaring inequality. A combination of proprietary restrictions on hardware driver information coupled with the efforts of the Hollywood/Microsoft cartel to prevent you watching what you've already paid for mean that some media formats aren't available legally unless you use Microsoft Windows.

However, some are available, but aren't distributed with desktop Linux systems because the licenses don't allow distribution: each user has to go and download her own copy personally. The absence of information about this at installation time means Linux desktop systems get marked down as defective and unusable by most ADUs.

But the silliest one by far is that some desktop systems don't play the very format that was invented to enable free (beer+speech) use of audio: Ogg/Vorbis. Some Linux desktop music players come installed to play MP3s only: if you want to play Oggs you have to find the driver or plugin and download it. Whose bright idea was that? Invent a format and then cripple the players meant to use it?

Laptop vs Desktop

If you open a MS-Windows or Mac laptop which is wireless enabled and in the presence of an accessible broadcast, you'll get a connection. Not so with Linux: you have to go poking and fiddling (and I don't mean entering the security key, I mean configuring). The installer hasn't yet learned that laptops are different from desktops and servers (where you don't want to go modifying your connection all the time): when you're on the move, you want it to connect automatically if possible (and it's your responsibility to ensure your firewall is up to it). Profiling needs to be automatic.

If you normally use your laptop on your desk at home, with the printer plugged in, and then take it away but forget to disable CUPS, it'll hang for ages on boot while it searches for the non-existent printer. It's a laptop, stupid: it's supposed to be used away from base.

Learn to switch, learn to distinguish. It isn't hard, so why don't they do it?

Vendor restrictions

As noted under ‘’ elsewhere in this entry, many device vendors restrict their driver information (APIs). The companies they deal with may make it a condition of contract that the information will not be released to competitors (eg Open Source systems). In effect, the vendors believe they are being compensated by such contracts for the business lost by not being able to sell their hardware or software to other users. YMMV.

Interfaces

There is some fantastic software out there for Linux. GIMP and pfaedit (now FontForge) are two excellent examples. But the interfaces are terrible. Instead of being nice to the user and following the established conventions, the menus are all over the place, with important and frequently-used features buried deep in a menu you'd never dream of, and stuff you'll never need given prime position. t would be different if the interfaces did something particularly new and useful, but they don't. As Joe Kesselman said on c.t.x recently, ‘Reinventing wheels is sometimes useful; reimplementing existing wheels is generally a waste of resources.’

Competitors

The biggest ‘marketplace’ is for Office software (laughingly referred to as ‘productivity’ software). OpenOffice is an exceptionally good competitor for Microsoft Office, and together with a mailer like Thunderbird provides probably 99% of what people actually need. OO will occasionally refuse to open some Word documents, or garble them, because Microsoft still insert traps in the .doc format to trip up the competition, but that's not their fault. What is abundantly silly is when you close a document you haven't modified, it asks you if you want to save your changes. And don't even think of mentioning the abysmal mess over displaying Times New Roman at 1pt by default…

File formats

Not Linux's fault, but that's not what a new user will think. A newly-installed end-user system must react correctly to all file formats the user is likely to encounter. Click on a PDF? The user doesn't want to go and download the X version of Acrobat Reader (if they can find it!), when xpdf will do fine for most purposes. Click on an RSS link? Instead of displaying the neatly-indented XML, how much more sensible would it be to add the feed to a newsreader? Click on a plaintext file link in Firefox and it wants to download it — it's plain text, stupid: just open it.

Of course, all this presupposes we want X-based systems to become the preferred desktop. Many people don't: they want Unix systems to stay the preserve of the expert. The problem is not that KDE, Gnome, and others can't cut the mustard, it's that that the desktop as installed simply isn't ready for users yet.

Monday 2006-09-18 14:20:05 Up

Wanderer's return

Information overload is fine if it comes with moules and frites

A vacation is a wondrous thing, god wot. After two weeks sitting in the sun (well, shade most of the time, given the heat), reading, sleeping, eating charcuterie, and drinking wine, I felt more than restored. We drove to France via the Chunnel, which was a weird experience: this vast, deserted parking lot and an almost-empty train makes it look like no-one else uses the service, even in July when British kids are still in school. But it's painless — you line up, wait for your call, drive onto the train, and they close the doors. Glide away and half an hour later you're there. In Calais, which isn't saying much: I'm sure it was the height of fashion in the 1950s, but now it's like Nice without the glamour. Driving through France on the day of the World Cup semi-final is a great idea: there's no-one around, just a battered truck with ‘Allez les bleues!’ chalked on the back.

Sitting through the final should have been interesting, but the rules for this round-ball stuff are way beyond me (and, I suspected, beyond a lot of French people too, for whom le rugby is far more important). But the silence from neighbours' houses when Zidane nutted Materazzi was impressive (they do take it seriously, after all). The rest of the time was mostly 40°, and at the outer edge of my heat-absorption, but the evenings were cooler and the overall effect relaxing. The drive back was an 18-hour marathon to relatives in the south-west of England, via a slightly fuller Chunnel train and a lunatic detour around Somerset because someone had decided the midsummer tourist season was a great time to dig up the A303. The final stage was for the family to despatch me to Oxford for the XML Summerschool, and fill the vacated space in the car by visiting IKEA.

Oxford vaut bien une messe even when 40°, no A/C, and packed with tourists. The Summerschool is a great opportunity to pass on the year's accumulation of XML-related information, and to absorb yet more from everyone else there, from a wide spread of fields. I was chairing the sessions on Knowledge Management, but there are experts from every nook and cranny of XML, both among the speakers and the delegates. The ‘Trends and Transients’ sessions were especially revealing, where there was a chance to shake down some of the hype and find out what's really coming up. Not everyone agrees on everything — the discussions and viewpoints are what help you sort out what's important for your area. My personal take:

  • Web 2.0 is passé (sorry, Tim: I'm calling it Web² from now on), although the technologies used will form part of the future;

  • Schemas suck (but we know that);

  • Editors suck (my own research);

  • Microformats are just another name for Tag Abuse :-)

  • Convergence (iPod, cell, IM, PDA, wifi, etc) is taking a temporary back seat while manufacturers discover people don't want it all in one box;

  • Ontologies are still hot, but no-one seems to know how to make money out of them;

  • Healthcare is still hot, and finally seems to be headed the right way, after a number of false starts;

  • Digital security and digital freedom are finally being taken seriously, even by big corporations.

It's surprising what you can learn about parse trees while punting up the Cherwell.

A brief visit home, and thence to the Practical TEX meeting at Rutgers. Finally some real A/C, and a chance both to catch up on some more developments which you can't easily get from email and newsgroups, and to forge some new links with other organisations moving in the same direction (single-source publishing). This is a rather more user-oriented conference than developer-oriented, and it's clear that TEX systems are still making strong headway in some non-math, non-CS fields.

Scientists (and others who should know better) who have grown up in the firm belief that TEX is for math only are sometimes shocked to find that one of the biggest growth areas is now the Humanities. But as Peter Flom pointed out, there is still a long way to go to get TEX systems out of the 25-year rut they have worn, and into a position where they communicate better with the author.

The other high points for me were Jonathan Kew's XƎTEX (finally a TEX system that handles UTF-8 properly!), Kaveh Bazargan's description of implementing grid layouts, and Elizabeth Dearborn's presentation on TEX and medicine (coming so soon after the DHSS and HL7 stuff in Oxford this was particularly interesting). There was a lot of other valuable stuff, particularly on fonts and on automation, which made up for my not being able to make the TUG meeting (in Morocco this year).

Next year (2007) Practical TEX and the TUG meeting combine in San Diego, and I'm happy to say that in 2008 TUG and EuroTEX combine here in Cork, for the second time (we hosted the combined meeting in 1990, and if you've ever wondered where the ‘Cork’ font file layout came from, that was it). More details shortly once the date is finalised.

Last stage was the Extreme Markup conference in Montréal. This is the antithesis of the XML Conference (December in Boston this year), which is a big trade show for the end user. Extreme is a smaller technical conference where the internals are hammered out. We discuss topics that no-one wants to hear about at the end-user level; people from assorted committees can come to agreements or disagreements over a beer or a coffee; and occasionally we can shoot our mouths off about stuff which either delights us or pisses us off.

There was a lot of re-thinking being urged: XSLT, DSRL, Topic Maps, even XML itself. Unfortunately a lot of it is too entrenched, having been cast too deep in concrete too early, which is a pity. We made some poor errors of judgment in the late 1990s, and there isn't sufficient understanding of the nature of the errors to make fixing them a compelling reason for change.

Nevertheless, there's a huge amount of development going on. Some of the hottest topics were blogged as they occurred, over on http://www.concretesyntax.com/. One old canard — overlap — met its match in Michael Sperberg-McQueen's ‘Rabbit/duck grammars: a validation method for overlapping structures’ and several other papers which now provide viable solutions to the overlapping problem. Ontological questions got a good working-out, with Topic Maps and RDF apparently approaching a rapprochement and some excellent work on semantics, persistence, and promulgation.

The concept of ‘vacation’ is now a dim but pleasant memory — and I have enough new information to keep me occupied for quite some time.

Sunday 2006-08-20 15:46:26 Up

Overrun by progress

Sometimes stuff just happens too many things one after another...

I've had my head below the parapet for a while, as there are several important but unrelated chunks of work that are coming to fruition simultaneously, and time-slicing between them doesn't leave any slack. But it's a holiday weekend right now, and the sun has finally arrived for the summer, so I've awarded myself a short exeat to catch up on Real Life™, mow the lawn, read a book, and look at the backlog.

Some of this stuff isn't exactly new, but it's recent enough either to be a problem, or to be investigated more closely.

  • Lightbox scripts:   The original Lightbox by Lokesh Dhakar used JavaScript, but a recent implementation by FrogLace uses PHP and CSS, which is neat. Shouldn't be hard to make this work in Cocoon, either.

  • Damnfool cellphones:   I traded in my old phone for a SE Z750i, and to be fair it does what I want quâ phone, but getting the store to crank it up to do email and browse the web took them 45 minutes, a 20-minute call to SonyEricsson, and half a dozen text message scripts. Quite why this is needed for what is now a basic function for a moderately advanced phone isn't clear. Nor is it clear why, when I downloaded and installed Opera Mini, it says I don't have an Internet connection (I just downloaded you, dummy)…

  • AJAX:   New interface paradigms like Google Earth are a fine thing, and new applications are always worth looking at. But ‘richer, more fulfilling browser experiences’ like the majority of marketing bloatware are just a waste of my time and everyone else's. I just want the information, you muppet, as fast and accurately as possible, and without having to upgrade my OS or reinstall half a dozen sad-ass bells and whistles like Flash.

  • Austrumi:   A 50Mb ISO image from Austrum Latvijas Linukss to burn onto a business-card CD (well, any CD) that boots Slackware Linux with the Enlightenment GUI, Firefox, AbiWord, Gnumeric, GIMP, linphone, mplayer, and a big bunch of other stuff. Ideal if you occasionally need to borrow a PC. A few rough corners, and you have to bring up the network manually, but an excellent product.

  • CodeWeavers' Wine:   I'd been out of the Wine loop for years, and still assumed that I still needed to keep the preinstalled XP in a partition on my laptop so that I could run the occasional Windows program from within FC4. Wrong. The current version of CrossOver Office installs native copies, so unless you have antique Windows third-party applications, you can trash the Windows partition and recover the space. It won't run Google Earth, but damn near everything else I've thrown at it so far.

    Addition And in the meantime, Google have come out with a Linux version of Earth.

  • Lacking a Clue[train]:   You would have thought by now that companies, especially large ones with big marketing budgets and big HR departments to ensure that only the cluefull get hired, would have spotted where they missed the cluetrain in earlier years, and tried to make sure it didn't happen again. Sadly, I couldn't even begin to start listing those that still don't get it.1 When the dust settles after a crash, perhaps stockholders will give a thought to their primary role, not of ensuring maximum returns, but of ensuring the continued existence of the business, and how that might be server by employing people on the basis of competence before other criteria.

Among the recent books, two stand out: Time Management for Systems Administrators by Tom Limoncelli; and Arnold Robbins' and Nelson Beebe's Classic Shell Scripting (both O'Reilly). Both are by people who thoroughly know what they are doing, and are also capable of writing about it clearly, Recommended.


  1. The latest candidate for the trashcan of history is a large corporation who are consciously pegging the future of their new XML systems on a home-grown and non-conforming parser of which they are inordinately proud. It can apparently only handle one element per line of the input file, so all contractors and suppliers have to write their software to enable this crock to be used. The company is big enough to be able to dictate such terms to smaller suppliers.

Sunday 2006-06-03 19:00 Up

Caveat emptor

I don't buy computers myself that often, although I spec them for clients and colleagues; but recently there's been a spate of Rabbit's Friends and Relations asking what to do...

I rarely get a chance to sit down and think about what domestic computer users really need, so when I got email from a friend recently asking for advice about what to buy to replace a 1999 Windows ME box, I had to shift into consumer mode. I'm also not the person to ask about Windows or Mac OS X, as I rarely use them, so I steer clear of Operating System debates unless you're buying the beer.

This is what I'd watch out for myself, but I'm open to persuasion on any of them from people who know more about the detail of each one:

  • Revised Size doesn't matter (no, really): a high-resolution screen (lots of tiny dots) is more important than its diagonal measurement in inches or cm. 1024×768 was the rule for a while, like 800×600 before it, and 640×480 before that, but I wouldn't want much less than 1400×1050 right now, and probably more, especially if it's in widescreen format (don't get suckered by wide screens that have low resolution: minimum height should be at least 800 pixels, preferably much more).

  • Revised Memory is the first thing people run out of, especially with the hogs of programs around nowadays. 1Gb is the absolute minimum, so if you have anywhere to put your ‘spare’ money, add more memory. Microsoft Vista needs 4Gb to run comfortably; Linux much less.

  • Revised Disk space is cheap and easy to add to a desktop system; much harder to add to a laptop after you've bought it, but there's no need to go overboard at the start unless you know you'll need extra for your pr0n collection or your pirated music or video downloads. Images, music, and video take lots of space; a stamp collection or a thesis is trivial by comparison. Most modern machines come with 120Gb or more, which is fine unless you're heavily into images, music, and video, in which case go for more.

  • Revised A writable CD/DVD combo drive is essential (or better, separate writable CD and DVD drives). Beware of nasty trick drives which are locked to your DVD region (won't play cheap foreign movies) although there are hacks to unlock them. See note on the DMCA

  • Floppy disks are dead.

  • A network port (10/100Mb/s Ethernet) is essential, but I can't imagine anyone selling a machine without one these days.

  • Revised Wireless access (802.11g and 802.1x) is equally essential, especially for a laptop; possibly for a desktop if your house isn't already wired.

  • Revised A modem port (56Kb/s) is a tedious but handy fallback for when your broadband breaks down, or you're stuck in a cheap hotel with no wireless.

  • USB sockets are absolutely essential, preferably on the front of the machine where you can plug stuff in, not round the back where it's inaccessible. And at least four of them left free after you have plugged in the keyboard and mouse.

  • Ignore all the marketing horseshit about extra buttons on the keyboard for email and the web. If you can't remember how to click on your browser or email icon you shouldn't even be using a computer. But volume and similar media controls as knobs on the keyboard are a useful piece of ergonomics. Cordless (wireless) keyboards are good.

  • Revised Make sure desktops have a wheel mouse (a wheel for its third [middle] button). And remember that wireless mice are tidier but less reliable. I like the glidepads on laptops but I know some people can't get used to them.

  • A good sound card and speakers is nice as a bonus unless this will become your main stereo or you play a lot of downloaded music, in which case they're essential.

  • Revised Ignore or throw in the trash all the ‘free’ (remaindered) software that the sales people push on you: 99.999% of it is complete and utter crap. Download and install the following for free: Firefox or Opera for browsing the web (throw out Internet Explorer); Thunderbird for your email (throw away Outlook); OpenOffice (throw out Word and Excel and Powerpoint). If all you need is a simple wordprocessor, install AbiWord and always throw out Microsoft Works as an obsolete, incompatible excrescence; install NVU for doing your web site; GIMP for your graphics and digital camera pix; and LATEX if you have serious stuff to write (books, theses, articles, etc).

  • Revised If you're getting a laptop, Matthew Garrett has some hints.

  • Revised If you are constrained to run Windows, get a good Virus checker thrown in by your vendor. Avoid anything smelling of hidden spyware which reports your browsing and other preferences back to a secret headquarters so that marketing people can send you spam. Be aware that Microsoft's new Vista doesn't really offer much over XP, and that a lot of programs won't work with it yet.

  • Revised Turn on your firewall immediately you run the machine for the first time, before you connect to the Internet. Unprotected machines connected to the Internet can be invaded by the script kiddies within 20 seconds, turning your computer into a zombie that silently sends out spam and pr0n every time you use it. Trust me on this: I've seen a newly-installed server penetrated in 19 secs.

  • Revised Apart from the garbage software, grab any other goodies or inducements going from your vendor (eg new webcam, USB storage dongle, cellphone, printer, scanner etc), but if it's a ‘free’ printer, check the cost of replacement cartridges first. TANSTAAFL.

  • Revised Bluetooth is useful if you have a Bluetooth-enabled cellphone or PDA, not just to upload photos and music, but to control your laptop remotely during presentations. Infra-red sucks: I have never seen it work properly, ever, on a laptop or desktop (oddly, it works perfectly on my PDA and cellphone — go figure).

  • Revised Be afraid — be very afraid — of Windows Media Center, it's the one with the DMCA lock on using the CD/DVD player which lets Hollywood and Microsoft control your movie-playing (or backing them up).

  • Addition If you're buying a desktop system, consider what to use for backup. Tape is expensive but reusable; DVDs are lower capacity and cheaper, but non-reusable. On a laptop, DVD is your only option unless you have access to an online disk farm you can back up onto.

  • If you're buying from a reputable manufacturer then take whatever ‘free’ ‘warranty’ they offer, but reject all attempts to sell you insurance-based or third-party ‘extended warranty’ as these are virtually worthless by the time you need them. Making friends with your local geeks is a much better option.

  • My experience with mail-in rebates is that they are either never honored, or take so long that inflation has eaten away their value, but your mileage may vary.

It may also be worth checking out your local computer stores to see what they have on offer. Having someone local you can hit over the head when it goes wrong can be useful. And sometimes a mom'n'pop computer shack can build you a better computer from stock parts than any big company can offer.

Revised And yes, it's sad to be blogging on St Valentine's Day but treat it as a random act of kindness or a senseless act of beauty.

Tuesday 2006-02-14 22:45:00 Up

Wishlist for 2005

"Tell me what you want, what you really, really want" -- SpiceGirls

At the risk of sounding callous, let's take it for granted that everyone wants world peace and harmony, and an end to poverty, violence, and oppression everywhere. There's far too much evil around, and the more we can spread good, the better.

However, each in our own little box, we all have our own wants to make life a little easier in the coming year. The XML Conference which was held in Washington DC recently, reminded me of a few work-oriented wishes that seem to have been around for a decade or more, and still don't seem to be in evidence.

  • A mould-breaking XML document editor that actually does sensible, time-saving things with formatting and links — by default — without the need for a $100,000 refit. Before you all tell me that Spy or Emacs or [insert favourite] does all this, here's the start of a list:

    • Synchronous (ie real-time) typographic formatting using some subset of XSLT. You can get close now in many editors but it's either not very synchronous, or it's not very typographic, or it uses an overly quirky interface, or it costs both arms and both legs. Or it's incomplete. Being an Emacs weenie, I won't use it. But my customers will.

    • A 2-way binding to an XML-based bibliography data store (note I am avoiding the word ‘database’ — plain XML files would also do), which would do for XML editing what BIBTEX did for LATEX: insert your references in the document and display the point of reference in the correct format for the type of document you are writing (eg reference number, footnote, abbreviation, etc).

    • Ditto for indexes, glossaries, parts tables, effectivities, paradigm references, lists of figures, lists of tables, apparatus criticus, and all the other epexegetic addenda that authors of large or complex technical and research documents need.

    • Ditto for cross-references. If I refer the reader to a section of a chapter elsewhere using the normal ID/IDREF mechanism, it should check the existence of the target (and offer to create it empty if it doesn't exist) and then display the computed [alpha-]numerical value at the point of reference.

    • Use a clue when starting a new document type: element types declared with mixed content are going to need formatting as paragraphs; elements in element content probably aren't. So do it right. Arbortext's EPIC gets this right (after asking a few leading questions). All the others get it wrong.

    [None of this is rocket science (or if it is, says a co-worker, we know a number of unemployed rocket scientists who can do it for you). And it's already been done a few times, but only in private, or specially programmed at massive expense. It's just an application of interface technology that would save countless hours of tedium for editors and authors. Yes, they still exist — it's very fashionable these days to pretend that no-one actually writes or edits complex documents any more, and that the only use of XML is for sending inter-process e-commerce messages, so no-one needs a publication-capable XML editing environment. Wrong, dead wrong.]

  • A command-line XML search engine that will work both indexed and unindexed, and use a sensible query expression language. XQuery is fine; but then so is the old +/- notation. A single binary is sufficient, and it needs neither bells nor whistles: all it has to do is locate the text sought, and return a well-formed container. This isn't rocket science either: LTxml nearly did it with sggrep for unindexed serial searches but the syntax was experimental.

  • An extension of Bradley Rhodes' Remembrance Agent to include markup-sensitive XML indexing and retrieval. (If you haven't seen RA before, go and get it now.)

  • A Mac that runs as fast as a PC. I spent a week using Macs in the summer, the first real chance I'd had to work with them properly since they changed operating system. My next laptop will probably be a Mac if they can simply crank up the speed, add two more buttons to the touchpad, and fix the horrible blurry screen resolution that all Macs seem to suffer from.

  • 802.1x in the Linux kernel so I can use Z in secure nets. Unprotected wireless access will soon be a thing of the past, and an Open Source implementation is under way at http://www.open1x.org/. But the standard is still emerging, so maybe by Yuletide 2005…

That's all software. There's another wish, closely related but more political, and that's some more open file formats. In 2005 we will still have the unedifying spectacle of otherwise sane and sensible people who think it's really terribly clever to use a file format belonging to someone else to store their own data in — and then act surprised when they find themselves denied access to their own information through version conflicts, irretrievable garbling, or simple loss of data.

Over on ‘ongoing’, Tim Bray clarifies part of the case for Open Source business software. He's right, but until businesses stop locking up their key information in boxes that can only be opened with a special key provided by the manufacturer, they won't reap the full benefits, no matter how much Open Source software they install. And until the software and interfaces for open file formats, especially XML, get better, businesses will remain unconvinced of the benefits.

The move towards using XML is slow and ponderous. It's still far too hard, far too expensive, and the available interfaces are still far too forbidding for the average information worker. But it is getting there, and even some companies who formerly dismissed it as a fad or a threat are now proselytes for the Cause.

None of these wishes are going to bring world peace, I'm afraid, but if you want to contribute your own little bit to harmony in your information collection, the next time you reach out for that proprietary application, stop and use an open one instead. And cross it off your wishlist.

Friday 2004-11-26 15:55:00 Up

National comparisons

A sideways look at the Americans and the French shows they differ in more ways than the disagreement over Iraq

Earlier this year the noisepapers both sides of the pond were ranting about ‘Americans violating Iraq’ and ‘French undermining US peace efforts’. A visit to the States earlier this summer and a visit to France last week has given me a chance to reflect on one small aspect of what drives both nations. This is a risky business: I'm not a political commentator, and I have no wish to get a midnight visit from the gentlemen from the five-sided funny-farm, nor from their counterparts from the rue des Saussaies, so this is not a tract, or a survey, or anything other than a small observation of behaviour, and it certainly doesn't pretend to have any statistical validity.

The USA grew rich and powerful by implementing a raw form of capitalism which returned large profits and small wages, with few controls on corporations and little legislation for employees. The result was eventually a spectacular growth in the standard of living which resulted in homes having radios, televisions, refrigerators full of food, cars full of fuel, air-conditioning, central heating, and a large disposable income — unless you happened to be poor, or black, or otherwise outside the ambit of what governments deemed to be their target expediencies.

To the middle American, the pursuit of profit is a goal similar to the Holy Grail, a life's work to acquire goods and savings, and (eventually) to enjoy or display them. The business ethos is all-pervasive, and invades every aspect of life, so that there is virtually no corner of existence which isn't sponsored by someone, or available only for a fee. Individual Americans are in my limited experience friendly, helpful, and generous almost to a fault. Corporate service, however, which also used to be a feature of American life, has taken a back seat since businesses started being run by accountants and marketeers instead of business people, and is now limited to a few stock phrases like ‘Have a nice day’ or excuses like ‘Company policy is not to …’ But if Americans at home have forgotten how to buy and sell as they used to,1 they still expect it in other cultures abroad, and get upset, shocked, or puzzled if foreign ways of life fail to meet the expectations.

France grew rich and powerful too, but having inherited the social as well as financial wealth of their ruling class, they promptly chopped the heads off many of them. In exchanging one heavily centralised form of government for another, they acquired a bureaucracy which persists to this day — but in the process the country has produced a cultural wealth to rival any in the world: not just in art and letters, but in the attitude to daily life.

To the middle Frenchman, the day's work is purely a means to enable the real targets of life: good food, good company, good wine, good books, and the leisure to enjoy them. The acquisition of wealth is not in itself generally a goal, although there are of course those who aspire to this. The State also plays a role: France is perhaps the last nation on the planet which funds local developments to this extent. There are libraries in the smallest towns, an enviable postal and telecoms service (soon to be sold off, and thereby destroyed forever in the headlong rush of the Gadarene swine of privatisation), road works, buildings, safety fences, pissoirs and mairies, sports and cultural facilities, and all the trappings of western life, paid for centrally by Jean Gouvernement. The penalty is a degree of State involvement and control unthinkable elsewhere (perhaps excepting the UK, who have flogged off all the family silver and are reduced to watching their citizens on closed-circuit television).

Amid this almost Roman display of bread and circuses, the French business is uninterested in customer service. The company is not there to serve the customer: if the customer does not find what she wants, she can go elsewhere. Businesses open and close to suit the company, not the customer, and even shops in small towns make enough money to be able to stay closed on at least one whole day a week, sometimes two, and to close for two to three hours at lunchtime. The universal rudeness attributed to French sales assistants and their store owners is not born out of any desire to be rude — in ordinary conversation they are as friendly and helpful as anyone else — but simply a result of the fact that they don't see themselves as serving you. You are not doing them a favour by bringing them your custom: they are doing you a favour by being open. They could be doing far more sensible and enjoyable things, like making love or drinking wine, but they have put themselves out to open the store, and you'd better appreciate it.

Getting the most out of travelling involves being able to shift your frames of reference to accept these differences. It is just as silly to get upset at not being able to shop on Mondays, or at lunchtime when all sensible people are in the restaurant, as it is to take offence at the insistent spread of hamburger joints or desire of the shopwalker to increase their earnings by suggesting things you might want to buy. When the French (or other nations) complain about the McDonaldisation of their society, or the Americans about the unwillingness of the French to participate in that McDonaldisation elsewhere, the reasons are probably cultural, not political.


  1. I forget who wrote this old story, but it related of the author going into a department store to buy razor blades. Laying out a $5 bill on the counter, he was prepared to be sold pretty much anything shaving-related up to that sum. But the sales assistant, instead of offering the author shaving-cream, or a new brush, or perhaps other small paraphernalia like shoe-laces, simply took the money and handed over the change. ‘America,’ the author wrote, ‘has simply forgotten how to do business’. In other cultures, of course, offering a shopper goods she hasn't asked for varies from an annoyance to an insult, and the skill of the sales assistant in hovering a discreet distance away, ready to be asked, but never to intrude, is a dying or lost art.

Thursday 2004-09-09 22:06 Up

Markupdate

New and useful stuff from the Practical TeX Conference in San Francisco and the XML Summer School in Oxford.

It's been around for decades, but it still beats the pants off any other typesetting system when it comes to all the things you look for in good software: programmability and automation, portability, ease of use, quality, and robustness. The San Francisco Practical TEX meeting filled a gap in the North American calendar, as the annual conference is in Greece this year.

Several common threads were very evident:

  • PDF:   there are several routes to getting good PDF output, depending on the features and facilities you want, many of which overcome the deficiencies of other software. This includes preprocessing with PostScript when Adobe functions are unavailable; Hàn Thế Thành's work on micro-typographic extensions; PDF/XML workflow for publication; and the embedding of Type 1 and Type 3 fonts.

  • Single-sourcing:   getting print output, screen output, presentations, posters, and Web pages from a single master LATEX source, by various routes depending on the level of content. TEX4ht is well established, but David Allen's TEXpower solution is very attractive. Personally, I still prefer to author and store in XML, and use XSLT to output LATEX, but my bias is notorious.

  • ConTEXt:   provides an alternative to the LATEX syntax, with a growing library of styles and templates for sophisticated PDF output. Hans Hagen provided a constant stream of examples which he has developed.

  • Document management:   several presenters gave a very convincing case for using TEX-based systems, from the business points of view of publishers, typesetters, and authors, as well as from the academic move to paperless dissertations.

There was a lot of great code too: MetaPost graphics, the use of XML, TEX and Python, BIBTEX and AMS referencing systems, and the use of TEX in linguistics. Several contributions emphasised the advantages for HelpDesk support levels of using LATEX rather than wordprocessors (which have been well-known for years, of course, but it's good to see institutions finally start to pay attention).

The CSW XML Summerschool in Oxford, England has become an important fixture in the XML calendar (this was its fifth year). Between 30 and 50 ‘students’ of all ages get together for a week of classes (the number varies as there are several tracks for several days). The emphasis is on learning, from the introductory sessions on markup right up to the advanced techniques of XSLT2, Topic Maps, or Java-based e-commerce processes. But part of the objective is to reproduce some of the learning environment of an Oxford college, with personal access to the tutors, and the opportunity to continue discussions into the evening's social events.

Speakers in my session on Knowledge Management this year included Kal Ahmed, talking on RDF, OWL, Topic Maps, and the Semantic Web; David Pawson, speaking about his experiences implementing a large-scale XML-based publishing system for the RNIB; and Lauren Wood, who explained the basics behind picking or writing DTDs and schemas, one of the most important and neglected areas for new users. Other speakers and chairs included Bob DuCharme, Michael Kay, John Kemp, Andrew Orlowski, Steve Pepper, and Jeni Tennison. For me, the highlights were the extended details of what's new in XSLT2, and the all-day ‘What's Hot and What's Not’. For those who weren't able to make the summer sessions, there is an Autumn Xtra at Wadham College from 19–22 September. 2005's Summerschool is July 24–29: details at http://www.xmlsummerschool.com/.

Monday 2004-07-24 16:00 Up

‘Under construction’

Multitasking is fine, but writing multiple Web sites simultaneously is a pain

No, this isn't a rant about ‘Under Construction’ signs, much as I dislike them. It's not even a rant, more a usability query (and the reason for the 2-month hiatus in entries).

I'm doing about six new sites at the same time, and while they're all very different, for different owners and different end users, after a while you begin to see a sameness in the features and functions. It's important not to let this spill over into the design, and even more so when some of the sites do share a common core of functionality or appearance.

What brought it to a head is that one of the sites is for a conference publication system. This will eventually handle most document functions from the announcement and Call for Papers, through submission, peer review, and draft programme, and then to Book of Abstracts and the Proceedings. But the first task is to let the new conference ‘owner’ create a temporary Web site at the time of announcement, until such time as they can get a designer on board to do the full job.

This means writing a Web site which will create a Web site, which means some decisions about functionality — albeit necessarily limited — usability, and appearance. Appearance is the easy one: new sites can just be a variant of the overall system template for the moment. But functionality and usability meant revisiting a dozen or more of my favourite and least-favourite conference sites to see what was good and bad about them. The worst possible advertisement for a conference in the early stages is an ‘Under Construction’ sign, or a page of topics which are not yet links. Suggestions for what you like to find on a conference site, both in the early stages and later on, are welcomed.

Another site is a repository of documents about the Open Source movement. There are several of these already, including some very good and some less so. This particular one classifies the documents (eg Advocacy, Technical, Managerial, Political, etc), and it seemed useful to have a FUD category as well, so that readers could be made aware of some of the lies and nonsense peddled by those who oppose software libre. A risk, perhaps, but an informative risk.

But to stay up to date, it needs to be easy for the site editors to be able to add links to documents simply and easily, via a Web form. And to avoid unnecessary amounts of retyping, the form script retrieves the document, digs out the title, author, and other metadata to part-populate the redisplayed form. At least, that's the principle, and it works for for some of them, but the vast majority, even from reputable news sites, have no identifiable metadata. Presumably these sites want visits and links, but by omitting to identify their articles accurately they are falling down on the job.

‘Under Construction’, indeed.

Monday 2004-06-05 13:31 Up

VanishWare

Why do so many vendors drop proven, useful, saleable products?

A client came looking for a solution to a perennial problem the other day: how to get the huge legacy of Word documents into XML? There are lots of different ways, but all the automated ones rely on the authors having used Word's named styles in a template, so that there are hooks to hang the markup on. If the files are traditional office ‘font-and-white-space’ Word, they're basically junk and you would probably be better sending them off to the Pacific Rim to have them scanned or retyped from scratch. Slogans like ‘information is our major business asset’ look good in the Annual Report, but very few managers have the time or expertise to pay any real attention to making that information easily [re-]usable.

OK, so you've got named styles, or maybe you have just enough systematic, consistent font-usage to make it worth trying an automated conversion. One of the best tools is DynaTag, which lets you map styles (named or implicit) to elements, and apply the mapping to whole directories of files following the same pattern. It's a powerful and sophisticated program, but trying to buy a copy is becoming virtually impossible. It was originally written by EBT in Providence, RI, but then bought by Inso, and resold to Enigma. At each stage, the purchaser knew less and less about XML, so what could have been a major product was allowed to die, exactly at the point where a large market for automated conversion was appearing, and with it, all hope may disappear for the owners of millions of Rainbow format files.

Something similar happened to Texcel's Information Manager, once one of the best native SGML databases. The company that bought it out were embarrassed that it was better than their own database and search components, so instead of switching their existing products to use the new acquisition, they crippled IM by making it use their existing non-SGML and much slower and less powerful engines. Corporate pride and management face were more important than having a good product, so customers deserted them in droves just at the point where people were starting to want native XML databases, and IM sank beneath the waves.

Revised What was then the world's fastest SGML/XML search engine, UWaterloo's PAT, was subsumed into OpenText Corp, where it was redeveloped as part of their Web search product, priced in figures with six or seven digits last time I inquired. PAT apparently may still exist, but it's inaccessible, never publicised, and can't be bought as a stand-alone product any more.

The CITEC SGML/XML engine formed part of SoftQuad's Panorama plugin and SGML browser. Panorama's stylesheet interface was by far and away the best ever designed, but it too was thrown out by Inso, possibly because they didn't know enough about the technology to understand the market. Some of its look and feel survived for a while in SQ's XMetaL, but the CSS integration made it a little cumbersome. The underlying engine was also used in CITEC's own browser, which survived into the XML era, although with a more sluggish styling interface). It also appeared in their Translating Editor, which let you pop up a document to translate in the top window, and a skeleton of the same markup, emptied of text, in the bottom window, where you could type the translation into a foreign language, with the cursor keeping you and the markup in synchrony. Some of CITEC engine still exists in the DocZilla browser, but it's a far cry from the ease and simplicity of the Panorama plugin.

Thought Even Microsoft isn't immune: they had a product called SGML Author for Word, which was the only converter ever written which could round-trip Word to SGML and back, again and again, with no loss of information (assuming, of course, that the Word file used named styles from a template). It was widely suspected to be a ‘check-box item’, written to enable the company to say ‘Yes, we do SGML’ on some lucrative governmental or military contract, which Microsoft didn't know what to do with. I had a review copy once, and it's true: it worked. But when I called for support I got the Third Degree, because it wasn't in their product database and no-one in the company knew about its existence. Then, just as XML was coming into its own, with users screaming for converters, they dropped it.

This pattern is repeated again and again across the industry, with fine products being neglected or ditched because the new owners lack a clue about the technology or the market.

Thought Part of the problem is of course the current fashion for buying and selling companies instead of goods and services, which is great for the pocketbook of the lucky former owner, but bad news for the customers, who find the new owners drop them on the floor, along with the products they bought. It's easy to justify, too: just dress up some beancounters as engineers and have them tell the PR flacks that product X ‘doesn't fit the new image’ or ‘isn't seen as core’ any more. Worse, there is a belief among the technologically semi-literate that you can make more money by dressing the product up in new clothes, making it unusable for its original purpose but impressing the hell out of the newcomers — for a while.

The accumulated managerial errors progressively submerge the original company's identity in the new owner's image, make it far easier to justify killing off the product. Then, with the company's flagship potential revenue-earner gone, the original entity vanishes, and with it goes all the money spent on the acquisition. Not that it matters to the new owner, who can just write off the loss and start again. Etc, etc, da capo.

Interestingly, venture capitalists expect to lose 95% of everything they invest anyway, making enough return on the remaining 5% to stay afloat, so it's really not worth their spending a lot of time on due diligence. It would be relatively simple to turn the percentages around, just by stopping investing in the sexy and suit-friendly dodos and no-hopers, and concentrating instead on the serious but unromantic hardcore technology. The sums involved in the current paradigm are still sufficiently large to make the extra effort unattractive, but you can tell the dodos at a glance: they're the ones with an ‘Investors’ link on their home page, but no link for products or customers.

Not all purchasers of technology companies are that clueless (OpenText isn't, for one). Some are simply careless, thoughtless, unimaginative, or just bland. Greed may well play its part somewhere as well, but the corporate acquirer is usually just working to please more stockholders than customers, which is probably a mistake. The attraction of the joint stock limited liability company since the 1500s has been that the investors' responsibility is limited, so they can take risks. That's fine, but at the end of the day you still need a product. Shareholders have forgotten that there is one responsibility even larger than that of making money: ensuring the continuation of the company into the future, even though that may mean a few lean years before a return to profit.

Unfortunately, although pyramid selling is mostly outlawed these days, pyramid buying isn't. Large corporations don't manufacture, they own. Mid-sized corporations increasingly don't manufacture, they outsource to another subcontinent. Little companies and individuals still manufacture — just. But eventually everyone knows that all the little bubbles that made or are making corporate America, UK, India, China, and elsewhere financially strong and industrially progressive will glop together into a few big bubbles or even one giant bubble called the Acme-Coca-Micro-General-Enron FoodBevAirCompPharmaOil Corporation, and possibly disappear up its own orifice in a single mighty management spasm of indecision. At which point you won't be able to buy any more XML software. Tontines may have been illegal for centuries, but killing the geese before they have a chance to lay is a damn good substitute.

Thought There's a happy ending for DynaTag users, though. From the ashes of EBT arose Red Bridge Interactive, who now sell it rebranded within DynaBase.

Thursday 2004-04-08 13:25 Up

Dangling parentheses

Why do browsers screw up formatting so badly?

In the beginning there was just TBL and his NeXT. And CERN saw that it was good, and the Web grew across the face of the waters. We got Lynx, and Albert, and www-mode, and we were still safe. But then we got Mosaic, and Cello, and Viola, and Chimera, and then Netscape, and Arena, and even Internet Explorer, and now Mozilla, and Opera, and Konqueror.

And you know what? Almost every single damn one of them has the same bug. It's been there since the earliest days of the graphical browser, and despite repeated goading, virtually none of the authors has thought it worth fixing. All the way from the early bleating about the importance of vendors demanding arbitrary style control (back in the days when companies would actually buy a browser), through presentations about how to make more use of markup, right up to Microsoft's marketing blather about a ‘flexible and reliable browsing experience’. It sticks out like a sore thumb, and I'll bet you can't name it.

It's in this paragraph, and if you spot it before reading the next paragraph, mail me (at this address) and let me know.

If you didn't find it first time, don't worry: move your mouse to the right-hand edge of your window until you get the resize cursor, then slowly make your browser window narrower until the words ‘at this address’ in the previous paragraph appear on their own at the beginning of a line — leaving the opening parenthesis isolated at the end of the previous line. If your browser is one of the smarter breed, it won't resize below the width of the header, so use this page instead.

Oops. Now, anyone who knows some HTML will see what's happened. The parser and the formatter are not communicating properly: the parser has found a start-tag for the link, but has failed to recognise that it occurs immediately after an opening parenthesis; whereas the formatter only knows that a font-change caused by markup is always A Good Place to break a line if a line-wrap is needed, regardless of the context.

The details will presumably vary from browser to browser,, of course, because none of them would dream of faithfully reimplementing a bug from someone else's code, would they? When I reported this for Konqueror, someone confirmed it wasn't based on any Mosaic code. Curious, therefore, that every browser I have tested displays the same behaviour.

I know some of these programmers. They're not stupid. Quite the contrary: they're among the smartest people on the planet (and if you don't believe it, go and try writing a browser). But they're not markup people, let alone document engineers. Many of them have never seen a DTD, most of them wouldn't know what to do with one, and they have almost certainly never read the spec — and I don't mean HTML, I mean SGML — to grok Mixed Content in fullness because ISO 8879 is big and scary and expensive for someone whose job is cutting code. The reason it hasn't been fixed is because they don't believe it's a bug. They don't see leaving a parenthesis on its own at the start of the line as an error. But at the same time they'll explain how essential it is to get the formatting right.

So the next time someone in Marketing tells you how important it is that everything looks right (and how much more important ‘looking right’ is than actually being correct), remember the poor old dangling parenthesis and weep.

Addition Isn't it great to be proved wrong? I've now been told (thanks, Lauren and Carole) that Mozilla 1.6 for MS-Windows XP has fixed this and so have most new browsers for Mac OS/X! Yay! Well done Mozilla and Mac people.

Sunday 2004-03-28 22:45 Up

Why Linux

Why I'm currently using Linux (with screenshots)

People used to look blank if you said you used Linux, as if you were confessing to an arcane sexual perversion that they had heard of but didn't wish to know about. More recently it's likely to generate a sigh of tolerance from the MS-Windows user who realises she has to deal with Yet Another Proselyte. I don't shout about it (except here), and it's considered unprofessional to gloat when your less fortunate colleagues are swapping yarns about how many times Word went down on them yesterday (now there's an arcane perversion!).

But in the last few months confessing to being a Linux user has elicited questions like ‘I've been thinking of that: where do I start?’ and ‘Which distribution did you choose?’ Not from managers, it must be said, more from engineers and technicians, but increasingly from the former die-hard MS-Windows users who last year were jeering at Linux for lack of eye-candy, a command-line interface, and no support from hardware vendors for the latest gizzmos. All of which criticism used to be true, but things have changed.

At this stage I have to admit I belong to that fortunate band who have never had to use MS-Windows at all. In the 1970s I used DOS-VSE, MVS, TOPS-10 (well, OLS-10, but that's a long story), and Unix. In the 1980s I used VM/CMS, VMS, Unix, CP/M, and a new toy called MS-DOS. In the early 1990s I was supporting MS-DOS and Mac OS-whatever for users, and using Unix for my own work, and I toyed with MS-Windows 3.1 but it didn't seem to offer anything useful that the X Window system couldn't already do. Ang Gilham finally turned me away from the Dark Side in 1991 when a major project required a workstation, and it rapidly became clear that this new Web thingy worked best under Unix. I migrated from SunOS 4.1.3 to Linux soon after Sun stopped shipping a C compiler, and at the moment I can't identify anything MS-Windows provides that I want to use.

However, I now spend a lot of time trying to explain to MS-Windows users what software I actually use ‘instead’ as they put it. Instead of what?, I ask: in many cases it's not ‘instead’ of anything — see the last phrase of the preceding paragraph. So here are Peter's Screens: the four screens active on my laptop. That gets an immediate frown: whaddya mean, screens plural? Virtual screens: I believe something similar is possible under MS-Windows but I've never seen it.

  • A command window, natch. It's the fastest way. GUIs just get in the way for some things

  • Evolution for email (text blurred to protect the guilty). Fortunately I don't have to get my mail from an Exchange server

  • Gaim, a multiprotocol IM client for keeping in touch with friends and colleagues

  • Karm for time measurement

  • Cardinfo to keep track of the CF cards, WiFi modem, etc

  • Konqueror for browsing the Web: it does far more than MSIE, far better and more efficiently, and it's tabbed — I can't believe people still inflict non-tabbed browsers on themselves

  • Client web layouts are roughed with Denim

  • Gaim has crept in here too, somehow.

  • Samy Zafrany's tkPaint is essential for vector graphics (I'm no artist, so I don't pretend to be able to draw bitmaps)

  • The GIMP, despite its questionable user interface (recently much improved, I think), beats Photoshop and Paintshop Pro into the ground for speed and power

  • FreeMind isn't really a graphics app but I keep it on a screen with plenty of space, as mindmapping can get quite big and complex

  • Addition Nearly forgot XMMS, music-player to the Oggs

  • Editing requires just one tool: Emacs. I won't waste time describing it, it's simply the most powerful editor in the multiverse, and anyone who uses anything else has probably never seen it

  • Konqueror as a preview for generated HTML

  • XPathTester is critical, not just for getting tricky path specs right, but even as a simple search engine

  • LaTeX runs inside Emacs, like so much else, but for WYSIWYG display, xdvi is the tool. There's a copy of Acrobat Reader as well, if needed.

Not everything is always active on every screen, of course: what I've done is bring up the most common applications I use, as examples. Without this lot I'd be popping up and down windows on my WinXP single-screen host (yes, I do have a WinXP partition, I just don't boot it very often), and praying nothing crashes.

Addition As some people have pointed out, there's no wordprocessor or spreadsheet here. Right. I've never needed to use a wordprocessor since I stopped using DOS (PC-Write was pretty good) because 98% of all the things I write are for online consumption, which means email, Usenet news, or Web pages; and the other 2% is PDF, all of which mean either plain unmarked text or XML source. The suggestion that I should store my information in somebody else's secret file format is insulting, and the concept of having to waste time fiddling with fonts and formatting drop-downs every time you want to express yourself is simply anathema. Don't get me wrong: formatting is important, very important; too important, in fact, to be left to most authors and editors, whose skills are in writing well, not in formatting. I have OpenOffice for the rare occasions when people send me Word or Excel files, but like MS-Office, these so-called ‘productivity tools’ are big, slow, cumbersome, and hopelessly inaccurate at formatting. A database is missing for related reasons: my information is mostly textual, and better suited to XML than MySQL. CRM is done on the Z where the ‘Today’, calendar, and address-book apps are better than any I've seen for the desktop.

This won't suit everyone. It suits me because this is what I do, and I can do it between two and three times more efficiently and effectively with Linux than with MS-Windows. The moment I can do it more effectively or efficiently on another platform (OS/XI perhaps) I'll probably move.

Saturday 2004-03-13 02:30 Up

Interactive messaging

Why we're now ready for multiprotocol instant messaging

Having been a heavy user of IM in the early days of EARN/BITNET, it dropped below my horizon when I got a Usenet feed some time in the late 1980s or early 1990s, although I continued to use RELAY certainly until 1992. Somehow the wider scope and permanence of a newsgroup made it more usable for discussions than the transient nature of TELL (although one net.friend had several boxes of printed RELAY logs!). Then came IRC, offering the functionality of RELAY and much more.

When AIM, Yahoo, MSN and others brought out their chat clients, the idea was distinctly unappealing. Here were several million users simply wanting to chat. Fine if you have unlimited time (and human communication is always to be encouraged) but I preferred discussions to be less random (perhaps AIMless would be the term).

But the real killer was the foolishness of the hosts in trying to peddle their own proprietary protocols to the exclusion of the competition. They missed the essential point of a global communications network: that it's global. Restricting chat to your little piece of the net seemed so utterly pointless that it really wasn't worth it.

For reasons which will ever remain beyond me, the marketing people always fail to see that winning the hearts and minds of the users is best done by being better at doing the job, rather than by trying to stop others competing. Opening the protocol and then writing a better client than anyone else, or providing a better service, or better content, or better features, is always going to be the way to win in the long run.

The idea of a multi-protocol chat client, able to smoothen the interface between disparate systems, is not new — those who remember the efforts to gateway RELAY and IRC will smile. But programs like Gabber and Gaim now provide the ability to keep your AIM, MSN, Yahoo and other connections logged in — including IRC — with a single interface to your contacts, and most of the facilities needed for daily communications with friends.

This doesn't of course substitute for a real /command style of access to IRC, but it's enough to persuade me to join the millions. Plus there are people who have been at me for years to use {AOL|Yahoo|MSN} as the way of contacting them. So I'm a convert, and it's virtually spam-free too :-)

Tuesday 2004-02-17 23:55 Up

Naming (2)

Take care when you create filenames for URIs

When is a name not a name? The famous protracted paradox by Lewis Carroll in Through the Looking-Glass offers the concept that the name of a song can be different from what that name is called, and that what the song itself is called can be different from what the song actually is. Those visitors to Stratford who have stopped for a pint at the pub people call the Dirty Duck may have discovered that it is actually named the Black Swan.

A lot of very bright people can argue themselves to a standstill over whether a name is just a label, or whether it can have some inherent semantics related to form, or function, or any number of other qualities. As I said last time, names have a habit of being persistent, so it's important to get them right. Ask any kid whose parents thought it was cute to call them Neil Downey, or Daisy Cheyney, or Jolyon Smart (I kid you not: Daisy was at school with my mother, Neil was at school with my sister, and Jolyon lived a few miles from my childhood village).

In a computing environment, we have names for networks, computers, directories, files, and the items of data within them. We also have names for applications and other abstractions like operating systems: CrapWriter Deluxe IV can be what the program is called whose filename is cw.exe, and Red Hat 9 is a name for the large collection of directories and files which make up an OS. Because of the hierarchical nature of modern filesystems and data structures, it's tempting both to add redundancy in naming (in case an object is taken out of its context), and to apply Occam's Razor to pare all names down to the minimum.

Thus we get URIs like www.xyz-co.com/Marketing/PR/PressComment/XYZ/XYZPressMentions/PressMentions2004-01-22.html which achieve both nothing and several things simultaneously. It could have been /presscomment/mentions2004-02-11.html, and saved some people a lot of keystrokes, as well as being easier to remember (Marketing, guys, remember Marketing?). It could just as easily have been /presscomment?2004-02-11 and been a script to dig it out of some data store.

I won't linger over what will happen to people who put spaces and other nasties into filenames: I know some very good witches. Being a longtime mainframe and Unix user, I have a personal leaning towards monocase, preferably lowercase, although I'm happy enough with MixedCase; the current fad for camelCase is for Java and C++ fans. At least those names are descriptive, just as F00=1.23 wasn't.

At the other end of the continuum, we have the cryptic name, whose terse structure hides a belief system. When WordPerfect Corp released WordPerfect 8 for Linux some years ago, the distribution filename was GUILG00, which caused some consternation. It turned out to be a GZipped tar file, and thus easy enough to unwrap and install. But the name betrayed both the fact that no-one in the company had a clue about Unix filenaming conventions, and, according to my mole inside, the fact that this was build G.00 for Linux (L) of ‘the GUI version’, which was how old WordPerfect hands disparagingly referred to the windowing product — the ‘real’ version being, of course, the old character-cell DOS and Unix console WordPerfect.

This leaves us with a small set of principles:

  • Keep names as short as reasonably possible: not so short that you need special knowledge to work out what they are, and not so long that it takes a typist a week to enter them.

  • Don't embed information in a filename if it's already in the directory path, unless the file is likely to be used out of its home context (eg an RPM file).

  • Avoid cutesy-pie names. They are funny for exactly one minute.

  • Don't name machines after things which can change, like project acronyms, which tend to have a short shelf-life.

  • Get the speling rite. There's no point in broadcasting your inability to type or your unfamiliarity with whatever language you are using.

  • Call a spade a spade, not a manually operated digging implement.

  • Use the right terms. If you are naming something out of your field, ask an expert what it's really called.

Some choices are inspired, like the Usenet FAQ respository at rtfm.mit.edu (actually called Penguin-Lust). Puns are usually A Bad Idea, unless you have the eloquence of the poet trying to put one over an editor with a rep for unworldliness:

There once was a young man from Ryde
Who fell down a sewer and died.
  The next day his brother
  Went and fell down another,
So now they're interred side-by-side.

Friday 2004-01-30 23:30 Up

IP ‘just text’

Giving someone else Yea or Nay over your intellectual property

Recent reports claim that Microsoft have applied for a patent in the EU and NZ on methods which people might use to interpret XML documents saved using MS Word. It's not yet clear if this applies only to documents using Microsoft's own Schemas (recently published) or to documents using any Schema.

It's also unclear how they intend to police this: if I save a document as XML from Word or Excel, whether I use their Schema or another, the output is an XML document instance which I can process in any way I see fit. If using Word or Excel means agreeing not to use Microsoft's own Schemas except in ways they specify, that's a decision users must take for themselves. Microsoft badly want to stop you exporting your information from their environment, and this is just their latest means of doing so, disguised as a protection of their ‘intellectual property’.

What is abundantly clear is that you should not under any circumstances whatsoever use Microsoft Word or Excel to store your own ‘intellectual property’. It's bad enough storing your IP in a proprietary file format under someone else's control: it's madness to do so if you are actively prevented from accessing it afterwards. If you have any non-trivial material in proprietary third-party file formats, or public formats controlled by vendor restrictions, now is a really good time to get it out of them once and for all, and use a non-restricted format.

If the lawyers realised what companies are actually signing up to when they choose to use Word, they'd blow a fuse. Unfortunately, most creators and owners of textual information have been successfully conditioned by the manufacturers neither to realise this, nor to think highly enough of their ‘intellectual property’ even to question whether they should use a proprietary format.

Addition And it's not just business. This just arrived from a colleague at my university: ‘As an academic user I think it is very important for material not to be locked in to in propriety data formats. If MS are going to patent their file formats to lock out other applications, this is a potential cost risk for us down the road.’

It's ‘only text’, after all…it doesn't mean anything…does it?

Addition (Actually, it could. It's been around for years, and may now be on its way for business data.)

Saturday 2004-01-24 01:10 Up

Installers

How not to write installation routines

Margaret Halsey wrote ‘Englishwomen's shoes look as if they were made by someone who had often heard shoes described but had never seen any.’ (With Malice Toward Some, 1938, pt. 2, p. 107). I sometimes get the feeling that authors of installation routines suffer from the same blindness, so here are Peter's Rules for writing them:

  1. Identify yourself:   The first line of output (or the window ID, if this is a graphical installer) should say what the program is and what it's installing, plus the date and time, and preferably the platform, architecture, and operating system.

  2. Keep the user informed:   Don't let the program run for minutes on end without saying what it's doing, or providing a progress bar. Remember that actions which look instant on the development machine will take a longer time on slower systems.

  3. Make the output meaningful:   If it has to search for a file, make sure the output says exactly where it is searching and what it's looking for. If it doesn't find it, say so. If it does, say so. Don't just print dots or advance the progress bar, only to end in failure if the file really doesn't exist.

  4. Look in obvious places:   Don't look in the weird places no-one ever puts files in (or if you do, look in the sensible places first). Too many routines fail having only looked in silly places. And don't create arrogant directory names: it annoys the users. See ‘Naming’ below.

  5. Stick to the standards:   Report errors giving filename, line number and character position. Use XML, Windows CFG, Bourne Shell, or ‘Mail Header’ style config files, not some weird-ass format dreamed up for the occasion.

  6. Distinguish between live output and log:   Create a log file of the install and put everything in it. Only output to the screen the trace and diagnostics that are necessary. Java tracebacks have no place in screen output: keep them in the log.

  7. Don't mix GUI and TUI instructions:   If the GUI has a button labelled ‘Click here to exit’ (which it should never have, of course: it should just say ‘Exit’ or ‘Finish’), then don't allow that text to show in the TUI: make sure it's converted to ‘Press any key to exit’.

  8. Customisations:   If the application can be customised, do it for a decent default at install and config time, and let the user change it afterwards. Don't install the software — and even configure it — but leave the user with a developer's interface that looks like the cat was sick.

  9. Install for all:   If it's a multi-user system (Unix/Linux, WinNT/XP), ask if the user wants it installed for every user or just the current user. Don't assume everyone wants your software and make it auto-start for users who don't want or need it; and don't assume no-one wants it and hide it 15 layers deep.

Friday 2004-01-23 15:40 Up

The PDA (2)

Surviving the fall of a PDA

Just before the holidays I dropped Z on the floor. Actually it popped off the belt clip while I was getting into the rather low-slung Mégane the garage had lent me while my Scénic was having a new gearbox fitted (yep, after 15 months the overdrive pinion on the layshaft split and fell into the gears below: crunch). The screen was cracked: the machine was running but all taps on the screen got interpreted for the wrong coordinates. Repairing it would have cost more than it was worth, but I managed to snag a replacement off eBay.

The point of all this is that I was without a functioning hand-held for over two weeks (OK, mostly holiday) and I survived. We've all known about our dependence on gizzmos, computers especially and electricity most of all, for many decades, but we've succeeded in persuading ourselves that the convenience factor outweighs everything else. In fact it was thanks to a robust backup regime that I lost nothing, and thanks to the fact that the Zaurus has ftpd running that I was able to grab the latest copies of the calendar and addressbook data from their temporary locations. Z now lives in a well-padded bag, and the belt clip has gone back to Piel Frama with a note about design.

Sunday 2004-01-18 00:15 Up

Looking better-dressed

Change of appearances using CSS

Time for a change of stylesheet: this one is taken from the one done by Adam Hooper on the OpenZaurus site. I just did it in XSL instead and changed the colours. Thanks, Adam.

Addition The weeks between Philly and Yule didn't seem to exist, and I discover that this blog has been caching itself when it ought to be refreshing, so if the later entries come as a surprise, my apologies.

Friday 2004-01-02 11:45 Up

Piece by piece

Large-scale parsing in XML editing

One of the traditional problems with handling SGML and XML has been dealing with fragments of a document: you have to parse at least down as far as the end of the fragment in order to know you have got there correctly, and in order to deal with it when you have isolated it. This isn't a problem with short documents, but for very large ones it takes a measurable amount of time. If an editor's task involves frequent visits to random parts of a large document, keeping track of whether that area has been parsed or not is a complex task. James Clark has implemented an incremental parser for GNU Emacs which records parsed status at certain points in the document to avoid having to reparse from the top every time a new location is visited.

Sunday 2003-12-14 20:40 Up

ASCII

ASCII is 40. Celebrate with your nearest line-printer

How many printable characters in the ASCII character set? I'd always said 96, because I'd never actually bothered to count, and because I think I must have got the number from somewhere I regarded as reliable. I was taken to task for it at the weekend, and it's 94 (or 95 if you count a space — it is a printable character; it just doesn't have a glyph :-) The 40th anniversary of ASCII was a few weeks ago, I seem to remember.

Addition Just a brief note to commemmorate the passing of Bob Bemer, one of the developers of ASCII, who died on June 24th. Without him we'd have no backslash, and TeX would be the poorer.

Rolling up a few things to take to the States at the end of the week I came across a link I'd neglected for some time: the flexible keyboard for a PDA. Z has a surprisingly good keyboard under the slide, certainly enough for entering appointment details or URIs, but not really enough for extended writing. With Opie-write (or Hancom Word if you have the memory) it's probably worth the extra $80 or so for a usable keyboard. They shipped it to my hotel and it arrived the day I checked in.

Monday 2003-12-01 23:05 Up

Weekdays

Calculating dates by hand

Rootled around for an algorithm to do day-of-week calculations from a yyyy-mm-dd date and bumped into two I'd forgotten about: Lewis Carroll's, which seems to be defective (missing some ‘else’ conditions in the Month-item), and Zeller's Congruence Algorithm, which I think I once implemented in Fortran in another existence. Reimplementing it in XSLT was interesting, and it seems to throw up bugs. Possibly they're bugs in the way the algorithm is described, but I'm damn sure I was born on a Saturday, not a Sunday.

Saturday 2003-11-29 15:35 Up

The Babble Fish

Letting the PHB speak for himself

We're in the process of installing a videoconferencing wall-screen in our meeting room…and very conveniently today's /. has a link to a useful piece of kit: a build-it-yourself enhancement to the Big Mouth Billy Bass animatronic singing fish that will lip-synch with an A/V stream. So the CTO or whoever at the other end of the wet string will be unaware that on your wall is an electronic fish miming to her words :-)

Thursday 2003-11-27 23:03 Up

The PDA (1)

Picking a PDA

The Sharp Zaurus is a cute device for a techie, and if you replace the Sharp ROM and apps with OpenZaurus and Opie, it combines usable PDA functions very well with the flexibility of Linux. It still requires far too much fiddling for use by the general population, and a lot of the free software is still under development, but the range of stuff is vast, and some of the apps are far better designed than anything WinCE or PalmOS have to offer (specifically the use of XML file formats for PIM apps and the robustness and reliability of things like wireless access and dialup with wvdial).

Where it falls down it's usually fixable because you have access to the source code, although there are some less pleasant surprises like a severe lack of good email and browser apps (fortunately Opera ports from the Sharp ROMs to OZ), and a tendency for the less stable apps to spin out of control occasionally (currently I've lost network connectivity for some unfathomable reason connected with a crash when mediaplayer decided to spawn processes like there was no tomorrow).

Where it scores for me is that it runs LaTeX (of course), and Java is available, so in theory at least I could run Saxon. What's missing is an XML editor. I asked several authors and vendors and they all screamed ‘no demand’, so I'm perfectly certain they have all already conducted independently validated surveys of users and ascertained within a 95% confidence limit that there is no market for an XML editor to run on palmtops. I haven't tried Microemacs for a long time…if that runs psgml and xxml-mode we could be onto a winner here. Apache already works on Z. Maybe someone can get AxKit to run…

Wednesday 2003-11-26 23:10 Up

Naming (1)

Taking care when you name things

Just about fixed the CELT SGML to XML conversions, basically going through the existing texts and finding all the GIs and attribute names being used, doing a caseless match against the TEI DTD, and writing a sed script which will do the renaming on each file. Making XML case-sensitive was necessary, as we all accepted, but it's a PITA not being able to optionalize it. It's also thrown up some interesting and quite unintentional errors in the encoding.

This move brings home again how important and persistent names are. In the CELT documents we renamed a whole bunch of GIs to make them shorter to type and read (eg fn for forename): it's worked so well for a decade I'd forgotten that I'd have to cater for there being element type names in the documents which don't appear in the DTD proper, only in our customization layer, some of which are declared EMPTY, so they can't be recognised as such by scanning the TEI DTD code alone. So at this stage, do we keep the short names we're all used to, or revert to the longer standard names for compatibility? (Bear in mind that this project did seriously consider renaming the whole TEI tagset into Latin, on the perfectly supportable grounds that it was dealing exclusively in mediæval text, and mediævalists by definition all know Latin.) Naming has come up many times at the XML and Markup conferences, most recently (Montréal?) in the context of something like ‘just how much DocBook is there left if you can actually rename and restructure everything?’ In fact with a suitable customization layer you could re-express virtually the whole of DocBook using TEI element type names — or vice versa :-)

It gets even more important in things like Web site directory names. Corporate or marketing vanity and ignorance often lead to directories in URIs being named after transient objects (people, projects, products, departments), when they should be named functionally, and the transient objects left at the level of the file. This wouldn't be ideal but it would be better than the impenetrable mess most large sites seem to have become. It gets worse when you have database-fed sites which provide immemorable URIs which are mostly hex, and often break after a few minutes. There's a special corner of Hell reserved for the people who do this…

Tuesday 2003-11-25 22:15 Up

No style information in DTDs?

Formatting Information: The Beginner's Guide to LaTeX

I've been working on the revision of my beginners' guide to LaTeX [old version here], which is to be published as an issue of TUGboat shortly. It's a 120pp DocBook document, with a customisation layer to let me describe typographic stuff, and very dense markup. It still seems to be true that a long, relatively complex structured document can be formatted much more accurately and efficiently by converting to LaTeX than by reinventing several dozen wheels in XSL:FO. I guess that will change, but FO has to catch up on two decades of experience in automated typographic programming first.

It's also a good example of how a mechanised transformation from XML to print will always need manual tweaks if you want to maintain typographic quality. Quite apart from obvious interventions like the occasional æsthetic linebreak and pagebreak, you'll always need attention to symmetry and placement — alas something that hasn't had the attention it deserves for this edition, as we're working against the clock. Using classical Quark XPress horrors such as increased inter-letter spacing to compensate for a deficient H&J routine may be fine in office documents but it's not acceptable in the real world of print.

Anyway it's shipped off to the editor so tomorrow I can concentrate on getting the CELT texts converted from SGML to XML (another big DTD with customisations :-)

Monday 2003-11-24 23:55 Up

Stabilising

Moving home

OK, a more stable place is here. A few bells and whistles on the stylesheet. My ISP doesn't serve Cocoon or Axkit, so this XML is being faked up elsewhere. I did try serving naked XML just to see what kind of fist MSIE made of it and it wasn't a pretty sight.

Saturday 2003-11-22 23:45 Up

Scrolling

Scroll or page, that is the question

Winding up and heading for a gin and tonic it just occurred to me that most blogs scroll rather than page. I don't know if this is good (you can browse past entries more easily) or bad (it's a bigger download, of past material you've already read). This one will probably page by the time I've finished with it.

What would be neat is some XSLT to generate an SVG clock-face from an ISO 8601 timestamp…

Friday 2003-11-21 16:35 Up

Time to bite the bullet at last

Why I'm starting this blog

OK. I've been resisting putting up a blog on the grounds that if I don't have time to finish all my other stuff, I certainly don't have time to write about it. Tim Bray and Seán McGrath persuaded me the other night that this is spurious. In any case it probably goes against what we've all been preaching for decades about programming (document, document, document :-)

So I wrote a little DTD and a little stylesheet and a couple of images and let Cocoon have its way with them. Expect this format to be played with over the weekend…

Oh, and don't even think about bookmarking or linking this (UCC) URI. It's a temporary convenience until I crank the latest Cocoon into action somewhere more suitable. Watch this space for an address.

Friday 2003-11-21 12:30 Up

Publicidad