Skip navigation.

Part 1: An Introduction to Randomness

People spend their lives obsessed with probabilities. Why shouldn’t they? To conquer probability by finding a way to predict it is a window into the future. Perhaps that’s why the idea of randomness has always been so fascinating. That which is random cannot be predicted. It is ultimately elusive and it is human nature to want, or be smitten with, that which cannot be grasped; that which cannot be held. We constantly try and find ways to beat it.

Digging into a hat full of paper scraps is our cultural vision of randomness… that, and lightning. The latter is naturally random, the former applied randomness. We excel at channeling the inscrutable nature of the random act into an energy we can harness. We make games from it. We invent dice and roll them. We invent cards and shuffle them. We draw tiny scraps of paper from the soft felt depths of a hat.

Random generations –strings of things put together without thought or weight- are another sort of game. The old game of Mad Libs installs a random word –corresponding to a part of speech- into a prewritten narrative to humorous effect. The word is random because the person generating the word does not know the context of the narrative into which it will be installed. Most random generators on the Web (and there are many) have a basis not unlike Mad Libs, which are now themselves on the Internet. It all feeds our fascination with the serendipity of randomness that suddenly, inexplicably, makes sense. The theoretical chestnut that monkeys typing randomly on typewriters – if given enough time, would reproduce the works of William Shakespeare is fulfilled. In point of fact, there is a website with a virtual contest derived from that theory, complete with virtual monkeys.

Actually, because of how they operate, computers have a tough time being random. A specific instruction fetches a specific response every time. If not, it's considered an error. All random generators on computers –and therefore on the internet- have at their base a random number generator. Insofar as the core language of all computers is binary (ones and zeros) it is evident numbers would be the building blocks not only of predictable results, but of entertaining random processes as well. A random number ends up equaling a random ingredient in a random generation.

The truth is, most so-called random number generators are more correctly defined as pseudo-random. The New York Times carried an excellent article on this topic on 6/12/01 by George Johnson:

"The mathematician John Von Neumann suggested one of the first rather imperfect pseudorandom number generators — a simple procedure, or algorithm, called the middle square method. Arbitrarily pick a number — your cat's birthday, the license plate of the next car that drives by — and use it as a 'seed.' Square it and take the middle digits. Write down that number and then use it as the seed for the next round. Suppose you start with 357. That number squared is 127,449 and the middle digits are 2,744. Square that and extract the middle digits: 295. Repeat the process again and again: 702, 9280, 1184. So far, so good. But the next number that appears is 18, then 324, then 2, and there is nowhere to go from there.

Mathematicians have come up with far more reliable pseudorandom generators. The digits that come stuttering forth appear to be as patternless as raindrops on pavement or snow on a television set tuned to an empty channel. But even the best algorithms share the same weakness: the numbers are not really unpredictable. If you run the process long enough, the cycle of digits will eventually repeat — a pattern appears. Even worse, anyone with the same seed and algorithm can reproduce the sequence."

Pseudo-random number generators are just fine for almost any purpose outside of cryptography, artificial life, or lottery numbers. One might play with a random text generator, or the number generator on which it is based, and not see a pattern for years, having checked every single output.

Real random number generators require that the computer access and sample some process that is truly random – like ambient noise or radio static. One might use radiation levels – given the right sensor hooked into the computer.

For the purposes of the many whimsical random generators on the web, pseudo-random number generators work just fine; we use one in the Mixilator.

Part 2: Random Generators On the Web

As was noted before, random number generators, computers, and the worldwide web have made an unbeatable trinity for the production of randomly generated whimsies. There are generators for random sentences, random songs, random cooking recipes, random jokes, random philosophical treatises & essays, band names, advice, buzzwords, acronyms, and, yes, random drink generators. In viewing the many examples, I was quickly able to determine some guidelines regarding how well certain concepts worked and how long their generators remained interesting.

As I said, many generators act much like Mad Libs in that they have a preset structure and the random aspect is the selection of phrases or words to be inserted into that structure. For instance, this from The Famous Country Song Machine:

I met her in a jail cell with joggers;
I can still recall the neon sign she wore;
She was crawlin' through the prairie in her muu-muu,
and I knew that she was rotten to the core;
A Klingon said I'd have my rash forever;
She said to me she'd have a swiss on rye;
But who'd have thought she'd bobsled with my best friend;
She sealed me in the vault and smirked goodbye.

And the next generation was this:

I met her in Sheboygan poppin' uppers;
I can still recall that plastic nose she wore;
She was breakin' out with acne with her cobra,
and I knew what strong deodorants were for;
Her rabbi said I'd punch her out forever;
She said to me our love would never die;
But who'd have thought she'd turn green on her 'Workmate';
I never had the chance to say goodbye.

It is easy after two generations to determine the presets used in this generator. There are five trillion seven hundred and seventy billion seven hundred and forty eight million five hundred and ten thousand two hundred and eight (5,770,748,510,208) possible combinations according to the author. While that certainly sounds like a lot, in aggregate it really isn’t. This generator is limited by rhyming and cadence issues – as well as the desire for it to make some sense and be funny. This is truly like an automatic Madlib with the “fill-in-the-blanks” entered randomly from source files set up for each choice made. While this makes for a very satisfying final generation (and an admirably-constructed bit of work), regenerating it a number of times sees duplications rather quickly. It is virtually never the same exact song, but one begins to identify repeating phrases in short order.

The fewer limitations put on a generator, the larger the potential number of possibilities – and the more random the results. Here is such a result from another random song generator from Leon’s Random Generators:









This generator is obviously far more random. Parts of speech do not necessarily align, nothing rhymes, and the sum of the parts is without meaning – just words strung together randomly in stanza form. It is less satisfying after even a single generation because the whole is less that the sum of the parts. We can see from this that some structure is necessary to create a random generation that is memorable. A generator that maintains interest over time needs to reveal a detectable pattern, an order by which its product can be recognized by our senses and experiences. From the country music generator, we see that structure does exactly that, but the more limiting that structure is, the more predictably formulaic the result.

One of the best generators on the web, the P45 Staff Canteen Recipe Generator produced this:

Grillade aux eels, parsnips and potatoes and fish stock
(466 calories)

110g (4 oz) eels
450g (16 oz) parsnips
225g (8 oz) turnips
55g (2 oz) potatoes
6 RTÉ personalities
225g (8 oz) peaches
10 fl oz (1/2 pint) fish stock
40 fl oz (1 quart) duck fat
3 teaspoons ground ginger
5 tablespoons chopped basil (for garnish)

  1. First, take the eels and turnips - sieve eels for one hour until soft, and slice the turnips.
  2. check your email, crush and chop parsnips vigorously for two minutes, then add the RTÉ personalities and potatoes.
  3. take the ground ginger and peaches and soak quickly; gingerly slice with the RTÉ personalities and potatoes for five minutes.
  4. set the oven to 350°F (180°C, Gas Mark 4) and liquidise the duck fat with the fish stock until exhausted.
  5. freeze the eels and turnips.
  6. have a glass of sherry. Now add the eels and turnips to the duck fat and fish stock; steam the parsnips and potatoes and RTÉ personalities mixture with the other ingredients.
  7. finally, dust with chopped basil and serve with stale tea.

(serves 4)

This generator works so well because it is evident it is selecting from humongous lists of food categories, temperatures, measures, prep, and cooking methods. But for some slyly added non-edibles, this generator produces recipes one almost might consider trying – that almost seem real – and yet dance with our intuition and imagination by being random. has a random name generator that allows the user to become a participant by making choices that will weight the otherwise random results. You are called upon to choose which sex (or both), how many names, and the name obscurity factor – between 1 and 99.

Like the recipe generator, it draws from a truly giant database of possible names. Also, because of its simple calling, its structure is unassailable and works every time to produce a believable (if not necessarily desirable) name. Any humor comes randomly with name juxtaposition. Unlike the recipe generator, there is no attempt to be funny and, more importantly, the user is asked to interact with the process. This is important because, while the results are random, the operator of the generator influences them. Most random generators allow a simple refresh or recycle action to generate a new result with no other input from the user.

