Monday, January 19, 2009

pyCologne Python User Group, Cologne, Germany, January 14th Notes

The Cologne Python User Group met at the computer centre of the University of Cologne. The meeting was attended by 14 people. German speakers might want to refer to our wiki page

  • Python for Unix and Linux System Administration (J. Jones, N. Gift) O'Reilly

    Python from the perspective of System-Administrators. How to create tools using python.

  • Exploring Python (Markus Nix (Hrsg.), Martin Grimme, Torsten Marek, Michael Weigend, Wolfgang Weitz)

    Attention: The book cover carries an English title. However, the text is in German. The book contains four essays about special Python topics, which are covered thoroughly: Generators, Objectoriented-Programming, gDesklets and "Python and the Java world".
This time we had two talks

Introduction Doug Hellmanns Python Module of The Week (PyMOTW-) series (RalfSchönian)
  • Doug Hellmann writes documentation for Python-Modules on a regular basis and organizes his articles by topics.
  • Additionally, topics can be found using an alphabetic index
  • PyMOTW is an ideal supplement to the Python standard library documentation because it covers certain topics in more detail.
  • There are some translations into other languages like Chinese and Spanish
  • Ralf has started a German translation which he puts on his own homepage for the moment. He invites people to take part and help out translating articles from PyMOTW.
Network- and Server-Programming with Python (KlausBremer)
  • Klaus offered a broad introduction to network-programming with Python. He covered different types of communication with increasing complexity, presenting sample programs as well as specific benchmark results.
  • Foundations of network-programming and the different layers: low-level, sockets, high-level (like: HTTP, FTP, etc.)
  • Presentation of an "echo"-server and its corresponding client using a socket-connection.
  • Introduction of the BaseHTTPServer, which is used as well by the Wiki-System MoinMoin.
  • Several techniques to increase responsiveness of servers by holding and processing many connections at a time:
    • ThreadingTCPServer: Using several threads for processing.
    • ForkingTCPServer: Using several processes instead of threads.
    • At this point, there developed a lively discussion among the participants about the implementation within the Standard-Libray. The Standard-Library delegates only the processing of received data to a thread or process. The reception even of large blocks of data still remains within the main thread/process.
  • Introduction of select() and poll() as methods to process network data from many connections asynchronously without the need to use several threads and processes.
  • As highlevel frameworks CherryPy and Twisted are named.
Please find the addtional information to this talk (in German language) here.

The minutes of the meeting in German language can be found here.

The next meeting will be held on, Wednesday, February, 11th.

We enjoyed the rest of the evening in our usual italian restaurant having food, drinks and friendly conversation.

No comments: