Published | Actual | |
Birmingham New Street | 07:10 | 07:10 |
London Euston | 08:30 | 08:29 |
During the build up to the Olympics there was an article on the BBC website discussing the marketing restrictions and how some businesses and people have been accused of breaking these restrictions. This got me thinking, in what ways would it be possible for me to refer to the event without actually using any of the controlled words. This was only supposed to be a short post but I let my ideas run away with me and it's ended up being written of a couple of train journeys.
The year
The first thing to tackle is the year. Our current year is based on the Gregorian calendar however there are a number of calendars used around the world, 47 if Wikipedia is to be believed. JodaTime, a Java library for handling dates and times, allows the output of a given date in the format of another calendar. Using Joda I can determine the year of the Olympic period in a sub-set of calendars, here is the source code to achieve this:
package dates; import org.joda.time.Chronology; import org.joda.time.DateTime; import org.joda.time.chrono.BuddhistChronology; import org.joda.time.chrono.CopticChronology; import org.joda.time.chrono.EthiopicChronology; import org.joda.time.chrono.GJChronology; import org.joda.time.chrono.GregorianChronology; import org.joda.time.chrono.ISOChronology; import org.joda.time.chrono.IslamicChronology; import org.joda.time.chrono.JulianChronology; import org.joda.time.format.DateTimeFormat; import org.joda.time.format.DateTimeFormatter; /** * */ public class JodaTest { /** * Main execution method. * * @param args and array of {@link java.lang.String} program arguments. */ public static void main(String[] args) { DateTimeFormatter DATE_FORMAT = DateTimeFormat.forPattern("YYYY-MM-dd"); DateTime startDateTime = DATE_FORMAT.parseDateTime("2012-07-27"); DateTime endDateTime = DATE_FORMAT.parseDateTime("2012-09-09"); Chronology[] chronologies = new Chronology[]{BuddhistChronology.getInstance(), CopticChronology.getInstance(),EthiopicChronology.getInstance(), GJChronology.getInstance(),GregorianChronology.getInstance(), IslamicChronology.getInstance(), ISOChronology.getInstance(), JulianChronology.getInstance()}; StringBuffer buffer = new StringBuffer(); for(Chronology chronology : chronologies) { startDateTime = startDateTime.toDateTime(chronology); endDateTime = endDateTime.toDateTime(chronology); buffer.append(chronology.toString()).append("\t") .append(startDateTime.toString()).append(" - ") .append(endDateTime.toString()).append("\n"); } System.out.println(buffer.toString()); } }
And the sample output would be:
BuddhistChronology[Europe/London] 2555-07-27T00:00:00.000+01:00 - 2555-09-09T00:00:00.000+01:00
CopticChronology[Europe/London] 1728-11-20T00:00:00.000+01:00 - 1728-13-04T00:00:00.000+01:00
EthiopicChronology[Europe/London] 2004-11-20T00:00:00.000+01:00 - 2004-13-04T00:00:00.000+01:00
GJChronology[Europe/London] 2012-07-27T00:00:00.000+01:00 - 2012-09-09T00:00:00.000+01:00
GregorianChronology[Europe/London] 2012-07-27T00:00:00.000+01:00 - 2012-09-09T00:00:00.000+01:00
IslamicChronology[Europe/London] 1433-09-08T00:00:00.000+01:00 - 1433-10-22T00:00:00.000+01:00
ISOChronology[Europe/London] 2012-07-27T00:00:00.000+01:00 - 2012-09-09T00:00:00.000+01:00
JulianChronology[Europe/London] 2012-07-14T00:00:00.000+01:00 - 2012-08-27T00:00:00.000+01:00
As all results start and end in the same year for each calendar it means we could use 2555
, 1728
, 2004
or 1433
to represent the current year.
Another way to represent the year could be to base it on another number system. Our primary number system is decimal or base 10, using the different number bases the current year could be represented as follows (selected bases up to base 62):
2: 11111011100
3: 2202112
4: 133130
5: 31022
6: 13152
7: 5603
8: 3734
9: 2675
10: 2012
15: 8E2
23: 3IB
46: hY
48: fi
54: bE
58: Ye
All the ones chosen either make sense as l33T sP34k or as integer numbers.
So now I’ve shown how the year can be represented differently I’ll go on to the location.
The Location
As with the year we could treat the location as being a number based on the base 62 number system, this means that the location could be represented as follows in decimal:
2147483647
This has lost some of the snappiness of the actual word London
so taking this number I can again convert to another base (12 and above starts to produce words). Again the output is quite weak, the only result that looks like a word is:
44: D0ffIN
Another way to change the representation of the place would be to use my Word Whacker, this can output a word which has some numeric equivalence to the location. Using WW4 and the ASCII character set my program output the following subset of words as equivalents:
Speedy
Hurrah
Dazzle
Energy
I think this is brilliant, the fact that words like these come out is very apt. Probably the most appropriate though, and given the subject of this post is:
Censor
The other controlled words
Putting some of the other controlled words through the word whacker gives the following results, I chosen only 5 for each controlled word.
Original Word | Result 1 | Result 2 | Result 3 | Result 4 | Result 5 |
---|---|---|---|---|---|
Games | Racer | Coder | Ethic | Match | Denim |
Two Thousand and Twelve | NA | NA | NA | NA | NA |
Twenty-Twelve | Effortlessly | Skullduggery | Philanthropy | Full-strength | Vainglorious |
Medals | Banner | Buckle | Picnic | Chains | Noddle |
Summer | Joyful | Suntan | Winter | August | Splosh |
Gold | Late | Kind | Crap | Fire | Teal |
Silver | Unsold | Slap-up | Sequin | Hustle | Hollow |
Bronze | Marmot | Pseudo | Bonzer | Filthy | Triple |
Sponsors | Myosotis | Populous | Unsavory | Torturer | Buzzword |
Putting it all together
At the end of all this I can say that I enjoyed D0ffIN 8E2
, Hurrah
was a great city for holding the Joyful Match
and athletes, games makers and organisers did the UK proud. I particularly enjoyed watching Jessica Ennis win her Fire Buckle
and Mo Farah his Kind Noddle
both on the same night. Becky Adlington did look a bit disappointed with her Marmot Chains
for the 800m swim but was happy with her 400m Banner
. One of the most enduring images will be Paul Blake winning a Slap-up Picnic
in the T36 400m, his pride and joy shows what 4 years of hard work means when it leads to success. The weather even got into the spirit of things definitely providing us with the Suntan
version of Summer rather than the Winter
or Splosh
version of Summer. So, whatever you want to call it I hope the Vainglorious Coder
, Philanthropy Ethic
or Full-strength Denim
was good for you, I hope you enjoyed Speedy 2004
and that the Myosotis
(forget-me-not) messages and Unsavory
adverts didn’t detract too much from the event.