[Twisted-Python] TWN #5!

Chris Armstrong carmstro at twistedmatrix.com
Mon Aug 6 10:17:36 EDT 2001

The Twisted Weekly News

#5th Issue. Monday, August 6, 2001

QOTW: (since this TWN covers two weeks, here are two quotes for your enjoyment!

  <Acapnotic> garble.  if I don't find a twisted.spread example soon, I
  might try to figure out what .spread is supposed to do by looking at the
  source directly
  <Acapnotic> which would probably be unhealthy
  <dash> Acapnotic: hey! i've been reading the source for the past month!
  didididididn't bother me at all!
  * dash giggles

(for those of you who don't get the pokey reference in the second one, see

Welcome to the 5th issue of the Twisted Weekly News! Sorry that this one's a
week late - the editor actually had *real work* to do at work. This TWN is
packed with info, Twisted has seen a sudden growth spurt in users and in code,
and we're all very excited about that.


OK, like I said, we have tons of stuff going on recently. Lots and lots of code
changes, here they are:

* Twisted 0.9.4: yes, another Twisted release[1] happened this week. This was a
  pretty full release, with bug fixes, new features, and general cleanup.
  twisted.spread.banana was ported to C, thus yielding a large increase in
  speed (optionally, of course!), PB was made incompatible with old versions
  when glyph added the option for passing a "reverse Perspective" to a server
  in requestPerspective, since this was such a commonly asked-about problem.
  Twisted.Words, the cool new IRC/IM killer was introduced, Twisted.Mail was
  re-integrated, and SPLs were renamed to TAPs.

* Chris Armstrong wrote an initial "mkserver" utility that replaced all the
  mess of mk*server utilities that were a part of Twisted. This was later
  renamed to 'mktap', to reflect the name change from "Server Pickles" to
  "Twisted APplications".

* Twisted.Words! This is the Cool Thing Of the Week, see below.

* cBanana: Glyph ported banana to C. Don't worry though, we will still be 100%
  pure-python for the foreseeable future, with C extensions just being
  optional. C code in Twisted should *never* be touched before coding in Python
  first, and only translating directly to C.

* Twisted.Mail: Moshez is back and better than ever, doing more work on the
  mail services in Twisted.

* Debian: Twisted 0.9.4 is in Debian Sid, the unstable branch. A
  million thank yous go out to Moshe Zadka, who is the Debian maintainer for

* manpages: Moshe (what a guy!) also wrote manpages for all the utilities in
  Twisted, mainly so he could get the Debian package to pass lintian. Thanks

* More examples: check out the doc/examples/ directory for some snazzy PB demos
  and more.

* Kevin Turner wrote a Whiteboard app, "Napkin", which he just recently got
  into a usable state. It's not in Twisted CVS yet, but it should be soon. This
  is a pretty cool app for Twisted, and it's also Kevin's first significant
  contribution to Twisted. Hooray for Kevin! A round of applause for him!

Other Stuff

There has been lots going on involving Twisted even outside of progress in the
codebase. There's been a sudden growth-spurt in Twisted's popularity, and a lot
of people are starting to use it for their own projects. Tv, a now-regular of
#Python, reimplemented his mc-foo[2] program using PB. It's basically a super-
advanced MP3 player/list manager, that used to use XML-RPC. It took him 5 hours
to figure out PB and reimplement the entire thing using it.

DavidC_ implemented a simple chat server/client for a game that he's making. We
all want him to use Words, but it's cool that he's using PB anyway. :-) In the
process of doing this, he implemented a neat little STDIO Protocol that will
probably be assimilated by Twisted soon.

There was a whole lot of conversing on the mailing list this week, a summary of
it follows.

Kevin Turner started a thread[3] on Configuration, Persistence and Version
Control. A conversation followed in which Glyph pointed out that configuring
Twisted really can be as flexible as configuring other things, through version
controlling your TAP files as well as your initial start-up configuration

Chris Armstrong posted a flaming[4] message about the naming of 'tcp.Port'. He
proposed "Listener" instead, and a rather long thread resulted. But, so far
this has resulted in nothing. (Let's all go egg Glyph's house!)

Pokey the Penguin sent a comforting message[5] to the list, informing us that the
Chinese weapons used in Code Red are inferior. Glyph agreed with a resounding
"YES!". Ironically, it was later found that when a Twisted Web server got hit
by Code Red, it was actually causing an exception to occur, although harmless.
The reason for this is that Code Red does not specify a HOST header, which
makes it an invalid HTTP request. Oh well, no harm done.

Kevin Turner started a very informative thread[6] in which Glyph taught him about
PB. Anyone who wants to learn it and is annoyed by the lack of documentation
should probably go read it, as well as looking at the simple examples in doc/

M.J. Stahl showed some interest[7] in working on Reality. He had a problem getting
it working, and Glyph and Chris Hadgis helped him out a little bit, but he
hasn't replied since. Come on, M.J.! We'll help you however we can! :-)

Cool Thing Of the Week
Twisted Words

Twisted Words is the coolest new addition to Twisted. It's basically an IRC/IM
killer, which uses spread.pb. Glyph's been working hard on this, and has
already interfaced the IRC service to it, as well as started on a web
administration interface. He also started writing InstanceMessenger, the GTK
user interface to twisted.words, and it has basic buddy list and messaging
functionality. Other than the obvious use for Words (normal every-day
conversations), another plus that is inherent in it's use of PB is that it is
well-integrated with other PB-using programs. One could start both a game
service and a Words service on the same port, and the game client could utilize
both through the same connection, allowing for in-game chat, as an example.
Thanks a whole lot Glyph!

Ok, that's it for this week. Thanks for reading!

Chris Armstrong <carmstro at twistedmatrix.com>

[1] http://twistedmatrix.com/downloads
[2] http://mc-foo.sourceforge.net
[3] http://www.twistedmatrix.com/pipermail/twisted-python/2001-July/000140.html
[4] http://www.twistedmatrix.com/pipermail/twisted-python/2001-July/000145.html
[5] http://www.twistedmatrix.com/pipermail/twisted-python/2001-August/000161.html
[6] http://www.twistedmatrix.com/pipermail/twisted-python/2001-August/000166.html
[7] http://www.twistedmatrix.com/pipermail/twisted-python/2001-August/000172.html

More information about the Twisted-Python mailing list