No ads? Contribute with BitCoins: 16hQid2ddoCwHDWN9NdSnARAfdXc2Shnoa
Jan 142017

One of the things you regularly encounter online is the fetish Americans have for free speech; not entirely a bad thing, but some of what they believe is a bit of a myth. Part of the problem is that the first amendment to the US constitution is just a little vague and handwavey :-

or abridging the freedom of speech, or of the press

First of all, what is that word “abridging” supposed to mean? It literally means shortening which makes the phrase nonsense even if it was supposed to be read as if “restricting” was the word used. Of course the meaning of language does change and it could well be that at the time, “abridge” would have unambiguously meant restrict. And “freedom of speech”? We normally take that to mean any form of expression whether spoken, written, drawn, or generated in some other way. But was that what was meant?

But now onto the myths … the first is a simple one and there is no real debate about it.

The right of free speech does not give you a right to be published by a third-party. If you are on Facebook for example, there is no right to free speech there – Facebook can decide to arbitrarily restrict what you can say perfectly legally. The government cannot restrict what you self-publish, but your publisher (including forum admins, mailing list admins, etc.) is free to refuse to publish for any reason at all.

Ultimately the only recourse to such censorship is to self-publish which is relatively easy on the Internet.

The second “myth” is a bit more debatable, but arguably the right to free speech is more about being free to criticise the government; in an era of lese-majesty and seditious libel, the major concern of the American revolutionaries was with political free speech. And whilst there has been free speech, there have always been restrictions on that freedom or consequences :-

  • Obscenity (as determined by the Miller test).
  • Inciting imminent lawlessness such as encouraging a lynch mob. Although this one can be a dangerously slippery slope given it’s historical use against people protesting the draft.
  • Commercial speech including advertising, and copyright.
  • Libel and slander.

So when looking at a particular restriction on free speech – such as hate speech (i.e. racial or religious hatred) – it is perfectly feasible for a law to be enacted to make such speech punishable in some form.

Dec 302016

Everybody keeps whinging about how bad 2016 has been.

A few old people died (and some not so old people). That’s sad, but it happens every year. And yes some of your childhood heroes died – that’s what happens when you get older.

And yes a few bad political things have happened in 2016.

But is it somehow specially bad? Try comparing it with some other notoriously bad years :-

1914 Start of WWI which eventually killed millions of combatants.
1918 The beginning of the so-called Spanish flu pandemic which eventually killed up to 100 million people around the world.
1939 Start of WWII which eventually killed millions of combatants, and we learned just how evil humans can be when they put their minds to it.
1945 The first use of nuclear weapons.

So however bad you thought 2016 was, there have been a few other years far worse.

Dec 292016

As a vegetarian (who doesn’t intentionally go around prophesying) I often encounter the hackneyed old “but we’re evolved to eat meat”. The obvious response is that just because we’re evolved for a certain kind of behaviour does not mean we should necessarily follow it. And of course, it’s not true – we’re evolved to be omnivores not carnivores.

But here’s the thing: Eating certain forms of meat exclusively for a moderately extended period of time can cause death by what is effectively starvation. As a very rough rule of thumb, the wilder an animal is, the leaner its meat is likely to be. So any of our ancestors who ate nothing but meat were likely to be at best severely malnourished and likely to die young.

Of course our ancestors didn’t eat like that or we wouldn’t be here. They ate anything they could get their hands on – animals that didn’t run fast enough, proto-vegetables, grains, fruits, nuts. Anything that wasn’t poisonous.

We’re also evolved to eat more than we need. The idea is that we store fat in reserve for hard days ahead, but these days any “hard days” rarely involve lack of food. Another example of how we should be prepared to intelligently disregard evolved eating habits.

Does this mean we should all become vegetarian? No, of course not. There are plenty of reasons to stop eating meat, but this is not one. It may be a good reason to eat meat less frequently – have high quality meat three times a week rather than junk meat seven times a week.

The New Defence

Dec 282016

There is an interesting video from 33c3 dealing with drone killings :-

