Imported Upstream version 12.1.0
[contrib/python-twisted.git] / doc / historic / index.html
1 <?xml version="1.0" encoding="utf-8"?><!DOCTYPE html  PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN'  'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
2   <head>
3 <title>Twisted Documentation: Historical Documents</title>
4 <link href="howto/stylesheet.css" rel="stylesheet" type="text/css"/>
5   </head>
6
7   <body bgcolor="white">
8     <h1 class="title">Historical Documents</h1>
9     <div class="toc"><ol><li><a href="#auto0">2003</a></li><ul><li><a href="#auto1">Python Community Conference</a></li></ul><li><a href="#auto2">Previously</a></li></ol></div>
10     <div class="content">
11 <span/>
12
13 <p>Here are documents which contain no pertinent information or documentation.
14 People from the Twisted team have published them, and they serve as interesting
15 land marks and thoughts. Please don't look here for documentation -- however,
16 if you are interested in the history of Twisted, or want to quote from these
17 documents, feel free. Remember, however -- the documents here may contain
18 wrong information -- they are not updated as Twisted is, to keep their
19 historical value intact.</p>
20
21 <h2>2003<a name="auto0"/></h2>
22 <h3>Python Community Conference<a name="auto1"/></h3>
23
24 <p>These papers were part of the <a href="http://python.org/pycon/" shape="rect">Python Community Conference</a> (PyCon) in March of 2003.</p>
25
26
27
28 <dl>
29   <dt><a href="2003/pycon/deferex.html" shape="rect"><cite>Generalization of Deferred Execution in Python</cite></a></dt>
30   
31   <dd><p>A deceptively simple architectural challenge faced by many
32     multi-tasking applications is gracefully doing nothing.  Systems that
33     must wait for the results of a long-running process, network message, or
34     database query while continuing to perform other tasks must establish
35     conventions for the semantics of waiting.  The simplest of these is
36     blocking in a thread, but it has significant scalability problems.  In
37     asynchronous frameworks, the most common approach is for long-running
38     methods to accept a callback that will be executed when the command
39     completes.  These callbacks will have different signatures depending on
40     the nature of the data being requested, and often, a great deal of code
41     is necessary to glue one portion of an asynchronous networking system to
42     another.  Matters become even more complicated when a developer wants to
43     wait for two different events to complete, requiring the developer to
44     &quot;juggle&quot; the callbacks and create a third, mutually incompatible
45     callback type to handle the final result.</p>
46     
47     <p>This paper describes the mechanism used by the Twisted framework for
48     waiting for the results of long-running operations.  This mechanism,
49     the <code>Deferred</code>, handles the often-neglected problems of
50     error handling, callback juggling, inter-system communication and code
51     readability.</p></dd>
52
53   <dt><a href="2003/pycon/applications/applications.html" shape="rect"><cite>Applications of the Twisted Framework</cite></a></dt>
54
55     <dd><p>Two projects developed using the Twisted framework are described;
56     one, Twisted.names, which is included as part of the Twisted
57     distribution, a domain name server and client API, and one, Pynfo, which
58     is packaged separately, a network information robot.</p></dd>
59
60     <dt><a href="2003/pycon/conch/conch.html" shape="rect"><cite>Twisted Conch: SSH in Python with Twisted</cite></a></dt>
61
62     <dd><p>Conch is an implementation of the Secure Shell Protocol (currently
63     in the IETF standarization process). Secure Shell (or SSH) is a popular
64     protocol for remote shell access, file management and port forwarding
65     protected by military-grade security. SSH supports multiple encryption and
66     compression protocols for the wire transports, and a flexible system of
67     multiplexed channels on top. Conch uses the Twisted networking framework
68     to supply a library which can be used to implement both SSH clients and
69     servers. In addition, it also contains several ready made client programs,
70     including a drop-in replacement for the OpenSSH program from the OpenBSD
71     project.</p></dd>
72
73     <dt><a href="2003/pycon/lore/lore.html" shape="rect"><cite>The Lore Document Generation Framework</cite></a></dt>
74
75     <dd><p>Lore is a documentation generation system which uses a limited
76     subset of XHTML, together with some class attributes, as its source
77     format. This allows for lower barrier of entry than many other similar
78     systems, since HTML authoring tools are plentiful as is knowledge of
79     HTML writing. As an added advantage, the source format is viewable
80     directly, so that even if Lore is not available the documentation is
81     useful. It currently outputs LaTeX and HTML, which allows for most
82     use-cases.</p></dd>
83
84     <dt><a href="2003/pycon/pb/pb.html" shape="rect"><cite>Perspective Broker: <q>Translucent</q> Remote Method calls in Twisted</cite></a></dt>
85
86     <dd><p>One of the core services provided by the Twisted networking
87     framework is <q>Perspective Broker</q>, which provides a clean, secure,
88     easy-to-use Remote Procedure Call (RPC) mechanism. This paper explains the
89     novel features of PB, describes the security model and its implementation,
90     and provides brief examples of usage.</p></dd>
91
92     <dt><a href="2003/pycon/releasing/releasing.html" shape="rect"><cite>Managing the Release of a Large Python Project</cite></a></dt>
93
94     <dd><p>Twisted is a Python networking framework. At last count, the
95     project contains nearly 60,000 lines of effective code (not comments or
96     blank lines). When preparing a release, many details must be checked, and
97     many steps must be followed. We describe here the technologies and tools
98     we use, and explain how we built tools on top of them which help us make
99     releasing as painless as possible.</p></dd>
100
101     <dt><a href="2003/pycon/twisted-reality/twisted-reality.html" shape="rect"><cite>Twisted Reality: A Flexible Framework for Virtual Worlds</cite></a></dt>
102
103     <dd><p>Flexibly modelling virtual worlds in object-oriented languages has
104       historically been difficult; the issues arising from multiple
105       inheritance and order-of-execution resolution have limited the
106       sophistication of existing object-oriented simulations. Twisted
107       Reality avoids these problems by reifying both actions and
108       relationships, and avoiding inheritance in favor of automated
109       composition through adapters and interfaces.</p></dd>
110 </dl>
111
112 <h2>Previously<a name="auto2"/></h2>
113
114 <ul>
115 <li><a href="ipc10paper.html" shape="rect">The paper Glyph and Moshe presented in
116     IPC10</a></li>
117 <li><a href="ipc10errata.html" shape="rect">The errata published in IPC10 against the
118     paper.</a></li>
119 <li><a href="twisted-debian.html" shape="rect">A paper Moshe wrote about Twisted and
120     Debian.</a></li>
121 </ul>
122
123 </div>
124
125     <p><a href="howto/index.html">Index</a></p>
126     <span class="version">Version: 12.1.0</span>
127   </body>
128 </html>