- Where does it get this stuff?
- Mostly, previous zephyrgrams sent to the cube instance.
- What sorts of things make good Cube submissions?
- A good cubism should have at least two of the following characteristics:
An optimal cubism makes the reader stare at it for a while, say, "What the...?", and finally burst out laughing. We don't get many of those.
If a cubism gets a mild look of astonishment and a chuckle or two, then
it's done its job.
- Bizarre / Surreal
- Short (one-liners are best)
- What sorts of things should I avoid?
- Since the Cube is supposed to be amusingly surreal, it's best
to avoid including too much context. For example, it's best not to
include attributions in the text of cubisms.
- Dead baby jokes. But then that goes without saying. Almost.
Actually, almost any joke of the form "Question? Answer" goes against
the spirit of the Cube, since such jokes are overly self-contained.
- Non-English text. Many people will disagree with this guideline,
but there are several reasons I personally advocate it:
- There's a good chance that the Cube will eventually use some reasonably
complicated word-matching heuristics. These heuristics may
involve looking things up in electronic dictionaries. English ones.
In which case your non-English submission will probably never, ever show up
again as a response. Bummer, eh?
- If 90% of the people reading zephyr can't even come close to parsing
your cubism, that's a guaranteed 90% chuckle-free return on the Cube's
- I do occasionally edit the Cube's database to remove things which I
find unfunny. If I don't understand it, well...
- Are the Cube's responses totally random, or is something
more subtle going on here?
- It's just like straight stripper bars but without the oppressive stink of
feminist cultural theory hanging over everything.
- Hey! I sent something to the Cube, and it ignored me! What gives?
- There are at least three possibilities:
- The Cube is hosed. It happens. Often.
- You're sending it unauthenticated zephyrgrams. In order to prevent
certain forms of cube abuse and decrease the likelihood of
unpleasant bot-generated infinite zephyr loops, the Cube has been programmed
not to respond to unauthenticated zephyrgrams, except perhaps for a bitchy
warning that you're not authenticated.
- The cube really is ignoring you, because someone told it to.
- Is there any way to get the Cube to give me one of its cubisms
without my submitting anything?
- Yes. Send a personal zephyrgram to zbot on the
instance. A personal zephyrgram containing a cubism will be sent back
to you on the cube.spew instance. Note: this is
one of the few Cube operations that will work with unauthenticated
zephyrgrams. Thus, other zephyr-bots can use the cube.gimme
instance as a read-only interface to the Cube.
- Wait a minute. This doesn't actually have anything at ALL
to do with Sufi teaching exercises, does it!?
- You have gained wisdom, my friend.
- Can I ask the Cube how many submissions it's received so far, and
- Not now. There used to be a way to do this, but that feature got
dropped during the transition to a disk-based database. This'll
probably get added back in again later.
- How do I submit something amusing that someone else just said on
- There are two officially sanctioned ways of doing this.
Note that you must submit someone else's cubism fairly quickly, or
the Cube will forget that someone else said it first, and you'll wind
up stealing the credit for it. Also note that any spelling corrections
will confuse the Cube, with similar results. Unauthenticated zephyrgrams
- Send a zephyrgram to the cube.slurp instance
containing a subset of the words used in the original zephyrgram.
If no other recently seen zephyrgrams contain all the words in the
zephyrgram you send to cube.slurp, the Cube will
slurp in the original zephyrgram and treat it as
if it had been sent to the cube instance.
You will be noted as the cubism's "submitter," while the original
zephyrgram's sender will be noted as the "author," a.k.a. "slurpee."
- Submit it to the Cube on the cube instance
as usual. As long as the set of words you
use in your submission is a subset of the words used in the original
zephyrgram, the Cube will notice that you're handing it someone else's
weirdness, and will attribute it accordingly.
- How can I tell how many times people's zephyrs have been
submitted to the cube by other people?
- You can't. Sorry. Again, there used to be a feature to do this,
but it hasn't been reimplemented since the move to an on-disk database.
- ARGH! What is all this gibberish about "zephyrgrams"
- Oops. You're probably not at the Carnegie Mellon
School of Computer Science, in which case there's really no good reason
for you to be reading this. Otherwise, you might want to look at the FZQ for
a general tutorial on zephyr.
- Is there a way to put words in the Cube's mouth?
- Yes. Send a personal message to zbot on the
cube.forward.<blah blah> instance, where
is the actual zephyr instance to which you want the Cube to forward your
message. For example, in order to get the Cube to forward you
message to the cube.d instance, send a personal message
to zbot on the cube.forward.cube.d instance.
You are discouraged from forwarding anything to
the actual cube instance in this manner, however, since
then it might not be clear that your message wasn't actually
generated by the Cube itself.
You can also send a personal message to zbot on the
anon.<blah blah> or anon-<blah blah>
instance, and the message will be forwarded to the <blah blah>
instance, but as the "anonymoose" rather than as the Cube.
In order to distinguish between multiple anonymeese, you may also
add a (non-negative) integer after the anon in the instance
name; this integer will then show up at the end of the anonymoose's
userid in the resulting anonymized message.
- Is there a way to compose and read e-mail with the Cube?
- Oops. I just accidentally cubed something stupid. How can I get
rid of it?
- Send a message to the cube.nuke instance -- either a
private zephyrgram to zbot or a public zephyrgram will do.
Any recent cube submission or response that contains all the words in
your cube.nuke message will be "nuked". That is, it will
never be used as a response again. It still sticks around in the
database as a permanent reminder of your foolishness, however.
- Can I nuke other people's cubisms?
- Yes. Happy nuking!
- Can I edit cubisms?
- Yes. Send a message to the cube.edit instance -- either
a private zephyrgram to zbot or a public zephyrgram will do.
The message should contain a Perl string substitution operation. The
most recent cube submission/response which is affected by this substitution
will be edited. For example, if you send a message containing
s/thier/their/, the most recent cube submission/response
containing the word "thier" will be edited to contain "their" instead.
Another edit interface is now available, also from the
cube.edit instance. If your zephyrgram contains
"match: .... replacement: ...." , the stuff after
match will be used to determine what cubism gets edited, and the
stuff after replacement will be what the cubism gets replaced
with, verbatim. The stuff after match should be a bunch of
words, each of which must be in the cubism you want to edit.
- Oops! I just nuked or edited something incorrectly. Can I undo it?
- Yes. Send a message to the cube.undo instance (again,
either publicly or privately to zbot). Any cubism
which contained the words in your message before it was edited will be restored
back to the state it was in before it had been edited.
- Someone else is abusing the Cube. How can I get the Cube to ignore
- Send a public message to the cube.ignore instance.
In the body, put the userid of the obnoxious cube-abuser, followed by a number
of minutes for which that user should be ignored.
- I told the cube to ignore this loser, but then he got really
really sad and swore on his mother's grave that he'd never ever do
anything mean to the poor defenseless Cube again. How can I get the
cube to forgive him?
- Send a public message to the cube.forgive instance
with the previously excommunicated dweeb's userid in the body.
- Does the Cube have a Web interface?
- Sort of. You can now get a transparent-background GIF of a random cubism
http://www.enweirdenment.org/cgi-bin/cube.gif. Thus, you can include
random cubisms in your own Web pages without doing any CGI hacking yourself,
simply by adding the appropriate image link to your HTML. If you fetch
instead, you'll get a GIF with a bit more of a border, which is better
for tiling. If you fetch
, you'll get an uncropped GIF with a white background rather than
transparent. If you're the sort of freak who uses frames, you can get a
vanilla html cubism from
Of course, then the inevitable occured: the Cube Web Counter.
This monstrosity gives you the capability of including a page hit count
and any other text you want, along with cubisms if you like, all in
one GIF. If you fill out the Cube Counter Configuration Form
Cube Counter Configuration Form, you'll get back a
bug-ugly IMG link that you can cut and paste into
your HTML files. Poof! You've got a counter that's not
only functional but cubey!. Unfortunately, speedwise,
we're talking galloping tortoise at best here.
There's a Cube Hall O'
Fame containing any particularly funny submission/response
exchanges that people might have deemed worthy of saving.
- How can I have the Cube save a particularly appropriate or
funny submission/reponse exchange?
- Send a zephyrgram to the
cube.record instance containing a set of words such that
each word in the set is either in the submission or the response.
The chosen submission / response pair will be stashed away on the Cube Hall O'
- Why "Cube", and who is this Silverberg guy?
- The current incarnation of the Cube isn't the first --
the original implementation was coded up by Greg Nelson, another
CMU SCS Ph.D. student. Greg's explanation:
"It's a simulation of a toy from a Robert Silverberg novel
(Tower of Glass). The story itself is about a revolt by genetically
manufactured androids (a little like Blade Runner, I suppose,
but a very different plot). The cube itself is a little toy that
people put on the coffee table, or whatever. It listens to conversations
going on around it, and responds to things by doing some sort of fuzzy
match on things it is hearing on other parts of the network."
Greg's implementation was performing such a fuzzy match that
it was in fact, for most practical purposes, completely random. Nevertheless,
those of us CMU SCS students with sufficiently disturbed minds
found it amusing. After Greg left CMU, the Cube was resurrected
from scratch and peppered with additional goofy features. The Cube retains its original name primarily
so that people who were annoyed by its first incarnation may merrily
continue to ignore it without having to change their zephyr filters
- Is this really as silly and pointless as it sounds?
- Yes, only more so.