Actual physical objects made of stuff · Computers · Flat Things

Can you swap the keyboards between a Thinkpad T40 and an IBM SK-8845?


(I’m posting this because it’s something I searched for and didn’t find an answer to.)

The SK-8845 and its sibling the SK-8840 are IBM-branded keyboards with built-in trackpoint and trackpad.

They appear to be essentially the keyboards from Thinkpad T40 (or T41, T42, T43) laptops, pulled out and put in a separate case for use as a compact keyboard/mouse controller in a server room. They’re pretty good keyboards in a classic Thinkpad laptop sort of way.

I have an SK-8840, which is the (less common?) PS/2 variant. As far as I can tell from photos, without having seen one in person, the SK-8845 is the same keyboard with a USB plug on it.

Here’s the SK-8840:

IBM SK-8840 keyboard. I’m sorry, I removed the trackpoint. I always do – I never use it and it gets in the way a little. I do keep the trackpoints in case I want to sell up though. Have you noticed the trackpoint pin is rotated 45° from the normal Thinkpad keyboards? I wonder why.

Visually this is much the same as the keyboard on the T4x series of Thinkpad laptops, which are truly excellent. It doesn’t feel like a T40 keyboard though. It’s more like the later, still good but not quite so good T60 series. So I wondered whether it was possible to swap the keyboard part with that from (ahem) one of my T4x laptops.

The answer is no: it’s physically incompatible. The plate at the back is different, the connections are different, the stand-offs are different. It may be possible to adapt one into the other and that could be an interesting project for someone more ambitious than me, but it definitely isn’t a case of just pulling out the keyboard part and plugging it in. The same goes for the T60.

Here’s the innards, and the back of the keyboard plate, of the SK-8840:

Here are the backs of the keyboards from a T40 (above) and T60 (below):

That’s all.


Replacing the GNOME Shell font in GNOME 3.16

[Edit: see the comment by Hugo Roy after the article, describing a much simpler, more “official” way to achieve this]

When using Linux on a touchscreen laptop, I generally use the GNOME 3 desktop — logical design, big touch targets, good support for high-resolution displays, nice to look at.

While I mostly approve of the design decisions made for GNOME 3, there is one thing about it that I don’t get on with, and that’s its use of the Cantarell font. Cantarell is clear and readable, and a fine default for most UI text, but at the middle of the top of the screen there lives a digital clock:

Clock in Cantarelland I find this strangely annoying to look at. I think it has a lot to do with the excessively round zero. Since it’s always there, it annoys me a surprising amount.

Until GNOME 3.15, it was easy to change the font used throughout GNOME Shell by editing one property in a CSS file. Unfortunately GNOME 3.16 moved that CSS file into an opaque resource bundle and made it accessible only through some awkwardly-designed tools. I can’t fathom how that appeared to be a good idea, but there it is.

Anyway, with help from this forum post I knocked out a script to update this resource file so as to make it prefer the Fira Sans font from FirefoxOS. It makes a copy of the existing resource file with a .dist suffix.

This may be specific to Arch Linux (the distro I’m using), so caution advised if you refer to this for any reason. It’s necessary to have the glib2 and otf-fira-sans packages installed for this to work.


set -eu


ext="$(date +%s)$$"
mkdir "$tmpdir"
trap "rm -f $tmpdir/* ; rmdir $tmpdir" 0

cat > "$tmpdir/$manifest" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<gresource prefix="/org/gnome/shell/theme">

for file in $(gresource list "$resource"); do
    base=$(basename "$file")
    gresource extract "$resource" "$file" > "$out"
    echo "<file>$base</file>" >> "$tmpdir/$manifest"

cat >> "$tmpdir/$manifest" <<EOF

    cd "$tmpdir"
    perl -i -p -e 's/font-family:.*;/font-family: "Fira Sans", Cantarell, Sans-Serif;/' gnome-shell.css
    glib-compile-resources "$manifest"

