From XKCD Wiki
Jump to: navigation, search
General Info
Average Population300-330
This box: view  talk  edit

Ok, sounds great! But how exactly does it work?

It's pretty simple. There's only one rule. Don't say anything that someone else has already said. This rule is enforced by ROBOT9000, known as Moderator in the channel. When taking into consideration if something has been said or not, repeating characters, case, punctuation, nicknames, smilies, symbols, and multiple spaces are stripped from the line.

For example, "ROBOT9000 is great" is considered the same as "xkcd: ROBOT9000 is great" and "xkcd: ROBOT9000 is great!"

So what happens if I say something that someone else already said?

The punishment is simple. You get muted or devoiced for a period of time. For the first offense, you are devoiced for 4 (four) seconds. The next offense quadruples the time devoiced to 16 (sixteen) seconds and so on. After your mute time is over a year, you get kickbanned from the channel.

Every 6 (six) hours (12:00am, 6:00am, 12:00pm, and 6:00pm US.EST (GMT -5)) the next mute time gets cut in half. This creates a theoretical max devoice time of just over 18 (eighteen) hours, however some circumstances can result in a longer mute time. Circumstances that result in longer mute times include being manually muted by a human moderator, and Moderator lagging and extra lines going through when they shouldn't have.

How can I tell when I can speak again? How long will my next mute be?

Send ROBOT9000 a message saying "timeout" - this will tell you if you're currently muted, when will you be voiced again, and how long your next mute will be. You can also find the time for any other user - just send 'timeout nick' to the ROBOT9000.

To do so in #xkcd-signal, you would type "/msg moderator timeout" or "/msg moderator timeout nick"

How does ROBOT9000 keep track of who gets muted?

ROBOT9000 tracks who's who by looking at your hostmask. Changing this to evade a mute is considered to be bad form.

Help! I cant change my nick!

If you're muted, you're only allowed to change your nick 3 (three) times in the span of 5 (five) minutes. If you change it more than that, you are blocked from changing your nick. You are also kicked from the channel, however you're free to rejoin right away. Your mute time quadruples for breaking this rule as well.

That seems too strict. Change it!

4x mute time was chosen after experimenting with lower rates. It's a little tough on new people, but most people quickly get used to it.

But doesn't that..

Make it difficult to hold a conversation?

No, for example, #xkcd-signal started off with two years worth logs from #xkcd and has been going for a while now (one month before xkcd's original blag post) without any major difficulties conversing with one another.

Keep in mind the breadth of the English language. There are anywhere between 450,000 and 1,000,000 words in the English language. Also, in his blag post, xkcd estimates that the channel will be able to run for a decade without any problems, and far longer with minor issues.

Interrupt potentially creative conversations?

Potentially, however it takes a number of mutes to get to a substantial mute time, and by expanding upon ones thoughts, it is generally easy to prevent such a thing from occurring. After all, it's hard to be creative if you say the same thing over and over!

Create situations that can be abused?

There are also a number of human moderators in the channel to watch chat and fail people for bad form. Persistent intentional bad form is rewarded with a ban. Forms of abuse that will receive a failure by a live moderator include:

  1. Adding non sequiturs to the end of a sentence. (ex: "ROBOT9000 is awesome! aasdfa" and "ROBOT9000 is awesome! BROWN FOX")
  2. Talking in languages other than English
  3. Any other bad form that you can think of that human moderators agree is bad form. We're all here to have fun, don't be the one to ruin that.

But I don't like being muted! :(

Put more thought into your lines. Expand on what you're saying. Don't just say "I agree" or "Yes" but instead try a form of "I agree with $nick because of (insert reason why you agree)" there might a limited number of synonyms for "yes" but if you expand on your thought, it usually ends up working out pretty well in #xkcd-signal.

Is there any place I can fool around with Moderator?

While #xkcd-signal is a fun place, it's not the place to play around with ROBOT9000/Moderator. However, #moderator-sandbox on Foonetic is available to play around with or practice with ROBOT9000. The user database for this channel gets reset every 24 hours, at 12:00am US.EST (GMT -5). At the same time, the logs are synced from #xkcd-signal.

