Ejemplo n.º 1
0
    
    Slide("Webware's shotgun approach",
          Bullet("Implemented by Jason Hildebrand (", URL("http://peaceworks.ca"), ")"),
          Bullet("Put in a hook to keep track of files being used.",
                 SubBullet(Bullet("you can also manually add files"))),
          Bullet("Poll all files regularly (like every second)",
                 SubBullet(Bullet("Or uses libfam to receive change events instead of polling"))),
          Bullet("When any file has changed, restart the system"),
          Bullet("Look in ",
                 TT("Webware.WebKit.ImportSpy")),
          Bullet("Doesn't have any Webware dependencies"),
          ),
    
    Slide("Webware's shotgun restart",
          Bullet("The application server is started with a shell script:",
                 PRE("""\
retcode=3
while test $retcode -eq 3; do
    /usr/bin/env python $OPTIONS Launch.py ThreadedAppServer $*
    retcode=$?
done
""")),
          Bullet("So we exit with error code 3 when we want to restart"),
          Bullet("Restarts are fast, so by the time you've saved your file and returned to the "
                 "browser, you're all ready"),
          Bullet("No corner cases, no cleverness, It Just Works"),
          ),
    )

lecture.renderHTML("reload_slides", "slide-%d.html", css="slides.css")
Ejemplo n.º 2
0
    Slide("Future Projects",
          Bullet("Status Delivery through other protocols",
                 SubBullet("Email with build results and logfiles"),
                 SubBullet("IRC notification, interactive status queries"),
                 SubBullet("panel applet with highly summarized status"),
                 ),
          Bullet("Tracking test failures, history of each test"),
          Bullet("Project-specific blame assignment, owner notification"),
          Bullet("Web-based Builder Configuration"),
          Bullet("bug-tracking integration"),
          Bullet("'try': run tests on not-yet-committed changes"),
          ),

    Slide("More Information",
          Bullet("Home Page: ",
                 URL("http://buildbot.sourceforge.net/")),
          Bullet("Sourceforge project page",
                 SubBullet("This paper and slides"),
                 SubBullet("Source available in CVS"),
                 SubBullet("Mailing list"),
                 SubBullet("Pointers to existing installations"),
                 ),
          Bullet("Please join the mailing list to find out about releases"),
          ),


    )

lecture.renderHTML("slides", "slide-%02d.html", css="main.css")
Ejemplo n.º 3
0
                '<span class="py-src-identifier">Service</span>: something a user can request access to'
            )
        ),
        Bullet(
            HTML(
                '<span class="py-src-identifier">Perspective</span>: user accessing a service'
            )
        ),
        Bullet(
            HTML(
                '<span class="py-src-identifier">pb.Perspective</span>: first object, a <span class="py-src-identifier">pb.Referenceable</span> used to access everything else'
            )
        ),
    ),
    # picture would help
    Slide(
        "Future directions",
        Bullet(
            "Other language bindings: Java, elisp, Haskell, Scheme, JavaScript, OCaml"
        ),
        # donovan is doing the JavaScript port
        Bullet("Other transports: UDP, Airhook"),
        Bullet("Componentization"),
        Bullet("Performance improvements: C extension for Jelly"),
        Bullet("Refactor addressing model: PB URLs"),
    ),
    Slide("Questions", Bullet("???")),
)

lecture.renderHTML("slides", "slide-%02d.html", css="stylesheet.css")
Ejemplo n.º 4
0
        Bullet("twisted.web - Web server framework"),
        Bullet("twisted.news - NNTP server framework"),
        Bullet("twisted.words - messaging framework"),
        Bullet("twisted.names - DNS server"),
    ),
    Slide(
        "Perspective Broker",
        Bullet("Object publishing protocol"),
        Bullet("Fast, efficient and extendable"),
        Bullet("Two-way, asynchronous"),
        Bullet("Secure and encourages secure model"),
        Bullet("Implemented in Python for Twisted, and Java"),
    ),
    Slide(
        "Lore",
        Bullet("Simple documentation system"),
        Bullet("Simple subset of XHTML"),
        Bullet("Generates LaTeX, XHTML"),
    ),
    Slide(
        "Reality",
        Bullet("Multiplayer text simulation framework"),
        Bullet("Original source of Twisted project"),
        Bullet("Now a totally different project"),
    ),
)


if __name__ == "__main__":
    lecture.renderHTML(".", "twisted_internet-%02d.html", css="main.css")
