EuroPython 2002 Diary

These are notes I took during the course of the EuroPython 2002 conference. They are not meant to be objective or comprehensive.

EuroPython Day 0

So I made it to Charleroi without incident. Made it to the accomodation with slightly more incident (got a bit lost, failed to find anyone who could actually tell me what was going on for a bit).

Now should be unpacking before heading out for food, but am actually sitting typing this for later posting and feeling a bit spaced out and lost. Travelling always tends to do this to me, travelling alone even more so.

EuroPython Day 1
Well, after the usual first-day-of-conference hassles (missing the bus, etc), made it to CEME not too late. I'm for the Python Track talks all day today, which means I am now sitting in Alex Martelli's talk on "Iterators and Generators for fun and profit". Haven't learnt much about iterators and generators yet, but as usual with Alex there's a wealth of unexpected information.

CEME is quite flash. It all seems fairly well organised.

Thread Basics with Jacob HallÚn now. Something I know nothing about; an opportunity for learning.

Lessons learnt:

  1. Use Queue.Queue (which I actually knew already)
  2. Race conditions are really hard to avoid; there was one in an example.

Alex again, this time on Extending Python with C. Something else I know really quite a lot about. So do the rest of the audience, to judge by the questions.

Lunch, then the talk on psyco -- one of the reasons I'm here.

Well, that was interesting. Did make my head hurt quite a lot though, which in turn made understanding the following talk on the new version of Stackless Python something of a challenge.

Two more talks on ... erm ... stuff and then Guido's keynote. The conference seems to be being sponsored by Chimay, which is no bad thing.

Ah yes, Jython and then unicode. The talk on Jython ("Jython: Progress towards 2.2") seems very dry so far... potentially interesting discussion about the nature of Jython's user base, but noone seems to actually know anything about the subject.

The unicode talk was quite interesting. Michael, remember: it goes grapheme/code point/code unit. Slightly, predictably there was more heckling in this talk than the others. It also got disgustingly hot in the auditorium. A shower before beer is imperative.

But even before that, Guido's keynote. I took notes, but they more or less mirror his slides -- which will presumably be online at some point -- so I won't bother with them here, apart from the Open Mike session at the end. Bear in mind that these are notes I typed very quickly as the session was going on (and I'm not the world's most accomplished typist) so I may have misrepresented both the questioners and Guido.

 Q what about the time machine (wrt string interpolation)?
 A the psu nobbled it
 Q will python 3.0 have the gil?
 A probably 
 Q syntax for staticmethods, classmethods, super?
 A not in 2.3 -- will reconsider for 2.4
 Q the experimental features aren't really experimental, right?
 A yep
 Q will there be migration tools for deprecations?
 A generally not -- impossible in general
 Q jython in a tie?
 A not my problem -- consider sponsoring Jython developers
 Q conditional expressions?
 A probably not -- no proposal seemed nice enough
 Q have you heard about the chinese python effort on sf?
 A heard of, not seen -- makes sense for chinese maybe?
 Q what's your view on unicode in source code?
 A inevitable -- see PEP 263
 Q continue to use CVS?
 A not made up my mind.  relatively happy with CVS -- *must* be able
   to migrate from CVS very well.
 Q interfaces?
 A possibly -- not as against them as he was in the past
 Q assignment inside expressions?
 A no, never (scattered applause)
 Q so why is it used in the C source to Python?
 A oops, we've run out of time
Now back at accomodation, showered and ready for beer.
EuroPython Day 2
Back at the CEME. Talks today look less obviously interesting to me; a more business oriented slant. So, in fact, probably stuff I should know about.

Tim Couper, one of the conference organisers, is first up on "Selling Python to a Fortune 500 Company". We're not going to get told which company, though, thanks to a confidentiality agreement. I have a couple of guesses, but I guess it would be irresponible to put them here...

Company wanted to standardise a development language, which caused fights amongst the various development departments (desktop people in favour of vb, server people wanting java, etc, etc). Tim told everyone he met about Python; the older dev. staff had seen people who'd seen people with "the best programming language" before. A general problem with fixed mindsets.

