Why stop at twelve?


Embed from Getty Images

There is an election coming in Britain and so politicians are setting out their stalls.

Education Secretary Nicky Morgan has now said that her priority will be a “war on innumeracy” and an insistence that children who leave primary schools should know their “twelve times tables”.

But why 12? Until 1971 British (and Irish) coinage was divided into shillings of 12 pence (and 20 shillings made a pound). Then twelve times tables were of a practical use – and naturally enough that carried on for some time afterwards (I was taught my “times tables” in P3 in 1972/73 and 12 was very much part of the programme).

Latterly though, as I understand it, teaching has concentrated on 1 – 10 for what ought to be obvious reasons. So going back to 12 is plainly nothing more than a conservative politician’s attempt to appeal to nostalgic and reactionary notions that the world was better in the past and everything has gone downhill.

I can see no reason at all why learning 11 and 12 times tables actually improves mathematical understanding, as opposed to gaining an additional, but of limited use, practical skill. And if the idea is to be in the “top 5 for maths” then I’d suggest increasing children’s understanding of maths matters a bit more than their ability to know from memory what 11 x 12 is.

Of course, before someone objects, knowing your 12 times tables is useful: but then so is knowing the 13 times tables or the 60 times tables – so why stop at 12?

Indeed, in this age, if we are going to stop at somewhere above 10, shouldn’t it be a power of 2? Knowing the 16 times tables would be a big advantage for any would-be programmer.

It’s a slightly ridiculous idea to demand that our children are taught the 16 times tables, but no more or less than the 12 times tables – so I am putting it out there!

New, improved Hexxed

I have not had much luck in hunting down what is wrong with my code or the Xerces-c SAX2 parser – but I do think I have successfully updated by hex editor, Hexxed, to handle 64 bit (ie >4GB) files.

Indeed it performs rather better than vi for some editing tasks (Hexxed has a vi like interface).

So, if a hex editor, capable of handling little and big endian code and able to display output in Unicode is what you are after, and if you are vi-conditioned, then maybe Hexxed is your thing.

Groovy code can be found at: https://github.com/mcmenaminadrian/hexxed

While a runnable jar for those of you who have Java but are not yet Groovy can be downloaded at:

And there is more about it here: https://cartesianproduct.wordpress.com/2012/06/03/hexxed-usage-options/

Just remember it is code for playing with – don’t bet the farm on it. But, that said, I have no reason to think it does not work.

Free software hex editor

I have noticed that my free software hex editor (hexxed) – which is licensed under the GNU GPL – does not really come up in any searches, so here’s another entry to boost it.

It’s a bit crude, but it does some things well (e.g., display unicode and switch endianness) and it will run anywhere you can get Java to work. And as it is free software anyone is free to make it better.

This page tells you all about how to get it and use it.

Dear MI5, why don’t you use my hex editor?

MI5 text fragmentThis is a semi-serious point!

Well, British security service MI5 helped to successfully convict three would-be terrorists Richard Dart (30) of Ealing, Imran Mahmood (22) of Northolt and Jahangir Alom (26) of Stratford by what looks like scanning through temporarily (?) cached fragments of Word documents. This is a good thing.

But they have been using an 8-bit orientated hex editor – as the picture shows. If they had used my Unicode supporting  editor, Hexxed, they could have got rid of those annoying spaces between the letters.

Hexxed usage options

So, you want a hex editor for your latest project and (naturally) you decide to have a look at Hexxed, the free, GPL licensed, hex editor you can download here: So what happens next?

bash-3.2$ java -jar hexxed.jar -u

usage: hexxed [options]
-b,–block use block:offset address output – default is
linear address
-be,–bigendian interpret data as big endian – default is cpu
-f,–file <arg> file to edit
-le,–littleendian interpret data as little endian – default is cpu
-o,–offset <arg> offset in file – default 0
-s,–blocksize <arg> size of block if block:offset addressing used –
default is 0x200
-u,–usage show this information
-w,–width <arg> width (in bits, 8 – 64 bits) of output data –
default is 8 bits
-x,–x <arg> width of window (default 640 pixels)
-y,–y <arg> height of window (default 480 pixels)

Subtext is, please do have a look at Hexxed. I know it’s not as fully featured as commercial or even other free hex editors, but this is just the first iteration and if you tell me it is useful and add what feature you’d like to see in it, it is quite likely that I will get on with adding it.

Update: I have now run Hexxed on Ubuntu and Debian Linux, Mac OSX and Windows XP, so it should work on anything with Java installed.

Adding vi-like functionality to Hexxed

A diagram showing the key Unix and Unix-like o...
A diagram showing the key Unix and Unix-like operating systems (Photo credit: Wikipedia)

I have decided that I will model the keyboard interface for Hexxed on vi.

I know that is not what many/any coming from outside the Unix world will expect, but then there are plenty of Hex editors out there and I want to make one that will appeal to at least one niche.

As I instinctively type “:w” in all sorts of places these days, I think there will be some other people out there who might like that sort of functionality too.

Making some progress with the hex editor

Unicode output from hexxedWell, the hex editor still feels like a death march project but “I’ve started, so I’ll finish” and I have made a little bit of progress today, and it handles unicode characters (see screenshot). I am not aware of any hex editors doing that (though I am sure some do), so it feels like a reason to persevere.

Actually outputting the text and getting edits back into the file are going to be a pain though…

If you want to see the code (a dog’s breakfast right now) – it is here.