What about..

  1. If you want to discuss the merits (or lack thereof) of ROBOT9000, join the channel #meta-discussion. If you want to discuss the point of #meta-discussion, please join #meta-meta-discussion and so on.
  2. During the history of #xkcd-signal, a number of things were considered but ultimately decided upon as being a Bad Thing™. Some ideas (and the reasoning behind their Bad Thing™ status) are:
    1. Whitelists. A majority of the words and phrases that would go on a whitelist are noise or can easily be abused to create noise. It's simpler not to have a whitelist at all.
    2. Adjusting the mute time based on how often a line is said. The reasoning behind this is that new people could join, say "hi" and receive a two week mute time. That's also a Bad Thing™
    3. A scoreboard of some sorts. Whether keeping track of mutes or something else, it leads to people gaming the system to increase their stats in the standings.
    4. A voting system to revoice someone . However honorable the intentions of this thought are, it basically comes down to a popularity contest within the channel.
    5. Pardon slips to revoice someone. Again, we don't want this to be a popularity contest. By not having pardon slips, it removes a situation where someone goes "Aww, why don't people pardon my mute, no one likes me :("
    6. Grace periods upon joining. It provides an opportunity for someone to spam and say anything they wish. This doesn't really work with the idea behind #xkcd-signal, where the goal is to put thought behind everything that is said.
    7. Using ~q (mute) instead of +v. While this would remove the need to have the bot +v everyone when they join the channel, it would mean it would have to maintain the banlist of everyone who was ever muted. It would also make it less immediately visible who is muted and who is not.

Did the moderator just start talking?!

If things are getting too quiet (no chat within the past 60 minutes by default) in the channel, the moderator will quote an entry from /usr/bin/fortune. Hopefully it will spark some interesting conversations. Note - this isn't set up to happen in #xkcd-signal, but other channels that use the moderator code might have it enabled.

This seems like a brilliant idea! Can I do this in my own channel?

Sure! zigdon posted the perl code for ROBOT9000 here (or see Perl bot and SQL skeleton)! And recent changes can be found in the changelog.

I want access to the logs so I can (game the system|write a doctoral thesis on neural networks|find out in what context this very witty thing I just said and got muted for was previously said). Can I get a copy or is it publicly accessible somewhere?

In a word, no.

In a few more words: No one that has access to the data can think of a good reason to give the public access to it. If you think you've got a useful/valuable/cool reason for you to have access to it you can take it up with Zigdon or Randall, but bring plenty of cash.

Is there any way to hide the joins/part/channel messages for $ircClientOfMyChoice?

See Hide join/part messages.

This channel has hundreds of people, but nobody's saying anything!

It's a mistake to assume that silence is a bad thing. Silence means there is no noise, not just no signal. Eliminating noise is one of the main goals of ROBOT9000. This is just an extreme case of the goal being reached. If the silence is bothering you, feel free to start a new line of conversation and others may join if they are around.

Since there are two lines of administrative noise for every join/part, to make the channel more readable, try hiding join/part/voice messages

Note - Complaining about the lack of conversation has started to become so common that it's in danger of being being classified as noise and therefore subject to being failed by a live moderator.

I just said something amazingly funny and noone responded. Why don't people like me?

Talking in a channel that's being moderated for uniqueness requires thought. It may be that what you said, humor content notwithstanding, was not inspiring enough to people to make them want to expend the effort of thinking it would take to break out of idling and start a conversation or was not quite funny enough for them to deliberately say something common like "LOL" and therefore incur a mute to make you feel good about what you said.

Your options are: A) be funnier or B) be more conversation-inspiring. [option B is recommended]

I got reconnected and seem to have been muted permanently. What can I do?

This is a known problem that has to do with the interaction of the network settings with the bot. People have looked into fixing this server-side but there doesn't seem to be any easy fix available.

If this happens to you, you can simply fix it by leaving and rejoining the channel.

There is also a more permanent solution, to stop this from happening to you ever again. The bug is caused by the fact that if you get authenticated with NickServ while you are in the channel and while you are voiced, NickServ will set your modes back to the default - which means removing your voice. The solution then, is straightforward: ensure you are authenticated by NickServ before joining #xkcd-signal. This may require building a slight delay into your IRC client's autojoin script. The way to do this differs per IRC client, and if you don't know where to start, you can always try asking for help in the channel.

Also, if anyone can think of and implement a code change in ROBOT9000/moderator to deal with this specific situation, that solves it for everyone, we would be very grateful.

#xkcd-signal specific information!

  1. #xkcd-signal is primarily a social channel, you're welcome to join and hang out!
  2. ROBOT9000 is known as "Moderator" in #xkcd-signal.
  3. The original blag post from xkcd concerning ROBOT9000 can be found here. It's a pretty interesting read and if you like #xkcd-signal you should be sure to check it out!
  4. #meta-discussion exists to take talk of ROBOT9000 #xkcd-signal out of -signal. When people repeatedly ask questions regarding mutes, et al., it only creates more noise in -signal. So please take meta-discussion to #meta-discussion!
  5. #xkcd-signal can be found on Foonetic irc network (irc.foonetic.net or irc.xkcd.com) in the channel #xkcd-signal (If you haven't figured that out by now)
  6. You can connect on ports 6667-6669, and port 7000 with a normal connection. Additionally, Foonetic offers SSL connections on ports 6697 and 7001.
  7. Want IPv6? Connect via irc6.foonetic.net.

Miscellaneous tidbits of knowledge!

  1. The longest mute time in signal history is ~1100 years. This record time came into existence when randall was playing around with Moderator when it first came into existence.
  2. xkcdb is a repository for any and all quotes that are humorous in nature and occur in #xkcd or #xkcd-signal

Thank you to NoOneButMe and thefiddler for compiling this FAQ. If you have any suggestions, questions or other discussion, you can find us in #meta-discussion.