Tim found he was fighting buzzword compliance all over the place -- he had to discourage people from using XSLT where it was inappropriate, there was some team that spent over nine months implementing some J2EE solution which could have been done in 100 lines of C.

Jython was a selling point. Can write things for use in C++ and just recompile it for use from Java. I can see *that* being impressive.

A common response was "But the problem's hard! It can't be that easy!" (presumably because Sun have told you you need J2EE for this problem). Tim's basic strategy seemed to be "give me a morning and see what I can do", which I can imagine being effective.

Tim found the Python community valuable as it enabled contacts with good programmers (MAL, Duncan Grisby), and getting good people in is part of the game. Mmm, must shake more hands.

Google's competition was a good thing to point people at.

"Cannot find Python developers" -- but of course, most people hauled in off the street can learn Python in an hour. Being able to airlift in experts of the calibre of MAL also helps.

Now MvL (Martin von Loewis) on "Memory Management in Python 2.3". Not sure what to expect from this -- a description of pymalloc?

Oh, the "in Python 2.3" is not meant to imply the talk is only about changes 2.2 -> 2.3. I'll be slightly embarrassed if I learn too much here, given pymemcompat.h and things...

Ah, that's what TP_HEAPTYPE is for (determining whether the type object has a gc header or not. I think).

Ooh, Martin gets to explain design decisions he disagrees with. Fun.

My first heckle. I thought PyMem_New and friends were on the discouraged list.

Now Jacob Hallen on "Open Source Business Models: Showcase".

Didn't take notes in that. Jacob isn't a particularly inspiring talker, but he made some good points.

"Using Python as wide-spectrum language, experiences in tough applications domains", Theo de Ridder.

Theo thinks he was the first industrial user of Python - in 1992.

Books: Literate Programming (Knuth), The Timeless Way of Building (Alexander), Information Visualization (Shneiderman), The Humane Interface (Raskin), Extreme Programming (Beck). Hmm, Amazon here we come.

I think Theo has interesting ideas, but he gets over-excited and doesn't explain himself that well. Perhaps he should write a book.

This talk is about TimeWalker, which seems to be some kind of data-visualization tool. I don't quite understand the point (see above). I'll wait for the book (if he plans one).

People are being particularly bad at keeping to time today, or maybe they were just being unusually good yesterday.

Lunch, chat with Holger Krekel and JvR, and now a talk on MoinMoin by it's author, Jurgen Hermann.

Inspired somewhat by Holger I've actually been gently hacking on pyrepl and not really listening to Jurgen or the next talk which is by Nicolas Chauvat on Logilab's agent framework called Narval. Which was probably quite interesting.

Bernhard Herzog on sketch. Basically seems to be "watch me do cool stuff with sketch." Which is quite fun, although he could do with a mouse instead of fighting with a track pad.

