Jul 182021

This is a procedure to replace one working drive in a fully functional mirror vdev; if you are replacing a failed disk there is no advantages in following this procedure. Although if you have a somewhat functional disk it may be worth trying.

So why not simply yank out the working disk you want to replace? Well, you can of course and that would work but there is nothing Murphy likes more than a mirrored vdev temporarily down to a single disk – resilvering onto a new disk guarantees a higher chance of failure of the previously working disk (I have actually seen this happening).

So I’m going to describe how to make a three-way mirror with three disks and then detach the disk you wanted to replace.

To do this there are some prerequisites :-

  1. You will need space to install an additional disk into your system; perhaps temporarily in an “unsuitable” location.
  2. You will need a spare SATA controller port to plug the new disk into. If necessary with an additional PCIe SATA controller (which sounds expensive but safety is worth the cost).
  3. You will need a SATA data cable and a SATA power cable.

The first step is to make very careful note of what devices you are going to “swap over” – ideally using their WWNs. If you don’t use WWNs, sorting out which disk is which is going to be a bit trickier.

The second step is to practice the steps involved using a ‘fake’ storage pool backed up by tiny disk files :-

# cd /pool1/temp
# for w in one two three
  dd if=/dev/zero of=test-disk-${w}.img bs=1M count=1000
# zpool create test mirror /pool1/temp/test-disk-one.img /pool1/temp/test-disk-two.img
# zpool attach test /pool1/temp/test-disk-one.img /pool/temp/test-disk-three.img
# zpool detach test /pool1/temp/test-disk-one.img

That’s pretty much it in a nutshell.

The real process is a bit more disturbing of course and most of the work is physical. The first difference from practice is that when you attach the new disk to one or other of the existing devices within the mirror, you will have to wait until the resilvering process is complete.

Whilst you will receive an estimate for that if you run zpool status, the estimate that you get :-

  scan: resilver in progress since Sun Jul 18 08:20:54 2021
	8.25T scanned at 1.09G/s, 7.28T issued at 981M/s, 8.25T total
	995G resilvered, 88.23% done, 0 days 00:17:16 to go

(Only showing the relevant part as the full output from my system is confusing and deceptive)

Is wildly inaccurate – partially because the resilvering process takes second place to any ordinary file system activity. My own estimate (1 hour per Tbyte) is probably also wildly inaccurate; basically it is done when it is done.

Detaching the old device is fast – you won’t need to sit down to wait for it.

Jun 212021

Available (for now) from www.modelfkeyboards.com.

I do not usually do product reviews, but for various reasons decided to do this – of my newly arrived Model F F77 keyboard. The original IBM keyboard F was produced by IBM between 1981-1994 in various forms, and one keyboard enthusiast decided to re-create one of the more obscure F keyboards because of it’s similarity to modern keyboard layouts and size.

Don’t instantly reject it because it looks old-fashioned – I deliberately went this way and there are plenty of alternative configurations.

Two key points if you decide to buy one :-

  1. Read the manual before starting to fit the key caps. It really will save you time (guess who didn’t?).
  2. If you decide to flash the Via firmware (actually QMK with the Via option turned on), when you run the via program to configure the keyboard, load the relevant json file before wondering why it can’t see your keyboard.

Initial Impressions

Solid. Very solid. And very, very heavy. This keyboard is over 4Kg with a full metal case supposedly of even higher quality than the original.

There are no legs to prop up the back of the keyboard which makes it unusually flat for a normal desktop keyboard. But that is easily solved with something stuffed under the back of the keyboard, and it is sufficiently stable that a prop in the middle of the back doesn’t make it wobbly unless you bang on your keyboard exceptionally hard. And if that happens, just prop it up with two props. Rubber feet are available when you purchase the keyboard.

The layout (bear in mind that I deliberately chose a HHKB-style layout) is pretty much a modern tenkeyless keyboard with various options for the navigation cluster (I have arrows and numbers; other options are available). The raised lip between the alpha cluster and the navigation cluster doesn’t seem to interfere with typing (although your mileage may vary).

The keyboard is supplied with a full set of keycaps, so you can customise the layout to your preferences. They are also exceptionally well printed.

Describing the keyswitch feel is a bit tricky – they are perhaps a bit crisper and lighter than a model M keyswitch, which doesn’t really help if you have never tried one before. The only thing to say is that most keyboard keyswitch connoisseurs will claim that the model F is one of the best keyswitches ever made, and people far more familiar with that keyswitch than I am say that this keyboard matches the original IBM model F keyswitch quality.

In terms of hardware, there is almost nothing to fault with this keyboard; the biggest “fault” is the lack of legs to raise the back of the keyboard. But the original lacked this feature so it is a little unfair.


