Hello, I have written an introductory article to Twisted, and I would be delighted to see it published on Linux Weekly News some day.
It is available at: http://jdb.github.com/concurrent.html Here is the plan in brief: 1. what Twisted is: what "network framework" means, 2. what network concurrency is, 3. why "one socket in one thread" won't get you very far: Twisted is safer, faster and faster 4. what is the reactor, and how it interfaces with the kernel and the Twisted Protocols 5. what deferreds are (and how they are actually _not_ directly tied to the reactor) 6. Finally how to write Twisted code that looks sequential (with recap on yield and decorators) What I tried to do: - write for a developer audience who are not particularly expert in Python nor kernel internals. Python idioms are explained, and I try to clear the magic by unfolding the big ideas (this audience actually maps well my friends and colleagues), - include short, clear cut code snippets to nail the point, - short enough to fit in a brain cache but complete and precise enough so developers come out with an understanding of what is under the hood, - make the article "flow", by introducing the plan, connecting sections, using proper english :/ , Any comments welcome, and especially: - it might be too long and present too many things, maybe I should split it in parts, - correctness: I simplified the object model (the article mentions that the factories are out of scope...), but everything said should still be correct. Also I sometime take guesses at subject I am not an expert, with the intent to make a clear message: this is a thin line, - coherence with the Twisted jargon and existings docs, there may be terms that I use which should be substituted, - typos and proper english: I think lwn standards are pretty high for that matter, The pdf can't be attached, mailman complains that it is more than 40kB. The scripts are at http://github.com/jdb/jdb.github.com/tree/sources/concurrent/ The git manip for using your favorite editor on the sources is: git clone git://github.com/jdb/jdb.github.com.git git branch --track -b sources origin/sources vi concurrent.rst Thanks in advance ! _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python