The P45 generator is a case in point. Though excellent, it simply produces a recipe, which is in no way connected with the user. The majority of random generators work just this way. On the other hand, this same Irish website has the Ballad-o-matic and several other similar generators allowing a great deal of interaction, but they are not strictly random. They are, in effect, just like Mad Libs: sometimes with preset choices to pick from, and sometimes allowing you to make very specific choices. To construct an Irish ballad, you are instructed to pick from various parts of speech blindly – and they are then inserted into the preexisting ballad structure. Repetition is assured over time, but the advantage is the personal connection the user gains with the final construction. This same technique is used by many, many generators. There is, for instance, an Alanis Morrisette Lyric Generator on the Brunching Shuttlecock’s web site, which works exactly the same way.

Reasons for producing a random generator probably vary as widely as the personalities of the inventors, but in the main they tend to fall into one of two categories: humor or utility. The witty P45 recipe generator uses very little overt humor in its recipe generations, and what is there is almost unnecessary. The fascination and amusement come from the odd recipes – which are funny enough for simply being just outside the realm of human thought. The name generator is strictly utilitarian, but is interesting in a speculative way, and one in which the user achieves a selection of names which are theirs personally, not just because they pressed a button, but because they interacted with the generation process itself.

I believe that a balance of large databases, a structure that is in place – but is as transparent as possible, and user interactivity produce the most continually interesting random generators.

Part 3: Random Cocktail Generators


Dandy Glans

1 oz. Cognac
1 oz. Clam Juice
1 oz. Cola
2 oz. Strega
4 Fresh Mint Leaves
5 tbsp.Coarse Salt


Peach schnapps and cranberry juice

Dark rum
Peach schnapps
Strawberry liqueur
Grapefruit juice
Cranberry juice
Ice cubes (as desired)

DIRECTIONS: Make as appropriate.
However many you want it to!


Random Drink #17824:

3 eyedroppers Guinness stout
5 shots Beef bouillon
3 tablespoons Cream

Pour Guinness stout into a Pousse cafe glass. Pour in the Beef bouillon. Carefully add Cream. Blend with ice. Garnish with a lemon twist. Lather, rinse, repeat.

The above three recipes were produced by (A) the Drunk-o-matic at CrashSite, (B) the Cocktail UK Random Cocktail Generator, and (C) the DevaWeb Bazaar Bar random drink generator. All of these generators obviously fall directly into the humor category. Almost no generation results in anything remotely drinkable, and none purport to do so. Only the DevaWeb generator makes any attempt to lend realism to its recipes by including basic –and better than basic- mixing instructions. The main problem with all of the generators lies in their proportions, or lack thereof. The volumes of liquid generated appear unmoderated – which creates, even allowing for the ingredients, unrealistic drinks. Since the apparent object is to be funny, this may not pose a problem but, again, they hardly pique a user’s imagination since: you could hardly even SPECULATE about making the drink, there is no user interaction, and there is little or no underlying theory or, as I called it before, transparent structure to give the generations tantalizingly realistic forms.

Part 4: How the Mixilator Came to Be

My interest in randomness likely harkened back to my evenings with Mad Libs as a child, but back in the 70s, I remember going to Bell Labs in Matawan, New Jersey and seeing an early “talking” computer. I’d write something down, and the computer would write something back – often hair-raisingly germane. Of course, it merely analyzed my speech, dividing it into grammatical quotable components, and attached a randomly selected comment to it. It was, however, astonishing stuff to me then. I still have the printout from that session.

My interest in cocktails went back even further. When I was a kid, there was no drinking in my house to speak of. I never remember my mother or father drinking alcohol apart from wine at Thanksgiving or the like. Yet on the highest shelf in the library – the top of the top shelf which I had to literally climb to reach – a place reserved for –oh no! – paperback books… resided a dusty old Permabook of Patrick Gavin Duffy’s Standard Bartender’s Guide printed in 1948 (but originally published in 1934.) Oh, how I reveled! I somehow obtained an empty vodka bottle. (Perhaps my parents nipped while I wasn’t looking?) I filled it with water and pepper – I assumed this was what liquor was like – and inadvertently invented vodka peppar. I would stagger around with it. The only thing I knew about drinking was from W.C. Fields movies. But mainly I pored over my Duffy Permabook. The strange-sounding ingredients! The WEIRD drink names! I YEARNED to try Forbidden Fruit Liqueur. I was hypnotized by the Monkey Gland, the Corpse Reviver #2… and the Bosom Caresser. That was around 1965. When, as a young adult, I was able to research those magical potions in-depth, to try and solve the mysteries, I acquired a copy of The Fine Art of Mixing Drinks by David A. Embury.