Well this because a bit more nuanced. As originally envisioned, this keyboard would have been equipped with the xwhatis firmware but towards the end of the pre-production process a beta version of QMK was released which supported the keyboard better. My keyboard was delivered with the QMK firmware but without the Via option turned on.

The keyboard with the default firmware works well – there is no real need to swap out the firmware unless you want more advanced features.

But I did.

The first problem I encountered was that the qmk_toolbox gooey is an empty shell under Linux – it doesn’t actually do anything. Which is not widely publicised … and perhaps the distribution of this tool should not make a Linux version so easily available. I ended up using macOS to load the firmware I wanted.

Under Linux it is possible to use dfu-programmer to load the firmware, but as I have not done this myself I can’t comment on how that is done.

And once I managed that, of course I neglected to load the right JSON file into Via so at first it didn’t recognise the keyboard as something that could be controlled. But that was soon put right and I’d programmed the keyboard with the layout I wanted.

Once you have the firmware you want and a suitable way of setting up the firmware layout that you want, the keyboard becomes exceptional. Although the initial configuration is a little rough around the edges, the QMK firmware offers features unbeaten by any commercial keyboard out there – even though Via is not capable of making use of some of them. And frankly, hardware wise, there isn’t a better new keyboard out there.

Is it worth the cost? It is after all expensive but it is actually cheaper than the original IBM model Fs after inflation has been taken into account. And it is the kind of keyboard that could well last a lifetime.

Jan 032021

Picture the scene – someone has bought a new service and they want you to “make it work”. And because they’re kind, they virtually toss you a 2,000 page PDF manual.

Somewhere within that manual there is a list of tcp port numbers that the service listens to and access to which is required for functionality. Which is just great if this was the 2000s – it would have made my life back then far easier.

But this isn’t the distant past (in technology terms). We don’t run simple stateful packet filters that can’t distinguish between some application making an API call over tcp/443 and some klutch watching cat videos over tcp/443.

We should be getting application specific rules – that can distinguish between legitimate application traffic and attack traffic. Surely it is not beyond the wit of application vendors to work with the firewall vendors to come up with such rules?

And application vendors who work with the firewall vendors to come up with proper firewall rules will gain a bit of a competitive edge. And in the wake of the SolarWinds breach, customers may be asking about security.

Seagull Over Sea
Dec 132020

We all love wireless networking – the untethered laptop, the smartphone, the tablets, the “smart home” stuff. It’s all so convenient.

But it also sucks, and for some things – particularly legacy applications that require a persistent connection – it sucks very hard indeed.


Fundamentally, wireless uses a shared medium – you’re sharing the airwaves with everyone else who has a wireless access point. Yes there are separate “channels” to help split up that shared medium, but you will still find yourself competing for bits of the airwaves.

Ever try listening to shortwave radio? All that noise, and interference. And every so often someone would break in and start reading out a long string of random numbers in the most boring tone of voice imaginable. That still happens, but instead of getting to peer under the skirt of national security, you get something even more boring – slowdowns and dropouts.

And this is all if you are sat in the same room as your wireless access point! Leave the room and all sorts of issues can arise. The power of wireless drops with distance and all sorts of things can block wireless.

Diagnosing wireless issues is something that takes highly paid specialists hours and frequently involves moving access points (which essentially moves the problem – hopefully to somewhere people won’t notice) or installing more access points (which can make things worse).

With all these problems, it is a wonder that wireless networking works at all. But it does! Most of the time. Perhaps Facebook acts up every once in a while (and just occasionally it is Facebook). Or any other web site. But some applications react badly to periodic drops in performance or ‘moments of silence’.

The purpose of this rant is that when you are having problems with network glitches when working from home, try a wired network connection. Yes getting that set up is tedious and you may need to spend some money, but it’s worth it to avoid all those dents in the desk.

The Red Door
Dec 092020

The ‘tubes are full of pundits expanding on ‘leaks’ from Apple about the possibility of more powerful ARM-based Apple Macs on the way.

No shit! What a surprise. You could knock me down with a feather.

The recently announced Macbooks with the ARM-based M1 processor from Apple are an initial release with something that is an improvement on their existing ARM-based processors used in their phones and tablets. A leak is hardly necessary to predict the release of more powerful processors to replace their whole line-up – if Apple is going to put ARM processors into their laptops, they’ll be doing the same for the rest of the line-up.

Next year, or the year after, you won’t find an Intel processor in any Apple product. Or perhaps most – it may be handy to keep one or two Intel-based products around simply to maintain a platform for software products that won’t work on ARM.

But there is no reason why Apple should stick to Intel, and every reason why they should – if they can produce a low-power laptop processor this good what can they do with a desktop processor power-budget?

Now it is entirely possible that Apple will stumble, but there really is no reason to act surprised when rumours of more ARM-based products ‘leak’.

No Fun At The Fair
WP2Social Auto Publish Powered By : XYZScripts.com