sudo cp "$resource" "$resource.dist.$ext"
sudo cp "$tmpdir/$rname" "$resource"

Of course every time an update comes along, it overwrites the resource file and I have to run this again. Which is one reason I’m posting this as a reminder to myself.

Computers · Good Things

T40p, T60p, T540p, go!

I recently replaced my desktop machine at work with a Thinkpad T540p.

T540pThis laptop has had some bad reviews online: terrible trackpad, keyboard a great disappointment, Windows drivers problems, not the proper colour for a Thinkpad (it’s dark grey instead of black), installing Linux will brick it.

I read a few of these and did hesitate. On the one hand, bad reviews and all that. On the other, a matt-finish retina-resolution 15″ screen.

The screen and keyboard are the most important things about a computer. Some people clearly disliked this keyboard, but it’s still a Thinkpad and their reputation is still pretty good. Worth taking the risk, I thought.

So we ordered one with the 3K (i.e. high-resolution) screen and the upgraded keyboard option. I deleted Windows and installed Arch Linux, and didn’t brick it in the process. And it’s a terrific computer. The screen really is splendid. The keyboard is quite heavy, which I like, and is asymmetrically placed, which others seem to have a problem with but hasn’t bothered me. And it’s fast and quiet, tough, and relatively cheap by the standards of new T-series laptops.

This is the first new computer for years I really look forward to using: finally a good successor to the older T40p and T60p series.

There’s one caveat, where I agree with all the reviews: the trackpad is indeed awful. It looks good, it’s got a nice soft smooth finish and it’s fine for moving the pointer, but it has a whole-button design with a nasty twist: you have to push the whole pad about a millimetre before it registers. It’s impossible to do it without moving the cursor, and click-drag is out of the question. If you prefer using the Trackpoint in the middle of the keyboard, well forget that too: the only buttons are built in to the trackpad and consequently useless.

But this is a big laptop, and you’re probably using it in a space where a mouse is OK anyway. Get one of the Microsoft Arc Touch mice that fold flat, and forget the trackpad ever happened.


Proprietary Unix

From 1992 to 1998, every paid job I did came with a Unix workstation on my desk. Admittedly that only covers three employers, but it covers a lot of different kinds of workstation.

In those days, selling Unix software (unless you could dictate the hardware as well) involved a lot of porting, and companies would build up a library of different workstations to port and test on. A bit like Android development nowadays, but much more expensive.

At some point I used, or had in the rooms around me, machines running

  • Silicon Graphics IRIX on MIPS processors (the SGI Indigo and Indy—the natty coloured boxes)
  • Sun Solaris on SPARC (with my favourite keyboards, the Sun Type 5)
  • SunOS 4 on Motorola 68K (immense single-bit-depth mono screens)
  • DEC Ultrix on MIPS, and OSF/1 on Alpha (everyone wanted the Alpha)
  • SCO Unix on Intel x86 (nobody wanted that)
  • Hewlett-Packard HP-UX on HP Precision Architecture (nice hardware, didn’t enjoy the OS)
  • Data General DG/UX on AViiON (not a very likeable machine)
  • IBM AIX on POWER architecture (fast, though I was never into the rattly keyboards)
  • and a System V implementation from Godrej & Boyce of India running on Intel i860

That was up to 1998.

From 1999 to 2014, every paid job I’ve done—other than excursions into Windows for specific bits of work—has come with an Intel PC running Linux on my desk.

I suppose proprietary Unix workstations made something of a comeback in the shape of Apple’s Mac Pro line with OS/X. I think of the dustbin-shaped Mac Pro as a successor to SGI workstations like the Indy and O2: the sort of thing you would want to have on your desk, even if it wasn’t strictly what you needed to get the job done.


How the Lenovo Yoga 11s compares

