There are 28 posts tagged with python.

There is an Atom feed for posts tagged with python.

On Schedule Builders

2010-02-06 Tags: , , ,

It's conference time once again. In two weeks, I'll be attending PyCon, a conference that no Pythonistas should miss, then one week later, I will be at ConFoo, a conference that we are organizing at Montréal-Python along with other local user groups.

If you've been to a multi-track conference, you know the drill. As the speaker wraps up for his conclusion, instead of paying attention, you rush to unplug your laptop and to reach for your annotated program. Indeed, you've got only a moment to find out in what room the next talk that you planned to see is.

But this year is different.

One week ago, PyCon unveiled a very nice track selector application. It's very nice because it allows you to select in advance the tracks that you don't want to miss, to add them to you calendar application or to share your schedule with friends. That way, no more last minute rush to find where you go next.

I was really happy to see that so I shared the word with the ConFoo team, mentioning that it's the kind of things that we should develop for ConFoo 2011 next year. Well, it turned out that Anna, the ConFoo webmaster, really liked the idea and she came up with a schedule builder for ConFoo after only 48 hours. Both selectors have their own strengths and weaknesses but at least they get the job done. Hopefully more conferences will follow the trend of implementing track selectors; this is the kind of simple features that really improve the user experience.

Some PyCon Stats

2009-11-14 Tags: , ,

Since I'm coordinator of the Python track at ConFoo.ca, I like to keep track of what's going on at other Python conferences. PyCon recently published the list of selected talks so I decided to summarize it into a few high level stats:

  • 96 sessions, that's 32 per day;
  • 69 presenters, 1 for 3 sessions, 8 for 2 sessions, 60 for a single session (there are panels and sessions with more than one presenters);
  • 75 sessions of 30 mins, 20 of 45 mins, and one that my scraper missed somehow;
  • 27 'beginner' sessions, 60 'intermetiate', and 8 'advanced'.

How does that compare with PyCon 2009? Honestly, I don't know. Quick like that I can say that it's going to be a larger PyCon and that the level of the talks is increasing but that's about it.

How does it compare to ConFoo? Hard to say since we have not selected the talks yet but it's sure to influence us on the number of talks per speaker and on the level of the sessions. By the way, the ConFoo call for speakers was extended by a few days so it's not too late to submit something over the weekend.

Anatomy of a failed software project

2009-11-13 Tags: , ,

A friend of mine just started a series of blog posts on the anatomy of a failed software project. He has an interesting opinion that contrasts the value of technical design to the importance human factor and the way team dynamics can make or break a project.

Some of you might be able to recognize the company but please respect the author's choice to leave it unnamed.

Boostrapping a Startup

2009-09-18 Tags: ,

Since many of you are still sending me news of very interesting Python projects, it's time for me to do a status update. I've met many persons in the last few weeks and beyond the fiery passion of everyone working on solving hard problems, I was deeply inspired be the aspiration of owners and founders. One thing leading to another, I got in touch with great cofounders who were looking for a partner with some experience in technical lead so I decided to team up with them.

The exact details of what we are working on will start to transpire in the coming weeks but suffice to say for now that we are working on a Python-powered Internet application that will considerably help the non-profit sector. Stay tuned.

Leaving Pivotal Payments

2009-08-31 Tags: ,

Today was my last day as lead-developer at Pivotal Payments. As the company decided to phase out in-house development, a good chunk of the dev-team got "down-sized", as they say in this economy. I still don't know what I'm going to do; I will probably take it easy for a few weeks then I'll start looking for interesting consulting opportunities.

If you're working on some interesting Python project, let me know now, before I get involved with something else.

Montreal Python 8 is tomorrow

2009-07-07 Tags: ,

Don't forget, Montréal Python 8 is this Wednesday.

Merging onto the evolutionary highway

2009-03-28 Tags: ,

Blogging live from PyCon. Guido van Rossum opened the morning session with the keynote talk. He covered a lot of ground but one idea that struck me is that he wants to more of less freeze the standard library.

He proposes that with a perfectly valid rational: if the Python dev team removes a module from the standard lib, some program out there will break and on the other hand, if a new module is added to the standard lib, it has to be extremely stable since it will now be tied to the somewhat slow release schedule of CPython. That position is obvious but Guido also mentioned that more work is getting done on the specification of modules dependencies and that is the key to a dramatically new landscape in the Python world.

