Interface changes are bad!

Now that I've grabbed you with a clickbait title, let me amend: interface changes come to the table with an inherent very large negative value attached. Unless the value offered by the change is extremely high, the cost of breaking people's familiarity and use cases will vastly outweigh the benefits.

I'm specifically talking about user interfaces, here, not APIs, but I do think the same principle applies; however, APIs tend to be well-defined with simple semantics, so dealing with changes is easier and the initial cost is lower. However, with a big enough overhaul for little enough benefit or with poor enough documentation, APIs can easily fall foul of this as well. Consider Python 3, for instance, which after seven years still has remarkably poor adoption.

More…

Porting FreeNAS encrypted RAID-Z volumes to FreeBSD

A few years ago, I decided to build myself a fileserver. Based on my criteria (free software, extensible, parity-based redundancy), a custom-built system was the best option; and for an operating system, I settled on FreeNAS. It let me get features I wanted (basically the entire ZFS featureset) without jumping headfirst into administering a BSD system, something I'd never done at the time. And it worked very well; installation is as simple as flashing an image onto a USB thumb drive, booting the system off that thumb drive, and setting things up through the surprisingly usable web interface. (I have a general antipathy to web anything as bad technology used by bad people for bad things. But the FreeNAS folks, as of version 8.3 anyway, kept their pants on about it and so, at the client end, it's solidly simple and usable.)

More…