Skipped a session, and then the final formal talk of the conference (it's all BOFs and lightning talks tomorrow): Itamar Shtull-Trauring on the legendarily mind-blowing Twisted framework. Oh there's an ESR keynote, too. Does that count?

I think Eric has missed his audience somewhat; he talked about "marketing" as if it was a dirty word, for instance. This is not a room full of Dilbert types. Maybe if it was a pure Python conference it would be more hacker-oriented, but it's not. There's been a track at the conference on "Python in business" for heavens sake. Which has said much the same things in a much less condescending way.

Or maybe it's just me; there are a few people here that certainly look a fair bit like the sterotypical hacker, but I really do think the Python world is less childish than the average spotty teenage slashdot reading linux enthusiast geek.

Why are we (as in the conference attendees) using Python? Essentially, I liked Python when I first saw it because it wasn't C++. Lots of people are here because they use Zope, and I suspect lots of these people are Not Using PHP.

I guess the point is that to be using Python you have to have a certain imagination; not a lot, but enough to not use the obvious choice all the time. "There's got to be something better."

Good quote: "It's relatively seldom that desire for sex is involved in technology procurement decisions."

There was a good heckle (from Martijn, it later turns out) pointing out that "communist" isn't quite as much a dirty word in Europe...

The last bit of the talk was the most interesting; claiming that when techie tyupes give presentations to management they should aim for the "prince from another country" effect; not dressing in suits, but rather high-quality casual wear. The idea is to suggest the message "I'm from a culture you don't really understand, and I'm near the top of it." Not sure is a failsafe way of giving a good impression, but it probably wouldn't hurt.

EuroPython Day 3

The last morning at CEME. BOFs and lightning talks today.

I seem, in the course of this conference, to have lost my glasses. I'd be happier if I had any idea where they were at all.

I'm in the Python-in-a-Tie BOF, and unsurprisingly I'm one of the only non-business people here. From my point of view, this is the bitch-about-the-rate-of-change-in-python session. I can sort of see the point of some people -- MAL has to support 1.5.2 through 2.2 in his mx extensions, and that's irritating. Application developers just have to pick a release and work with that -- if the applicaion is of any serious size, the overhead of just shipping Python via McMillan's installer or py2exe is minimal.

The concept of py-in-a-tie is an interesting one. So far, maintenence releases have been done by volunteers (Moshe Zadka, Thomas Wouters, Anthony Baxter, me) and had no corporate support whatsoever. Laura Creighton seems to be a force of nature, and will probably manage to change this. On her own if need be.

Almost everyone wants to develop for 2.2, which is interesting. People also can't remember release dates -- 1.5.2 did not come out in '97... People seem to think that 1.5.2 represented a golden age of stability for Python, and I think this one shares the property of most golden ages of being largely mythical. There was an 18 month gap after 1.5.2, but this was exceptional; 1.5.1 came out about six months before 1.5.2 and a similar length of time after 1.5. I don't recall wild howls of "releases every six months are too fast!" back then.

Now the PBF BOF. Lots of organisational stuff, which I guess will be written down elsewhere.

Discussion; or rambling ideas.

Enough business; off to the lightning talks. Alexandre Foyalle on logic programming. Not sure a 10 minute talk is the ideal medium for this presentation.

Some guy to do with a telescope array that produces ~100 gigs of data a day. Ouch. He seems to be using some of the really cool 2.2 features.

Alex Martelli talks about Strakt's "N-tier framework". Talks like this always put me in mind of the Greg Ward quote:

    The bottom tier is what a certain class of wanker would call 
    "business objects"...
                                                Greg Ward, 9 Dec 1999 
But seriously, it looks pretty neat.

There was another talk, but I didn't go to it. Had lunch at the CEME and chatted to Christian Tismer. Then most people then headed off to wherever they called home, but a bunch of us including Holger, Martijn, Christian, Dinu, ESR, Laura and Armin went into town for a beer or two. From up close, Laura seemed no less a force of nature.

Had dinner in a decided random African restaurant -- random, but very good; it's always a good sign when an ethnic restaurant is patronised by members of that ethnic group.

Then Martijn, Holger, Armin and I went to another bar and talked rubbish about implementing a souped up CLI interface to Python in pygame. Maybe this will happen, maybe not. It has the potiential to be really cool -- bash meets Python meets Maple sort of stuff.

So that was EuroPython.

People met: Martijn, Just, Holger, Christian, Arkaitz, Armin, Dinu, Bernhard, Jurgen (H), Jochen (W), Nicola, Itamar. Not bad for someone who doesn't particularly enjoy networking. It was a touch disappointing to miss Guido. Most people who'd heard of me had done so because of pyrepl or the 2.2.1 release, which was no great surprise, and a few people remembered the bytecodehacks.

Seems certain a similar event will happen next year, but first there's likely to be a fight over where. There's an argument for having it here (easy to get to location, local experience) but also one for moving on (the acoustics in some of the rooms were awful, it's not the Belgian Python conference). I'm neutral/in favour of staying.

Now I just need to massage these notes so I don't repeat myself as much and get to a network connection so I can post them.

I wonder how much email has piled up for me...