* pleia2 nudges ClassBot 00:01
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Current Session: Being an Op in Ubuntu Women channels - Instructor: pleia2 || Questions in #ubuntu-classroom-chat
pleia2ok, let's get started00:02
pleia2Hi everyone! Welcome to a short class on being an operator (+o) in #ubuntu-women and #ubuntu-women-project00:02
pleia2We'll have a pretty informal class here, so please feel free to jump in at any time and ask questions :)00:03
pleia2who all is here for it?00:03
* charlie-tca waves00:04
pleia2OK, we'll start off with some basics about opping in our channels00:04
pleia2Operator 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:04
pleia2this is not consistant across ubuntu namespace00:05
pleia2Now, 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 encounter00:05
pleia2and 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 needed00:06
pleia2= Class Outline =00:06
pleia21. Etiquette00:07
pleia22. Basic technical op basics: freenode and channel options, opping yourself, removing a user, banning a user00:07
pleia23. Writing good bans00:07
pleia2starting with the fun one :)00:07
pleia2= Etiquette =00:07
pleia2First 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 channel00:07
pleia2As an Ubuntu channel we are upheld to the standards of ops throughout the Ubuntu namespace: https://wiki.ubuntu.com/IRC/IrcTeam/OperatorGuidelines00:08
pleia2and of course to the Code of Conduct http://www.ubuntu.com/community/conduct00:08
pleia2Additionally, 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/IRCOpGuidelines00:09
pleia2As 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.html00:10
pleia2er, interesting00:10
pleia2I 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
pleia2so I'd strongly encourage everyone to have a look, even if they just skim it00:11
pleia2So, 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 harm00:12
pleia2this isn't easy, I still make mistakes sometimes - either by letting someone troll too long or removing too quickly00:12
pleia2to 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 opinion00:12
pleia2we 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
pleia2Now, the escalation process for handling disruptive users:00:13
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
pleia21. 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:14
pleia2so perhaps you ask why they joined, what interest they have in the project00:15
pleia22. Issue a warning00:15
pleia2this is often done privately if their behavior borderline as an attempt to nudge them back into respecting the intent of the channel00:15
pleia2but 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 attention00:16
pleia23. Ask them to leave00:16
pleia2warnings may not be enough, so a simple "you're not welcome here" notice does actually get rid of some folks who are causing trouble00:17
pleia24. Remove them from the channel00:17
pleia2I typically just remove users rather than setting a ban right away, but it depends on the situation00:17
pleia2if they keep trolling...00:18
pleia25. Ban00:18
pleia2Once the user has been taken care of, please deop yourself00:18
pleia2this whole process can frequently be stressful (yep, even to seasoned ops!) so it's important that you work at friendly throughout this whole process00: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 too00:19
pleia2frequently trolls are looking for getting a reaction, acting reasonably and maturely to remove a problem counters this00:19
pleia2Any questions? Comments?00:20
pleia2ok, we'll get to the technical aspects we all came for :)00:21
pleia2= Basic technical op basics =00:21
pleia2First, 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.com00:21
pleia2The 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.shtml00:21
pleia2To 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
PiciMay I add that its by no means necessary to memorize what all the different modes mean.00:22
* pleia2 memorizes very little, has memory capacity of a sieve00:23
pleia2thanks Pici00:23
pleia2Now, 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/IRCOp00:23
pleia2First, if you're an op in the channel, how do you op up?00:23
pleia2/msg chanserv op #ubuntu-women00:24
pleia2For more about what you can do with chanserv, /msg chanserv help00:24
pleia2How do you remove your op status?00:24
pleia2/msg chanserv deop #ubuntu-women00:24
pleia2How do you remove a user?00:25
pleia2/remove #ubuntu-women nickname00:25
pleia2..but in some clients, like irssi, you will need to: /quote remove #ubuntu-women nickname00:25
pleia2just play around and see how your client works (we'll have a playing session over in ##pleia2 after this session)00:25
pleia2We like to "remove" rather than "kick" because this makes the client think it was a /part and so doesn't trigger auto-rejoin00:26
pleia2(and remove tends to be the "preferred freenode way")00:26
pleia2So, how do you ban a user?00:27
pleia2A simple ban can usually be added with:00:27
pleia2/ban nickname00:27
pleia2But often the automatic ban a client sets isn't good enough, so now we'll talk about writing good bans00:27
pleia2any questions before we get to that?00:27
pleia2so over in #ubuntu-classroom-chat someone asked about why /quote may need to be used00:30
pleia2this is because /remove is not a command that irssi understands, and it won't automatically pass things it doesn't understand to the server00:31
=== ClassBot_ is now known as ClassBot
pleia2so for commands like that in irssi you need to use /quote00:32
pleia2alright, let's move on00: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:32
pleia2Writing bans is an intimidating topic at first, but it turns out that it's actually not that hard!00:33
pleia2When a user joins a channel, you'll typically see something like:00:33
pleia2MeanTroll (~verybad@ has joined #ubuntu-women00:33
pleia2(in some clients you may need to enable viewing hostnames)00:33
pleia2There are 3 important pieces of this which can be targeted in a ban: nickname (MeanTroll), ident (verybad) and hostname (
pleia2In a ban stanza, it would look like: nickname!ident@hostname00:34
pleia2notice that a ! separates nickname and ident, and the @ symbol is put before hostname00:35
pleia2there are more options with this, which nhandler will cover in a bit, but this is a basic ban00:35
pleia2So in this example, MeanTroll!verybad@ would be a ban exactly matching their nickname, ident and hostname00:36
pleia2Any questions so far?00:36
pleia2Ok, 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 ban00:37
pleia2It'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:37
pleia2/mode +b *!verybad@
pleia2As you can see we put a * where the nickname used to be, this is a wildcard00:38
pleia2What if they decide to change their ident too?00:38
pleia2/mode +b *!*@
pleia2again, a * is put where the ident used to be00:39
pleia2the 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*@
ClassBotmhall119 asked: is * the only wildcard, or can do you some regex-style matching too?00:40
erUSULwhat if they change nick ident and renew ip with his/her isp? back to square one ;)00:40
pleia2regarding mhall119's question - there are some options here, nhandler will cover them :)00:40
pleia2erUSUL: that's next!00:40
pleia2So, what if they get really desperate and reset their modem to get a new hostname?00:40
pleia2You can try: /mode +b *!*@*-example.com00:40
pleia2But be careful - this will ban everyone coming from the exmaple.com service provider00:41
pleia2and 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 bans00:41
pleia2there are also users who evade by using "proxies" which make writing bans essentially useless, this too is against freenode policy and should be reported00:42
ClassBotmhall119 asked: is using proxies in general against freenode policy, or just to avoid bans?00:42
pleia2"proxy" is a broad term00:43
pleia2technically anyone who runs irssi from a server elsewhere is using a "proxy" since they aren't connecting from their originating connection00:43
pleia2and of course this is ok :)00:43
pleia2same with bouncers you run, etc00:43
pleia2I 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 rules00:44
nhandlerfreenode also bans open proxies00:44
pleia2there we go, thanks nhandler :)00:45
pleia2any more questions about basic bans before I hand things off to nhandler to explain extbans?00:45
pleia2alright, 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 them00:46
pleia2nhandler: all yours!00:46
nhandlerThanks pleia200:46
* pleia2 didn't know about these, and didn't have time to get up to speed :)00:46
nhandlerExtbans 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:data00:47
nhandler'type' is a single character (case insensitive) indicating the type of match, optionally preceded by a tilde (~) to negate the comparison."00:47
nhandlerOne 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
nhandlerThis can be done with: /mode #channel +q $~a00:48
nhandlerType '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
nhandlerExtbans 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:49
ClassBotThere are are 10 minutes remaining in the current session.00:50
nhandlermhall119 wanted me to explain $~a a bit more00:50
nhandlerBasically, $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 nhandler00:51
nhandlerThe ~ negates that. So $~a:nhandler* could be used to ban everyone whose account name does not begin with nhandler00:51
nhandler$a with nothing after it is the same if I had used a wildcard00:52
nhandler$~a has the effect of matching all people not identified00:53
nhandlerExamples of how to set these bans can be found on the freenode website: http://freenode.net/using_the_network.shtml00:53
nhandlerThat site also has a bit more information on what everything means00:53
nhandlerSometimes, you want a user to get forwarded to another channel when they attempt to join your channel.00:54
nhandlerA common example of this is a user whose IRC client keeps quiting/joining, spamming the channel.00:54
nhandlerYou 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
nhandlerYou 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
ClassBotThere are are 5 minutes remaining in the current session.00:55
nhandlerAn example of how to set this ban would be: /mode #mychannel +b $r:Foo*$#forwardtome00:55
nhandlerThis would prevent any user whose gecos begins with "Foo" (note the extban) from joining #mychannel.00:56
nhandlerIf they attempt to join #mychannel, they will get forwarded to #forwardtome00:56
nhandlerAny questions?00:56
erUSULwhy you use $r here ? can you explain that "type" ?00:57
nhandlererUSUL: $r matches on the realname field. So any users who had a real name that began with Foo in my example would be affected00:58
mhall119what is a "realname" in IRC?01:00
mhall119the ident?01:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi
nhandlermhall119: Do a /whois on me. My real name is set to Nathan Handler01:00
mhall119ok, irssi is calling it "ircname"01:01
pleia2it calls it "real_name" in the settings01:01
pleia2just to be confusing *pats irssi*01:01
pleia2for 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
stoojThank goodness :)01:03
mhall119that makes me feel better01:03
nhandlerYep. The only extban you will probably actually see/use would be $~a (to quiet unidentified users during a bot attack)01:04
pleia2any other questions?01:05
pleia2ok, 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 around01:07
pleia2we can kick and ban some stuff for sport! ;)01:07
nigelbhaha, thanks for the class you folks :)01:08
mhall119yes, thanks pleia2 and nhandler01:08
pleia2thanks for coming, everyone01:08
pleia2we'll post the logs soon :)01:08
stoojThanks pleia2 & nhandler01:10
MichelleQbraavo, pleia2 & nhandler01:11
charlie-tcaThanks very much01:13
=== alexbobp_ is now known as alexbobp
=== kermiac_ is now known as kermiac
=== mohi1 is now known as mohi_away
=== DreamThi1f is now known as DreamThief
=== mohi_away is now known as mohi1
=== mohi1 is now known as mohi_away
* jcastro taps on the microphone19:52
jcastrowho's here for adopt-an-upstream in 10 minutes?19:52
=== mohi_away is now known as mohi1
cjohnstono/ mayb19:54
jcastro1 more minute!19:59
jcastroanyone else around?19:59
cjohnstonI guess it may be just you and me20:00
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Current Session: Adopt an Upstream - Instructor: jcastro || Questions in #ubuntu-classroom-chat
cjohnstonyour opped.. you dont get to see all the coolness that is ClassBot20:00
jcastrooh, should I unop?20:00
cjohnstondoesnt matter.. ClassBot will voice you if you are not opped or voiced20:00
cjohnstonbut since your already opped and it already ran, prolly better to stay the way you are20:01
jcastrolet's give it one more minute20:01
jcastrofor the stragglers20:02
cjohnstonwant me to leave and come back in? :-P20:02
jcastrook let's get started!20:05
jcastroanyone else here or just cjohnston supporting the cause?20:05
jcastrocjohnston: hmm, should we reschedule again?20:08
cjohnstonjcastro: I don't know if you will get much of a better response without being in a UDW/ODW type setting20:09
cjohnstonexcept maybe by doing some advertising20:09
jcastroyeah, I should have blogged about it20:10
jcastrowhat do you think about next week, but I can blog about it now?20:10
jcastroand ask some other people to blog it too?20:10
jcastroat least you were here. *hug*20:11
jcastrowednesday same time I think?20:11
cjohnstonrescheduling now20:11
=== ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - http://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi
jcastrobah I wouldn't be in this mess if I did it right the first time!20:12
cjohnstonor the second time? :-P20:13
cjohnstonmaybe you should teach me something else then.. ;-)20:16
jcastroWell, first the earth cooled, and then the dinosaurs came ...20:17
=== mohi1 is now known as mohi_away

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!