Embury’s book was unlike any other bar book. It had recipes, but it was no recipe book. It was a book of eloquently stated opinions about the how and wherefore of mixing drinks, and it promoted a theory. It was the first seriously devised process theory for mixing cocktails. Short of “Three strong, two sour, and one sweet”, no one had ever previously attempted a mature hypothesis of how it all should work.

Embury divided ingredients into three major categories: Bases, Modifiers/Smoothing Agents, and Flavoring Ingredients.

Bases could be hard liquor or wines: one or two ingredients, which total between approximately 75% and 90% of the total pre-ice cocktail volume.

Modifiers were subdivided into what Embury called aromatic wines, bitters, juices, and so-called “smoothing agents” which included eggs, unflavored sweetening syrups, and sugars. Several might be used, but always in subservience to the base.

Flavoring ingredients, he cautioned, were to be applied “in drops or dashes,” no more. They included all liqueurs, fruit syrups, and spices.

Embury was, by profession, a New York Attorney – one who knew a LOT about liquor. He wrote the book and it’s mixing premise with a lawyer’s self assurance – that, in this case, good cocktails could be mixed every time if the reader would simply follow his rules.

The specificity of Embury’s notions and the fame of his theory made his book the perfect basis for a random generator.

Part 5: The Making of Mixilator

The David Embury Random Cocktail Generator Project.

I was on the phone with David Wondrich of Esquire Magazine. He was lamenting that Esquire’s budget would not allow them to produce his Esquire Random Drink Generator on the magazine’s website. I became immediately intrigued with the idea, and felt my past interests dovetailing anew. “Man, I know what kind of random drink generator I’D like to do… one based on David Embury’s theories!” I proclaimed. I came away from this encounter galvanized to do just that. I pulled down my old copy of The Fine Art of Mixing Drinks and started rereading and note taking in earnest. When I expressed my idea to Martin Doudoroff, fellow cocktailian and partner in the website, he too was intrigued. “Sounds like fun” he said and volunteered to write the program once I’d nailed down how Embury’s theories would be applied and to what. Little did either of us know what a mad task that would be.

In my research, I steadfastly attempted to follow the Rules of Embury, and it’s really more the David Embury Random Cocktail Generator than drink generator - because that’s really what his rules are all about. Cocktails involve mixing glasses or cocktail shakers. A jolt of this alcohol, a splash of that, and a dash of mixer, either spirituous or not, chilled by agitation with ice, and then strained into a footed cocktail (Martini) glass.

I scoured the web for other examples of such automatons, and the results were disappointing. Most merely picked random existing recipes. The few, which actually created random drinks, paid no attention to quantities or preparation details, much less any logic of mixing. A much better example was the aforementioned random food recipe generator: Its careful descriptions made everything sound workable and interesting, if not exactly sumptuous.

I felt our generator would be the smartest out there, because the object wasn’t humor per sé (though some results have ended up being quite amusing) but rather a test of David Embury's basic hypotheses on all of the modern ingredients we could muster. Since the largest mixed drink ingredient database on the web or in ANY media was in our own CocktailDB, I knew we had a good start. The divisions and rules were proactively translated from Embury’s text. The ingredients are straight out of CocktailDB. I made sure the ingredients to be accessed were available at least somewhere in the world. Embury’s bones of contention were mainly reactions to proportional relationships, so I shot all manner of modern nightmares at him, but made them play to HIS rules.

Taking the work of David A. Embury and converting it to the kind of automatic cocktail machine I envisioned, though, would take some extra effort. He was often taciturn about preparation techniques and mixing descriptions. I culled what I could from book text, and extrapolated the rest based on common mixing practice when the book was written.

