Keeping a ride together – The Cornerman System

The cornerman system (or ‘corner marker system’) works pretty well for larger groups, and those with some slow and some fast riders; it encourages overtaking. If there’s only three or four riders, or everyone rides at about the same pace, follow the leader is normally a better match.

Most forums try to explain the cornerman system but make it sound far more complex than it is.

In short, there is a ‘leader’ and a ‘tail’ (who might also be called a ‘tail-end Charlie’, ‘TEC’, ‘last man’ or ‘tailgunner’), and everyone should be able to identify the tail from the front and the leader from behind.

The leader goes at the front of the ride and knows where they’re going, the tail stays at the back – nobody overtakes the leader, and the tail overtakes nobody.

Whenever the ride does anything other than go straight on, the rider immediately behind the leader stops and marks the corner – they are now a ‘cornerman’ or a ‘cornermarker’. If the leader thinks a marker’s needed somewhere then they’ll point to where the marker should be, and the next rider should stop and mark whatever’s been pointed at. Marking a corner is exactly that – pulling over (often just to the side of the road, but if there’s a pavement or something that’s fine too) so as to be able to direct other riders.

Riders approaching the corner will see this rider and know to turn, or at least that they need to do something other than just carry on riding straight on. It is quite important that the cornermarker positions themselves such that they are obvious to oncoming riders (not hidden behind a sign, or already round the corner), and also such that it is obvious what the oncoming rider must do – which turning, roundabout exit or lane they should be taking.

As the tail approaches the corner, the cornermarker gets back on their bike and rejoins the ride – pulling in before the tail, but after the previous rider has taken the corner.

And that’s basically all there is to it. During the ride the faster riders will naturaly find themselves overtaking lots, and therefore at the front a lot, and so marking corners. Slower riders will sit in the middle with a steady stream of corner markers guiding them, and faster riders overtaking them to mark more corners.

Why I won’t be mirroring Wikileaks

I have a fair amount of ‘spare’ server space, and some very understanding service providers, and so it makes sense for me to mirror things in general, which I do. So when Wikileaks went down, mirroring it seemed quite a natural response. They need mirrors, and I have a mirror. I’ve been looking for something to do with my domain for a while, and this seemed like a good bet.

Also in favour is the fact that Wikileaks is being a bit of a pain to a few institutions (well, governments) that annoy the crap out of me; I’d not mind being part of that. In addition, the huge majority of the released cables appear to be of no interest whatsoever, and the large governmental opposition to them has only served to increase the perception of their importance. I’d like as many people as possible to be able to read them such that they can judge for themselves how interesting they are. The point appears to be less what’s been found out and more that anything has at all.

But I have concernes, too. Firstly, these cables were all sent on the basis they were confidential, so they naturally contain the sort of information that neither end wants made public. I’m already livid at the apparent acceptance of just anybody being able to subject me to surveillance, and I don’t see why embassy staff should necessarily be treated differently. The argument that they work for the government is moot – millions of privately-employed people do work for the government, and they also should have a right to an expectation of privacy. I honestly have no problem at all with governments talking to each other in privacy, it seems to be quite a natural way of working and is not at all contrary to the idea of an open government.

Second, and of more concern than that, is the sort of things these people are likely to be sticking down encrypted tunnels. I don’t want to inadvertently find myself hosting a document that results in an informant being tortured or killed. I don’t really want to be party to releasing information that only serves to embarras or otherwise compromise someone. I don’t want *anyone* to do that, but I’ve only got control over my servers.

That’s all well and good, you say. Wikileaks are sifting through these and specifically redacting anything they deem not fit for release. That’s some hubris right there.

And here’s the difference. I trust the Debian project, and Canonical, the Perl foundation, Zend and the like, to not put things I disagree with on my server. I do not trust Wikileaks in this respect at all.

The whole ‘Collateral Murder‘ release is a great example of Wikileaks not releasing information for the sake of it being free, but releasing specifically compromising information, with a decidedly skewed context, in order to further some particular viewpoint. That video, or perhaps its commentary, removed the bulk of my respect for Wikileaks. Why on earth would I assume they’re not going to similarly skew the releases here also? Wikileaks does have a stated aim they’re pursuing with all the leaking; it’s not just because they feel information should be free.

So, it’s not that I’ve got some opposition to the leaking, or feel that it shouldn’t be mirrored. It’s just that I don’t feel I can trust Wikileaks to only publish what I think should be published, and picking-and-choosing which bits to host is not how a mirror works.

DDR RAM identification and naming conventions

All (modern) PC memory is SDRAM (Synchronous Dynamic RAM). DRAM, the predecessor, responded to requests as soon as it could after the control voltages changed, SDRAM replies according to a clock cycle (which synchronises it with the system bus).

