Arnt Gulbrandsen
About meAbout this blog

ReadyNAS NV+

I bought a ReadyNAS NV+ years ago, and don't like it. It serves files, but does so many things badly that next time I want to add more disk space, I intend to purchase something else.

Disk replacement

The (three) disks filled up. I wanted to replace them. The natural procedure: Insert a larger disk into the spare slot, copy the contents of one of the old disks onto the new disk, switch over so the RAID uses the new disk instead of the old, remove the old. Repeat twice more. After that, resize the fs since the disks are larger.

No such luck. The ReadyNAS way is much riskier: Remove a working disk and let the RAID subsystem regenerate its contents from the other disks. A power failure would be undesirable in the ten hours after swapping a disk, so said the readynas. Three unnecessary ten-hour windows of bad luck: Not impressive.

Web interface

Does it really need to take five seconds to load simple web page across a gigabit ethernet?

In general the web interface is clunky beyond belief. I added as much RAM as the box would take, hoping that would speed things up. No. It really does take five seconds to serve a login prompt.


No support from the ReadyNAS, and as far as I can tell none will be forthcoming in the foreseeable future.

Streaming capabilities

I have three streaming clients (two FLAC/MP3 players and one video player). For my next NAS, I want streaming to work without jitter even if other clients are using the NAS.

(Update: When I disable the builtin Squeezebox server, performance improves drastically. Videos play without jitter, and the web server is almost acceptably fast. It seems the built-in mysql server is to blame. It eats the CPU even when nothing uses the database. My song database is/was modest, with about 20,000 rows in the biggest table.)

Performance in general

Making backups to an USB disk is much too slow (I get less than 100G per day). NFS support is also not exactly stellar.

Disk spindown

The ReadyNAS will spin the disks down based on idleness in the past minutes: The most primitive algorithm known to mankind. For my next NAS, I at least want the ability to plug in my own algorithm (record activity in five-minute chunks for two weeks; spin down if the coming hours were idle in the past days, perhaps modified to distinguish the working days from the weekend), better would be clever spindown without having to implement it myself.


IPv6 status seen from here

Bad news: Opera lost IPv6 ability in version 10.10. Opera cannot connect to this site, even if it's running on a host with IPv6 ability.

No news: The search engines still don't support IPv6. The (other) browsers still support IPv6.

Good news: Today I saw a torrent swarm with more than 20% IPv6 peers. Not a special swarm in any way: I download my old LPs whenever I play them, so I'll be able to play them in the kitchen or office too next time. It was the torrent swarm for one of them.



Here's what I did to get a sensibly large character repertoire for my keyboard, using ubuntu 9.10.

First, read any of the fine explanations of the compose key and configure some suitable key.

Next, explain to ubuntu that you do wish to XIM:

im-switch -s default-xim

By this time, X applications will read your ~/.XCompose file when they start, so set it up. There's a large repertoire on github:

cd ~/src
git clone git://

Here's my ~/.XCompose (more…)


Various neat signs and glyphs

Another browser test (I'm looking at you, android). These signs are mostly ones I've used in 2008-9 (with some added for symmetry etc.), and I do not think they are too odd to be worth rendering.


Feature not supported (U+2610)
Feature supported! (U+2611)
Feature supported! (U+2612)
Check mark (U+2713)
Heavy check mark (U+2714)
Multiplication x (U+2715)
Heavy multiplication x (U+2716)
Ballot x (U+2717)
Heavy ballot x (U+2718)
Telephone (U+260f)
Telephone (U+260e)
Peace (U+262e)

Arrows and that kind of thing: (more…)

No GPL for me

There are four things I dislike about the GPL. In no particular order:

Its bad writing causes flame wars. So there are flame wars about the concept, that's OK, but there are also flame wars about what the GPL says, and that's simply inacceptable. Writing clear prose isn't that difficult.

I do not want to spend a single hour in the rest of my life arguing about what the GPL says and doesn't say. I do not want any more mail from advokids with (more…)


Features git will never have, part 2

When you sync in perforce, it updates the files you're not editing to the latest revision, and leaves the ones you're editing untouched. Git fetch, by contrast, updates everything that's changed.

Perforce's behaviour requires that client state cannot be expressed as a simple change number. Some files may be synced to change 5522, others to 5525. A git tree is always at a particular change, plus a local diff.

The cost of that simplicity is that git fetch ties p4 sync and p4 merge. If you want to pull unrelated changes into your tree and there are conflicts with your current work, then you have to deal with those conflicts immediately. p4 sync is low-risk, git fetch risks interrupting your train of thought with a merge.


Features git will never have, part 1

When you open a file for writing in perforce, it checks whether anyone else is working on the same file, and tells you who, if someone is.

This is a fine feature. It warns you if there was a misunderstanding and someone else is already doing what you're about to start doing, and it warns you if someone else has forgotten to commit a change. The price for that is that the perforce server has to know who has the file open for writing, and that when you see that message x is also editing y, you have to talk to x about whether your work conflicts.

Git has nothing like a perforce server, so no place to check for such approaching conflicts.


Libertango, the 2009 version

Zotac ION ITX B motherboard, Silverstone SG05 case, Scythe Slip Stream 120mm fan, Be Quiet SFX power supply, SSD. (more…)