this week's Python resources

Kragen Sitaker kragen@pobox.com
Tue, 28 May 2002 07:48:17 -0400 (EDT)


QOTW:

    Object-oriented programming is an exceptionally bad idea which
    could only have originated in California.
        - Edsger Dijkstra (attributed) (quoted by Joost Jacob)

Programming Libraries:

    PyUnitTestBrowser, a GUI test runner for PyUnit ('import
    unittest') tests, has been released, because its author was
    terribly disappointed by the primitive nature of existing GUI test
    runners.
        http://groups.google.com/groups?selm=acr79g%24fka%40dispatch.concentric.net

    NuxDocument, a Zope product that converts files from various
    formats into HTML and plain text, supporting Microsoft Word,
    Excel, PowerPoint, OpenOffice formats, RTF, and PDF, released
    version 0.9.2 on 2002-05-27.
        http://www.nuxeo.org/nuxdocument/

    Biggles, a module for publication-quality 2D scientific data plots
    with output to PostScript, X11, and some raster formats, released
    version 1.6.2 on 2002-05-26.
        http://biggles.sourceforge.net/

    Holger Krekel mentions that he has rewritten rlcompleter, the
    readline completer module, so that it works better.  Michael
    Hudson is impressed.
        http://groups.google.com/groups?selm=mailman.1022012880.3531.python-list%40python.org

    PySQLite, a DB-API-compliant interface to the free-software SQLite
    SQL embedded database library, which is written in C, has released
    version 0.1.
        http://groups.google.com/groups?selm=mailman.1022168306.17444.python-list%40python.org

    Greg Ewing posted some portable pathname manipulation utility
    functions.
        http://groups.google.com/groups?selm=3CEC5E05.396422FC%40replyto.address.invalid

Python Programs:

    JinSitu, an interactive introspection environment for Java and
    Jython, with Emacs-style interactive evaluation, an object tree
    display, and javadoc integration, has released version 0.2.
        http://groups.google.com/groups?selm=acekba%247a0%240%40dosa.alt.net

    Current, a server for Red Hat's up2date protocol for distributing
    software updates to a group of machines, released stable version
    1.0.4 and development version 1.3.0 on 2002-05-25.
        http://www.biology.duke.edu/computer/unix/current/

Discussion on Features of Python:

    Bengt Richter wonders how much code would break if list
    comprehensions had their own scopes (as new list comprehension
    users usually expect them to) instead of mutating variables in the
    enclosing scope.
        http://groups.google.com/groups?selm=acu6v9%24hlp%240%40216.39.172.122

    Paul Prescod has posted an eloquent apology for Python's design
    philosophy, entitled "On the Relationship Between Python and
    Lisp."
        http://www.prescod.net/python/IsPythonLisp.html

    Quinn Dunkan had some interesting thoughts about when to use
    tuples and when to use lists in Python, and when function syntax
    is preferable to method syntax and vice versa.
        http://groups.google.com/groups?selm=slrnaf293e.td5.quinn%40bolivar.ugcs.caltech.edu
        http://groups.google.com/groups?selm=slrnaf2aah.td5.quinn%40bolivar.ugcs.caltech.edu

    There was some discussion about a general framework for adding new
    grammar rules to Python.
        http://groups.google.com/groups?selm=dopkeusu5c9m8ou2clt89b4dbrmmtd2tre%404ax.com

    Andrew Dalke, Hans Nowak, and Steven Majewski came up with some
    frighteningly creative ways of writing the conditional operator in
    Python.
        http://groups.google.com/groups?selm=Pine.OSX.4.43.0205221906390.17977-100000%40d-128-61-180.bootp.virginia.edu

    There was more discussion about Stackless Python, Limbo, Alef,
    CSP, Occam, and Transputer hardware.  
        http://groups.google.com/groups?selm=uerd0l9d54dac9%40corp.supernews.com
    In fact, there was so much discussion that Christian Tismer got
    irritated trying to sort through it all.
        http://groups.google.com/groups?selm=mailman.1022408207.8430.python-list%40python.org

    Oren Tirosh would like to have 'for any' and 'for every'
    boolean expressions modeled after list comprehensions.
        http://groups.google.com/groups?selm=mailman.1022410902.27422.python-list%40python.org

    Ferdinand Jamitzky wants reduce-comprehensions, analogous to list
    comprehensions.
        http://groups.google.com/groups?selm=f32195af.0205261316.2482d4ac%40posting.google.com

    Simon Budig complains about the statement/expression dichotomy.
        http://groups.google.com/groups?selm=3cf27dda%40si-nic.hrz.uni-siegen.de

    Christopher Craig has implemented Karatsuba multiplication for
    Python long integers, so multiplying pairs of integers both of
    which are larger than about 2**120 (roughly 10**36, an American
    undecillion) should be significantly faster now.
        http://groups.google.com/groups?selm=mailman.1022289403.22367.python-list%40python.org

Problems and Solutions:

    Johann Höchtl wishes Python applications could be executed from
    .par files, like Java .jar files, so they were easier to download.
        http://groups.google.com/groups?selm=3CEBAA0E.20006%40bigfoot.com

    Mark Chalkley, too, would like Python programs to be easier to
    distribute; he currently uses Perl instead, apparently because
    it's easier to distribute Perl programs.
        http://groups.google.com/groups?selm=MPG.175c24a5538e5d7a989687%40news.direcpc.com

    Yet another person is puzzled by the new property machinery
    almost, but not quite, working in old-style classes.
        http://groups.google.com/groups?selm=3CEDB5FB.49EEEDD9%40irl.cri.nz

    Matt Kimball discovers that the problems with threading fairness
    he was having last week weren't really Python's fault:
        http://groups.google.com/groups?selm=mailman.1021993724.8792.python-list%40python.org

    Jeff Epler posts a program to get Tkinter text widgets to size
    themselves to fit the text within them.  It's pretty ugly.
        http://groups.google.com/groups?selm=mailman.1021999536.1228.python-list%40python.org

    Oleg Broytmann describes how he builds the Python interpreter in a
    shared library, more or less by hand, on his Linux box, and
    mentions that Python 2.3 will build shared libraries by default.
        http://groups.google.com/groups?selm=mailman.1022061577.7842.python-list%40python.org

    Michael Williams would like to be able to emulate the Pascal
    'readln' routine in Python for the purpose of teaching
    programming.  The nearest solution in the ensuing thread is the
    dreaded Python 'input', which trusts its input.
        http://groups.google.com/groups?selm=mailman.1022065417.1277.python-list%40python.org

    Paul Boddie and others discussed "cross-site scripting"
    vulnerabilities in Python CGI scripts and other dynamic page
    generators.
        http://groups.google.com/groups?selm=23891c90.0205240307.3eca7a57%40posting.google.com

    Irmen de Jong is working on adding a select loop to Pyro, which is
    threaded, and he asked for help integrating the select loop with
    the threading.
        http://groups.google.com/groups?selm=acqha3%24gli%241%40news1.xs4all.nl

    Scott Gilbert suggests a way to return 'array' objects from a C
    extension module.
        http://groups.google.com/groups?selm=79b2b0bb.0205271824.56773e2b%40posting.google.com

Miscellaneous:

    EuroPython 2002 is next month, June 26-28, in Charleroi, Belgium.
        http://groups.google.com/groups?selm=acg6oc%24gh2%241%40newshost.accu.uu.nl

    Alex Martelli, a C++ expert, eloquently explained why having a
    feature in a language means that programmers have to learn it and
    why it's best not to have multiple different ways to express
    exactly the same thing, and therefore, why C++ is a terrible
    language.
        http://groups.google.com/groups?selm=zEMA8.2731%24CN3.101018%40news2.tin.it

    Python 2.2.1 runs on MS-DOS; I missed this last week.
        http://groups.google.com/groups?selm=3ce7fc1f%240%2426970%249b622d9e%40news.freenet.de

    Lysator is building a build farm for Python called the Snake Farm.
    This should get build problems on various platforms ironed out in
    a hurry.
        http://groups.google.com/groups?selm=mailman.1022222381.31604.python-list%40python.org

    A couple of people requested help learning pyGTK; responses
    pointed to several resources.
      Sample Applications:
        http://landialler.sourceforge.net/ --- a LAN dialer
        http://oomadness.tuxfamily.org/gtablature/en/ --- GTablature
        http://gramps.sourceforge.net/ --- gramps
      Tutorials:
        http://www.icon.co.za/%7Ezapr/Project1.html
        http://www.moeraki.com/pygtktutorial/gtk-tut.html

    There was some discussion about how to handle callbacks written in
    Python in multithreaded applications.
        http://groups.google.com/groups?selm=Xns9217DBE6F4C1Bcliechtigmxnet%4062.2.16.82

    James Besemer wrote a very long, but still interesting,
    description of his experience with performance-critical
    applications and what parts of those apps Python was good for (and
    what parts it wasn't.)
        http://groups.google.com/groups?selm=mailman.1020849410.32598.python-list%40python.org

    Xavier Monsegur wanted to found a New York City Python Users' Group.
        http://groups.google.com/groups?selm=mailman.1022044417.14752.python-list%40python.org

    Various folks tried to figure out how to cite the Python language
    in academic papers.
        http://groups.google.com/groups?selm=7BEH8.1252%24H67.7649%40tor-nn1.netcom.ca
        http://groups.google.com/groups?selm=mailman.1022297561.14994.python-list%40python.org
        http://groups.google.com/groups?selm=4L4I8.9196%24p56.2659365%40newsb.telia.net

    Mark Hadfield got the md5 module to work on his Cray T3E.
        http://groups.google.com/groups?selm=acej75%24c0g%241%40newsreader.mailgate.org

    Not surprisingly, self.__foo-style private attributes don't
    interact well with __slots__, just as they didn't interact well
    with __getattr__ and __setattr__.  A new user was puzzled.
        http://groups.google.com/groups?selm=Xns9218B57730E9cliechtigmxnet%4062.2.16.82

    Damian Menscher wants to be able to display Numerical Python
    arrays in a more compact form.
        http://groups.google.com/groups?selm=awiH8.10159%24U7.121015%40vixen.cso.uiuc.edu

    Wenshan Du, the amazing guy who hacked Chinese language support
    into Python (so he didn't have to write variable names in English)
    a couple of weeks ago, has set up a new web site called "Python
    World".  Most of the content is presently only in Simplified
    Chinese, but he plans to translate it.
        http://groups.google.com/groups?selm=e786d63d.0205262032.5f6182e4%40posting.google.com
        http://dohao.org/python/

    William Dodé has set up a French-language Wiki about Python.
        http://wikipython.tuxfamily.org

-- 
<kragen@pobox.com>       Kragen Sitaker     <http://www.pobox.com/~kragen/>
> Then the object is collected. The finalizer is not run a second time.
Can you cast a spell to resoul an undead object? Do the resouled undead
differ from the living? -- Charles Fiterman on gclist@iecc.com