var names = [
  'Ada Lovelace',
  'Adele Goldberg',
  'Alan Turing',
  'Alan Kay',
  'Alonzo Church',
  'A.J. Perlis',
  'Bertrand Meyer',
  'Bjarne Stroustrup',
  'Brian Kernighan',
  'Charles Babbage',
  'Claude Shannon',
  'Dan Ingalls',
  'David A. Huffman',
  'Dennis Ritchie',
  'Don Knuth',
  'Edsger Dijkstra',
  'Guido van Rossum',
  'Gerald Jay Sussman',
  'Guy Steele',
  'Hal Abelson',
  'Haskell Curry',
  'James Gosling',
  'John McCarthy',
  'Johnny von Neumann',
  'Ken Thompson',
  'Kurt Godel',
  'Larry Wall',
  'Linus Torvalds',
  'Marvin Minsky',
  'Mary-Kate and Ashley',
  'Niklaus Wirth',
  'Noam Chomsky',
  'Richard Gabriel',
  'Richard Hamming',
  'Richard Stallman',
  'Robin Milner',
  'Simon Peyton Jones',
  'Stephen Cook',
  'Yukihiro Matsumoto',
  'Ward Cunningham',
];

var groups = [
  '3-SATs',
  'Abstract Datatypes',
  'Abstract Factory Patterns',
  'Accumulators',
  'Actors Model',
  'Adjacency Lists',
  'Algorithmics',
  'Amortizations',
  'Angry Inch',
  'Axiomatic Notations',
  'B+ Trees',
  'Bijections',
  'Binary Trees',
  'Bit Blits',
  'Bin Packers',
  'Binary Coded Decimals',
  'Busy Beavers',
  'Bytecode Verifiers',
  'Cellular Automata',
  'Checksums',
  'Closures',
  'Context-Free Grammars',
  'Continuations',
  'Coroutines',
  'Convex Hulls',
  'Depth First Searchers',
  'Difference Engines',
  'Dining Philosophers',
  'Dynamic Scopes',
  'Elevator Algorithm',
  'Exception Handlers',
  'Fast Fourier Transforms',
  'Functional Programmers',
  'First Class Functions',
  'Gang of Four',
  'Garbage Collectors',
  'Halting Problem',
  'Hamiltonian Cycles',
  'Harvard Architectures',
  'Isomorphisms',
  'Kleene Stars',
  'Lambdas',
  'Lazy Evaluators',
  'Lexemes',
  'Lexical Scopes',
  'List Comprehensions',
  'Loop Invariants',
  'Just In Time Compilers',
  'Knapsackers',
  'Markov Models',
  'Max Heaps',
  'Message Passers',
  'NP Completes',
  'Observer Patterns',
  'Operator Overloaders',
  'Parity Bits',
  'Parser Generators',
  'Perfect Hash Functions',
  'Pidgeon Hole Principle',
  'Polymorphics',
  'Preorder Traversals',
  'Pumping Theorems',
  'Punch Cards',
  'Push Down Automata',
  'Radix Sorts',
  'Red-Black Trees',
  'Regular Expressions',
  'S-Expressions',
  'Singletons',
  'Skip Lists',
  'Symbol Tables',
  'Symmetric Encryptions',
  'Tail Recursives',
  'Transitive Closures',
  'Traveling Salesmen',
  'Undirected Graphs',
  'Y Combinators',
];

function pick(a) {
  return a[Math.floor(Math.random() * a.length)];
}

document.getElementById('bandnames').innerHTML = pick(names) + " and the " + pick(groups);
