Bucket Gender

From XKCD Wiki
Jump to: navigation, search

Bucket has trouble grammaring properly when he doesn't know the gender of people he's talking to. Here are some ideas to fix this.


Now, maybe his current inability to use gendered pronouns is a good thing and we should continue to transform English to be more gender-neutral. But in the meantime, maybe it wouldn't hurt to have people be able to tell him their gender.

Gender in society is an incredibly complicated issue. For the purposes of this, we are not teaching Bucket about peoples' actual genders, but merely by which pronoun they wish to be referred to.

Grammatical Genders[edit]

The relevant grammatical genders are:

Grammatical Gender Subjective Objective Reflexive Possessive Pronoun Possessive Determiner
Male he him himself his his
Female she her herself hers her
Androgynous they them themself theirs their
Inanimate it it itself its its
Full name <name> <name> <name> <name>'s <name>'s


Everyone defaults to "androgynous". If someone says:

Bucket: I am <something>.

and if <something> matches:

  • a subjective/objective pronoun with or without an article (a her, a him, a she, she, her, etc)
  • the name of a gender (male, female, androgynous)
  • A string indicating that they want to be referred to as a random gender (perhaps "a random gender"?)

and that user is logged in (should this be necessary?), then Bucket stores or updates that person's gender in a table.

Anyone abusing this system to set a gender for someone else should be banned.


A set of factoid variables should be created, one each for each of the types of pronoun. There might be aliases. A possible set would be:

Subjective Objective Reflexive Possessive Pronoun Possessive Determiner
Variable $subjective, $heshe, $shehe $objective, $himher, $herhim $reflexive, $himselfherself, $herselfhimself $possessive, $hishers, $hershis $determiner $hisher, $herhis

When these are in a factoid, Bucket will use the gender of $someone (if it's in the factoid) or if there's no $someone then the person triggering it, and substitute the right pronoun. So you could have:

Bucket: kicks Bucket <action> punches $who right in $hisher kidney.

This would result in:

 * airtank kicks Bucket.
 * Bucket punches airtank right in her kidney.
 * khmer kicks Bucket
 * Bucket punches khmer right in his kidney.
 * Hermeine kicks Bucket
 * Bucket punches Hermeine right in their kidney.

And if Cellshot had set a random gender:

 * cellshot kicks Bucket
 * Bucket kicks Cellshot right in her kidney.
 * cellshot kicks Bucket
 * Bucket kicks Cellshot right in his kidney.

(randomgender people are randomly male or female, but never androgynous. If the factoid contains multiple pronoun variables, the random gender is consistent across an invocation of the factoid.)

Disambiguation should be possible, i.e. $who.hisher, $someoene.reflexive.

I don't understand this. -- Randall
Okay, now I understand. Downvoted. See conversation:
18:35:49 <@relsqui> Randall: $who runs up to $someone and glues $who.hisher $newitem to $someone.reflexive
18:36:08 <&Randall> Ah, disambiguation betwee $who and $someone.
18:36:23 <@relsqui> it's a good point, actually
18:36:26 <&Randall> I was thinking we'd just default to what I said -- if it includes $someone, use
                    $someone's gender.
18:37:16 <&Randall> If we were going to disambiguate, I was thinking it would just attach it to the one
                    that occurred nearest previously in the sentence.
18:37:32 <@relsqui> how would you do the above, then?
18:38:05 <&Randall> Well, that's a case that's pretty damn ambiguous in english anyway if the two people
                    are of the same gender :P
18:38:33 <&Randall> I would rephrase the sentence rather than build more syntax -- this is already getting
                    a little heavy on the new commands for a smaller and smaller number of cases.
18:38:39 <@relsqui> true
18:39:46 < snark> Randall: unrelated note - love the geocities tribute :D
18:39:54 < snark> (I was a little slow in checking today =P)
18:40:25 <&Randall> I just think people shouldn't be faced with a 500-page manual for how to write a
                    coherent sentence in Bucket.
18:40:46 <&Randall> I'd rather just build a sensible default that's as complicated as we want to make the
                    code, and let people work around it.
18:40:46 <@relsqui> yeah, certainly
18:41:27 <&Randall> Hell, for the longest time we had people escaping basic verbs.  They can deal with
                    pronoun constructions that are hugely confusing even to actual humans :)
18:45:37 <&Randall> But if you want to deal with factoids with both $who and $someone more complexly than
                    just defaulting to $someone's pronoun, you can do what I suggested a moment ago.


Find out gender[edit]

There should be a string to find out what Bucket thinks of your gender:

<Randall> Bucket: what is my gender?
<Bucket> Grammatically, I refer to you as male.  See http://wiki.xkcd.com/Bucket#Docs for information on setting this.
<Unbibium> Bucket: genders
<Bucket> You are male; others are female, androgynous, inanimate, fullname, ...
<Unbibium> Bucket: what gender is Randall?
<Bucket> Randall is male.
<Unbibium> Bucket: what gender is problem-attic?
<Bucket> problem-attic is inanimate.
<Unbibium> Bucket: what gender is flyingferret?
<Bucket> flyingferret is inanimate.
<Unbibium> Bucket: what gender is relsqui?
<Bucket> [appropriate admonition for too many gender requests, to prevent mining by trolls]