As an aside, one of the thing that makes the Chaos Computer Club congress more interesting than many security conferences is the attention given to more “political” issues.

Drones offer the enticing possibility of tackling terrorist groups without putting people at risk, but the reality is somewhat different.

  1. Drone killings are in effect an act of war against the citizen(s) of a foreign country; very often where war has not been declared. To put it into perspective what if the UK operated drones in the 1970s and targeted US citizens who were helping to fund the IRA? And sometimes these actions resulted in “regrettable collateral damage”?
  2. Why is it not possible to provide information on targets to the law enforcement officials in the country where the target is living? It is possible that the law enforcement officials are compromised in some way of course (for example the US authorities were often against dealing with IRA terrorism), but not in all cases.
  3. Who decides that a target is so evil that they deserve death from the sky? The obvious solution here is a higher court order rather than an arbitrary decision by the military, although secret court orders are almost as bad as arbitrary military decisions. At the very least, such court orders must be made public after the death of the target.
  4. Just how reliable are drone killings anyway? How many times have we heard of “collateral damage” (the sanitised version of “Ooops! We killed the wrong people.”)? And how many times have we not heard of collateral damage? Many videos of drone killings show vehicles being targeted which leads to the most obvious problem – you do not know that the target is within the vehicle and you do not know that he or she is alone in the vehicle.
  5. “Spinning” the effectiveness of drone killings by counting all “military aged males” as militants unless they can be demonstrated to be innocent (i.e. guilty until proven innocent) is about as despicable as it gets. You cannot claim to be in the right if you resort to such claims.

It is all too easy to claim that we’re all under threat from terrorism and that anything that might reduce that threat is justified. But criminal activity by governments is never justified.

Dec 282016

“You’re such a pedant” goes the insult as though being right about something is somehow wrong.

Now don’t get me wrong – there are some areas where being a pedant is not entirely right – such as declaring that Christmas Day isn’t a bank holiday but instead a common-law holiday. But there are many areas where being pedantic and precise is not just the right thing, it is essential.

I work in IT, and many of the biggest problems in IT are down to lack of precision and not getting things right. I can’t recall the number of times things have gone wrong or have been delayed (probably the most common result) because things have not been specified clearly enough, with enough detail, and correctly.

So in certain specialised areas – such as IT – it is good to be pedantic and precise. Include too much information rather than too little.


Dec 172016

In the dim and distant past when dinosaurs roamed the data centre (although it was called the machine room, or for trendy types who liked to keep up to date, the computer room), sometimes called the 1970s, a new type of computer gradually started to appear. This computer was intended to be used by one individual at a time, and more it was intended to be part of the furniture of an office (in the sense it belonged). It became known as the personal computer.

To quote Steve Wozniak: “To me, a personal computer should be small, reliable, convenient to use and inexpensive“. Of course “inexpensive” is relative and we wouldn’t think the personal computer of the 1970s was inexpensive. When you trawl through old copies of BYTE, please remember that when you get shocked at the prices that you have to add in inflation!

The field of personal computers grew so quickly that most of the dinosaur behemoths grew interested and joined in. One – the IBM PC – grew so popular that IBM grew to regret throwing it together so quickly, and it eventually came to dominate the market. Except for a small bunch of weirdos who insisted that the Apple Mac was the bees knees, and that the PC would soon die.

The argument between the two groups of fanatics grew so heated that “PC” become synonymous with the IBM PC – even well after IBM stopped dominating the market, and Macs were excluded from the “PC” label. Even after they become PC in all but name – today an Apple machine is no different to a normal PC from someone like Dell, HP, etc. except from the operating system.

Yet because of that ridiculous “cold war” between the Microsofties and the Applites, every time I issue a communique I have to use the phrase “PCs and Macs” because some cold war era warrior will claim “… but you didn’t say anything about Macs” or “… but not Macs?”.

So in the interests of clarity, although when I say PCs I mean both, I shall start using the phrase inclusive personal computers. Or iPCs.

And no, I don’t mean the Sun IPC.


Dec 162016