Pretty much all modern PC memory is also DDR, Double Data Rate. With Single Data Rate RAM, data is only sent when the timing signal is high1. The clock signal is high for some period of time, then low for another period of time of the same length. One cycle consists of one high period and one low period. Single Data Rate RAM can only transmit at one of these, DDR at both.

DDR is then further subdivided into DDR, DDR2 and DDR3. Though the voltages are different (2.5v, 1.8v, 1.5v respectively), the big difference in practical terms is the socket shape:

While we’re here, it’s worth noting that the most commonly-used difference between DDR and DDR2 RAM, the notch position, is frightfully difficult to identify without an example of the other type against which to compare. More obvious is the gap between the contacts and the notch on the DDR stick (to the right of the notch in the above pic), which is absent on the DDR2 stick.

There are two ways people refer to DDR RAM, as a DDR-XXX or PC-XXXX. For example, DDR200 is also PC1600.
The 200 in DDR200 is the clock rate of the memory modules (the chips on the memory stick). It is double the clock speed of the system it’s plugged into, since it is DDR (and so operates twice per cycle).
The 1600 in the PC1600 is the maximum number of bytes per second that the RAM allows, and is not achievable in the real world.

To calculate one from the other, we do

TransferRate = SystemClockRate x DataRate x NumberOfBytesTransferred / NumberOfBitsPerByte
TransferRate = SystemClockRate x 2 x 64 / 8
TransferRate = SystemClockRate x 16

Since we’re concerned with Dual Data Rate memory, the data rate is equal to two. It transfers 64 bytes per cycle, and each of those bytes is 8 bits long.
The SystemClockRate is the frequency of the system bus, not of the memory itself – DDR200 operates at a frequency of 200MHz, but requires a system with a clock of 100MHz. In order to find the TransferRate given the MemoryFrequency we need to do

TransferRate = SystemClockRate x 16
   but SystemClockRate = MemoryFrequency x 0.5
TransferRate = MemoryFrequency x 0.5 x 16
TransferRate = MemoryFrequency x 8

Hence 200 x 8 = 1600 means we’d expect DDR200 to give a theoretical maximum of 1600Bps, and so be PC1600.

The above are all maxima – DDR can operate at lower frequencies than its maximum. DDR266, while expecting a 133MHz system bus, can run satisfactorily in a 100MHz system, but it will only operate as DDR200.

Below are the combinations implemented in the real world:

DDR200 PC1600
DDR266 PC2100
DDR333 PC2700
DDR400 PC3200
DDR2-400 PC2-3200
DDR2-533 PC2-4200
DDR2-667 PC2-5300
DDR2-800 PC2-6400
DDR2-1066 PC2-8500
DDR3-800 PC3-6400
DDR3-1066 PC3-8500
DDR3-1333 PC3-6400
DDR3-1600 PC3-12800

The above is basically an aggregation and condensation of what is in the following articles. If you want more detail, go there:

  1. or low. I don’t actually know, but It’s mostly immaterial. The important bit is that it’s an ‘or’ not an ‘and’. []

Android Issues

Some of this might well be rendered obsolete by the 1.6 update I’ve just received.

GMail Client
No bottom- or inline-posting, only top-posting. And, while you’re at it, there’s no way to read the quoted text while replying.
You have to read to the bottom of the email to get to the reply button, which is an odd move from someone who promotes top-posting. It’s not even in the Menu.
There’s no way of editing Labels or Filters.

This is very different to the GMail one, I don’t know why.
It also doesn’t honour read/unread flags in IMAP folders, and I continually get notifications that I’ve got new mail that arrived six months ago.

To set the date in the calendar you have three boxes, year, month and date1 which are adjusted by either entering in the date, or a + and – button on each. This is fine when you don’t go over a month boundary, at which point it gets confusing. Since nearly everything I plan is for ‘next wednesday’ or so, about one in four of my appointments require more thinking than I think they should.
There’s no way to add calendars that are not already available to the www version of your calendar.

Google Docs
Editing documents is possible, but creating for some reason isn’t. Also, no control over labels.
As in Mail and Calendar, there are web versions of these optimised for the Android screen, but they’re similarly crippled.

When viewing the contact, everything that has a number has a ‘call’ and a ‘text’ option, which fills the screen with never-used options.

When entering a name into the To: field, the first suggestion is as if you were writing a word with a keypad. For example, entering ‘mum’, the first option is ‘686’
Once you’ve scrolled past the useless entry and selected the one you want, the field is populated with name . Which is only an issue if you want send a message to more than about ten people, since you run out of characters in that field.
Enter is send. This is not a problem, but I _never_ remember and send multiple messages when I mean send.

Google Maps
When selecting start and end points for directions, recently chosen points are arranged alphabetically, not in the order in which you used them. And they’re not named by how you searched for them, but by what Google calls them.

Everything’s Massive
Google took a very straightforward approach to lists and fingers – make the buttons huge. I’d like more than two options per screen, though, and I think varying the length of the buttons would be a better approach.

  1. The order is configurable []