He gave a basic overall outline as to what drinks were to be stirred and which were to be shaken but did not indicate the styles of shaking or stirring. I added that based on descriptions in other tomes of the period and the scant few from Embury. The only humorous notes we wrote into the Mixilator were in the way we described methods of shaking or stirring, descriptions Embury often omitted but which we riffed off of when we found the few that were there. I tried throughout to avoid veneering my cultural or temporal overlay atop his ideas. Embury’s way of thinking did not allow for some classic cocktails as we know them, and some of the ingredients I included never before saw the inside of a serious drink, but following Embury’s commandments they could, couldn’t they? By any measure, there lay the fun and the serendipity. The idea, as I said, was neither to be funny nor necessarily to make a great drink. The idea was simply to put the most famous mixological theory to the test, wherever it took us, with all the ingredients at hand today - unless specifically eschewed by Mr. Embury (like still and carbonated waters, flavored or otherwise – which he pronounced had NO place in a cocktail.) He never mentioned the kind of ice used in a given drink so I created a coolant category. He ignored garnishes, so I added a garnish category. Many items we use in cocktails today did not exist in Embury’s lifetime, but they did fit into some category of his theoretical framework.

“Start sending me the info for the generator and I'll code it up,” Martin invited a few days later when I told him I had the basic concept all worked out. And so I did.

Part 6: More Nuts & Bolts - How the Mixilator Works

I went to work on two fronts: conceptualizing a user interface which would allow some interaction without contravening Embury’s parameters. It became evident sweetness vs. sourness, bitter, salty, strength and complexity would be ways to accomplish that.

This is how I worked it out:

User Choices

Ideas for simple ways the user can interact with the Mixilator. I’d like to avoid too many choices because if they are REALLY allowed to weight ingredients, it ceases to be Embury-based and they may as well mix their own drink! Let them adjust the recipes themselves.

Please specify your cocktail type ("If column A is the only choice or the larger proportion, the cocktail is an Aromatic. If Column B is used exclusively or is the larger in proportion to A, the cocktail is a Sour."):
___ Aromatic-style <weighted towards aromatic flavoring ingredients such as bitters>
___ Sour-style <weighted towards fruit-based flavoring ingredients like lime or orange juice>
___ Mixilator's Choice <random choice>

Please specify your cocktail strength:
___ Strong <predisposes higher ratio of base to modifier>
___ Medium <predisposes similar ratio of modifier to base>
___ Light <predisposes higher ratio of modifier to base>
___ Mixilator’s Choice <random choice>

Please specify your cocktail hour:
___ Morning <instruction to include egg product or sparkling wine>
___ Afternoon <predisposition to weaker>
___ Evening <predisposition to stronger>
___ Pre-prandial <predisposition to less sweet>
___ Postprandial <wine in base, wine in modifier>
___ Nightcap <predisposition to sweeter>
___ Mixilator's Choice <random choice>

Please specify your complexity level
___ Quick & Simple <predisposition to larger quantities of less ingredients>
___ Full Production Number <predisposition to smaller quantities of more ingredients>
___ Mixilator's Choice <random choice>

Please specify special characteristics:
___ Make it a little sweeter <supersedes Pre-prandial choice – if made under Cocktail Hour>
___ Make it a little tart <supersedes Nightcap choice – if made under Cocktail Hour>
___ Make it a little salty <salt added>
___ Make it piquant <bitters added – or in higher quantity>

Candidly, the most Embury-correct cocktails the Mixilator can create, if the user makes choices, would be stronger, simpler, and either tart or piquant. Still, interaction allowed for, David Embury’s theories act upon all of our random cocktails.

The only structural aspect to be worked out that was unrelated to either Embury or alcohol mixing was how to make the drink title generator work. It proved impossible to access any of the various software dictionaries on our computer hard drives. I instead created giant word lists from other web databases – a job made more difficult by my desire that they allow an almost infinite number of combinations and that they make reasonable grammatical sense. That’s a lot of words. I organized the word types into the following categories: Nouns, adjectives, names, and other descriptors. I chose whole giant groups of words taking care, again, to make them work rationally as title strings but not to add anything self-consciously cutesy. Sometimes the sense a title made was tenuous, but that, to me, was better than introducing an overlay of my personality or creating the likelihood of common name duplications by handpicking words. What I did was to use any pretext I could to create mammoth lists of words that I could more-or-less tame into the appropriate parts of speech for a drink title. Interesting material was found from lists of antiquated job titles, animals, colors, cities, and so on. I was not wholly successful, but it works acceptably.

