Since crimsonfu abides by the principle “when in doubt, make it public,” we decided to make a publicly-logged IRC channel our primary means of communication.
This post will describe the IRC commands used to set up #crimsonfu on freenode. Generally speaking, we followed http://blog.freenode.net/2008/04/registering-a-channel-on-freenode/ but logging was set up separately. Spam prevention is discussed as well.
Note: Commands are show being sent from the [(status)]
prompt of irssi.)
First, we check to see if the channel is already in use:
[(status)] /msg ChanServ info #crimsonfu
19:18 -!- Irssi: Starting query in freenode with ChanServ
19:18 <pdurbin> info #crimsonfu
19:18 -ChanServ(ChanServ@services.)- Channel #crimsonfu is not registered.
It wasn’t, so we join the channel:
[(status)] /join #crimsonfu
19:18 -!- ServerMode/#crimsonfu [+ns] by niven.freenode.net
19:18 [Users #crimsonfu]
19:18 [@pdurbin]
19:18 -!- Irssi: #crimsonfu: Total of 1 nicks [1 ops, 0 halfops, 0 voices, 0
normal]
19:18 -!- Channel #crimsonfu created Tue Jan 17 19:18:21 2012
19:18 -!- Irssi: Join to #crimsonfu was synced in 0 secs
Next, we examine the default modes for our newly-created channel on freenode:
[(status)] /mode #crimsonfu
19:18 -!- mode/#crimsonfu [+ns]
19:18 -!- Channel #crimsonfu created Tue Jan 17 19:18:21 2012
Modes are explained at http://freenode.net/using_the_network.shtml
Let’s get some info on the channel:
[(status)] /msg ChanServ info #crimsonfu
19:21 <pdurbin> info #crimsonfu
19:21 -ChanServ(ChanServ@services.)- Channel #crimsonfu is not registered.
There’s not much to see. Let’s register the channel:
[(status)] /msg ChanServ register #crimsonfu
19:22 <pdurbin> register #crimsonfu
19:22 -ChanServ(ChanServ@services.)- You are not logged in.
Whoops! ChanServe doesn’t know who we are. Only registered and identified nicks can register a channel:
[(status)] /msg nickserv identify myPassword
19:22 -!- Irssi: Starting query in freenode with nickserv
19:22 <pdurbin> identify myPassword
19:22 -NickServ(NickServ@services.)- You are now identified for pdurbin.
Ok, now we register the channel for reals:
[(status)] /msg ChanServ register #crimsonfu
19:24 <pdurbin> register #crimsonfu
19:24 -ChanServ(ChanServ@services.)- #crimsonfu is now registered to pdurbin.
19:24 -ChanServ(ChanServ@services.)-
19:24 -ChanServ(ChanServ@services.)- Channel guidelines can be found on the
freenode website
19:24 -ChanServ(ChanServ@services.)-
(http://freenode.net/channel_guidelines.shtml).
19:24 -ChanServ(ChanServ@services.)- freenode is a service of Peer-Directed
Projects Center, a
19:24 -ChanServ(ChanServ@services.)- not-for-profit organisation registered in
England and Wales.
19:24 -ChanServ(ChanServ@services.)- This is a primary namespace channel as per
19:24 -ChanServ(ChanServ@services.)-
http://freenode.net/policy.shtml#primarychannels
19:24 -!- mode/#crimsonfu [-s+tc] by ChanServ
That’s interesting. The mode changed. Let’s look at that again:
[(status)] /mode #crimsonfu
19:24 -!- mode/#crimsonfu [+cnt]
19:24 -!- Channel #crimsonfu created Fri Dec 16 09:18:56 2011
Here are the modes now that the channel has been registered:
Ok, let’s try getting some info about our channel:
[(status)] /msg ChanServ info #crimsonfu
19:25 <pdurbin> info #crimsonfu
19:25 -ChanServ(ChanServ@services.)- Information on #crimsonfu:
19:25 -ChanServ(ChanServ@services.)- Founder : pdurbin
19:25 -ChanServ(ChanServ@services.)- Registered : Jan 17 19:24:53 2012
19:25 -ChanServ(ChanServ@services.)- Mode lock : +ntc-slk
19:25 -ChanServ(ChanServ@services.)- *** End of Info ***
That “mode lock” line is interesting. We saw above how +s (secret channel) was taken away when we registered the channel. Here’s what -l and -k mean:
Next, we set our topic. First, we confirm that no topic has been set:
[(status)] /topic #crimsonfu
19:25 -!- No topic set for #crimsonfu
Then, we set it with the following command:
[(status)] /topic #crimsonfu crimsonfu: ConfiguRatIon Management of Systems Or Network kung FU
19:25 -!- pdurbin changed the topic of #crimsonfu to: crimsonfu: ConfiguRatIon Management of Systems Or Network kung FU
Next, we set up logging for the channel. Moritz Lenz, “moritz” on freenode, posted about an offer for software developers: free IRC logging and we took him up on it. His ilbot joined our channel, and per his suggestion, we changed the topic to alert participants that the channel is being logged.
[(status)] /topic #crimsonfu crimsonfu: ConfiguRatIon Management of Systems Or Network kung FU | logs at http://irclog.perlgeek.de/crimsonfu/today
19:31 -!- pdurbin changed the topic of #crimsonfu to: crimsonfu: ConfiguRatIon Management of Systems Or Network kung FU | logs at http://irclog.perlgeek.de/crimsonfu/today
Days passed and we started using the channel. We briefly discussed that because the channel is being logged and there is nothing to prevent anyone from joining the channel, we are vulnerable to attack by spammers. Switching to mode +i is suggested:
15:50 pdurbin sorry to get meta, but one of my concerns is that spammers will jump in this irc channel and fill our logs ( http://irclog.perlgeek.de/crimsonfu ) with spam :(
15:50 pdurbin it's for this reason that i haven't mentioned the irc channel at http://crimsonfu.github.com yet
15:53 whorka I think you can set invite-only with /mode #crimsonfu +i
Here is what +i means:
Wikipedia has a great article on +i mode, but after a conversation (below) with Moritz Lenz, the developer of the IRC bot that logs our channel, we discovered a few things:
As such, for now, we’re not going to use +i mode. Here is the conversation with Mortiz, published with his permission:
-------- Original Message --------
Subject: ilbot and +i (invite-only) mode on freenode
Date: Sun, 05 Feb 2012 18:07:01 -0500
From: Philip Durbin
To: Moritz Lenz
Hello! Thank you so much for setting up logging for #docjekyll and
#crimsonfu on freenode! My team members and I are thrilled.
One of my concerns, however, is spam. Here is our brief discussion
about it from http://irclog.perlgeek.de/crimsonfu/2012-01-26#i_5055415
15:50 pdurbin sorry to get meta, but one of my concerns is that
spammers will jump in this irc channel and fill our logs (
http://irclog.perlgeek.de/crimsonfu ) with spam :(
15:50 pdurbin it's for this reason that i haven't mentioned the irc
channel at http://crimsonfu.github.com yet
15:53 whorka I think you can set invite-only with /mode #crimsonfu +i
Before I spend too much time on figuring this +i (invite-only) mode on
freenode (I'm very new to IRC but I'm reading up on it), I wanted to
check with you if this will work with ilbot. That is to say, if I
change my channel to +i will ilbot continue to log and work, provided I
figure out how to invite it?
Sorry for these basic questions. As I said, I'm new to IRC. Thanks
again for providing this great service!
Thanks,
Phil
=====
-------- Original Message --------
Subject: Re: ilbot and +i (invite-only) mode on freenode
Date: Mon, 06 Feb 2012 06:39:49 +0100
From: Moritz Lenz
To: Philip Durbin
Hi Phil,
usually spam isn't much of a problem on freenode, the staff is very good
at banning spammers. At least that's my experience from over 4 years of
logging #perl6, a channel we advertise everywhere on the web.
On 02/06/2012 12:07 AM, Philip Durbin wrote:
> Before I spend too much time on figuring this +i (invite-only) mode on
> freenode (I'm very new to IRC but I'm reading up on it), I wanted to
> check with you if this will work with ilbot. That is to say, if I
> change my channel to +i will ilbot continue to log and work, provided I
> figure out how to invite it?
I have no idea if it will work; it's not explicitly written to do that,
and I have never tested it.
My advice is to deal with spam if and when it appears.
Cheers,
Moritz
=====
-------- Original Message --------
Subject: Re: ilbot and +i (invite-only) mode on freenode
Date: Mon, 06 Feb 2012 08:11:17 -0500
From: Philip Durbin
To: Moritz Lenz
On 02/06/2012 12:39 AM, Moritz Lenz wrote:
> usually spam isn't much of a problem on freenode, the staff is very good
> at banning spammers. At least that's my experience from over 4 years of
> logging #perl6, a channel we advertise everywhere on the web.
That's great to hear. I do hope that spammers don't become a problem in
my channel.
In addition to relying on freenode staffers to help fight spammers, I
plan to figure out how to give other members of my team the ability to
kick and ban spammers. I tried giving them OP with this. . .
/msg ChanServ OP #crimsonfu shuff
. . . but I found that as soon as shuff left the channel and re-entered,
his OP permission was gone.
I noticed that #perl6 has multiple founders. Maybe this would be a
solution to the lack of persistence problem. That is to say, I could
make shuff a founder.
> On 02/06/2012 12:07 AM, Philip Durbin wrote:
>> Before I spend too much time on figuring this +i (invite-only) mode on
>> freenode (I'm very new to IRC but I'm reading up on it), I wanted to
>> check with you if this will work with ilbot. That is to say, if I
>> change my channel to +i will ilbot continue to log and work, provided I
>> figure out how to invite it?
>
> I have no idea if it will work; it's not explicitly written to do that,
> and I have never tested it.
>
> My advice is to deal with spam if and when it appears.
This makes sense. Logging the channel is a critical part of my plan so
I'll follow your advice.
I'm trying to keep #crimsonfu as low-maintenance as possible. Also, my
team members and I will mostly only be active in the channel during work
hours, so we may not get around to kicking spammers out until Monday
morning sometimes. It would be sad to discover lots of spam in our logs
from the weekend, but I'm sure we would get over it.
My thinking is influenced by this recent post by Anil Dash:
http://dashes.com/anil/2011/07/if-your-websites-full-of-assholes-its-your-fault.html
In this case, it's a IRC channel, not a website, but the concept still
mostly applies. As the founder of the channel, I'm responsible for
keeping the channel to the standards I set for it.
I'd like to report back to my team that I've considered the +i idea.
Now I wish that we were having this conversation in public so I could
just link to it. Do you mind if I publish these emails? Perhaps we
could copy and paste them to a public place where others could comment
and discuss further. Google+ might be a good place for this.
Thanks for reading all this. I hope I'm not taking too much of your
time. I very much appreciate all the help you've already provided me!
Thanks,
Phil
=====
-------- Original Message --------
Subject: Re: ilbot and +i (invite-only) mode on freenode
Date: Mon, 06 Feb 2012 15:06:32 +0100
From: Moritz Lenz
To: Philip Durbin
Hi Phil,
On 02/06/2012 02:11 PM, Philip Durbin wrote:
> On 02/06/2012 12:39 AM, Moritz Lenz wrote:
>> usually spam isn't much of a problem on freenode, the staff is very good
>> at banning spammers. At least that's my experience from over 4 years of
>> logging #perl6, a channel we advertise everywhere on the web.
>
> That's great to hear. I do hope that spammers don't become a problem in
> my channel.
>
> In addition to relying on freenode staffers to help fight spammers, I
> plan to figure out how to give other members of my team the ability to
> kick and ban spammers. I tried giving them OP with this. . .
>
> /msg ChanServ OP #crimsonfu shuff
>
> . . . but I found that as soon as shuff left the channel and re-entered,
> his OP permission was gone.
>
> I noticed that #perl6 has multiple founders. Maybe this would be a
> solution to the lack of persistence problem. That is to say, I could
> make shuff a founder.
You can configure ChanServ to give other people permission to become
operators themselves; I don't think you need to give them founder status
for that -- founders are just the only ones that can alter access
control lists.
I don't remember the incantations you need for that, but I think I found
them in the freenode documentation back when we recovered the channel.
>> On 02/06/2012 12:07 AM, Philip Durbin wrote:
>>> Before I spend too much time on figuring this +i (invite-only) mode on
>>> freenode (I'm very new to IRC but I'm reading up on it), I wanted to
>>> check with you if this will work with ilbot. That is to say, if I
>>> change my channel to +i will ilbot continue to log and work, provided I
>>> figure out how to invite it?
>>
>> I have no idea if it will work; it's not explicitly written to do that,
>> and I have never tested it.
>>
>> My advice is to deal with spam if and when it appears.
>
> This makes sense. Logging the channel is a critical part of my plan so
> I'll follow your advice.
>
> I'm trying to keep #crimsonfu as low-maintenance as possible. Also, my
> team members and I will mostly only be active in the channel during work
> hours, so we may not get around to kicking spammers out until Monday
> morning sometimes. It would be sad to discover lots of spam in our logs
> from the weekend, but I'm sure we would get over it.
If you find the logs full of spam, just notify me and I'll delete it.
If that happens too often, I'll take care to revive the minimalistic
admin interface that I've implemented for just that purpose. It allows
authorized to mark lines in the logs as spam, and those lines will stop
appearing in the public logs. Once in a while I would review all lines
marked as spam, and delete them for good.
Recent changes to the ilbot web frontend have broken that admin
interface, and the fact that nobody noticed until now is a good sign --
it shows it's not needed right now. If that changes, I can revive it
within an hour or so.
> My thinking is influenced by this recent post by Anil Dash:
> http://dashes.com/anil/2011/07/if-your-websites-full-of-assholes-its-your-fault.html
>
> In this case, it's a IRC channel, not a website, but the concept still
> mostly applies. As the founder of the channel, I'm responsible for
> keeping the channel to the standards I set for it.
I have not read that blog post, but I do agree that we should make every
effort to build kind and welcoming communities. If you need technical
support from my side, I'll do my best to help you, but I value my time
too much act proactively.
> I'd like to report back to my team that I've considered the +i idea.
> Now I wish that we were having this conversation in public so I could
> just link to it. Do you mind if I publish these emails?
You're welcome to publish these emails. Thank you for asking first.
> Perhaps we
> could copy and paste them to a public place where others could comment
> and discuss further. Google+ might be a good place for this.
I'll leave you the choice of publishing platform. I am not involved with
Google+ or any other major social network, so I don't care much about
the details.
If I want to publish things that don't seem to fit on my blog, I usally
just use https://gist.github.com/ and present the gist URL to the
community that is interested in it.
Cheers,
Moritz
Since Mortiz mentioned #perl6 on freenode, let’s compare its mode to ours:
06:12 -!- mode/#perl6 [+Cnt]
06:12 -!- mode/#crimsonfu [+cnt]
It’s almost identical. They turn off -c (color filter) and turn on (+C) block CTCPS: