Inching forward

Sometimes you just need a little patience

Having fired off a huge screed of stuff to the wonderful people on the Ubuntu support list, and having taken Ralf Mardorf’s advice to Google first, even for things I don’t believe anyone would ever have encountered, I started reading more deeply.

Ramón Casero has a page on dual-booting an XPS 15 with Windows and Ubuntu (which I’m not doing) which has some useful advice, firstly to switch to the latest nVidia driver, and second to fix the touchpad oversensitivity by switching from the Synaptics driver to libinput (Juan Hernández’ suggestion).

Both of these worked: I haven’t noticed any particular improvement in the screen, but the touchpad jumping all over the place has certainly got much better.

So when I rebooted, it went into full graphical mode and this time it completed the boot successfully instead of hanging after entering the disk crypt. Weird but wonderful — I wonder how long this will persist?

Thursday 2017-11-09 22-25-00 Up

Doubleplusungood boot shenanigans

A boot routine — of all routines — should be the most stable

This ain’t good. I powered up the new laptop and typed the encryption key as prompted, but I noticed I made a mistake in typing. No problem, it asked me for it again, so I did it right and it started turning the white dots red under the Ubuntu logo…and then hung on the third dot. The message underneath said:

cryptsetup: nvme0n1p5_crypt set up successfully

I powered off and restarted, and picked Advanced Options for Ubuntu from the Grub menu, and selected 4.10.0-38-generic (recovery mode). This boots in text mode and asks for the disk to be unlocked. I give the crypt key and it unlocks OK. I ran Update grub bootloader from the menu, and fsck’d the file systems, and then went for resume and got the normal login prompt. Everything seems to be working, except…

…when I log out and power off, then restart, I get the same problem: the Ubuntu logo and little red dots hang in the same place.

I have no idea what it is doing while it is cycling the red and white dots, so I don’t know if the problem is the logo itself or something executing in the background (grub?). But I know some people who do.

At least it does boot…after a fashion, and in normal operation appears undamaged. But I think the next step might be to revert to Xubuntu for 17.10.

Monday 2017-11-06 22-35-00 Up

Staring you in the face

Yes, it was right there on the screen and I didn't see it.

Probably general age and debility. Last time I built Enlightenment I used a build script, and I had completely forgotten that.

Explanation: my preferred window manager is Enlightenment, as it runs light, provides pretty much everything I need, and doesn't make decisions on my behalf about what I want where. Plus it looks vaguely Mac-like, which I find more usable than those interfaces which look vaguely Windows-like.

For the last few years, I have been using a script from which has worked excellently. I recently noticed that the equivalent page for Ubuntu was updated at, so I used that, forgetting about the script, although it did mention one.

Everything went fine, except that Enlightenment didn't appear after reboot as one of the options. Thanks to Eric from the enlightenment-users mailing list, however, I got it running — he pointed me at the location of the .desktop file, which had been sitting there all the time.

I'm hoping something similar will emerge from my puzzle about Emacs playing sillybuggers with the timer. I hope it's not a little hardware present from Dell.

‘[V]erging on decrepitude and imbecility’, as Landor said in one of his final letters. Well, maybe not quite that bad yet.

Monday 2017-11-06 08-45-00 Up

It’s that time of year again

Update your OS before something worse comes along

No, not that time of year when the British burn the image of a perfectly well-meaning Catholic who felt that history would be better served if he blew up their Houses of Parliament with everyone inside. He was probably right, anyway: they can’t have been any worse than the current shower of self-deluded sycophants and time-servers in Westminster.

Yes, it is Novermber 5th, and yes, I’m sure the fireworks are very pretty, but there are other, more important, imperatives driving my computers: upgrades to the operating system. I settled on Ubuntu desktop and server many years ago, and I think it was the right decision: sufficiently up-to-date to run the software in versions that I need (unlike Red Hat and its clones, which are now so far out of date as to have become a joke in the industry); but sufficiently widely-used that there are plenty of good and generous people out there who can help if there are the occasional rough spots — and sufficiently well-curated that those rough spots are very few and far between.

What triggered the current upgrade was the need to find something usable to put on an old Dell 32-bit laptop to keep it running. It’s an old but extremely solid machine, very nice hi-res widescreen, plenty of disk space but limited processor and memory capacity. To heavy to schlepp to meetings much now (although I did bring it to XMLSS this year), as my phone plus BT keyboard does pretty much everything I need while travelling, and certainly so where the USA is concerned, where I never bring a laptop.

