<br><br><div class="gmail_quote">On Jan 23, 2008 4:36 PM,  &lt;<a href="mailto:glyph@divmod.com">glyph@divmod.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On 12:10 am, <a href="mailto:clemesha@gmail.com">clemesha@gmail.com</a> wrote:<br>&gt;Thanks Steve Holden for organizing this, it&#39;s a great idea.<br><br></div>Indeed!<br><div class="Ih2E3d">&gt;Some nice topics might include:
<br><br></div>Thanks for the suggestions. &nbsp;Do you have any others? &nbsp;:-) &nbsp;</blockquote><div><br>For my usage of twisted, these are important to me and I am<br>the most familiar with them. (See below)<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I hate to<br>rain on your parade here, but I think maybe my explanation of why I<br>don&#39;t like these suggestions will spark discussion of more different<br>ones...<br><div class="Ih2E3d">&gt;a) Start off simple with a &quot;
twisted.web2&quot; example (everyone &quot;gets&quot;<br>&gt;http)<br><br></div>I think that this is actually something we should avoid in a tutorial.<br>The web situation in Twisted is complicated<br>(<a href="http://twistedmatrix.com/trac/wiki/WebDevelopmentWithTwisted" target="_blank">
http://twistedmatrix.com/trac/wiki/WebDevelopmentWithTwisted</a>). &nbsp;web2 in<br>particular is suffering from an extreme lack of maintenance and still<br>has never &quot;officially&quot; been released; work is just starting to get
<br>underway to unify t.web2 and nevow into t.web and reduce the confusion,<br>but this is all still in progress and who knows when, how, or even if it<br>will be completed. &nbsp;</blockquote><div>&nbsp;</div><div>Oh yes, I know, I know.&nbsp; While learning twisted I read *most* (that&#39;s alot ;)
<br>of posts to the twisted-web mailing list.&nbsp; So I am very familiar with the state.<br><br>That said, oh how I wish you guys could make twisted.web2 the one and only!!! <br>It would be good for beginners and others alike.
<br><br>Note however: I can only barely imagine how hard that might be,<br>so I am *definitely not* complaining ... Twisted is excellent, thanks very much for it.<br><br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
If you get a group of experienced Twisted folks<br>together to talk about writing web applications, you&#39;re more likely to<br>spark a debate than an educational session.<br><br>Even if all these problems were fixed, and there were a really good,
<br>well-supported, universally understood web server for Twisted, the<br>benefits of Twisted&#39;s programming model are not immediately obvious to<br>the bread and butter of the web programming world. &nbsp;Learning how to use
<br>some combination of Twisted tools to generate a web page will always be<br>at least a little bit harder than writing the sort of glorified CGI<br>script that most web frameworks require these days - unless you&#39;re using
<br>something like Athena, which might be too much complexity to address in<br>a single tutorial session. &nbsp;(And while Athena is more polished and &quot;one<br>right way&quot; than the lower-level HTTP stuff, there is still a painful
<br>dearth of documentation, not to mention the fact that you need to write<br>JavaScript as well as Python.)</blockquote><div><br>&quot;Comet&quot; (aka what Athena does) is one of my main uses of twisted, see<br><br><a href="http://svn.xantus.org/shortbus/trunk/cometd-twisted/">
http://svn.xantus.org/shortbus/trunk/cometd-twisted/</a><br><br>is some code that I use.&nbsp; <br><br>That and other ajax-y stuff.&nbsp; Not much templating html, etc.<br><br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><br>Twisted really shines best when you&#39;re writing a client as well as a<br>server. &nbsp;Chat is the quintessential application where Twisted makes the<br>most sense - and the lack of a well-documented chat server is much less
<br>of a problem than the lack of a well-documented web server, since you<br>can easily define a wire protocol and wacky semantics for your purpose-<br>built tutorial chat application.</blockquote><div>Yes!<br>&nbsp;<br></div>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><div class="Ih2E3d">&gt;b) then plug that into a simple sqlite database using<br>&gt;&quot;
twisted.enterprise&quot;<br><br></div>twisted.enterprise is similarly a scary and inconsistent area, and<br>requires understanding the interaction of the DB thread and the reactor<br>thread. &nbsp;(And at least part of this section would have to be dedicated
<br>to &quot;and never, ever touch anything in this package aside from adbapi&quot;.)</blockquote><div><br>I only ever use &#39;adbapi&#39;.&nbsp; The reason I say this is database functionality<br>is pretty darn important for all non-trivial programs, so programmers need/want
<br>to know about this functionality, wouldn&#39;t you agree?<br>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br><div class="Ih2E3d">
&gt;d) Show how using &quot;twistd&quot; is really convient<br>&gt;(i.e. &quot;twistd -ny server.tac&quot; and &quot;twistd -y server.tac&quot;, with some<br>&gt;logging<br>&gt;capability, etc)<br><br></div>This, however, is a great suggestion. &nbsp;Twisted plugins should be part of
<br>this discussion.&nbsp;<br></blockquote><div>Yes.<br><br><br>Thanks again for Twisted!<br><br>-Alex<br>&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br><div><div></div><div class="Wj3C7c"><br>_______________________________________________<br>Twisted-Python mailing list<br><a href="mailto:Twisted-Python@twistedmatrix.com">Twisted-Python@twistedmatrix.com</a><br><a href="http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python" target="_blank">
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python</a><br></div></div></blockquote></div><br>