Without doubt, there will shortly be a pompous old fart moaning about how the meaning of christmas is being lost in the swirl of holiday celebrations. She (or he) will be droning on about the religious message. Only christians are supposed to celebrate, and are supposed to stick to the script – heading to a church in the middle of the night to listen to a pompous old fart drone on about some weird stuff.


Not that I object to people wanting to listen to a pompous old fart droning on about weird stuff – that’s their choice. What I object to is being told I have to celebrate Christmas in their way. Despite the name, I can decide to celebrate it any way I want.

Now I could go on about how Christmas is merely a new name for a mid-winter festival that has been going on for thousands of years, or that some christians avoid Christmas like it sprang fully formed from the mind of Satan. And I probably have in the past, but that is beside the point.

For whatever reason, it has been decided in the western world (and a bit further) that most of us will have a few days (or a week) off work in the middle of winter for a break. And we choose how to celebrate.

To me, Christmas is about family and friends. Getting together and relaxing for a while – a few hours, or a few days.

Happy Winter Solstice from this pompous old fart, and celebrate it any way you choose.

Dec 112016

Vi (or vim) is one of those editors that at first appearance appears to be insanely user-hostile, and some will say it looks the same way on a second, and third glance. Yet it remains one of the most popular editors under Linux, and even if you choose another editor as your mainstay, you are likely to encounter it in use a fair bit.

(Apologies for the little line at the top of that screenshot; lazy editing)

The strange thing about vi is that nobody uses the real thing any more (well almost nobody), but instead clones of one kind or another. That is mostly because vi originated in the commercial world of Unix, and clones were written to be open-source. It is perhaps worth remembering that vi has remained the mainstay of editing under Unix-based operating systems for three decades despite there being many alternatives.

It may look plain, but vi has almost every editor feature you can think of and almost certainly a few you never thought of.

The Modes

Almost every every other editor currently in use is a modeless editor, or at least mostly modeless. Vi is different in that it has three different modes that operate differently – insert mode, command mode, and ex-mode (essentially for extended commands). Of the three modes, the insert mode is the most like other editors, although are relatively few commands to use. As you can see in the screenshot above, the words “- INSERT -” appears at the bottom of the screen whenever you are insert mode (and the same for replace mode which is effectively the same).

Most commands are performed in the command mode, which can be thought of as the default mode – there is nothing saying that you are in command mode. If in doubt, you can press Esc to get from insert mode into command mode. There are some who will argue that in fact vi is modeless and that the “insert mode” is in fact a parameter to the insert command. This has a certain ring of validity to it – if you enter 32iHelloEsc in command mode, you will end up with 32 copies of the word “Hello” inserted.

But conventionally vi is written of as a mode-based editor, so it is best to think of it as such until you have learned enough to throw off conventional wisdom and go your own way.

The last mode is ex-mode, which at a basic level is covered only in enough detail to tell you how to get out of it! It is entered from command mode with the “:” command, at which point the cursor moves to the end of the screen leaving you free to type in lengthier commands. To exit simply hit the backspace key until the cursor returns to its normal location.

The Insert Mode

(and the replace mode)

The insert mode is started with a variety of commands, but the simplest is i(nsert).

Once in insert mode, you can start typing normal text without worrying about what commands it will run. There are a fair few things you can do with the control keys, but we’ll skip over those for the “basics”. To correct a few historical limitations :-

  1. You can move the cursor around with the arrow keys. It might seem a bit strange to say so, but the original vi didn’t allow you to move in insert mode partially because it pre-dates arrow keys (yes, really!) and had to use commands to move the cursor around the screen.
  2. You can move anywhere within the file and make changes anywhere; not just where the original change was intended. This may seem like an unnecessary feature to explain, but when you are changing a single word, it can seem wrong to also go somewhere else in the file and make changes elsewhere.

Without going into the more esoteric features, there is not a great deal more to say about the insert mode except it is exited with the Esc key.

The Command Mode

The movement commands :-

Arrow Keys Moves the cursor
h & l Moves the cursor left and right.
j & k Moves the cursor down and up.