But it’s still a 32-bit system, and Ubuntu discontinued 32-bit support with 17.04 (Zesty). The problem was that the laptop was running 14.04 (Trusty) when this was announced, so I knew that the last-ever upgrade would be on the way — to 16.04 (Xenial), as it happened (there was no v.15). The hunt for a supported 32-bit system was on.

After reading through the half-dozen ‘Ten Best Low-Powered Linux Systems’ articles and taking advice from friends, I lighted upon N Linux, which seemed to cater for about the right point of balance between usability and availability. It installed fine, and it’s basically perfectly usable — except that the repos are over a year out of date (only TEXLive 2015, for example), despite being Debian-based. It’ll do for the moment until comes up for cyclical replacement, and then I’ll probably sacrifice speed for support and install Ubuntu 16.04 and leave it as the emergency machine.

In the meantime there’s a Dell XPS 15 to be provisioned. This is the big brother of the XPS 13, on which linux can be had preinstalled. No such luck with the 15, however: Dell don’t cater for the top-end developer, so you have to do it yourself. I did try to ‘continue’ with Windows installation, but it wanted driver updates, and it accepted a long passphrase and then refused to honour it afterwards, so I did a full wipe and encrypt with Ubuntu 17.10.

At least, that was the intention, but on boot, the 17.10 startup ticker (or spinner, or whatever the widget is called that displays five white dots and slowly changes then to red dots and back again) hung on the fifth dot and wouldn’t go any further. So for the moment it’s 17.04, which installed immediately without complaint, and I can then experiment with upgrading to 17.10 once I’ve finished logging the installation of the user software needed.

That has thrown up only one problem, but rather a weird one, which I have queried on the Emacs StackExchange until I can get together enough material to report it. Basically, Emacs started and immediately threw the error Error running timer 'blink-cursor-start': (wrong-type-argument listp 0.5) and refused to handle any keyboard input (giving more wrong-type-argument errors). On of the Mods (Dan) suggested the -Q argument as a workaround, which removes the error by bypassing all startup files. This needs to be tracked and fixed: Emacs is a core application for text editing for both XML and LATEX, and this kind of error is a show-stopper, either for the hardware or the software, whichever it turns out to be. Everything else looks fine.

The XPS 15 is a nice piece of hardware. The trackpad is way too sensitive, though (maybe it’s better in Windows). There’s a port-extender which provides an RJ45 socket when you need better transfer speed than wifi, and the suspend-resume mechanism seems to work in Linux. I haven’t tried the audio or video yet — that’s for the next installment, before something worse comes along.

Sunday 2017-11-05 16-00-00 Up

Do ya want yer ould data washed down?

Your quality of service depends on the quality of your data just as much as on the quality of everything else

We’re constantly being told that organisations “must go digital” or die, and experts like @damienmulley run courses to get you started or bring you up to date. Which is all very well, but there’s little point in tweeting or facebooking your organisation’s finer points if your services fall over because your data doesn’t flow.

Right now, one organisation I am involved with is in the middle of a web site revamp, so the developers are looking for things like pages which are supposed to be under revision but aren’t (yet), and for the page sources to index for a new search system.

This weirdly requires JSON, not HTML, probably for the convenience of the indexing engine rather than the convenience of the customer (always a bad idea). Not that there’s any problem in generating it: anyone equipped with wget, tidy, and lxprintf can rattle out document metadata and normalized text, which is all they apparently want for indexing. As all inline markup gets dropped, there won’t be any faceting except by source directory, so it will at least be able to distinguish pages about training courses from those about supply contracts; but like Google and others, it won’t otherwise have sufficient context to tell a cookbook from a novel or a product brochure from a password reset page.

Ironically, the organisation’s data is actually fairly good in web pages: it’s in areas like corporate administration that it falls down. For historical reasons, custody of the email address list is handled by a different office from the one which handles custody of the internal phonebook data, and ne’er the twain shall meet. This means a search for the person you want to contact requires two separate and unconnected searches, and returns two separate and unconnected results, one from the email list and one from the phone list. It’s inefficient and unnecessary, and JSON ain’t gonna fix this kind of problem.

