I’ve been meaning to write this post for a while, but I only found the right sort of excuse to do it today. At work I was playing with VirtualBox’s RDP (Remote Desktop Protocol: like VNC but much better) and wanted to do some work on it from home on my old Mac laptop, which is a PowerPC G4 and therefore basically useless when it comes to anything regarding virtualisation, so I needed to connect to TCP 127.0.0.1:3389 on my offic machine where VirtualBox (actually, I had started it with VBoxHeadless). But to get there, I first have to SSH into a gateway, and then from the gateway, SSH into my office machine… this calls for some gymastics.
Network Gymnastics with VirtualBox, CoRD and socat
HomePlug Performance
I have recently purchased a NetComm NP285 Turbo HomePlug Twin Pack from TradeMe, which are Ethernet over Power bridges. Information regarding standards and so forth can be found at the HomePlug Powerline Alliance. In brief, these particular adaptors work at up to 85Mbps (earlier version was 14Mbps and up and coming version at 200Mbps).
This post is trying to give you some information about the performance I was able to attain in my flat, which is quite old, both with regard to typical round-trip-time and throughput.
Wireless etc. Reliability Testing
Some years ago, 2004 by the looks of it, I had created a simple script (wrel) to get an idea of how reliable my wireless link was, and have since updated it with a slightly better user interface (it now has a progress guage) and it uses a sub-second interval when run as root. In particular, I wanted to get some impression of how often there was some sort of retransmission event. You can’t tell this from any link-layer, and I wanted something more general, in order to observe the spread of round-trip-times over internet links, wireless links, and even HomePlug (Ethernet over Power). Ping gives a useful metric for this.
How to use Expect on Mac OS X for Serial Devices
So I’ve been working on a small piece of software to interrogate an RFID reader over its serial connection, implemented using a SiLabs USB Virtual Com Port. Naturally, I’ve been doing this on my Mac. Because this particular piece of kit doesn’t really have a protocol as such but rather implements something much more like a serial terminal, I chose to use Expect to interrogate it, which works reasonably well. I don’t want something production-grade because this is an evaluation kit, which will interact rather differently from the final version.
Anyway, I was having a large problem trying to get the bothersome thing to open. Here is what you would typically write in Expect (really Tcl, which is a fairly cool scripting language).
A Multi-Version Rdiff-Backup Server
Rdiff-Backup provides a fairly nice way of backing up a server, and I have used it to back-up a number of different servers, each with a different version of rdiff-backup. This is annoying because although a version 1.1.15 should work with 1.1.12, for example, in reality it does tend to complain.
Because of this version-skew on different types of servers, I took the approach of having multiple versions installed on the backup server (Mac OS X Panther in the first case, and now Leopard). This document details how you can house multiple versions of the rdiff-backup server on the same machine and use a different version per-client.
You can find the documentation and supporting files in the Files section.