6
We have a group of stealthy computer-savvy geeks who are also musicians with a very subversive element to their songs that the authorities in their totalitarian country just can't stand, and are itching to show up at one of the concerts, fire off rubber bullets and tear gas at the audience, and arrest the band members and as may other fans as their paddy vans can carry and "disappear" them.
However, the authorities are a bit slow to act, and will only show up to the second concert held under the same band name (case, accent and whitespace-length insensitive). They are also not very tech-savvy, so can't reverse-engineer the decoder (see later). Since they are working from memory, they'll forget a name after five years, so a repeat after that time won't attract their attention.
One of these tech-savvy band members comes up with an algorithm that - given the date of a concert - generates a (hopefully) unique cool-sounding and pronounceable band name using the latin alphabet (A-Z) plus Space. They also create a decoder that they distribute to fans, which, given a band name and a date, returns some output indicating that this is indeed a code-generated name of our subversive band, or some other output indicating that the band name entered is that of some other band (or a sting set up by the authorities to catch fans they want to arrest).
The decoder does not output any valid names, as the authorities are just tech-savvy enough themselves to obtain a copy and use that to generate possible names if it can output them, but don't have time to check all the names of the hundreds of other bands that appear and disappear (sometimes with their assistance) from time to time against it.
Your Task:
Produce these two complementary pieces of code - the name generator and the name checker.
As this is a popularity contest, we're looking for cool-sounding, pronounceable band names for the English-speaking world, not random unpronounceable text. Any programming language is OK, as the fans are all very tech-savvy like us. Please provide a sample of the cool names your generator generates.
If it can be shown that an algorithm produces a duplicate for any two dates in a 5-calendar-year period, then that will be considered a disqualification. (Disqualification is a far better fate than what the authorities would do to them).
3What's the point of requesting a separate decoder? All it should be is a call to the encoder followed by an equality check. And you can't be serious about wanting a list of 260 names. No-one's going to want to verify their distinctiveness without using a computer program anyway, so why not just write your own test framework? – Peter Taylor – 2014-10-30T08:04:52.213
@PeterTaylor, I've edited the question to show why a decoder is needed. As to a list of names, you're right, I can check myself, so just a few to demonstrate the "cool" factor will suffice. – Monty Wild – 2014-10-31T01:38:13.360