2005-01-22 00:58


Python Performance Tips

bad knowhow

2005-01-22 00:50


CherryPy - a pythonic, object-oriented web development framework

pythonのMVCで作られたWEBアプリケーション開発フレームワーク

2005-01-22 00:38


Using Growl, Rendezvous and Python for LAN notifications

using pyzeroconf to send growl notifications across the network

2005-01-22 00:25


zone.effbot.org ::: www.effbot.org

A bunch of neat little articles, mostly python.

2005-01-22 00:20


rentzsch.com: rsspipe: Pipe the command line to RSS

rsspipe is a simple python 2.3 script that reads stdin and outputs the last 100 lines as an RSS 0.92 file, one RSS item ("headline") per line.

2005-01-22 00:18


And now for something completely different: Instant Python

This is a minimal crash-course in the programming language Python.

2005-01-21 23:24


Cover Pages: Independent Developers Release Draft Version of RSS 1.1 (RDF Site Summary).

they are adding support for Python, OWL, Relax-NG; adding back support for RDF

2005-01-21 23:02


Getters/Setters/Fuxors

In Java you enhance the IDE, in Python you enhance the language.

2005-01-21 22:39


We called him Tortoise because he taught us.

nice

2005-01-21 21:46


Martijn Faassen: Relax NG support, C14N

Some progress over the last few days: I've added basic Relax NG support to lxml. lxml.etree introduces a new class, lxml.etree.RelaxNG. The class can be given an ElementTree object to construct a Relax NG validator: >>> f = StringIO('''\ ... <element name="a" xmlns="http://relaxng.org/ns/structure/1.0"> ...

2005-01-21 21:41


Deadly Bloody Serious about Python - Garth Kidd: Clarity

Okay, I was ambiguous. In Generics, guards, __typecheck__, adapt... I said: __typecheck__ is clumsy and un-necessary: why not just use adapt and be done with it? Daily Python-URL trimmed that when they quoted: __typecheck__ is clumsy and un-necessary. That's going from bad to woerse, so I should clarify: I think the identifier __typecheck__ is clumsy.

2005-01-21 21:33


Efectos Especiales: Use your Magi-Nation

I received a truckload of Magi-Nation boosters yesterday. This greatly improves my card collection; maybe someday I will be able to build decks. ...

2005-01-21 21:30


it's getting better - David Brown: import solutions

I love posting about problems on my weblog. Inevitably, if there's a solution out there, someone points me at it. This is exactly what happened with my previous entry. Thanks, Frederik, and thanks, Patrick! Needless to say, it will be possible to do things the way I want to do them, importing python modules directly from the Frontier object database. Now the frustrating part is waiting until I can get home to do the work.

2005-01-21 20:55


Ned Batchelder: We're looking for QE contractors

Kubi Software (my employer) is looking for QE contractors, or possibly contract-to-hire. See the job posting at dice.com for details! Hurry! Limited time offer! Send me an email if you're interested.

2005-01-21 18:32


it's getting better - David Brown: current status

python integration status (two steps forward, one step back) I've been quiet lately, for a couple of reasons. One reason is that I haven't been making the progress that I'd like on the integration -- life keeps getting in the way. Another is because I'm close.

2005-01-21 17:14


Golden Spud's Python Blog: Getters/Setters/Fuxors

Getters/Setters/Fuxors: Many people coming to Python can&#8217;t believe no one uses IDEs. The automatic assumption is that Python is for old grey beards who are comfortable with vi and Emacs and refuse to accept breakthroughs in programming productivity like IDEs. Then they write a little Python code and realize that an IDE would just get in their way. I can definitely relate to this.

2005-01-21 16:48


Small Values of Cool - Simon Brunning: "Mostly Python. with ample helpings of C++"

If it's good enough for Google...

2005-01-21 15:51


Blue Sky On Mars: Using CSS for print

Another good one from Slashdot. XML.com: Printing XML: Why CSS Is Better than XSL. Of course, it would be nice web browsers supported all of the CSS printing goodness that they outline.

2005-01-21 15:43


Blue Sky On Mars: Enforceability of EULAs

Don Shelkey, the author of Enforceability of EULA's [1] is a lawyer (not providing legal advice, of course). This article provides a quick review of how the courts have viewed End User License Agreements. It appears that in many cases, a click-through license agreement is enforceable as a contract.

2005-01-21 13:32


The Dreamer: Python meetup in Bangalore tomorrow

There&#8217;s a Python meetup at Ebony Restaurant, Bangalore tomorrow at 7.30 pm. Please do join if you are interested. Anand Pillai has taken up the initiative for the gathering. Details of the venue are as follows: Barton Center is a prominent building on M.G Road a few yards after Higgin Bothams & Indian Coffee House, when you walk from the Brigade road end towards Cubbon Park end.

2005-01-21 12:30


Bob Ippolito: More PyObjC Trunk News

PyObjCTools.AppHelper.runEventLoop() will now bring your application to the front at startup when using pdb mode for convenience. objc.loadBundle() no longer filters the class list. This solves a few potential issues and shaves off about 1/3rd of the overhead of python -c "import AppKit". PyObjCTools.AppHelper.runEventLoop() no longer breaks on pure Objective-C exceptions. Most exceptions of this variety are more like warnings, and there is nothing that can be done them anyway. PyObjCTools.AppHelper.runEventLoop() now installs the interrupt handler and verbose exception logging when using pdb, either explicitly or by the USE_PDB environment variable. I've also made some more progress on the (still marked NonFunctional) RemotePyInterpreter example.

2005-01-21 10:21


Mark Williamson: Strawmen

Strawmen If I was being cynical then I would suggest that this was just a ruse to get more readers. Its a classic technique - have a over the top pop at something thats widely accepted and wait for the controversy to generate lots of links and traffic for your site. I wonder if other fields do this.

2005-01-21 09:10


Ted Leung on the Air: PyCon Program is out

The program for PyCon 2005 is now available. Early bird registration ends January 28th (next Friday), so register now. A few notes: The presentation on parcels in Chandler will given by Katie Capps Parlante and me, not just me.

2005-01-21 08:00


Peter Bengtsson: niceboolean() - converts what you say to what you mean

In recent code in the IssueTrackerProduct I needed to have a cgi parameter called remember-filterlogic so the URL might look like this: ListIssues?rememeber-filterlogic=no & Filterlogic=show . Because I want the cgi parameters to look human I had to write the following little utility function:   def   niceboolean ( value ):         falseness   =   ( '' , 'no' , 'off' , 'false' , 'none' , '0' ,   'f' )         return   str ( value ). lower ().

2005-01-21 07:28


Ted Leung on the Air: You can use wget to post

