~ntt-pf-lab/nova/monkey_patch_notification

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/doc/historic/2003/pycon/conch/conch

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
from slides import Slide, Bullet, SubBullet, URL
 
3
from twslides import Lecture
 
4
 
 
5
lecture = Lecture(
 
6
    "Twisted.Conch: SSH in Python",
 
7
    Slide("Introduction",
 
8
    ),
 
9
    Slide("Other implementations (servers)",
 
10
        Bullet("OpenSSH",
 
11
            SubBullet(URL("http://www.openssh.org")),
 
12
        ),
 
13
        Bullet("FSecure SSH",
 
14
            SubBullet(URL("http://www.f-secure.com/products/ssh/")),
 
15
        ),
 
16
        Bullet("LSH",
 
17
            SubBullet(URL("http://www.lysator.liu.se/~nisse/lsh/")),
 
18
        ),
 
19
    ),
 
20
    Slide("Other implementations (clients)",
 
21
        Bullet("PuTTY",
 
22
            SubBullet(URL("http://www.chiark.greenend.org.uk/~sgtatham/putty/")),
 
23
        ),
 
24
        Bullet("TeraTerm",
 
25
            SubBullet(URL("http://www.ayera.com/teraterm/")),
 
26
        ),
 
27
        Bullet("MindTerm",
 
28
            SubBullet(URL("http://www.appgate.com/mindterm/")),
 
29
        ),
 
30
    ),
 
31
    Slide("Why Twisted?",
 
32
        Bullet("Asynchronous"),
 
33
        Bullet("Python"),
 
34
        Bullet("High-Level"),
 
35
    ),
 
36
    Slide("No Forking or Threads",
 
37
        Bullet("Forking is expensive"),
 
38
        Bullet("Threads are complicated/expensive, esp. in Python"),
 
39
        Bullet("Asynch means no worrying about any of that"),
 
40
        Bullet("Makes running a session 2x as fast in Conch as in OpenSSH"),
 
41
    ),
 
42
    Slide("Security - No Pointers",
 
43
        SubBullet("No buffer overflows"),
 
44
        SubBullet("No off-by-1 errors"),
 
45
        SubBullet("No malloc/free bugs"),
 
46
        SubBullet("No arbitrary code execution"),
 
47
    ),
 
48
    Slide("Security - High Level",
 
49
        Bullet("Strong built-in library"),
 
50
        Bullet("Exceptions"),
 
51
    ),
 
52
    Slide("Security - Not Root",
 
53
        Bullet("Limits vulnerablity in a compromise"),
 
54
        Bullet("Allows use of process limits/etc."),
 
55
    ),
 
56
    Slide("Interfacing with other software",
 
57
        Bullet("OpenSSH interacts only through separate processes",
 
58
            SubBullet("Expensive"),
 
59
            SubBullet("Complicated"),
 
60
        ),
 
61
        Bullet("Conch can interact in-process",
 
62
            SubBullet("Faster"),
 
63
            SubBullet("Easy integration to other Twisted and Python libraries"),
 
64
        ),
 
65
    ),
 
66
    Slide("Speed",
 
67
        Bullet("C is faster than Python"),
 
68
        Bullet("Interpreter cost is high for the client"),
 
69
        Bullet("FSH-style connection caching helps a bit"),
 
70
        Bullet("Psyco helps as well"),
 
71
    ),
 
72
    Slide("Age",
 
73
        Bullet("Conch is new",
 
74
            SubBullet("First commit was July 15, 2002"),
 
75
        ),
 
76
        Bullet("Hasn't had a security aduit"),
 
77
        Bullet("Shouldn't be used in security-critical systems"),
 
78
    ),
 
79
    Slide("Applications with Conch",
 
80
        Bullet("Reality: MUD framework"),
 
81
        Bullet("Insults: async. replacement for curses in Conch apps"),
 
82
    ),
 
83
    Slide("Future Directions",
 
84
        Bullet("Generic authentication forwarding"),
 
85
        Bullet("Work on applications"),
 
86
        Bullet("Auditing of the code"),
 
87
        Bullet("Increase speed"),
 
88
        Bullet("SFTP/SCP"),
 
89
        Bullet("Key Agent"),
 
90
        Bullet("DNSSEC"),
 
91
    ),
 
92
    Slide("Conclusion",
 
93
        Bullet("Working implementation in Python"),
 
94
        Bullet("Much room for improvement"),
 
95
    ),
 
96
)
 
97
 
 
98
lecture.renderHTML(".", "conch-%d.html", css="main.css")