Lenovo ThinkPad Carbon X1 (gen. 5)

Five years, two months, and 22 days after the last time, I’m retiring my laptop and moving to a new one. This time it’s a Lenovo ThinkPad Carbon X1, fifth generation (manufactured in March this year, if the packaging is to be believed). This time, I’m not switching operating systems (although I am switching desktop’s, to KDE, because I hear Ubuntu is going all-out normal Gnome sometime soon).

So I kicked off the download of kubuntu-16.04.2-desktop-amd64.iso and while it was going started up the new machine. I jumped straight into bios to set the boot order (putting ‘Windows boot manager’ right at the bottom because it sounds like something predictably annoying), and hit ‘save’. Then I forgot what I was doing and wondered back to my other machine, leaving the new laptop to reboot and send itself into the Windows installation process. Oops.

There’s no way out! You select the language you want to use, and then are presented with the EULA—with a but ‘accept’ button, but no way to decline the bloody thing, and no way to restart the computer! Even worse, a long-press on the power button just suspended the machine, rather than force-booting it. In the end some combination of pressing on the power button while waking from suspend tricked it into dying. Then it was a simple matter of booting from a thumb drive and getting Kubuntu installed.

I got slightly confused at two points: at having to turn off UEFI (which I think is the ‘Windows boot manager’ from above?) in order to install 3rd party proprietary drivers (usually Lenovo are good at providing Linux drivers, but more on that later); and having to use LVM in order to have full-disk encryption (because I had thought that it was usually possible to encrypt without LVM, but really I don’t mind either way; there doesn’t seem to be any disadvantage to using LVM; I then of course elected to not encrypt my home directory).

So now I’m slowly getting KDE set up how I like it, and am running into various problems with the trackpoint, touchpad, and Kmail crashing. I’ll try to document the more interesting bits here, or add to the KDE UserBase wiki.

Enable Left Win as the Compose Key on Ubuntu

It is very easy to type “special” characters on Linux (i.e. those that aren’t printed on the keyboard). It’s called the Compose or Multi Key, and it’s brilliant.

First, enable it in ‘Keyboard settings > Advanced > Position of Compose Key’. I’ve got it set to Left Win because I never use that for anything and it’s in a similar position to the key on Apple computers that serves a similar purpose (but whose name I cannot remember).

If the Left Win option is missing (as it seems to be on some Ubuntu installations), you just need to edit /etc/default/keyboard and set:

XKBOPTIONS="compose:lwin"

Then run:

sudo dpkg-reconfigure keyboard-configuration

Once it’s all working you just need to look up the characters you want (Tim Starling also has a good list).

My new Kobo Mini

Today I bought a Kobo Mini ereader. It’s lovely: small and simple, feeling light and nice to touch. It’s got an on button on the top edge, and a USB plug on the bottom; the rest is screen, bezel, and back (the latter two of a sort of micro-fluffy textured plastic). So far, so good.

I bought it because I want to read Wikisource texts offline and away from the computer, and I don’t like the idea of continuing to print them out. It’s nice to proofread on paper, perhaps, but then carrying A4 pages around in manilla folders isn’t very good (for reading on the bus and whatnot). I don’t think it’s too hard to make notes about corrections in my notepad, so long as I give a suitable amount of context.

Anyway, the second thing about the Mini, after it’s pleasing appearance: it won’t work until it’s been ‘activated’! What on earth’s the point of that, other than to attempt to force me into buying books from some particular company or other?! Ridiculous! However, do it I must, if I want to read anything else — so I registered, and stumbled around in the Kobo Desktop application…

At first it looked like it mightn’t actually be possible to just copy the files I wanted to the device (despite it most sensibly mounting as a little external storage thingo), but it turned out that one must first activate it and then copy files to it, in order for them to be recognised. The file I’d copied before activation was ignored, but then after copying another there it kicked it into action and both were listed in the main menu. A relief.

So: all working on Ubuntu now, and I’ll report back in a few weeks on the actual readish fun of the thing….


Update: I wrote some more about my Kobo in July.

Setting up USB drives for backup

I use USB hard drives for backing up one of my machines, swapping them regularly but leaving everything else up to the backup script that runs daily. This means that I want to mount them at the same place every time, regardless of which drive I plug in or what device it is registered as. This isn’t very difficult because fstab can use UUIDs or labels to identify disks:

UUID=6B70-A309    /media/sw_backup vfat user 0 0
LABEL="SW_BACKUP" /media/sw_backup vfat user 0 0

(Note: these backup drives are formatted with FAT filesystems so that I can if need be restore on any system if required.)

To avoid having to manually add the disk every time I put a new one into rotation, I go with the label method.

To use this, each disk must be given the same label (and then not plugged in at the same time!). To set the label, first find the device:

sw@swbackup:~/backups$ sudo blkid
/dev/sda3: UUID="f31d1291-9d6f-441d-9f8d-fa34e9f569d5" TYPE="swap"
/dev/sda4: UUID="8a0b99a2-8a2e-4eae-7666-d607fbc44de5" TYPE="ext4"
/dev/sdb1: LABEL="NONAME" UUID="4A39-C8E7" TYPE="vfat"

Then sudoedit /etc/mtools.conf to add the following, where the device name is the same as above:

mtools_skip_check=1
drive s: file="/dev/sdb1"

Now mtools can change the label:

sw@swbackup:~/backups$ sudo mlabel -s s:
 Volume label is NONAME
