Should I rename my gem?

The Ruby community has some diversity challenges. I don’t think the Ruby community is any more biased than other tech communities; if anything, I think Rubyists are more apt to make a big deal over offensive content which would be considered business-as-usual in much of the traditionally white-male-dominated tech industry. Which, ironically, may make us seem like a hotbed of scandal.

As a community we also like our colorful gem names. A little while back someone wrote a blog post about some of the more questionable naming choices. Which got me thinking about one of my own gems.

The gem in question is HookR. It’s a library I wrote a few years ago for adding event hooks to arbitrary classes and objects.

The name amused me at the time. Actually, let’s be honest, the name still amuses me. But I’m also concerned it could be offensive. Not in an overt, groping-bottoms-at-a-conference kind of way, but in that insidious way that monocultures tend to be subtly threatening to outsiders without even realizing it.

As I personally read it, it is not gender-offensive since “hooker” is a gender-neutral term. However, it is potentially offensive to sex workers. And anyway, as I’ve noted before, ultimately I’m not the one who gets to decide which of my statements are offensive.

So my question for you: is HookR an offensive name? I realize it’s an unconventional, non-enterprisey name; that much I’m OK with. But is it offensive? Is it amusing, or is it off-putting?

And if you do find it problematic: can you suggest a better name?


  1. Good for you for considering to rename your gem. Should you? imho, yes. The current name adds nothing but subtracts significantly. The current name subtracts from your name/reputation. A different name would add to both. What to use? Something descriptive is often best rather than trying to come up with a brand name that must then be explained.

  2. However, it is potentially offensive to sex workers. 

    I’m pretty confident those aren’t the folks who would throw a hissy fit on the Internet about that name 😉

    I think once you go down this line of thought, your brain gets diverted off of cool things like more writing and more coding and you lose serious CPU time pondering trivial issues that have no long-term effect (every “scandal” in the Ruby community has blown over within days with no long term repercussions for those involved that I’m aware of – and I’ve known a few of those folks.)

    1. If you want to make a decision on it, make one. In seconds. Go with your gut. Then move on to doing more of the awesome stuff you do.
      This is often true no matter what the situation. At least for me, analysis paralysis is rough, especially about decisions that really don’t matter.

      1. Decisions are a perennial difficulty for me, but this one isn’t in that category. It’s low priority, so I can let this post collect feedback for a while without it stressing me out or taking up my time. Then I’ll make a quick decision.

        If all my decisions were this low-stress I’d be in a much better place.

    1. I hate this answer. One of the lingering effects of my social impairment is that I feel like I always have to ask, whether it’s warranted or not.
      That said, thanks I guess for validating that my social instincts are (for once) in line with reality.

      1. The problem is, as cis-gendered, white, middle class, straight males (at least, I can only speak for me, you get the idea, and know your own adjetives 😉 ) we do have to ask 99% of the time.

        1. I’m impressed to see this level of familiarity with anti-oppression in the comments on a development blog. Which is sad, I guess, but, I’m grateful, regardless.

          1. Thanks. My goal is to get as many developers as possible to be as familiar… it’s a long, hard road ahead.

            Us anarchists are good for something, sometimes. 😉

          2. Heh, unfortunately, a lot of anarchists are just hideously dudely and like to dismiss identity politics as somehow a distraction from whatever they think is more important. Hence the term “manarchist”. But I appreciate good anarchist allies, and try to be one myself.

  3. Concerning the developer world I see no harm in keeping that name. I usually pay little or no attention to any gem’s name and focus on what it does instead. Of course there is the search visibility problematic (you don’t want to call your gem “Google”, “Yahoo”, or “ActiveX”.

    However, when presenting a project to a client, I know I wouldn’t feel very comfortable telling him I used HookR in the development process.

  4. I find it both amusing and mildly off-putting. I think renaming it would be a good example to the members of the ruby community who don’t always think about the ways their language and behavior can reinforce the boy’s club atmosphere that characterizes much of the open source world, to our detriment.

    Maybe latchhook, or velcro, or snapper?

  5. I see no issue with it.  There was a time where I had my arm around one every Saturday afternoon, but it ended up being bad for my back –

  6. Keep the name. Its only offensive when people make it offensive. Your gem adds event hooks to objects. Its a thing that hooks — a hooker, not a prostitute. I’m all for being sensitive to others, but only up to a point. Don’t cater to hypersensitivity.

  7. While there are plenty of valid justifications to retaining the name, the fact is, it’s a loaded term.  In the interest of “professionalism”, I’d change it.

    As developers we talk about being recognized as professionals, but we like our little (no-so-) inside jokes (witness:,,  It doesn’t jibe.

  8. The name is offensive, but when you break it down, the name is also one which makes sense. You have a library that involves the creation of hooks, so the name should involve “hook” in some way. It is also common parlance to include an ‘R’ somewhere in your gem name to designate on sight that it is a ruby gem (so when viewing it on github, or such a thing, it is fairly obvious). It could be renamed RHook, or RHooks… but honestly there’s something useful about having the gem name exist as a play on a word that actually exists. It sticks in memory and is easy to remember.

    That being said, kudos to you for creating this conversation and looking to illustrate that something as minor as gem names can be off-putting to those that don’t fit the hegemonic representation of Ruby developers. I can’t offer a better name for the gem (unless for whatever reason you think something tongue-in-cheek and jokingly penitent like Rbellhooks would be amusing… but the concern is a step in the right direction.

    1. FWIW I long ago decided to rename it (to Hookah), but I wanted the rename to coincide with a rewrite, and I haven’t gotten around to the rewrite :-/

  9. Ah, another facet to the naming-things-is-hard problem. 

    Am I offended personally? no.  I could, however, see someone of nearly any demographic avoiding the gem due to the name alone especially if given an alternative. It certainly could cause offense or convey a lack of gravitas (a hard one because I hate being too stuffy about things either.).Is it clever? Heh, yes. I very well may have came up with the same name for a similar project. After stewing on it for a while I’d like to think I’d change it, though.

  10. I don’t find it offensive, but I do find Language Police offensive.  It’s not the word, it’s the intention.

    1. Language police? You say it’s not the word, it’s the intention. If I’m browsing for a gem (or egg, or plugin), and I find (for the sake of a more pertinent and straight forward argument) one called PantyShot (which existed in the Python community), how am I supposed to view that? As a tongue-in-cheek joke? Where do I get that context? Is it implied or assumed? As a woman in computer science, I wouldn’t view that as something that’s a joke, I’d be, rightfully, offended and feel rather excluded.

      How about if someone in the ruby community made a gem that was useful for extending API’s, an Application Programming Extension if you will, and it was written in Ruby. Would it be alright if the author of that gem called it Rape? It’s tongue-in-cheek? There is no emotional context in text. There is no way to specify if it is a light-hearted joke or a hurtful jab. Beyond that, such a name, even if stated to be of innocent intention is not something that should be acceptable.

      1. Call me insensitive then.  I would advise people to take words without context as light-heartedly as possible and not go looking for persecution.

        1. What I’ve realized more and more is that it’s not about persecution. You don’t have to be out-and-out ugly to build up an overall unwelcoming impression. And when you do that, you push people away; people who might have added something valuable to the community. It’s not about people getting actively shoved out. It’s about people walking along a street with many shopfronts and choosing not to walk into the one with the trash-littered sidewalk, dust-caked windows, and single bare light bulb burning inside.

          1. In Seattle, they call that “atmosphere.”  Of course you have every right to try to appeal to as wide an  audience as you want to, Avdi.  But not all audiences are the same, and if you try to please them all, you’ll just fade into empty PC-ness.

    2. Language is how we communicate, especially on the Internet. Body language and social cues being largely absent or hard to infer, it’s important to treat language carefully. When someone points out that something we say might be unintentionally offensive, we should consider it from their point of view and, if they have a valid point, do the gracious thing and change our behavior instead of standing on the principle that we have a right to say whatever we want. This goes doubly if we’re privileged insiders.

      When I was much younger, like many straight male teenagers, I went through a phase of making faggot jokes. I fortunately came to realize how hurtful the jokes were, despite my honest and heartfelt personal lack of prejudice towards gay people, and stopped. Not because the Language Police told me to knock it off, but because I didn’t want to be a jerk.

      1. I’ll go a step further and say sometimes we don’t get to be the arbiters of whether they have a valid point. I’ve seen too many responses to offense that basically went “nope, I’ve reviewed what I said, and determined conclusively there was nothing offensive in it, therefore you cannot be offended.”

        1. I don’t want to be an internet jerk, but I have a problem with catering to people who are easily offended.   They haven’t earned that kind of power over how I use language.  I’d rather that people who want to be acquainted with me get an accurate picture of what goes on in my head, rather than a false image of someone who won’t tread on the daisies.  Smacks to much of dishonest marketing.

          1. I think that works if you’re only interested in building relationships with people who already have a reason to want to get to know you. It doesn’t scale as well to making new connections with a large and diverse group. You can’t say “I want to speak to the developer and potential developer community, but first you all need to get into my head so you understand what I mean when I say things”.

          2. Anytime you start a statement with “I’m not racist, but” or “Not to be a close-minded asshole, but” or some similar statement you should just stop.  Period.  Always.

            I always find it personally amusing to see white (straight? I’m guessing so from the response – people that have had to fear for their life or health for who they are tend to be a lot more clued in, but there are outliers) males being ironically thin-skinner, hyper-sensitive, and offended on the internet, because they have been so pandered to and pampered their whole life that any effort to inclusiveness or sensitivity feels threatening to them.

    1. That’s kind of the point, isn’t it? I mean, playing devil’s advocate, “hooker” is an epithet and epithets aren’t the mark of tolerant society.

      1. I don’t see being called a “coder” as intolerant and HookR is just a pun. If there’s any argument that would sway me towards changing it, it would be the “professional” argument.  But comedians make a living too 🙂

        1. One hallmark of a tolerant society is calling people what they want to be called. Sex workers who engage in intercourse seem to prefer to be called “escorts”.

          Comedians, at their best, are able to highlight contradictory and prejudicial attitudes in their societies. It’s important to understand, though, that such humor almost always has to come from within, and has to come from the marginalized at the expense of the privileges. When it’s tried the other way around, it almost always comes across as condescending or mean-spirited.

          1. I’ve never associated hooker “bad” term for the profession. When I used the word “tolerant” I referred to the ability to see humor in things as opposed to always to be so incredibly cynical.  I wouldn’t think Avdi has any condescending intentions here either way. 

  11. I find the name contributing to the feeling of boys-only club. Maybe because most customers of sex workers are male? How about a contraction of RHook, namely Rook? A hook is also an interceptor, so you could go with InterceptR. You could even go with Hookah, which is pronounced much the same but represents domething completely different.

  12. I think it is poorly named, but not because it is offensive. It’s poorly named because it uses slang for a rather derogatory term, but it’s not a joke gem. It’s a generic observer/callbacks library that’s meant to be used in serious cases.

    The name “hookr” indicates to me (who have never inspected the code) that your library is not really serious and that you don’t expect anyone to use it.

    We should stay away from using derogatory terms as names for our libraries unless we want to attract attention to a joke project.

  13. I think you’re right that it’s offensive to sex workers. To my understanding, the term “hooker” is inherently derogatory. I wasn’t able to confirm or contradict this with some quick googling though.

    how about:

    • hookinator
    • metahooks
    • hookinjector
    • captainhook
  14. hooker |ˈho͝okər| 
    • informal, a prostitute.
    • Rugby, the player in the middle of the front row of the scrum, who tries to hook the ball.
    • Nautical, a one-masted sailboat of a kind used esp. in Ireland for fishing.
    • Nautical, informal an old boat.
    • informal, a glass or drink of undiluted brandy, whiskey, or other liquor.

    As a developer you’re naming against programming hooks, I don’t think rugby players or sailors are offensive when they talk about their business, the name fits in my opinion. I’m with Peter. Too this is Ruby, where you can learn to program reading crazy comics (I did at least).

    The name makes sense, the gem has nothing to do with “sexual workers”, the pun wins.

  15. Thank for making this something we are passionately talking about.

    I used to be a sex-worker … but not a prostitute. I worked with lots of prostitutes who are smart, technically savvy, who would find the name offensive. Most of them wouldn’t say anything. They would just decide that Ruby coders were a bunch of douches not worth their time. 

    That is sad because I have taught a lot of amazing non-programmers Ruby, and their perspectives are totally different. They don’t have a lot of the preconceptions that engineers have about solutions and they therefore come up with really different ways to make things work. A different way isn’t always the right way, but sometimes it is game changing. That is why diversity is important.

  16. Hey Avdi, I think your post is very insightful, as are your comments.

    I agree with you that HookR is funny but also mildly offensive. If you want to change it to something friendlier, I’d suggest being pragmatic and picking a new name once you’re pushing version 2.0.0. Renaming a gem without bumping the major version is bound to make people unhappy, I think, and I’m sure we can live with “HookR” in the meantime.

    Whether you end up renaming it or not, I applaud you for being mindful. Very cool.

    1. I thought about this some more, and here’s a simple test why HookR might be problematic: As a woman, I’d feel a bit uncomfortable talking in real-life (say at a conference) about “the hooker gem”. I’m assuming that many men wouldn’t mind as much.

  17. I’m two weeks late to this particular discussion, but I was on vacation when you posted it, and your journal post today reminded me of it.

    FWIW, my loose heuristic I is to ask myself: would I feel comfortable discussing this technical library casually in mixed company, with non-techies overhearing every other word?  If I can easily imagine a scenario where discussing the library offends a coworker or client and I don’t intend for that person (or class of person) to be offended, then a silly name for cheap laughs is almost certainly more trouble than it’s worth.

    I’m a big fan of playfully named gems: in my previous office our non-tech co-workers (most of them female) said they got a lot of amusement from overhearing all of our bizarre talk of mongrels, rubies, pearls, coffee, gems, unicorns, solars, engine ex, apaches, rescue workers, &c.  When we talked about restarting or killing “god”, I would chuckle to myself, “oh-ho, that @mojombo, what a punny man, so clever, so cute,” but then be a little bit annoyed because the name was not aiding communication, but confusing it and causing (mild) offense.  Not a big deal, but what good is a name if it doesn’t aid in communication?

    I’d generally avoid political, religious, scatological, sexual, pharmacological, or racial overtones in anything that isn’t explicitly dealing with those domains.  And that goes a thousand times more for derogatory epithets.  If you are working for OkCupid, I’d expect some funny sexual overtones to some of your naming.  If you are developing a medical application, some scatological/anatomical levity might be just what the doctor ordered.  Otherwise, it’s probably not worth the chuckles it brings.  Yes, those are some of the most fertile sources for humor.  Yes, being offensive in general is a great source for humor.  But I’m paid to be a programmer, not a comedian.  Comedians offending one segment of the population is part and parcel of their profession.  Programmers needlessly offending their clients, coworkers, or peers is counter-productive both in the day-to-day and in the pursuit of a more balanced workforce.

    (Of course “git” is perfectly named, and disregards my above advice.)

  18. My heuristic has at least one obvious hole: if you don’t care about offending entire classes of people because you don’t care about those classes of people ever being your clients, coworkers, or peers (or just because you’re an asshole and don’t mind inflicting emotional pain on others who are “too sensitive”) then my heuristic will allow you to do and say whatever you want.  If everyone is just like you, then nothing is NSFW.

  19. Avdi,

    Thanks for the thoughtful post. I found myself in a similar situation in the Drupal community  last year; I’d written a joke/demonstration plugin module that allowed admins to arbitrarily define event listeners from the site management UI. It, too, was named “Hooker” for similar reasons.

    After a conversation with a couple of close female friends in the Drupal community, I came to the conclusion that it fell under “Not funny enough to alienate other community members, or potential community members.” It probably wasn’t a big deal in and of itself, but it was definitely “sexualizing” the environment of purely code-oriented conversations in a way that wasn’t necessary and didn’t really add anything to the conversation.

    I’d never support any kind of official community policy opposing “racy” project names or something like that, but as a dev and someone who’s been around in the Drupal world for a while I feel like I was making things a bit better by eliminating my ‘Hooker’ project.

    So, my vote? Rename it proudly.

  20. Do you really care if you offend sex workers?  Really?  There are many ways to truly offend a sex worker, but naming a gem “HookR” just isn’t one of them.

Leave a Reply

Your email address will not be published. Required fields are marked *