Ejemplo n.º 5
0
                 SubBullet("They are recognized when they return, transformed into the original reference"),
                 SubBullet("Reference ids are scoped to the connection"),
                 SubBullet("One side-effect: no 'third party' references"),
                 ),
          ),

    Slide("Perspectives: pb.cred and the Identity/Service model",
          Bullet("A layer to provide common authentication services to Twisted applications"),
          Bullet(HTML("<span class=\"py-src-identifier\">Identity</span>: named user accounts with passwords")),
          Bullet(HTML("<span class=\"py-src-identifier\">Service</span>: something a user can request access to")),
          Bullet(HTML("<span class=\"py-src-identifier\">Perspective</span>: user accessing a service")),
          Bullet(HTML("<span class=\"py-src-identifier\">pb.Perspective</span>: first object, a <span class=\"py-src-identifier\">pb.Referenceable</span> used to access everything else")),
          ),
    #picture would help

    Slide("Future directions",
          Bullet("Other language bindings: Java, elisp, Haskell, Scheme, JavaScript, OCaml"),
          # donovan is doing the JavaScript port
          Bullet("Other transports: UDP, Airhook"),
          Bullet("Componentization"),
          Bullet("Performance improvements: C extension for Jelly"),
          Bullet("Refactor addressing model: PB URLs"),
          ),

    Slide("Questions", Bullet("???")),

    )

lecture.renderHTML("slides", "slide-%02d.html", css="stylesheet.css")

Ejemplo n.º 6
0
                lastVal = logoEval(interp, block)
            except LogoContinue:
                pass
    except LogoBreak:
        lastVal = None
        pass
    return lastVal
logoWhile.logoAware = 1
logoWhile.logoName = 'while'
""")),

    Slide(
    "Why you might want to work on PyLogo",
    Bullet("Python has a bunch of libraries that would be nice to make available "
           "to a Logo user"),
    Bullet("The PyLogo interpreter is really easy to play with (Logo is a <i>very</i> "
           " simple language)"),
    Bullet("Unfortunately, I get really distracted with different projects, so I "
           "haven't been able to keep moving it forward."),
    Bullet("Also, I'm not very experienced with GUI programming, and a Logo environment "
           "should have a good interface"),
    Bullet("But PyLogo has almost no professional potential, so it's just plain "
           "fun"),
    Bullet("Writing languages is fun.  But hard.  Playing around with a toy language "
           "is educational, but ultimately not useful for anyone else."),
    Bullet("But Logo is a toy language that isn't just a toy!"),
    Bullet("Reminder: <b><tt>http://pylogo.org</tt></b>"),
    ))

lecture.renderHTML("logo_slides", "slide-%d.html", css="slides.css")
Ejemplo n.º 7
0
          Bullet("SSH, HTTP, SMTP, IRC, POP3, telnet, FTP, TOC, OSCAR, SOCKSv4, finger, DNS, NNTP, IMAP, LDAP"),
          Bullet("Common GPS modem protocols")),

    Slide("Frameworks",
          Bullet("twisted.web - Web server framework"),
          Bullet("twisted.news - NNTP server framework"),
          Bullet("twisted.words - messaging framework"),
          Bullet("twisted.names - DNS server")),

    Slide("Perspective Broker",
          Bullet("Object publishing protocol"),
          Bullet("Fast, efficient and extendable"),
          Bullet("Two-way, asynchronous"),
          Bullet("Secure and encourages secure model"),
          Bullet("Implemented in Python for Twisted, and Java")),

    Slide("Lore",
          Bullet("Simple documentation system"),
          Bullet("Simple subset of XHTML"),
          Bullet("Generates LaTeX, XHTML")),

    Slide("Reality",
          Bullet("Multiplayer text simulation framework"),
          Bullet("Original source of Twisted project"),
          Bullet("Now a totally different project")),
)


if __name__ == '__main__':
    lecture.renderHTML(".", "twisted_internet-%02d.html", css="main.css")
Ejemplo n.º 8
0
    
    Slide("Future Projects",
          Bullet("Status Delivery through other protocols",
                 SubBullet("Email with build results and logfiles"),
                 SubBullet("IRC notification, interactive status queries"),
                 SubBullet("panel applet with highly summarized status"),
                 ),
          Bullet("Tracking test failures, history of each test"),
          Bullet("Project-specific blame assignment, owner notification"),
          Bullet("Web-based Builder Configuration"),
          Bullet("bug-tracking integration"),
          Bullet("'try': run tests on not-yet-committed changes"),
          ),

    Slide("More Information",
          Bullet("Home Page: ",
                 URL("http://buildbot.sourceforge.net/")),
          Bullet("Sourceforge project page",
                 SubBullet("This paper and slides"),
                 SubBullet("Source available in CVS"),
                 SubBullet("Mailing list"),
                 SubBullet("Pointers to existing installations"),
                 ),
          Bullet("Please join the mailing list to find out about releases"),
          ),
    
    
    )

lecture.renderHTML("slides", "slide-%02d.html", css="main.css")