[via fintanr's weblog ]: wget --post-data 'really_long_set_of_options' http://foo.com/cgi/myScript

2005-01-21 04:49


James Tauber: Tim on Tags

Tim on Tags Tim Bray has a great post on tags. Some of the topics: technorati tags versus using dc:subject URIs for tags and rolling your own versus using someone else's tagging the html page (with link) versus other techniques which will include the tag in the feed entry the value of specifying a scheme to ground the meaning of a category / tag plus some great closing questions, none of which I have answers for myself, except maybe why I think I need categories in Leonardo. Here are two user stories I wrote on the Leonardo mailing list: Story #1: Albert occasionally says some good things about FOO on his blog and Planet FOO is interested in aggregating them. However, they don't want to aggregate Albert's non-FOO posts so they'd like a feed just of his FOO topics. Story #2: Betty is working on a project and provides updates on her blog.

2005-01-21 04:27


Ian Bicking: Re: Theory and Practice

I was just reading through a bit of OOP Is Much Better in Theory Than in Practice (via). A lot of these kinds of critiques trigger my grumpy curmudgeon bit, so I often dismiss them (maybe this is a sign of ageism on my part). Often I think they blame a concept for the effects of a process, or take one concept and use it as a symbol for everything they dislike, regardless of the applicability. Here, he critiques OO, but to me it seems like he's really complaining about B&D programming. It's weird, because I'd never think about condemning OOP. It would be like condemning the for statement.

2005-01-21 04:17


Making It Stick (Patrick Logan): OOP Is Much Better in Theory Than in Practice?

Lambda the Ultimate discusses the merit of an article as well as its content. Again against the object. I think OOP is better in practice than in theory. But then I value practice more than theory.

2005-01-21 03:34


Making It Stick (Patrick Logan): Guessing from the Terminal

Mountains of wisdom from the Mountain of Worthless Information... Next time you're in a meeting with folks and somebody asks you how long you think it'll take, be sure to tell them whether this is a "from the terminal" sort of guess, or a "from the ground" sort of guess. The difference? Until you've been-there-done-that, and have something against which to measure their requests (meaning you have some kind of experience with the things in question, ideally having built something like it before), your estimates are likely to be all "from the terminal" guesses, and highly likely to be wildly off base.

2005-01-21 03:30


Making It Stick (Patrick Logan): Smug Lisp Weenies

John Stephen Jacob Anderson, apparently a SmugLispWeenie if there ever was one, writes... Python was the subset of Lisp that was understandable by C++ programmers. Being at least a former SmugLispWeenie myself I am having trouble disagreeing. Which is not to say Python is bad, it just loses in certain significant ways that Lisp does not. Update based comments: "outside of the CS department" Ouch. I think Lisp is safely outside the CS dept. If we could get it *into* the CS dept.

2005-01-21 03:25


Making It Stick (Patrick Logan): Cairo as well as OpenGL

From "The (Re)Architecture of the X Window System" a progress report on Cairo... This integration of the familiar PostScript operational model within the native application language environments provides a simple and powerful new tool for graphics application development... Cairo's rendering algorithms use work done in the 1980's by Guibas, Ramshaw, and Stolfi [GRS83] along with work by John Hobby [Hob85], which has never been exploited in Postscript or in Windows. The implementation is fast, precise, and numerically stable, supports hardware acceleration, and is in advance of commercial systems... Cairo is in the late stages of development and is being widely adopted in the open source community. It includes the ability to render to Postscript and a PDF back end is planned, which should greatly improve applications' printing support.

2005-01-21 03:19


Making It Stick (Patrick Logan): From the "What's That Again?" Department

From CNN... "Poll: Nation split on Bush as uniter or divider" Well then, apparently we have our answer.

2005-01-21 03:10


Making It Stick (Patrick Logan): Models for Backwards Navigation

Nice alternative implementation of a continuation-like web mechanism for languages without first-class continuations. Unwittingly explains the *conceptual* model of continuation-based web servers. Languages with continuations offer a better *programming* model by simplifying the web programmer's *mental* model. If you are familiar with web programming but unfamiliar with continuations, read this one first to get the concept, then read about continuation-based implementations.

2005-01-21 03:04


Making It Stick (Patrick Logan): Wiki and Comment Spam

I've not written my own wiki or blog system, and not thought about this problem at all. Given that, what if a form of "email authentication" was used to approve wiki edits and blog comments? (I think I've seen this somewhere but can't get google to remind me where.) Someone edits a wiki page or adds a comment. The change is suspended until "authenticated". At this point the person enters an email address (of some determinably accountable, non-transient nature). The change or some indication is sent to the email address. Upon receipt of the response or via an http form in the email, the change is accepted. In addition to other filtering and governing, the site now also has an email address.

2005-01-21 02:47


James Tauber: Comparison with A-List Blogger

Comparison with A-List Blogger Not sure if he would call himself an A-List Blogger, but Jeremy Wright's blog is certainly right up there. He's just published some stats so I thought it would be interesting to do a comparison between him and someone whose blog is a little further down the Long Tail (me!) PubSub Rank: 441 versus 43,827 Technorati Rank: 1,458 versus 34,528 Monthly visitors: 208,000 versus either 8,000 (unique IP) or 36,000 (visits) Monthly pageviews: 510,000 versus 92,000 But here is an interesting one that I looked up directly: Bloglines subscribers: 207 versus 144 Which raises the interesting question: why does Jeremy have so few Bloglines subscribers given his other stats?

2005-01-21 01:39


Second p0st - Phillip Pearson: Want some domains? zythonics.* available for free

Robert Barksdale has some domains he wants to give away. If you have a project with something to do with Python, Zope, Plone, or something, and want to use the following "Zythonics" domains, drop him a line and he might transfer them over to you (and maybe renew them for another year...?).     zythonics.com     zythonics.net     zythonics.org Comment

2005-01-21 01:12


Matt Croydon: Pycon 2005 Preliminary Program Announced!

This gem showed up in my inbox tonight: You will be happy to know that the PyCon Program Committee, after lengthy deliberations, has now finalized the program for PyCon DC 2005. I can tell you that the decision-making was very difficult, as the standard of submissions was even higher than last year. The preliminary schedule is online. It looks like a great collection of stuff this year. I&#8217;m going to do my best to make it there and will try to organize a Python for Series 60 BoF or open session.

2005-01-21 01:04


Hmm

Fredrik thinks about what 'iterparse' should return.

2005-01-21 01:03


Garth Kidd: Guido might just have nailed it this time

Hey, '__typecheck__' would solve problems of mine, too: I could overload it to do the '__force__' stuff for my lazy evaluation magic, too. No need anymore to provide loads of '__...__' magic methods to force evaluation of a promise. Yep, I think it would be cool if '__typecheck__' could make it into Python.

2005-01-21 01:02


CherryPy: two enthusiastic thumbs up

Before CherryPy could be finished, I needed to get a persistence layer working. I decided on SQLObject, since it was what the CherryPy tutorials used. Finishing up with CherryPy was remarkably smooth. I used the CherryPy templating system (which I really like) and was able to get authentication together without any significant effort. In no time at all, I was finished the library program. It took me significantly less time than it did with either of Quixote or Webware, and I'm very happy with the code that was produced. CherryPy needs more documenting, but otherwise it gets two enthusiastic thumbs up.

2005-01-21 01:02


Draft PyCon schedule posted

A draft version of the PyCon schedule is now online, so you can now take a look and judge whether the program looks interesting enough for you to attend.

2005-01-21 01:01


Choose Python

A little doodle I came up with whilst waiting for my C++ debugger to sync up with my target device. I think I'm going to have it made into a T-shirt.

2005-01-21 01:01


PlanetPython: New blogs

Updates: 1. Added Swaroop's blog "The Dreamer". 2. Added Mark Williamson's blog. 3. Removed a few duplicate RSS entries (oops!).

2005-01-21 01:01


A whole slice of CherryPy

I played around with CherryPy a bit more and created a few test pages. I really like how Python classes, methods and arguments map on to URLs' paths and queries. I'm also a fan of how CherryPy lets you use generators to gradually build up the returned page, rather than having to concatenate to a long string that you eventually return. The aspect code meant that I was able to create a parent LibraryPage that ensures that a user is logged in if they want to visit any other page. Then I just need to ensure that LibraryPage is a parent of my other pages, and permissions are automatically taken care of for me. Clean code. I also really like how I can manipulate the response so easily.

2005-01-21 01:01


Not dead yet

I'm still here. I've been quiet because a) I've been hitting some walls with Renaissance and investigating work-arounds and alternatives, and b) my coding/blogging time is pretty much between the time I get the kids to bed and the time my wife comes home from tutoring. I'm investigating the PyGUI and Wax APIs, to see if they are worth porting to run on top of Cocoa (PyGUI runs on Carbon, Wax runs on top of wxPython). Both are attempts to make GUI creation more "Pythonic", which is a Good Thing&#8482;. In other news, I will be giving a presentation at the Vancouver Zope and Python Users Group. It will be a variation on the talk I gave in December to the XML users group, updated with what I've been exploring since then. Specifically I will show a simple application built three different ways, with Renaissance, with Interface Builder, and in pure Python. I'll also show some apps written in other toolkits (wxPython, tkinter) for comparison.

2005-01-21 01:01


Firedrop build 20050119-2204 available

A new build of Firedrop is available. It now supports posts in reST format. Patches contributed by Michael Foord. I will probably make a few more changes to Firedrop in the next few days.

2005-01-21 01:00


Special cases

Very interesting London Java Meetup on Wednesday night. I had a very interesting chat with James about Sun's new interest in dynamic languages, and Groovy, his baby. It's interesting to see the differences and similarities between the philosophies of Groovy and Python. One thing that James and (channelling) Guido agree on is that simplicity is good. They disagree on what constitutes simplicity, though. Take functions for a moment. In both Python and Groovy, functions and methods are 'first class', which means that they are objects in their own right, and can be passed around like any other object. They differ in how that's done, though.

2005-01-21 01:00


AutomaticClass

Basic idea: Using this class as a base class, you can quickly create new classes that know what its attributes are. This is useful for simple, struct-like classes that have no methods of their own. After all, class syntax is more convenient than dict syntax.