The use of the h,j,k, and l keys to move the cursor around the screen seems rather bizarre except when you realise that some early terminals connected to Unix systems lacked cursor keys. They remain for compatibility reasons and because some people feel that they can be quicker to use as they require less hand movement than the cursor keys, or like me that those keys are burnt into muscle memory and so they are used almost without thought.

b(ack) Move backwards one word.
e(nd) Move forward to the end of the word.
f(orward){char} Move forwards on the same line to the next occurrence of {char}.
n(ext) Move to the next occurrence of the last search.
 / Search for something.

The most basic command for deleting text is “x” which deletes the character under the cursor, but a hint of what can be done with vi comes with the d(elete) command. The d(elete) command takes a movement as a parameter, and deletes from the current cursor position until where there movement takes you :-

dd Deletes line.
d$ Deletes to the end of the line.
d0 Deletes until the beginning of the line.
dw Delete until the end of the word.
diw Delete “in” word – deletes the current word.
df{char} Deletes until the next occurrence of {char}

But we now move finally to adding text :-

i(nsert) Insert at the current cursor.
o(pen) Open a new line below the current line.
O(pen) Open a new line above the current line.
a(ppend) Append text after the cursor.
A(ppend) Append new text at the end of the line.

Lastly, we can save and exit vi with “ZZ”.


This is going to be even more truncated than the last section (I know the last section doesn’t seem truncated, but trust me – it is!). There is a great deal more to this mode than just the three commands below :-

:write (or :w)

Writes the file being edited. Two options I am going to mention here.

Firstly you can add a filename to the command to write to an alternate file (:write new-filename) – very handy if you find you’re making changes to a file that you do not have permission to overwrite.

If you need to override a warning vi has about overwriting the current file, you can do so by appending an exclamation (!). Just don’t do it automatically (I’ve a sorry song to sing about doing that!).


And to quit vi, simply use the :quit command. If there are unsaved changes in the file you are editing, it will stop you, in which case if you really want to lose your changes add an exclamation (!).

Dec 092016


So a lawyer at HBO actually sat down and wrote a vicious take-down notice targeting a 13-year old autistic girl. Shame on HBO.

In some senses it is perfectly legitimate – HBO owns a trademark on the phrase “Winter is coming” and are legally required to protect their trademark to keep it. Now you could quite reasonably argue that a trademark on such a simple and widely used phrase is something that should never have happened.

But any normal rational person (even a lawyer) should stop and think: “What am I doing here?”. Shouting at a 13-year old for doing nothing more than painting a picture and giving it the wrong title without thinking “No, despite the legality of it, this is just wrong.”?

HBO needs to admit it is in the wrong here.


Dec 092016

B84V1827t1-elderley-man-past-gravestonesGenealogy, and inspired by the TV programme: “Who Do You Think You Are?“.

Sometimes I feel that when we dive into family history, it is possible that we are distracted by the records we come across and ignore the records we do not find. Which is perfectly understandable – those who history does not record disappear.

And related to that is that we sometimes tend to concentrate on the more famous of our ancestors; it is noticeable that the programme “Who Do You Think You Are?” always seems to find an interesting ancestor. Some may be under the impression that it is because that the programme only researches the ancestry of the famous, but if you look back far enough into the ancestry of anyone you will find a famous ancestor and a good story.

Even me.

Yet in some ways the more interesting stories are those of the less famous – how the ordinary rank and file of our families survived day to day, because frankly the past was harsh and unforgiving.

The other thing is that family historian have an unrealistic belief in the historical record. That all marriages were happy, children were born in wedlock, and that there was no “hanky-panky” going on.

I recently scanned through the birth records of one person and was amused to see that of those with the same surname approximately a third had unmarried mothers (it showed the mother’s maiden name). Of course that was just one surname in one year, but there are other signs pointing the same way.

All of those concrete lines in our family tree are no more than the story that each of our families told the authorities which may or may not reflect reality. It is difficult to appreciate today, but there were perfectly reasonable reasons for concealing the true parentage of “illegitimate” children – a surprise legitimate sister is less of an embarrassment than a surprise “illegitimate” daughter.


By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.