<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Twisted masters,</FONT></DIV>
<DIV><FONT face=Arial size=2>As a twisted newbie, who still doesn't really feel 
like I get it, but is really drawn to it anyway, my humble advice is to teach 
how to navigate the use of the libraries,.&nbsp;especially with respect to how 
data is passed from one process to another, and how to understand the process 
flow, and how to integrate your own code for your application into the library 
correctly. It seems like there is an expected but unstated right approach or 
style&nbsp;that will work best and most easily... the tao of twisted so to 
speak... but what is this path?</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp; Being old I still think in terms of 
sequences, conditionals and iterations, so&nbsp;it took a while to get that if I 
wanted a sequence of operations to happen as an asynchronous event (a Deferred) 
that went off on its own for a while, (and when it returns, whatever was going 
on wherever it was called from is long gone, like&nbsp;the deferred&nbsp;was 
some spaceship returning from a long&nbsp;near-lightspeed journey!)&nbsp;I had 
to construct that sequence as a&nbsp;string of callbacks, each attached to 
the&nbsp;previous,&nbsp;and to get any conditional or iterative activity within 
that sequence I had to figure out how to pass arguments that would provide 
enough information to the next callback. That&nbsp;has been&nbsp;extra tricky 
for me in the context of how to correctly use the library of classes 
available,&nbsp;especially how and/or when to extend or subclass them. In part 
this is because although I have used python for a number of years, I have never 
pushed the envelope in terms of power programming techniques. Thus, it would be 
helpful also if there was a subsection of the documentation that discussed how 
advanced python techniques (eg Factories) are used (more about python than 
twisted, per se, but essential to understanding and using twisted). The Protocol 
class and how to use it viz the Factory a Protocol goes with is especially 
confusing to me, for example, yet this is essential in twisted.</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp; So I admire you guys tremendously and 
appreciate your work. I hope someday I grok it enough to be able to contribute 
to the documentation in some way.</FONT></DIV>
<DIV><FONT face=Arial size=2>-Dave Britton</FONT></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=cary.hull@gmail.com href="mailto:cary.hull@gmail.com">Cary Hull</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  title=twisted-python@twistedmatrix.com 
  href="mailto:twisted-python@twistedmatrix.com">Twisted general discussion</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, April 02, 2009 11:05 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> [Twisted-Python] Documentation 
  overviews</DIV>
  <DIV><FONT face=Arial size=2></FONT><FONT face=Arial 
  size=2></FONT><BR></DIV>Hi folks,<BR><BR>One of the goals for the Pycon sprint 
  was to develop user oriented overviews for existing documentation.<BR>These 
  would ideally guide users through everything they would need to read in order 
  to accomplish a desired goal with Twisted.<BR><BR>I've formulated the 
  following 'track' suggestions based on a conversation in the sprint room a few 
  nights ago.<BR>Feedback would be greatly 
  appreciated.<BR><BR>---<BR><BR>Overviews<BR><BR># &nbsp; The basics of event 
  driven applications (beginner)<BR><BR>#&nbsp;&nbsp; No hand holding, just the 
  facts (advanced, already familiar with concepts involved)<BR><BR>#&nbsp;&nbsp; 
  Testing Twisted applications<BR><BR>#&nbsp;&nbsp; Driving processes 
  (interactively or otherwise)<BR><BR>#&nbsp;&nbsp; Custom 
  protocols<BR><BR>#&nbsp;&nbsp; When it makes sense to use 
  threads<BR><BR>#&nbsp;&nbsp; Persisting application data (Would cover various 
  options including Axiom)<BR><BR>#&nbsp;&nbsp; Task scheduling (Would cover 
  various options including Axiom)<BR><BR>#&nbsp;&nbsp; Web 
  clients<BR><BR>#&nbsp;&nbsp; Web applications using just 
  Twisted<BR><BR>#&nbsp;&nbsp; Web applications using WSGI (Maybe show how to 
  run Django)<BR><BR>#&nbsp;&nbsp; Mail clients<BR><BR>#&nbsp;&nbsp; Mail 
  servers<BR><BR>#&nbsp;&nbsp; SSH clients<BR><BR>#&nbsp;&nbsp; SSH 
  servers<BR><BR>#&nbsp;&nbsp; XMPP (Jabber) clients<BR><BR>#&nbsp;&nbsp; XMPP 
  (Jabber) servers<BR><BR>#&nbsp;&nbsp; Multiple servers in a single 
  application<BR><BR>#&nbsp;&nbsp; GUI applications (non 
  web)<BR><BR>#&nbsp;&nbsp; Networked video games<BR>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>Twisted-Python 
  mailing 
  list<BR>Twisted-Python@twistedmatrix.com<BR>http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python<BR></BLOCKQUOTE></BODY></HTML>