16/08/2005 @23:40:10 ^00:06:29
HOW DO YOU SPELL "HOUSE"?
My neighbour's new chav girlfriend is so amazingly dumb it's not even funny
333333333333
Following on from 1111111111: Tomorrow morning at 5:55am and 33.33 seconds, it will have been 333333333333 centiseconds since the start of the RISC OS epoch.
RISC OS doesn't work like UNIX:
OS | epoch start | units | stored as a |
---|---|---|---|
UNIX | 1970 | seconds | signed 32-bit integer |
RISC OS | 1900 | centiseconds | unsigned 40-bit integer |
RISC OS's millennium bug will occur in 2248 (4th June, at 6:57am, 57.75 centiseconds to be exact)
Quite why it is a 5 byte number is something of a mystery, other than being inherited from the BBC micro. This didn't have a real-time clock but did have a timer that started from zero on power-up. If it were only 4 bytes, it would only be about 6 weeks before it wrapped and I suppose they thought it was conceivable that a computer might be left on that long. And of course it wouldn't make the code to increment the counter any more complicated; since the BBC micro only had 8 bit registers, you'd have to go
- add 1 to byte 0
- add carry to byte 1 if there is a carry
- add carry to byte 2 if there is a carry
- ...
So the only change in the code would be the comparison to work out when to stop this loop, after byte 3 or byte 4.
DISCLAIMER: I have no experience of RISC OS 4 or anything about developments in RISC OS in the past half decade, and in particular I don't know if they still measure the time in this way, or if they switched to UNIX epochs or whatever. I would be quite surprised if it had been changed though.