Americans tend to have this touching faith in the efficiency of corporations. You come across it most often in discussions of government and state-run enterprises, where they really do believe quite religiously, hand-on-heart style, that everything would be sooooo much better if it was handed over to private enterprise. Their reasoning is that private enterprise is motivated by profit, so if something doesn’t work, it will cause a loss, and so will get fixed quickly. It’s become an article of their faith in capitalism, and it skews their judgment heavily, and sometimes disastrously.

Quite where they get this view from is a mystery, but like all myths, once promulagted, it’s impossible to stop the uncritical believing it. Both state and private organisations are equally bad at data governance, in my experience, although probably in different ways. I have dealt with government offices who seem to be living in the late 1800s, and not only have no clue what they should be doing, but don’t have the data to do it with anyway. I have also dealt with government offices who do a spectacularly brilliant job, clearly understanding what they are at, and having all the information right where it’s needed. The UK’s Opening Up Government project is a good example of How To Do It Right (OK, I’m biased, I know several of the people working there, because they’re in the same field as me, but nevertheless).

In businesses, there are those who likewise have a seamless flow of information, and you can visit their web site and order their goods or services, and it all works fluidly, with everything in its place. I ordered a micro-USB OTG charger hub the other night, and I was done in a few clicks, and it arrived today. There are also those who quite clearly have no clue what they are doing. You order goods and the form either asks for information you cannot possibly have, or fails to ask for something which you know they will need. They then don’t pass all your address to the shippers, who in turn claim that your address doesn’t exist, so delivery fails. I’m still waiting for an item I ordered back at the start of the summer, and it’s now October. I think it will eventually arrive, but ‘clueless’ doesn’t even begin to describe the company. JSON won’t fix their problems any more than XML will.

Another favourite trick is from suppliers to my local university, who take purchase orders from many departments, but for shipping labels they just pop up the name of the university and pick the top address from the list. So your box of four borosilicate 500ml lab retorts gets delivered to the project office for humanities research in a different building the other end of campus, while their order for a dozen 1TB hard drives gets sent to the zoologists at the wildlife park 12Km away, because theirs was the most recent address used, and the individual in charge of packing labels either can’t be bothered to get it right, or doesn’t realise there is a difference. Some of this is human, but most of it is simply bad data in the wrong place. JSON won’t solve this problem either.

Programmers tend to love JSON and hate XML, usually for the wrong reasons. Neither format will solve the problems of bad or missing data, only expose the data for what it is. Programmers are used to dealing with two-dimensional data: database tables, row-and-column spreadsheets, and CSV files. Go deeper, and you use relational algebra to handle n-to-m joins, but the data is still rectangular. Both JSON and XML can handle this with ease, and it’s not important which one you use. Text document markup with mixed content (think HTML) is messier: stuff is perhaps present, but there again, maybe it’s not; raw text is intermingled with more elements, sometimes nested arbitrarily deep. Yes, there’s life in the tree, but not as we know it, Jim. JSON may possibly be able to represent this, but not meaningfully, and all statements to the effect that this is human-readable are from now on inoperative. There’s a fascinating thread over on xml-dev about the pros and cons of JSON vs XML but it’s clear that the message about using the appropriate format for the task has yet to penetrate the murkier recesses of corporate development. And if the data simply isn’t there, or is in the wrong place, neither format will do anything to help.

Friday 2017-10-06 09-55-02 Up

Down the slippery slope (again)

Those who cannot remember the past are condemned to repeat it

The human race has probably been down this particular slope in one form or another many dozens or hundreds of times. Just in case anyone has missed it, the politics of western civilisation in parts of Europe and north America have taken a hit from the disgruntled, disenfranchised, dispossessed, disregarded, and disconnected (perm any three from five). It shows up in the UK as a vote to leave the EU, in the USA as a vote for the so-called President Trump, and in France as a vote to return to fascism with Marine Le Pen.

Depending on your stance, of course. In the UK, it was dressed up as a vote to get rid of Johnny Foreigner, which appealed to the latent xenophobes. Or as a claim to return British sovereignty, which boils down to a dislike of EU law. In the USA, the xenophobic card carries a different weight, but was just as useful, as was the dislike of Federal law. In France, it’s the same as in the UK (one of the hallmarks of Franco-British relations over the last 300 years has been that the reason they dislike each other so much is that they’re so alike).