When the first iteration of the newly crowned Mixilator was up and running, its glitches became rapidly apparent. Some ingredients were being added in 1 drop increments, not a dash… a drop. We eliminated the single drop from our measure database. We made the total volume 3-1/2 oz. Embury used smaller glasses, but he also directed that the largest of the glasses then available should be used. The largest glass then available is smaller than any glasses commonly available now, so I chose the first currently common size up from the glass he used. I think he would’ve approved. Allowing for water dilution after agitation, the volume would fit elegantly in a 5 oz cocktail glass. To have the machine calculate the measures with so many parameters and conditional algorithms, classic cocktail measurement nomenclature had to start out in decimal form and, once the drink was generated, be translated into fractions and common measures, to maintain classic bar guide style.

We encountered what Martin called several “absurd artifact(s) of the system: ‘Twist whipped cream smartly over drink and drop in the glass’” Those, we fixed as they popped up, but rationalized that any remaining bits of such inadvertent and random whimsy were little different that David Embury making the occasional funny comment in his book.

Noting what ruined early generations time and time again, I had to create a category Embury never envisioned: the Veggie-Meaty Cocktail. This now includes all drinks with Bloody Mary-type ingredients that ruined everything else. No more black or cayenne pepper rims with orange juice. Clam juice, tomato juice, though, continued to combine just fine in this new category.

The most difficult decision was one I felt I needed to make about wines in cocktails. We were ending up with 3 or 4 different wines in a given drink in a way that never would have happened. I knew that two wines in a cocktail (like a Perfect Manhattan) were not unheard of, and then the Mixilator came up with this gem and I knew we had to allow two wines, no matter what:

Scutcher Cocktail
Chill cocktail glass. Prepare as follows:
In pre-chilled cocktail shaker combine
3 oz Riesling
0.25 oz watermelon juice
0.25 oz sweet Vermouth
3 drops Midori
Shake with small cubes of ice as if you were suffering a super-acute attack of ague and Saint Vitus dance combined.
Strain into chilled cocktail glass.

One thing Martin and I saw eye to eye on from the onset –though, somehow it was never stated until we were mostly done— was that the ingredients in the generated cocktails should link directly their respective definitions at The ingredient lists were so massive, and many of the spirits so arcane, defining them (and pointing to where they might be found) seemed like pure common sense. Now participants could be intrigued, amused, and educated all at once!

I also had one more psychological ploy to keep the Mixilator interesting. I asked Martin to add a delay. I wanted a three second progress bar at the point of cocktail generation.

Here is an interesting dichotomy: We want everything fast, fast, fast, especially on the web. We await an email and we know it must be routed from server to server. If human delay isn’t enough, we must deal with machine delay. The length of time it takes applications to initialize, pictures to open - invariably while someone is standing at your shoulder. It’s enough to incite violence. Think about it, though. What if we COULD have cocktails as soon as we mentioned them? Dinner as soon as the thought crossed our minds? Which is better? Christmas eve and the anticipation of wealth, or Christmas day with the presents laid out before you? I contend there is much more art, romance, and generated interest in riches withheld, riches anticipated. I think a fine meal is the best metaphor. The chef labors, the audience slavers; the culmination is the presentation. It’s not like that email we all wait for. And if you ARE the chef - or assist the chef - the dish and its anticipation become personal - a reflection of your efforts - a reflection of your pride. You are invested. Not like something shown to you - for which you are merely an outsider. The psychological weight of these feelings is quite real.

That’s why the Mixilator offers the user drink options every time a cocktail is to be generated and that’s why it operates with the anticipatory delay we experience every time we experience a fine meal – because interaction and time expended equate with value.

Of course the progress bar gave way to the Metropolis robot and cocktail shakers moving like gears to produce, the culmination of all of this - as the Mixilator announces…

"Here is your Mixilator Cocktail…Master!"

Ted Haigh June 2004

Referenced sources:

and last but not least,

Embury, David A. *The Fine Art of Mixing Drinks.* Garden City, NY: Garden City Books, 1948.

    Copyright © 2004