Ikanobori Weblog

#python is an IRC channel on the Freenode network. IRC is one of the first lines of support for any large opensource project. I put it next to the mailing lists on the ladder of importance.

At the time of this writing #python features 732 distinct nicknames being one of the larger channels on the Freenode network.

Anyway, #python is a ‘special’ channel. There is a specific set of rules which make the channel a maintainable and live-able place.Anyone who joins the channel is at first confronted with:

-!- Topic for #python: NO LOL | http://pound-python.org/ | It's too early to use Python 3.x | Pasting > 3 lines? Pastebin: http://paste.pocoo.org/ | Tutorial: http://docs.python.org/tut/ | FAQ: http://effbot.org/pyfaq/ | New Programmer? Read http://tinyurl.com/thinkcspy

The important part to distill from this is:

NO LOL. This means no ‘lolspeak’, things like 1337, lol, rofl and such are often unnecessary noise. #python tries to keep the signal-to-noise ratio as low as possible. While thinking of a place where 700 people mumble senseless abbreviations all that springs to mind is a government. And nobody likes his government.

After that the rules are generally easy to understand. pound-python.org is a website which contains a certain subset of answers to often-asked questions on the #python channel. It is maintained through a bazaar repository on launchpad and hosted by me. It includes a part which I originally wrote for python-commandments.org on the how and why it is too early to use Python 3.x.

If you paste more then 3 lines of code it quickly floods the channel. If you do want to paste more then 3 lines of code, use a pastebin like the Pocoo one, bpaste or dpaste.

The tutorials in the topic are good, most people in the channel agree on them being good, as opposed to some of the other tutorials/books which might be of lesser perceived value to an interested person.

Now that we have all the ‘official’ nonsense out of the way, let me tell you more about the channel.

#python has a loyal regular pool of about 10-25 persons. Some work at Apple, some work at Google, some have no job. All of them might be interested in your problems though not all (or any) of them might be in at the time you ask.

We have a peculiar way of answering questions. More often then not you might get a counter-question on the how and why you are solving a certain problem. Do not feel offended if you get such a counter-question. The person on the other end just wants to know if you are going to use the right tool for the job. The best analogy I heard to this is that you might as well be asking how to drive a nail in to a wall with a coffee mug. We want to tell you that it is easier to use the hammer and want to verify you are not using a teapot.

This way of answering questions helps people. It helps people more then just giving the answer and being done with it. It also fits perfectly in the Python philosophy of not repeating done work. Most ‘hard’ problems have been solved before, and have been solved in a good way. For networking, Twisted is a prime example. For database wrappers SQLAlchemy is a prime example. It is for a reason these two are often mentioned on #python.

All in all, #python might seem like a hostile place, you have great idea and immediately you are being told to “Use Twisted” or that you shouldn’t be doing what you are doing at all (type checking, for instance). This is not meant as a “not wanting to help”-mentality. It is just a different kind of helping mentality. One that I like more.

NO COMMENTS
Post a comment