Setuptools already did a very good job at dependencies specification and Guido did acknowledge it. With Setuptools, one can define that his package will depend on some other package with a dependency spec of the form "depname>=1.3.5". Once you know the dependencies of a package, it's almost trivial to write a tool that will install a package and all its dependencies; easy_install is a good example of such a tool.

PyCon part 2

2009-03-26 Tags: ,

Blogging live from PyCon. I'm still in Chicago having quite a good time learing stuff related to Python. My second tutorial for the first day was on functional testing with twill and selenium. I already do a lot of that stuff but it was nice to see a good overview of what a mostly automated test suite for functional tests can look like. There was a lot of nice tools that were used to glue everything together. I was a casual user of nosetest and I really look forward to unchain all the powerful features that I didn't know about.

Day two started full speed with a tutorial on Tosca Widgets by Chris Perkins. The level was perfect for me and I like the fact that the framework used for the hands on session was Pylons. It's not just that I already know Pylons quite well, it has something to do with the fact that Pylons is so light as a framework that you can really understand what's going on. Many exercised with a very tight feed back loop and one-on-one help. Wow! Why can't universities hire people like that to give the lectures?

After my second dinner at PyCon, I know that the vegetarian menu, no matter how tasty it is, is sure to keep me slim. It must be the first time that I ever go back to get a second serving of salad.

Last tutorial was on advanced SQLAlchemy with Michael Bayer and Jason Kirtland, the main implementors of Alchemy. That one was quite unique as it featured interactive slides: the slides consisted of a Python scripts that execute code with syntax highlighting when you moved from one slide to the next then give you an interactive interpreter so you can play with the new classes and objects that were just created. That's great but the pace of the presentation was extremely fast and I had a hard time to catch up. When the Alchemy guys say "advanced", they really mean it. Fortunately I still have the slides with me so I can decipher them when I get some time.

I'm now waiting for Francis to get out of his plane so we can go for a beer. What a day; I feel like just one week ago I didn't know anything about the language that I use everyday. That conference is worth it more than I expected. More to come.

Conferences in March

2009-03-08 Tags: , ,

March is a busy month in the Free Software world. From 2009-03-21 to 2009-03-22 I'll be attending Libre Planet in Boston then from 2009-03-25 to 2009-03-29 I will be at PyCon in Chicago. Lot's of great speakers and two days of advanced hands-on tutorial by the leaders of the industry. You can't go wrong with that.

I still don't know how I will travel to Libre Planet though. Traveling by train would require going up to New York then back north to Boston and all the bus fares that I found so far take 12 hours or more to reach Boston. I might end up taking the plane but the best option would be to find someone else for car pooling. If you are in on around Montreal and that you plan to attend Libre Planet by car, let me know.

update: I'll be car pooling with Pascal Charest from Laboratoires Phoenix. Woohoo!

Montreal Python 5

2009-02-12 Tags: ,

I have the pleasure to announce that Montreal Python 5 will be on 2009-02-26 at La Banque.

The main presentation will be Alexandre Vassalotti on Porting your Code to Python 3: Python 3, also colloquially known as Python 3000, is now out for general use. Unfortunately, its usage is limited since only a few libraries are currently compatible with Python 3. In this presentation, you will learn a straightforward process for migrating Python code and the common difficulties related to the transition. In addition, an overview of the new features brought by Python 3 will be described with practical examples. Finally, upcoming changes and features in Python 2.7 and 3.1 will be presented.

Alexandre Vassalotti is a contributing Python core developer and a computer science student at McGill University. He was a successful participant of Google Summer of Code 2007, for which he worked on the different aspects of Python 3.0.

The main presentation should be from 45 to 60 minutes. Before the main presentation, there will be a few flash (5 mins) presentation. We still have open spots for the flash presentation so don't hesitate to send us your idea for a flash presentation.

La Banque is located at 175 Roy. See you there.

Montreal Python 4

2008-09-16 Tags:

We've had to wait for a long time and the great summer might have something to do with it. Okay, okay, the summer was crap but we still had to wait. At last, Montréal Python 4 is uppon us and it's going to be a really special one.

Hugo Boyer will bring his CNC machine tool and grind away material from a block of stuff until he gets some actual object. Hugo uses Python to process his CAD files and to control the CNC. Don't miss this presentation: it's going to rock.

Montreal Python 3

2008-06-26 Tags:

The Montreal Python user group meeting is tonight. Martin Blais of xxdiff fame will present a dependency analyzer for Python modules. See you there.

Videos of Montreal Python 2

2008-05-12 Tags: ,

Videos of Montreal Python 2 are finally ready. A big thank you to Pior for his hard work behind the camera and in the cutting room.

Code examples from Montreal Python 2

2008-04-12 Tags: , ,

I just uploaded the code examples from my presentation at Montréal Python #2 on PyQt and PyOpenGL. I fixed the lighting and the positioning of the model but otherwise, the package contains exactly what was on the screen. You can also download the multiple alignment viewer that I presented from my bioinformatics section. Enjoy!

Second Montreal Python Meeting

2008-04-02 Tags: ,

The second Montréal Python user group meeting is on 2008-04-10. Two talks this time: one on scripting Asterisk with Python by Cyril Robert, the other on graphical programming by me. My shameless plug reads as follow:

Python is a great language for fast prototyping and iterative development. It has a broad standard library, a wide variety of add-on modules, and its clean C API fueled the creation of bindings for essentially all the popular C and C++ toolkits.

In this practical introduction, I will put the slides aside and hack a simple graphical application using PyQt and PyOpenGL. I will try to do as much code as possible in 35 minutes then answer questions for another 10 minutes. If time allows, I might delve into the land of database access with SQLAlchemy, plug-in architecture with Setuptools, and unit testing with Doctest.

If you plan to show up, please help the organizers with the logistics by mentioning it on the wiki. Yes, there will be refreshments.

Video of Montreal Python 1

2008-02-18 Tags: ,

Thanks to Savoir-faire Linux, I was able to film the first Montréal Python User Group meeting. After lots of curses and struggle, I finally completed the editing and the encoding of the Montréal Python #1 video. Pior Bastida deserves a very special mention for finding the magic spell for mencoder.

First Montréal Python user group meeting

2008-01-22 Tags: ,

Pythonistas of Montréal, rejoice! We now officially have a user group and our first meeting is to take place on 2008-02-07 at 18h30. It's going to be in Akoha's office: 3981 St. Laurent, suite 615.

There are two presentation slots; I think both are for 20 to 45 minutes. As I write this, both are still open. Who will break the ice?

Many code news

There are fashions in the markup world. There was a time when using colons (':') to split fields in /etc/passwd was enough, a time when no one had a problem with using TABs as command delimiter in Makefiles. Then came the era of heavy markup, "more semantic!", they all asked for, and we received XML.

More semantic is a good thing but anyone who wrote documentation using DocBook knows that the heavy syntax gets annoying really fast. No wonder no one documents his programs. Fortunately, some lazy programmers wanted, for some obscure reason, to document their programs; they propelled us into a new era of light weight markup.

There are quite a few really good light weight markups out there, and Gazest supports most of them. For simple formating, my favorite is definitely Markdown. It reads like text emails: the syntax doesn't do much but the essentials are there and the syntax actually helps to read the source instead of obfuscating it. For blog comments, or anything that won't need much semantic, in applications where you can't use for HTML, for security reasons or just because it's a pain to type, Markdown is the way to go.

Gazest is being sponsored

2007-11-08 Tags: , , , ,

I'm really excited to announce that the Gazest development is being sponsored by Savoir-faire Linux. The demo site will now run much faster: they have server farms with big fat pipes scattered across Montréal. Cyrille, their CEO, has a great understanding of post-industrial economy: the market of services where knowhow is the main capital. It's always a pleasure to talk with him; he sees free software not as an altruistic endeavor but as the only logical choice for corporations to compete in the modern world. He believes in the economic viability of free software and the current sponsorship is the testimony that those are not empty words. More exciting news to come shortly, stay tuned.

setuptools_git 0.3

2007-11-06 Tags: , , ,

My gitlsfiles plugin is dead: it was a silly name. It has reborn with the really sexy name of setuptools_git. Setuptools_git 0.3 has better documentation and is more portable than gitlsfiles.

Gazest 0.3.9

2007-10-27 Tags: , ,

Gazest 0.3.9 is out. It now runs on Alchemy 0.4, there are many bug-fixes here and there, the style have been improved and you can now search. Enjoy!

update: 0.3.9.1 is out: there was a bug with the abuse report form.

A new kind of wiki

2007-10-18 Tags: , , ,

What is a wiki? It has to be more then a just program to transform _light_ *weight* text markup into valid html. Beyond the markup, a wiki is a platform to help many persons work on a shared document. Being a programmer, I'm familiar with this concept since we use similar tools to work on shared programming projects: revision control systems.

The state of the art in revision control systems is Git and Mercurial. What is it that makes then so good? Some people will tell you that it's because they are distributed. That's a good point but there is more to it. They manage to work without centralized authority by merging concurrent changes. To be able to do that, they have to be able to detect which changes you need to merge and and which ones you already have and the key to do that is to keep the full family lineage of every revision of every files for all the people that you work with. The main problem with Subversion is not that it's centralized, it's that it flattens the history into a linear series of revision and that destroys the hope for smart merges.

Git and Setuptools

2007-09-28 Tags: , , ,

Explicit is better than implicit. It's in the Zen of Python. Who could disagree? Setuptools has a feature that would prevent me from reaching peace of mind. You can tell it to include in your package all the files that you track with a revision control system. I used to prefer being explicit by using MANIFEST.in, until I started to heavily refactor a package layout. This is one thing that Git does really well. You just add all the new files recursively and it will figure out which files are really new and which are new names for old files. But updating MANIFEST.in can become quite a pain.

What happens in practice is that rules in MANIFEST.in have an extremely broad scope. The latest Pylons recursively includes everything in the template directory. It would be a pain to make the right rule; you need to include all the templates for all the templating languages supported by Buffet and each engine is really permissive on the file extension used to name its template. The current rule will match all Emacs backup files and a lot of junk that most people don't want to distribute. When I switched to include the files tracked by a revision control, the only file that I don't explicitly wanted in there was .gitignore. In this case, being explicit on what we don't want is a lot cleaner than being explicit on what we do want.

"Oh wait," you may ask. I mentioned using Git but Setuptools has no Git plugin. Until now. Here is gitlsfiles (2.4 egg, 2.5 egg), a plugin to have Setuptools packages all the files tracked by Git. You just need to install it and Setuptools will figure out the rest.

A cure for gigazillion account syndrome

2007-07-18 Tags: , , ,

This whole thing is moving so fast. Ain't it a great time to be alive? I mean, the Net.

What is Web 2.0? I don't know. I think it doesn't exists yet. At some point, Web application were templates over a databases. You used the application and you knew exactly what was the schema. Fortunately, Web apps now see a bit further than the socket to MySQL. They talk with other apps. The SQL schema is no more leading the flow, the users are.

"I'm not interested by politics." You hear that all the time. But it's not true. Men and women have lost interest in Federal, Provincial, and City level politics, this is true. But, politic is more than that. Look at a white collar office, at someone walking his dog, at a crowded restaurant lineup. People love to give their opinion, to look for approval, to influence others. They love authority, no mater how indirect it may be. Authority is too diluted by broken voting systems at the Federal level but people love politics. And this is what Web 2.0 is all about.

On object infested APIs

2007-07-12 Tags: , , ,

An interesting discussion spawned on #pylons about the merits of Form Encode, a library to handle form validation. It has a nice API with decorators that will handle a lot of simple usage. But it's abstraction is leaky when one wants to use it for previewing or to do validation that needs to inspect more than one field. The way to make new validators is object infected. You need to derive from an existing validator to extend it. Since Python have closures, I suggested, an API where you add sub-validation with hooks would probably be cleaner for most usage. "Objects are an abomination before the Lord" replied Paul Snively (nick: psnively).

The Emacs API uses hooks all over the place. It's nice because you can add and remove stuff without changing the base code. And unrelated code can be inserted into a single hook which is hard to do with inheritance.

Older stuff


2007-06-16 Yould 0.3


2006-11-22 Raw Sockets


2006-02-25 Viruses