sw@swbackup:~/backups$ sudo mlabel s:SW_BACKUP
sw@swbackup:~/backups$ sudo mlabel -s s:
 Volume label is SW_BACKUP

rsync.net

I signed up for an rsync.net account a bit over a month ago. They’re a reasonably-priced off-site filesystem provider, seemingly run by people who care about security and doing things normally. By ‘normally’, I mean rsync for starters (oddly enough, given their name) but also the whole gammut of *nix-y ways of doing things; one can interact with them with the usual tools. So they provide a proper, old-fashioned filesystem, and protect it well (there’s even a warrent canary). There’s a choice of datacentre — I chose the Zurich one — and plans ranging from 7GB (80c/GB/month) to 10TB (8c/GB/month). They even correspond via email, of all things! It really is odd that a company that behaves so normally is so uncommon…. I don’t care about pretty graphics, boring and unused extra features, or ‘enterprise-readiness’ (whatever the flip that is), I just want a share of some disk in a big strong building somewhere, one that’s going to be protected and maintained properly and simply. All I can say so far is three cheers for rsync.net. (I’ll be sure to report back if my opinion changes.)

So that’s all well and good, and I’ve got my big disk in the sky, but how am I going to use it? I am going to host a Subversion repository there, to serve as an everything-bucket. That is all. How well will svn handle a huge (multi-gigabyte) repository? I’ve heard varying reports, but most seem to think it’ll be fine. Certainly it’s data-copying system will work well, as far as resuming aborted connections goes (it’ll only copy what’s not yet been copied; much as rsync.net does (although I don’t think it does it at any smaller unit than that of the whole file)). Questions remain about how much overhead diskspace I’ll waste by doing this, but as most of the binary files will only be modified at most once or twice, and generally not at all once they’re checked-in, I don’t think it’ll matter too much.

I’ll see how things go.

ninthfloor.org

This looks great. A community Linux host for email accounts, shell access, and a pile of other uses. They stand for “free access to computers; always yield to the hands-on imperative; freedom of information; decentralization; mistrust of bogus judgement criteria, such as degrees, age, race or position; world improvement”. They seem to be keeping things personal, and human. Hoorah for ninthfloor.org.

Sorry, Apple Inc., I’ve met something I like more than you

I first used a Mac in about 1993 — a Quadra I think it might’ve been, or a Performa. I’d come from DOS and Amiga and didn’t really know anything about anything — I didn’t even know there was anything to be known. I remember hearing someone talking about Windows, and assuming they just meant those rectangles one could drag about on the screen. A computer to me was a fun sort of thing which could usually be made to do (boring… but strangely compelling) things with textual input and output, thanks to variants of a ‘basic‘ language (AmigaBasic, QBasic, etc.). When I found AppleScript — and when I started using it for CGI programs (don’t ask!) — it seemed that all that one needed was an idea and some time, and the machines could be made to do anything!

Anyway, it was on System 7 that I spent most of my time (and its successors), thanks to my stepfather’s loyalty to Apples — and I loved it. I loved the whole Apple thing, really — this odd feeling that somehow, just by choosing this particular OS, one could be calmer, more focussed, write better (code or prose), and still spend one’s spare time rock climbing (as I did). That couldn’t be the case with those horrid business machines running Windows, that was for sure! I even got a reply from Douglas Adams himself once (a Mac person, as if you didn’t know), to my pedantic email with the subject “Macs are PCs too, you know” (he said, no, they’re not, that argument has been won, and Macs are something more than Personal Computers). I remember sitting in a bookshop reading the Apple Human Interface Guidelines, and thinking how much amazingly careful thought had gone in to everything — the distance between buttons in a dialog window, for example, or the algorithm for changing the length of the ‘thumb’ in a scroll bar as the content length changed.

Why on Earth was there such an element of personal identification with these computers?! I was an ‘Apple person’; otherwise known these days, more appropriately, as a fanboi! Which has lasted nearly twenty years… but I can’t keep it up. I’ve been through five or six Macs in that time — I’m typing this on my MacBook5,1 — but it’s time to move on. I’ve enjoyed them all, especially the feeling that they are reliable: physically solid and unlikely to break in my backpack. But I won’t be buying another. I’m losing faith.

No, I’ve lost my faith. I lost my faith as Apple wanted to control everything more and more — the whole ‘ecosystem’, as they say, of OS and programs and data and sources — and as my awareness of the value of open standards grew. Obviously, I’m not saying that one can’t work perfectly well with open standards on Mac OS, because I have been doing so for years and years. It’s just that the OS as a whole is not geared to helping people do that. I shudder to think of people who know no better and are tying up their entire digital archives in formats that offer no security for future access! (But don’t let me get sidetracked into that discussion…)

I’ll no longer align my computing life (which is a rather large part of my life, for better or worse) with a corporation who’s aims are less than honourable: so I’ve bought a Lenovo X220, and shall be running Ubuntu exclusively. (I would’ve done this years ago, except for the fact that my current hardware has been running well since 2008, and I hate the idea of discarding a useful machine. Also, I do most of my computing on Linux anyway; the local machine is just a gateway, really.)

Goodbye Mac OS! I’ve enjoyed the ride and learnt lots, but ultimately have been thwarted in learning on too many occasions. It’s time for a system that, should I come up against its limitations, can be changed to suit my needs.

So long and thanks for all the fish. ;-)