Today is 11 November, better known as Armistice Day or Remembrance Day. At 11am French time, the gruelling “War to End All Wars” officially ended – at least on the Western Front – in 1918.
Erected in 1924, it features a paragraph laid out and lovingly right-and-left justified by a monumental typesetter, saying IN MEMORY OF THE GLORIOUS DEAD WHO FELL IN THE GREAT WAR. But the justification – both literally and figuratively – is now broken by the necessary later addition of a trailing letter S to the words GREAT WAR.
Lest we forget, 11/11/11 has also been proclaimed “Nerd New Year,” and in Redwood City – part of the greater San Francisco area better known as Silicon Valley – they’re even having a street party.
You can also join the Hack for Veterans effort, in which hackers are encouraged to “put together projects that can improve any aspect of a veteran’s life.”
If we can come up with software to report where we are minute-by minute so we can be sure not to miss out on meeting up with our friends in the pub, we can come up with ideas to use technology to help relieve the physical, social and emotional injuries of those affected by war.
Here at Naked Security, we like the idea of hacking for good.
But should 11/11/11 be a Nerd New Year? If the war had ended a month earlier, North Americans and most of the rest of the world wouldn’t even be able to agree on how to write it. Would it be 10/11 or 11/10?
And, if the truth be told, it isn’t 11/11/11, at least in any offically-useful dating system. Christian Era dates didn’t start 11 years ago, after all. Today is 11 November 2011.
(Are we really so short of time and RAM these days that we need to save two digits when writing or recording the year? Have we forgotten so soon how much money was pumped into consultants’ pockets around Y2K during the Rort to End All Rorts, simply because we’d been pretending that 1999 was 99?)
So if you are looking for a Nerd New Year’s resolution, make it to follow RFC 3339: Date and Time on the Internet: Timestamps.
Make an effort to follow it whenever you generate logfile entries in any software you create. It provides an unambiguous way of recording dates and times with nanosecond accuracy, anywhere in the world, any time between AD 1 and AD 9999. (It could cope with AD 0, but there wasn’t one.)
Better yet, RFC 3339 time-and-date logs are human readable, and, for the most part, easy to sort. Loosely speaking, they take the form “yyyy-mm-ddThh:mm:ss.sss”. Easy to spot, easy to read, easy to parse, and easy to work with for both humans and machines.
And whilst you’re about it, resolve not just to write your timestamps following RFC 3339, but always to use UTC time for anything that’s going into a log file. UTC is easily denoted in RFC 3339 by simply adding a trailing Z for Zulu.
That removes any and all ambiguities about possible timezone offsets, which are – as RFC 3339 so wisely reminds us – “dependent on the unknown or unknowable actions of politicians or administrators.”
Computer logs become much more useful when the events they record can be accurately and unambiguously related to one another. Investigating and fixing security breaches becomes much easier when you can determine a sequence of events on your network with certainty.
So make RFC 3339 your Nerd New Year’s resolution!
2011-11-11T00:00:17Z User 'duck' says, "Bye now."