But if you remove the layers of humbug and snake-oil which Trump, Farage, Le Pen, and others used to mask the smell of outright lies, what’s underneath is a large part of the population who used to be able to afford a reasonable standard of living, no longer being able to do that; and a very small part of the population who have made (or are making) stunningly large sums of money from morally repulsive activities.

In Len Deighton's spy novel Horse under Water (the title refers to cocaine retrieved by a diver), the pro-Nazi baddie reminds the spy to bring a message to his government: ‘Don’t destroy the middle classes!’ Neglect of this simple mantra lies at the core of the current set of defections from decency. It's not important that ‘middle class’ in the USA means something slightly different from ‘middle class’ in the UK, nor that in many cases the phrase in fact better describes the rural poor or the urban working class rather than the newly-dispossessed white-collar classes. What’s significant is that it’s a lot of people who are very pissed-off at being forgotten about, while the politicians and those able to take advantage of them are treated as if they were important.

It’s unclear if the US Democrats have even begun to realise that their perpetual underhand dealings, from the rigging of laws to the use of political correctness to mask Federal expansion, actually upset a lot of people who then didn’t vote for them — or indeed for anybody. Nor has the equivalent thought occurred to the UK Conservative or Labour parties (with, apparently, the exception of Jeremy Corbyn, apparently the only MP left with any shred of decency). And you may be sure than when Marine Le Pen wins in France, it will be for the same reasons, and her competitors will have missed that particular cluetrain as well.

So what of our own locally-trained collection of gobshites and jackasses in Ireland? Again and again they and their appointed minions attempt to circumvent normal standards of behaviour in order to preserve the continued employment of their venal, criminal, or incompetent colleagues or subordinates. They then attempt to cover up their misdoings, and inevitably botch the job (remember, I said ‘incompetent’), so the Press gets hold of it, it all gets officially denied, often via a ludicrously expensive Enquiry, the miscreants are free to return to their troughs, and the people originally affected are left by the wayside.

So why do those who remember the last time allow it all to happen again? The answer seems to be selective memory. Those who remember are not in positions of power; those who are, don’t remember. The reasons could be chemical, genetic, sociological, or David Icke’s 9' green space lizards — we don’t know. We do know how to fix it, though: as we don’t do wholesale slaughter of the ruling class any more, we have to use a vote. So it comes back to politics again: if what has happened in the last year offends or upsets you, as it does me, remember that enough people voted for it to make it happen.

Friday 2017-02-10 13-27-42 Up

Useful for kindling

Online technical books need constant curation

OK, so it’s been a year since I put finger to keyboard on this. Mea culpa. Trying to reconstruct a life after so long with my head below the parapet took over 12 months, far longer than I anticipated.

Anyway, back to business. Kindles suck. Yes, they were among the first; yes they look pretty; yes, if all you want to do is read a novel (or any continuous text), they work pretty well. If you write tech doc, they suck.

First, there’s the binary file format. It used to be Mobi, now it’s KF8, and it’s not unmanageable, but the EPUB3 zip is way easier to handle, leaving aside the DRM (Digital Restrictions Management), which I’m not involved in.

Next, the HTML. It’s like writing for a late 1990s browser written by a student on acid. Not just that the devs never read the spec (hey, the Mosaic devs never read ISO 8879 either), but that they picked and chose what to support as if they weren’t going to have time for all of it. Like there’s soooo much in HTML?

Then there’s CSS. Version 1 by the look of it. Bold, italic, maybe both. Spacing? A little. Selectors? A class if you’re lucky. Size? Within limits. Yes, we know the syntax sucks, and it would have been so much easier to do it like Panorama, but browsers didn’t parse HTML properly either, so why expect Amazon to do so?

Gripe over: not my circus, not my clowns. Calibre does a reasonable job of transforming my EPUB3 code into a MOBI, and the file size is acceptable. Kindlegen does a slightly smoother job, on first appearances, but then drops the ball with a splatt on monospace blocks of code, links, font changes, embedded images, and — worst of all if you’re writing about LATEX — no control over raising and lowering, nor on tighter kerning. I suppose that’s a step too far for a system that can’t even hyphenate properly.

So LaTeX it will have to be for Kindle folks (including my emulator on the Note). Mac users, of course, have jam on it with the Apple eBook Reader, and even the otherwise fairly crummy selection for Android manage to represent most of the content. Now if there was just a version of the Calibre Reader for Android, I could toss the Kindle in with the cipíní and watch it burn.

Sunday 2016-04-03 22-15-20 Up