2005-10-15 02:49
urllib2 - The Missing Manual
Fetching URLs With Python
2005-10-15 02:38
Carlos de la Guardia: A visit to the infamous Zope hell
After spending a couple of weeks with my newborn baby I have returned to work and have found a couple of engagements where I have to correct bugs and create new functionality for some pretty big Zope based applications.> >I have been working with Zope for years and I like it, but I am now used to what we could call Zope's best practices for web development, which include creating Python products, working exclusively on the file system, testing, using version control, keeping too much logic out of page templates, documenting the system and more (check the bottom of this post for links).> >The problem with these applications I'm working on is that they are old school: hundreds of Python scripts and page templates all stored in the ZODB. Lots of the scripts call each other freely and there are also a bunch of javascript generating scripts which sometimes include very important pieces of business logic in them, making debugging and following the flow of the application very difficult for people unfamiliar with the code (myself!).> >One of the systems is fairly well laid out and to be fair was developed at a time where information about Zope best practices and Python product development was scarce. The other one, however, seems to be an adaptation of some older system for similar but not altogether equal requirements and the scripts and templates are full of commented-out code and unused logic which make finding out what's going on even harder.> >At least they do not include DTML, which I hate, and the scripts and templates are all organized into folders, so it's not the worst case of Zope hell I have seen, but making even simple changes becomes very difficult in systems like these.> >After spending some time with these systems, I can see why some people loathe Zope and call it unpythonic (well, they call it other things too but they go against my self-imposed editorial policy).
2005-10-15 01:13
Making It Stick (Patrick Logan): Termite
No, I don't know what's up with Termite. I like the idea of Scheme being an UNCOL. But what I really want is an Erlang environment up and running for me. So I decided not to wait for Termite to mature or to rewrite Termite using Gambit's new mailbox mechanism. We are now in the postmodern, dare I say, Web 2.0, era.
2005-10-15 00:48
Making It Stick (Patrick Logan): WS-Interop-In-The-Small
I left a comment on James Robertson's blog re: his item on CORBA and WS. I agree with his point about port 80. (Although CORBA was addressing that just as the SOAP community accelerated.) Still, as far as port 80 and people working hard on the basic interop capabilities go...
2005-10-15 00:33
Making It Stick (Patrick Logan): The Cathedral is the Bizarre (Too)
Jon Udell points out that the cathedral and the bazaar have much in common, perhaps most of all would be their respective ongoing evolution. They are equally bizarre. To the point about Sed and Awk... I am not sure the cathedral or today's bazaar is more coherent.
2005-10-15 00:30
Coverage
Test coverage for Python
2005-10-15 00:29
Python IAQ: Infrequently Answered Questions
Some nice Python tips
2005-10-15 00:04
ZanshinProject
webDAV/calDAV python library
2005-10-14 23:32
David Warnock: Keeping up with TurboGears et al
New release of TurboGears with lots of goodies. See the TurboGears 0.8a1 Changelog.Also see the announcement by Kevin TurboGears 0.8 Released! and his status update: TurboGears going like gangbusters. The growth is impressive with more than 350 now on the mailing list.
2005-10-14 21:33
Mark Paschal: Habbo Islands for Nokia N-Gage
(quick link)
2005-10-14 19:14
Blue Sky On Mars: TurboGears 0.8 Released!
TurboGears 0.8a1 is available now! What’s New This is a brief summary. The complete information about what’s new can be found here: http://www.turbogears.org/about/changelog.html API improvements based on feedback and patches from the first public release. Seven people contributed patches to TurboGears directly, and there’s been quite a bit going on in the other projects. Easier production of XML output from controller methods Static file directories are set up in new quickstarted projects Updates to all of the main included projects IPython is used as the shell, if IPython is available Bonjour support on the Mac New getting started guide, and command line tool and configuration references and a new site template by Sebastian Jansson. Several bug fixes
2005-10-14 19:13
Blue Sky On Mars: TurboGears going like gangbusters
After the slashdotting, Ian Landsman wondered what the extended effect of the slashdotting would be. Certainly, after serving more than 13,000 views of the screencast on Monday, things have tapered off. The 20 Minute Wiki is still getting 1,000 views a day! (That’s 80GB per day, for those watching their waistline bandwidth usage).
2005-10-14 18:26
Matt Harrison: MochiKit DOM helper script
So, I've been trying out MochiKit. The stuff I've done so far seems very straightforward and also functional (as in lispy). Hopefully I'll have something to show for it soon.
2005-10-14 16:47
Sidnei da Silva: Python Parsers
Python Parsers May I need to find a parser again, here's a compilation (no pun intended) of parsers.
2005-10-14 14:48
Django Weblog: Design philosophies documented
We've added a new piece of documentation, Design philosophies, that lays out the fundamental philosophies we've used in creating the Django framework. Its goal is to explain the past and guide the future.
2005-10-14 14:40
Open Sauce: Logicalware at EuroOSCON 2005
Peter and Kevin will be in Amsterdam next week at the O'Reilly Open Source Convention, and are looking forward to a wide range of presentations on both technical and business tracks.> >They'll keep you updated from these pages, hopefully post a few photos as well.> >Are you going to EuroOSCON as well? Fancy meeting us there? Let us know and let's see if we can make a plan.
2005-10-14 14:20
Graeme Mathieson: Zope Page Template weirdness
So we were having a ‘discussion’ on the work mailing list about a change I’d made to the UI code for MailManager. Given the following page template: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" i18n:attributes="lang language; xml:lang language" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal" xmlns:i18n="http://xml.zope.org/namespaces/i18n"> <head> <title tal:content="template/title">The title</title> </head> <body> <p> <option tal:attributes="selected python:1==1">xxx</option> <option tal:attributes="selected python:1==0">yyy</option> </p> </body> </html> both Andy and Kev asserted that it would render to: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title></title> </head> <body> <p> <option selected="selected">xxx</option> <option>yyy</option> </p> </body> </html> while I was asserting that it rendered to: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title></title> </head> <body> <p> <option selected="True">xxx</option> <option selected="False">yyy</option> </p> </body> </html> (note the difference in the rendering of the ’selected’ attribute of the <option> tag.) I had distilled mine down from the MailManager code, as a test instance, whereas both Kev & Andy had created a fresh template in the ZMI. And both of us appeared to be right.
2005-10-14 14:10
Uche and Chimezie Ogbuji: Redfoot: Updated Documentation
Daniel Krech, recently updated the Redfoot homepage with some additional documentation on what Redfoot is. It's a very interesting concept for leveraging Python (or any other scriptable language) and RDF as a distributed framework for applications. Beyond the known advantages of modelling distributed components on an RDF Graph with well defined semantics for how you retrieve programs and execute them it also relies on a hybrid of XML and Python called Kid to facilitate templating of HTML. The advantages of using a flexible programming language (such as Python) for manipulating XML is well written about (sift through the Copia archives, you'll find plenty). Couple that with a well modelled framework for including and executing remote modules as well as a programmatic access (using a similar idiom) to an underlying RDF Graph and you have yourself a very flexible foundation. For example.
2005-10-14 11:07
Voidspace: Python Projects
Sorry for the boring title. I'll just keep you up to date on a few of my projects (which is probably more relevant than my last post). ...
2005-10-14 10:57
Voidspace: Lots of Stuff
I've just made seven [1] new entries in my personal blog. I don't want to repeat them all here (even the relevant ones) - so I'll give you a summary : Are you my friend ? ... [111 words]
2005-10-14 10:56
Voidspace: Pretty X-Stream
My friend Justin has just released his mini-app X-Stream TV. It's basically a utility that connects you to lots of the free internet TV and radio channels out there. ...
2005-10-14 04:38
Max Khesin: python recruiter spam sighting
Generally recruiter spam is not a good thing (if you are employeed and like your job), but one looking for "Python/Open source" developer still sounds kind of cool!
2005-10-14 03:15
Dirt Simple: RuleDispatch Mojo Kicks Monkeypatching's Ass
It all started a couple days ago, when Ian Bicking posted about his attempt at using generic functions for a simple JSON-ification task.> >Then, Rene Dudfield posted comments to the effect that generic functions were a poor fit for the task, and slower to boot. He included a benchmark that was supposed to show that generic functions were 30 times slower than a hand-optimized version of the same operation, although the numbers he posted actually showed only a 23.4 times slowdown.> >Well, I didn't think the benchmark was a very good one, but what the heck. I tried it out for myself, made a couple of minor tweaks, and spent 30 minutes or so writing a C version of one part of RuleDispatch that I'd been meaning to get around to anyway, and got the benchmark down to only a 1.37 times slowdown - a mere 37% slower than the hand-tuned version.> >But since it's still not fair to compare a function you're supposed to extend by adding new methods, with a hand-tuned version that has all the methods it will ever have, I devised a slightly fairer benchmark.
2005-10-14 02:33
Max Khesin: Geek pr0n update
As I am about to take off for vacation, here is some things to watch:Since you've probably seen the 20-minute Wiki (from TurboGears) you should probably check out the 40-minute blog in Java, just to keep things in balance. (probably 15 mins in TurboGears ;)?
 If you are a search geek and want to see what GoogleGuy Sergei Brin looks like in person or just want to know if that guy who wrote the big fat AI book actually speaks human, here is a link for you.
 And finally, the third act is new Apple product pr0n. Itself in 3 acts.
 Should give you plenty to do unil I come back!
 :)
2005-10-14 02:28
Gustavo Niemeyer: Hey, nice float!
python-nicefloat is a Python module implementing an algorithm based on the paper "Printing Floating-Point Numbers Quickly and Accurately", by Robert G. Burger and R. Kent Dybvig.The implemented algorithm will find the shortest, correctly rounded output string representing a decimal number that converts to the same internal binary floating-point number when read.Update: the download link is now fixed.Have fun!
2005-10-14 00:01
David Warnock: Python Web Framework Niches
Python Web Framework Niches an excellent post exploring some of the differences between Django and Turbogears in particular. Good points made, well worth reading!