Previously… I was after a new small laptop and wasn’t sure what sort to get. I bought a Lenovo Yoga 11s (in grey). After a few days’ use, here’s how it compares against the criteria I had in mind when I bought it.

  • No bigger in any dimension than an A4 pad. The Yoga is just smaller than A4: about the same size as my previous Dell, but thinner and a bit lighter. It is slightly bigger and heavier than an 11″ MacBook Air. It’s the right size for a small laptop.
  • Good keyboard. It’s not as good as the bigger Lenovo laptops and doesn’t compare with my older Thinkpads, but it is nice in comparison to most other laptops this size, including the MacBook Air, and is better than the shiny Chromebook Pixel keyboard. It does have similarly spongy cursor keys to the Air though. Trackpad wasn’t a factor for me, but it’s fairly good: better than the glassy pad on the Air, but it would be better still with separate buttons.
  • Touchscreen with a decent screen resolution, i.e. not 1366×768. Failed here; this one is 1366×768. It’s fine when running Linux or old-school programs like Visual Studio, but “native” Windows 8 apps don’t do subpixel antialiased font rendering any more, so things look rather fuzzy there (just like OS/X on the Air in fact).
  • Should ship with Windows 8 but be able to dual-boot with a Linux install, run virtual machines, etc. Yes, fine here.
  • Quiet fan, no whining. I was worried about this—owners of the earlier Yoga 13 models have reported a nasty whiny fan noise. Sounds like a trivial thing, but it really matters. To my joy, the fan on this 11s is almost inaudible.
  • Comfortable ergonomics, plain appearance (ideally not silver). The ergonomics are generally good, except that you can’t open it one-handed. The palmrests are particularly lovely. It looks unostentatious enough. It is silver, but a pretty mundane silver plastic with black keyboard and bezel. I wanted boring, which is lucky because boring is what it is.
  • To cost under £1000. It was £700.

Things I didn’t think of beforehand:

  • The screen is a bit wibbly-wobbly. I don’t really want the flip-back hinge: I bought this as a nice small laptop rather than a convertible, and trying to use it in “tablet mode” just has the effect of making a nice small laptop look like a clumsy ponderous oaf of a tablet—not a good look. I do like the way the screen hinges right back to the table top, but I’m not sure it’s valuable enough to justify a bit of extra wobble in the hinge.
  • It has no Kensington lock slot. That’s a pisser because it means I can’t leave it alone in the lab during the day. I don’t work in a very secure place. I know the MacBook Airs don’t have them, but I thought that was just Apple being up their own arses. Hadn’t expected it of Lenovo.
  • Battery life (about 5 hours in my work) isn’t the best, but it’s acceptable and the machine recharges really fast.
  • The touchscreen isn’t as oil-resistant as some tablets and can get smeary pretty quickly. And it’s very reflective, so that matters.

And things I thought of but was nonetheless surprised by:

  • Processor speed. I said this wasn’t a factor, but I’m surprised to find that a current low-voltage Core i3 is much slower at compiling code than the 32-bit Core Duo in my chunky 6-year-old Thinkpad T60p. The Yoga is much faster at media work, like photo or audio editing, but it takes about twice as long to compile anything. I haven’t seen recent changes in processor evolution illustrated so clearly before.
  • Windows 8: good in many ways and good enough at the system level, but the built-in apps (Photos etc) really are still horribly unreliable. These apps, including Internet Explorer, seem to take the view that if a connection takes more than a few seconds they should just crash and let the user restart instead of having to wait. Not a great advert for those robust new Windows 8 development frameworks.

I must admit that, although I like this machine, I do think of it as an early iteration of a design I hope Lenovo will keep working on. It’s very nice, but a version with a higher-resolution, more oil-resistant screen and longer battery life from the newer lower-power Intel CPUs would be nicer still.


Suggest a Laptop

I’d like to replace my “small laptop”, the one I use when doing a bit of development work on a train or in a coffee shop, and I’m having trouble finding something suitable. Can anyone suggest something I might have missed?

