PyCon 2006 – Day 2

Another great day at PyCon. Here are some quick summaries of the sessions that I visited today.

State of the Python Universe Address

This was a great presentation from Guido about what is up and coming in future versions of Python. Python 2.5 is coming out shortly and has some nice new features. I’m looking forward to the enhanced exception handling capabilities and the with statement. The with statement should make a lot of things easier in Python. A quick example looks like:


with open(filename) as f:
    for line in f:
        print f

This would open the file and print each line. A nice addition is that the file will automagically be closed after the with block. This will also be able to be used with locking and database transactions.

He also noted that the ElementTree, ctypes, wsgiref, and setuptools packages will also be added to the standard library.

wxPython and Chandler BOF

I started the day off with the wxPython and Chandler BOF discussions. It appears that wxPython has made a lot of progress over the years, and some people are doing some really cool stuff. One in particular was a demo of a very nice drag and drop UI creation tool. It was also nice to see apps like Chandler really start to mature. wxPython still seems to have some dificulties with printing, html/pdf like output, and rich text editing, plus still being a bit behind and slower on the Mac.

The folks from the OSAF are a great bunch. They gave a demo of the new features and answered a lot of questions. Some of the cool up and coming features include a table view of the calendar where items can be grouped in various ways, and other general improvemets. They are also focusing on being able to aggregate data from various sources including web pages, and then being able to link the various pieces of data together. An obvious example would being able to have a contact and then see all the related info to that person that you may be tracking like blog entries, flickr feeds, etc. Very promising stuff. I’m looking forward to when they have improved imap support to do a little hacking myself.

New Tools for Testing Web Applications with Python

Webapps are becomming more and more testable with all these new tools coming out. The speaker described a project called Funkload and how it can be used for functional, load and stress testing web apps. It also can generate some nice reports and graphs after the tests are run. This looks very promising, and I’m going to have to recommend it to our team.

He also touched on Selenium, which I have been using quite a bit. I’m very impressed with how much can be done with it, and how easy it is to generate tests with the selenium-ide plug in for Firefox. If you need to do functional testing of your web app, this is a great tool worthy of considering.

Lightning Talks

Lightning Talks are 5 minute talks on just about whatever the speaker wants to talk about. Some may remember that this is where Django made its first public appearance at last year’s PyCon. There were so many scheduled that they added another set of talks tomorrow that should be interesting.

David Creemer from MerchantCircle.com gave a talk about his experiences with his Python startup and the good, the bad, and the ugly of the technologies that they chose. Over all they have had some good success, and are yet another example of a successful company using and enjoying Python.

Ben Collins-Sussman from Google gave a very amusing talk about how he created an IRC bot to replace himself as he wouldn’t have much time to chat on IRC now that he is working at Google.

The irclib.py and ircbot.py scripts evidently made it incredibly easy. He included a couple of conversations that were very funny, and included that his next project is to create a Python based Z Machine interpreter (Adventure, Zork, etc.) that will run over IRC. Hmmm… Perhaps it is time to create my ScottBot :)

Party at Nerd Books!

If you haven’t been to NerdBooks.com yet, I suggest you go check it out. They have great prices, and you can even pick the books up at their warehouse! I picked up a just released copy of Python Essential Reference, 3rd Edition and Python Cookbook, 2nd Edition. They also had over 50 pizzas and various chips and other snacks. This was a great success, and I will definately be a future customer of NerdBooks.com

That about sums it up for today. Tomorrow I am looking forward to Ian Bicking’s talk on web development plus another TurboGears and Django talk.

PyCon 2006 – Day 1

Here are the highlights of the pycon sessions that I attended today:

Keynote: Plone – It aint about the software

Don’t get me wrong when I say this, as I am a fan of Plone and think it is a great CMS, but the keynote was a bit dry. It mostly focused on some of the past wins of Plone, and was a little light when they talked about future plans.

As I thought about it more though, there were two pearls to be gleaned from the session:

  1. “Middle class software” is where all the money and cool projects are.
  2. It is easy to build frameworks in Python but the only re-useable pieces are libraries and apps.

These two ideas got me to thinking quite a bit, and it seemed that the themes seemed to keep popping up in other talks as well. Both of these statements need some further explanation and I hope to further expand on some of these thoughts in a later post… stay tuned!

I also can’t finish without sharing this great quote from the session:

Plone is a gateway drug to Python

Python in Your Pocket: Python for Series 60

It is very cool to see how far Python has come on the Series 60 phones in just a year. I have installed Python on my phone, but still haven’t had the time to play with it. Perhaps I will need to make some time now. Some noteable points were:

  • Great UI integration with the appuifw module
  • Tons of extra libraries to access different parts of the phone like system info, the camera, graphics, inbox, contacts, or the calendar
  • Some cool apps are starting to surface, and more are to be expected
  • He mentioned something about Nokia developers having ported Apache and mod_python as well which could lead to some very intersting applications
  • There is still no word though as to when the version will get updated (still Python 2.2.2)

Python Can Survive in the Enterprise

This was a great session by two guys from American Greetings Interactive. If you have recieved an email card lately, it was most likely from one of their services. They send over 200 million greetings per year, and peak at 90+ million page views a day. And they do all of this from Python!

I thought it was great to hear about a another major company that uses Python as a “secret weapon.”

pysense: Humanoid Robots, a Wearable System, and Python

This talk was a little over my head, but was really interesting. Basically they have been working on a wearable system that “learns” as it follows what a person does. It tracks things like hand positions and how they interact with objects, your posture as you perform acts, etc. This information is then analyzed and used with humaniod robots to perform very complex tasks. Such as being able to pick up an object such as a pencil and being able to tell which end is the point, or putting a ring around a pole, all with only vision sensors.

Most of this code is first prototyped in Python, and then if it needs to be faster, it is ported to C++ and wrapped in SWIG.

I was excited at first as I was hoping that some of this could be transfered to the new Lego Mindstorms sets coming out, but I soon found out that the processing requirements were quite high. Oh well, maybe in another couple of years…

Using Django to Supercharge Web Development

I was a little disappointed in this presentation as it was the same old marketing song and dance that many have seen several times before. Perhaps I just wasn’t the intended audience for this talk and I will get more of what I am looking for in Jacob’s talk on Sunday.

He did mention his latest project at the Washing Post and how it wowed the Java guys that currently work there. Evidently they are now looking more closely at Python and Django. Way to go Adrian!

TurboGears How-To

So I stayed for the TurboGears presentation right after the Django presentation. This was a bit more informative, showcasing some of the latest improvements. The online editing of model data was very impressive, and I liked the look of the new widgets. I really wished he would have spent a little more time showing off the new widget system. There were also talks of possibilities of using other ORMS with the systems (like SQLAlchemy). These are exciting times for Python web development!

Bazaar-ng Distributed Version Control

This was the final talk of the evening for me. I was really interested at seeing how this project was coming along. At work we have recently switched from Bit Keeper to Subversion. While subversion has worked very well for us, I miss the destributed nature of BK and some of the advantages it gives such as managing branching. Hopefully I can get some of my co-workers to take a look at this.

Canonical (the cool guys that brought us Ubuntu) support and use this project extensivly for creating their distribution and have built several tools around it. The biggest selling point is how well it handles branching and merging even when the base file is not immediatly identifiable.

Closing Thoughts

Two things have really stood out so far.

This seems like the year for web development in Python. A great deal of the talks this year are about various aspects of web programming. I’m very excited to hear what Guido has to say in his key note tomorrow, and if he will reveal his findings in the web world. I am also looking forward to hearing Ian Bicking’s talk about web development.

A lot of companies are using Python for web development, and even enterprise development. I was amazed at how many flyers were being handed out saying “We’re hiring Python Hackers!” from various companies (don’t worry John… I’m not going anywhere :) ). It’s also good to hear how other companies are successfully using python in their products.

Lots to look forward to tomorrow…

Experiments in XUL – Part 1

I have had an interest in XUL for quite some time. It seems that I keep flirting with it, but never get a chance to spend the time needed to really wrap my head around it. A couple recent events have recently renewed my interest.

  • I read about NuFox which is an attempt to make XUL applications a reality using Python, Twisted, and Nevow. Initially this looked really cool, but there is a small problem. While I admire the work that the Twisted and Nevow guys are doing, it would require another steep learning curve on top of the steep XUL learning curve. Plus this isn’t quite the direction I am shooting for right now.
  • A few days later, I found some cool examples of XUL. At this point I’m getting pretty excited as these are the first decent examples of XUL that I have found in the wild.
  • Then, I stumbled upon Bloxor, a blog aggregator written in XUL. It seems to be based off the code from the XUL examples above. I’m not certain if it is written by the same guy or not. This is the first web based XUL app that I have found to be useful.
  • The next day, the source code for Bloxor was released under the GPL. And there was much rejoicing in the land!

So not only do I now have some decent XUL examples, but I also have the source to a decent XUL app. Suddenly the XUL learning curve doesn’t seem so steep. :)

My initial goal with all of this is to make it easier to write XUL based web applications. This will also serve as a proof of concept for some future projects I have up my sleeve. My initial attempts will be with Python as I have also been playing with several Python web frameworks (CherryPy, Turbo Gears and Django) lately .

I think I have mentioned enough buzz words for one post, so next time I hope to see how easy it is to serve up some XUL.

Newer entries »