Summary

Etiquette for -women channels is a particularly sensitive topic due to the nature of the project, be familiar with core Ubuntu rules for Op conduct as well as the proper way of handling trolls in feminist spaces.

For basic Op commands, see: https://wiki.ubuntu.com/nhandler/OperatorGuide

IRC Log

00:02 pleia2 ok, let's get started
00:02 pleia2 Hi everyone! Welcome to a short class on being an operator (+o) in #ubuntu-women and #ubuntu-women-project
00:03 pleia2 We'll have a pretty informal class here, so please feel free to jump in at any time and ask questions :)
00:03 pleia2 who all is here for it?
00:03 MichelleQ o/
00:04 * charlie-tca waves
00:04 arand \o
00:04 pleia2 OK, we'll start off with some basics about opping in our channels
00:04 pleia2 Operator status in the channels is given to responsible volunteers who have a history with the project and we (current ops) feel we can trust. Addition is pretty informal so if you've been with us for a while you're welcome to ask me.
00:05 pleia2 this is not consistant across ubuntu namespace
00:05 pleia2 Now, this class will cover a lot of the basics of being an op so will be applicable to opping in other channels, but the etiquette section of this class will be targeted at handling the types of trolls our channels frequently encounter
00:06 pleia2 and for the other ops in the audience - if you have some information I missed (or get wrong!) please feel free to jump in and add/correct as needed
00:06 pleia2 = Class Outline =
00:07 pleia2 1. Etiquette
00:07 pleia2 2. Basic technical op basics: freenode and channel options, opping yourself, removing a user, banning a user
00:07 pleia2 3. Writing good bans
00:07 pleia2 starting with the fun one :)
00:07 pleia2 = Etiquette =
00:07 pleia2 First and foremost, as an op you have a responsibility to the community to uphold the rules, tactfully handle abusive users and set an example for other members of the channel
00:08 pleia2 As an Ubuntu channel we are upheld to the standards of ops throughout the Ubuntu namespace: https://wiki.ubuntu.com/IRC/IrcTeam/OperatorGuidelines
00:08 pleia2 and of course to the Code of Conduct http://www.ubuntu.com/community/conduct
00:09 pleia2 Additionally, as our channel presents certain challenges, so we have our own guidelines which can be found here: http://wiki.ubuntu-women.org/IrcGuidelines and a page with further Op guidelines is here: http://wiki.ubuntu-women.org/IRCOpGuidelines
00:10 pleia2 As we frequently get trolled for being a feminist project, it's important to anticipate this kind of trolling and be informed about it, an interested document on the subject can be found here: http://rkcsi.indiana.edu/archive/CSI/WP/WP02-03B.html
00:10 pleia2 er, interesting
00:11 pleia2 I actually re-read this document last night while doing my final prep on this class, given the recent discussions about our channels, logging policies and safe spaces, it was even more enlightening and useful than the first time I read it :)
00:11 pleia2 so I'd strongly encourage everyone to have a look, even if they just skim it
00:12 pleia2 So, in our channel there is a delicate balance that we must seek to maintain to be welcoming to all and handling questions about the project from those who honestly wish to learn, while also protecting our members from users who wish to do harm
00:12 pleia2 this isn't easy, I still make mistakes sometimes - either by letting someone troll too long or removing too quickly
00:12 pleia2 to help us with this, if you ever have questions about whether a user should be removed or how to handle a situation, please don't hesitate to private message another op and ask their opinion
00:13 pleia2 we also have a number of current and former irc council members who spend time in the channel, and they're all friendly if you want an outside opinion :)
00:13 pleia2 Now, the escalation process for handling disruptive users:
00:14 pleia2 (again, this is not uniform across ubuntu namespace, this is the procedure we've developed in #ubuntu-women and #ubuntu-women-project)
00:14 pleia2 1. If someone appears to be disruptive, try to get a handle on the core of their purpose. Maybe they are not intentionally be troublesome.
00:15 pleia2 so perhaps you ask why they joined, what interest they have in the project
00:15 pleia2 2. Issue a warning
00:15 pleia2 this is often done privately if their behavior borderline as an attempt to nudge them back into respecting the intent of the channel
00:16 pleia2 but a public warning may be issued if the infraction is more overt - remember, part of our job is making sure our members feel safe, we want them to know that attentive ops are paying attention
00:16 pleia2 3. Ask them to leave
00:17 pleia2 warnings may not be enough, so a simple "you're not welcome here" notice does actually get rid of some folks who are causing trouble
00:17 pleia2 4. Remove them from the channel
00:17 pleia2 I typically just remove users rather than setting a ban right away, but it depends on the situation
00:18 pleia2 if they keep trolling...
00:18 pleia2 5. Ban
00:18 pleia2 Once the user has been taken care of, please deop yourself
00:19 pleia2 this whole process can frequently be stressful (yep, even to seasoned ops!) so it's important that you work at friendly throughout this whole process
00:19 pleia2 ..even if they refuse to treat you with respect, even private message you after hurling insults, do your best to deal with this professionally too
00:19 pleia2 frequently trolls are looking for getting a reaction, acting reasonably and maturely to remove a problem counters this
00:20 pleia2 Any questions? Comments?
00:21 pleia2 ok, we'll get to the technical aspects we all came for :)
00:21 pleia2 = Basic technical op basics =
00:21 pleia2 First, we'll start off with the network itself. Ubuntu IRC channels reside on the freenode irc network - this is where you end up when you log on to irc.ubuntu.com
00:21 pleia2 The freenode network uses software called "ircd seven" and freenode has an excellent page to get you started learning how to use the network and the available channel and user modes here: http://freenode.net/using_the_network.shtml
00:22 pleia2 To quickly cover some important things, there are "user modes" on the network which determine attributes of a user, and "channel modes" which set attributes of channels on the network. Knowing what these are is pretty useful, so keep this document handy :)
00:22 Pici May I add that its by no means necessary to memorize what all the different modes mean.
00:23 * pleia2 memorizes very little, has memory capacity of a sieve
00:23 pleia2 thanks Pici
00:23 pleia2 Now, to cover some basics you'll need as an op, I have documented much of this over on a page I wrote a few years ago: http://wiki.ubuntu-women.org/Courses/IRCOp
00:23 pleia2 First, if you're an op in the channel, how do you op up?
00:24 pleia2 /msg chanserv op #ubuntu-women
00:24 pleia2 For more about what you can do with chanserv, /msg chanserv help
00:24 pleia2 How do you remove your op status?
00:24 pleia2 /msg chanserv deop #ubuntu-women
00:25 pleia2 How do you remove a user?
00:25 pleia2 /remove #ubuntu-women nickname
00:25 pleia2 ..but in some clients, like irssi, you will need to: /quote remove #ubuntu-women nickname
00:25 pleia2 just play around and see how your client works (we'll have a playing session over in ##pleia2 after this session)
00:26 pleia2 We like to "remove" rather than "kick" because this makes the client think it was a /part and so doesn't trigger auto-rejoin
00:26 pleia2 (and remove tends to be the "preferred freenode way")
00:27 pleia2 So, how do you ban a user?
00:27 pleia2 A simple ban can usually be added with:
00:27 pleia2 /ban nickname
00:27 pleia2 But often the automatic ban a client sets isn't good enough, so now we'll talk about writing good bans
00:27 pleia2 any questions before we get to that?
00:30 pleia2 so over in #ubuntu-classroom-chat someone asked about why /quote may need to be used
00:30 pleia2 ;)
00:31 pleia2 this is because /remove is not a command that irssi understands, and it won't automatically pass things it doesn't understand to the server
00:32 pleia2 so for commands like that in irssi you need to use /quote
00:32 pleia2 alright, let's move on
00:32 pleia2 (oh, and you don't need to ask questions in -chat, feel free to speak freely here :))
00:32 pleia2 = Writing good bans =
00:33 pleia2 Writing bans is an intimidating topic at first, but it turns out that it's actually not that hard!
00:33 pleia2 When a user joins a channel, you'll typically see something like:
00:33 pleia2 MeanTroll (~verybad@1.2.3.4-example.com) has joined #ubuntu-women
00:33 pleia2 (in some clients you may need to enable viewing hostnames)
00:34 pleia2 There are 3 important pieces of this which can be targeted in a ban: nickname (MeanTroll), ident (verybad) and hostname (1.2.3.4-example.com)
00:34 pleia2 In a ban stanza, it would look like: nickname!ident@hostname
00:35 pleia2 notice that a ! separates nickname and ident, and the @ symbol is put before hostname
00:35 pleia2 there are more options with this, which nhandler will cover in a bit, but this is a basic ban
00:36 pleia2 So in this example, MeanTroll!verybad@1.2.3.4-example.com would be a ban exactly matching their nickname, ident and hostname
00:36 pleia2 Any questions so far?
00:37 pleia2 Ok, well, this is not a great ban, since the offending user could just change their nickname and get back in to the channel - we need to write a better ban
00:37 pleia2 It's easy to change a nickname (just "/nick SuperMeanTroll" and they get past our ban!) so here is how to ban based on ident and hostname:
00:38 pleia2 /mode +b *!verybad@1.2.3.4-example.com
00:38 pleia2 As you can see we put a * where the nickname used to be, this is a wildcard
00:38 pleia2 What if they decide to change their ident too?
00:38 pleia2 /mode +b *!*@1.2.3.4-example.com
00:39 pleia2 again, a * is put where the ident used to be
00:39 pleia2 the asterisk can be used in conjunction with other numbers and letters too, so if a person always has "bad" in their ident, you can do something like /mode +b *!*bad*@1.2.3.4-example.com
00:40 ClassBot mhall119 asked: is * the only wildcard, or can do you some regex-style matching too?
00:40 erUSUL what if they change nick ident and renew ip with his/her isp? back to square one ;)
00:40 pleia2 regarding mhall119's question - there are some options here, nhandler will cover them :)
00:40 pleia2 erUSUL: that's next!
00:40 pleia2 So, what if they get really desperate and reset their modem to get a new hostname?
00:40 pleia2 You can try: /mode +b *!*@*-example.com
00:41 pleia2 But be careful - this will ban everyone coming from the exmaple.com service provider
00:41 pleia2 and honestly this ban should only be put in place in emergencies and should be accompanied by joining #freenode and reporting that there is a user who is evading bans
00:42 pleia2 there are also users who evade by using "proxies" which make writing bans essentially useless, this too is against freenode policy and should be reported
00:42 ClassBot mhall119 asked: is using proxies in general against freenode policy, or just to avoid bans?
00:43 pleia2 "proxy" is a broad term
00:43 pleia2 technically anyone who runs irssi from a server elsewhere is using a "proxy" since they aren't connecting from their originating connection
00:43 pleia2 and of course this is ok :)
00:43 pleia2 same with bouncers you run, etc
00:44 pleia2 I don't know the precise policy (maybe a freenode staffer can help me out here) but in general abusing proxies which frequently aren't yours to cause trouble is where freenode starts putting in rules
00:44 nhandler freenode also bans open proxies
00:45 pleia2 there we go, thanks nhandler :)
00:45 nhandler http://freenode.net/policy.shtml#proxies
00:45 pleia2 any more questions about basic bans before I hand things off to nhandler to explain extbans?
00:46 pleia2 alright, well, freenode also has "Extbans" which are discussed more at http://freenode.net/using_the_network.shtml which are used less frequently but you will see them
00:46 pleia2 nhandler: all yours!
00:46 nhandler Thanks pleia2
00:46 * pleia2 didn't know about these, and didn't have time to get up to speed :)
00:47 nhandler Extbans are a new feature that came with ircd-seven. To quote http://freenode.net/using_the_network.shtml:
00:47 nhandler "They take the form of: +b $type or +b $type:data
00:47 nhandler 'type' is a single character (case insensitive) indicating the type of match, optionally preceded by a tilde (~) to negate the comparison."
00:48 nhandler One of the most common uses of this type of ban is to replace the old +R channel mode which prevented unidentified users from talking in the channel.
00:48 nhandler This can be done with: /mode #channel +q $~a
00:49 nhandler Type 'a' matches the account name, and the ~ negates it. This command has the same result as setting channel mode +R used to have.
00:49 nhandler Extbans can also be used to match the realname or gecos (type r, which is similar to the old +d channel mode) or to match against the full nick!username@host#gecos (type x)
00:50 ClassBot There are are 10 minutes remaining in the current session.
00:50 nhandler mhall119 wanted me to explain $~a a bit more
00:51 nhandler Basically, $a is an extban that can be used to match people with a certain account name. For instance, You could set a ban on $a:nhandler* to ban all people with an account name beginning with nhandler
00:51 nhandler The ~ negates that. So $~a:nhandler* could be used to ban everyone whose account name does not begin with nhandler
00:52 nhandler $a with nothing after it is the same if I had used a wildcard
00:53 nhandler $~a has the effect of matching all people not identified
00:53 nhandler Examples of how to set these bans can be found on the freenode website: http://freenode.net/using_the_network.shtml
00:53 nhandler That site also has a bit more information on what everything means
00:54 nhandler Sometimes, you want a user to get forwarded to another channel when they attempt to join your channel.
00:54 nhandler A common example of this is a user whose IRC client keeps quiting/joining, spamming the channel.
00:55 nhandler You can append $#channel to the end of a ban to cause the user to get forwarded to #channel when they try and join your channel.
00:55 nhandler You will need to either be an OP in #channel or the channel will need to have mode +F set in order to create this type of ban forward.
00:55 ClassBot There are are 5 minutes remaining in the current session.
00:55 nhandler An example of how to set this ban would be: /mode #mychannel +b $r:Foo*$#forwardtome
00:56 nhandler This would prevent any user whose gecos begins with "Foo" (note the extban) from joining #mychannel.
00:56 nhandler If they attempt to join #mychannel, they will get forwarded to #forwardtome
00:56 nhandler Any questions?
00:57 erUSUL why you use $r here ? can you explain that "type" ?
00:58 nhandler erUSUL: $r matches on the realname field. So any users who had a real name that began with Foo in my example would be affected
01:00 mhall119 what is a "realname" in IRC?
01:00 mhall119 the ident?
01:00 nhandler mhall119: Do a /whois on me. My real name is set to Nathan Handler
01:01 mhall119 ok, irssi is calling it "ircname"
01:01 pleia2 it calls it "real_name" in the settings
01:01 nhandler Yep
01:01 pleia2 just to be confusing *pats irssi*
01:03 pleia2 for those of who who have their head spinning from nhandler's part - don't worry, this is advanced ban stuff that we covered to be thorough so you know they exist when you see them, I guarentee you that most of the ops out there don't know how to use them :)
01:03 pleia2 (like me, until now!)
01:03 stooj Thank goodness :)
01:03 mhall119 that makes me feel better
01:04 nhandler Yep. The only extban you will probably actually see/use would be $~a (to quiet unidentified users during a bot attack)
01:05 pleia2 any other questions?
01:07 pleia2 ok, well if anyone wants to test their new found skills, please feel free to nudge me and we'll hop over to ##pleia2 to play around
01:07 pleia2 we can kick and ban some stuff for sport! ;)
01:08 nigelb haha, thanks for the class you folks :)
01:08 mhall119 yes, thanks pleia2 and nhandler
01:08 pleia2 thanks for coming, everyone
01:08 pleia2 we'll post the logs soon :)
01:10 stooj Thanks pleia2 & nhandler
01:11 MichelleQ braavo, pleia2 & nhandler
01:11 nhandler :)
01:13 charlie-tca Thanks very much

Courses/IRCOp2010 (last edited 2010-05-05 17:51:27 by Elizabeth Krumbach)