Things I care about are

    1. No bigger in any dimension than an A4 pad. (At the moment I’m using a Dell D420, which is almost exactly A4.) This currently seems to mean an 11″ or possibly 10″ screen size.
    2. Good keyboard.
    3. Touchscreen with a decent screen resolution, i.e. not 1366×768. The Dell is 1280×800 and, six years of progress later, I’m not prepared to trade even further down in all-important vertical pixel count.
    4. Should ship with Windows 8 but be able to dual-boot with a Linux install, run virtual machines, etc. So it must be a classic Intel PC rather than ARM.
    5. Quiet fan, no whining.
    6. Comfortable ergonomics, plain appearance (ideally not silver).
    7. To cost under £1000.

Also it should actually be possible to use it on a lap, like a conventional laptop. If it wasn’t for that, the MS Surface Pro with Type Cover (surprisingly good keyboard) would be an ideal answer.

Processor speed, storage etc are not criteria: any current laptop will do fine there. Battery life matters, but again most contenders are probably OK by my standards.

But there don’t seem to be all that many contenders. I’ve looked at a few things, including

  • Lenovo Yoga 11s — looks great all round, except it has a 1366×768 screen. Maddeningly Lenovo announced a higher-resolution version and PC World even listed it for sale, but it turned out not to actually exist. Otherwise I would have bought it already.
  • 11″ MacBook Air — also 1366×768, and I don’t like the keyboard or feel, and it’s a bit… um… conspicuous. And no touchscreen. No, the Air is a very good machine and I do have access to a company one already but, for me and for this purpose, if it was the only option I’d stick with my current Dell instead.
  • Acer Aspire S7-191 — this 11″ model was far too showy and had a crap keyboard, but what a wonderful screen. Acer improved the keyboard on the 13″ when they updated it this year, but instead of updating the 11″ version as well, they scrapped it.
  • Sony Vaio Pro 11 — cramped keyboard and rather expensive. It feels as if Sony were working a bit too hard on reducing size and weight. I’m suspicious about Sony, they tend to take things a bit far. I’ve had two expensive Vaios and, although both were lovely in some way, I wouldn’t buy another unless I was really sure about it.

Any ideas for laptops, or convertible tablet thingies, I might be missing?


Well, I’m pretty sure the computer I’m describing doesn’t exist.

The sticking point at the moment is the screen resolution: for some reason even though cheap tablets (and phones!) routinely have better screens, 1366×768 still seems to be standard for small laptops even costing significantly more.

The best suggestion I had (from Yves via Twitter) was for the Dell XPS 12 convertible. I hadn’t even considered another Dell and I’ve never much liked the look of the XPS with its flimsy-seeming flippy screen and nasty keytop font, but when I tried one I found it was much better than I’d thought — the keyboard feels really good and the screen has a proper resolution. But it’s just that bit too big, an inch wider than my old laptop, so it won’t fit in a couple of bags that I use, and that annoys me. Add the dodgy font and that’s enough to put me off it.

Toshiba make a surprisingly interesting sliding convertible, the Satellite U920t. This is a bit like Sony’s Vaio Duo sliders, a bit less slick to convert, but with a tough-looking adjustable hinge. Again it’s a bit too big and it only has a 1366×768 screen, but it has a satisfyingly solid feel and a better keyboard than I’d expected (Toshiba have previously made the worst laptop keyboard I’ve ever used).

Most of the tablet convertibles out there, those with a tablet that slots into a keyboard dock, have the disadvantage of falling over backwards when you poke the screen. So I didn’t go for one of those.

I compromised on the screen resolution, and bought the Lenovo Yoga 11s.

Apart from the screen, so far it’s fantastic. Beautifully assembled and with a nice keyboard and soft palmrests. Ooh, the palmrests.

The 1366×768 screen is a pity, especially in Windows 8 which doesn’t use subpixel antialiasing in many places (presumably because it has to handle screen rotation). If Lenovo do get around to making a version with a better screen, I will sell this one and buy it. In the meantime, I hope it will do me nicely enough.