Fri 14 Sep 2007
Liveblogging The Django Sprint
Posted at 7:06 +1000 (last edited: 15 Sep 2007, 0:06)
Today (for values of today that mean "Friday") is the Django sprint.
Since I'll be around and online most of the day (and probably tomorrow), I thought I'd keep an entry updated with what's going on from my end.
05:00: Woke up early (my sleep pattern's pretty screwed up at the moment), so went through the overnight email and got down to work.
Comitted all the outstanding translation tickets, which I'd been meaning to do for a while but had been busy on other things. So that's one component that's now empty (plus we have a Khmer translation now .Cool).
Wrote up a quick page of ideas about what to do, mostly because I was worried people might start working on admin patches which had almost no chance of being applied. Mailed Adrian to get a second set of eyes on it. The current version bears a vague resemblence to my original, but only if you look hard. Adrian likes editing way too much (to be fair, it's an improvemed version now).
05:30: This could be a disturbing experience.
EyePulp_: I've got my sweatbands on. I'm ready-to-sprint.
malcolmt: thanks. It'll take some time for that image to go away.
EyePulp_: and leg warmers - I'm pretty much Flashdance here.
malcolmt: please stop talking now.
07:00 : Went out for coffee and a muffin (a.k.a., breakfast). On the way back, wandered past the bakery. Their winning smiles and freshly baked bread forced me to part with some money. Mmm... croissants for morning tea or second breakfast or something.
Looks like there's going to some community event in the pedestrian mall around my apartment building today. Apparently we're big on community in my suburb. Lots of stalls being set up outside. Yet the building management still won't let me install a water cannon on my balcony for crowd control and general amusement. So unfair!
07:14: For comparison at the end of the day, there are 987 tickets open in Trac right now. We've closed about 12 tickets since the start of the day, so call it 1000 tickets from the start of the sprint. Nice round number.
08:45: Some New Zealanders. SmileyChris (one of them — New Zealanders, that is) has put together a list of things to work on for people who want a hint; concrete ticket numbers. Looks good.
09:55: Been reviewing a bunch of tickets and committing most of them with small changes (hardly anything gets in unchanged for various little reasons).
For those following along at home, pylint -e ... is a good check for bozo errors in code. It doesn't work on all files because Django does some funky dynamic imports, but it works in a lot of cases.
By the way, if anybody thinks easy tickets are for wimps and they want to work on the real stuff, feel free to fix bug #4796 for me. I have a hunch that Daniel Stone's example in comment 19 is a good sort of test case. The bug isn't reliably repeated always, though, but it looks like mod_python or fastcgi are needed to repeat it (i.e. not the development server).
13:31: Wow. Busy day. An enthusiastic handful are madly writing patches and debating various tickets. So far, we've had a few old chestnuts (design debates that we've had a lot in the past) come up. I'm keeping a list and later today we might be able to get all the core devs to agree on a few and just settle them.
I seem to be finding a nice balance between helping people and getting work done and I'm getting patches reviewed whilst also answering questions. Of course, the answers may be crap.
14:35: Practical Django coding 101 (from #django-sprint):
(14:32:21) adrian_h: Generally it's not worth including ugly workarounds.
The solution is to find elegant workarounds. :)
16:25: Things have quietened down a bit, but we're still making lots of progress. Hopefully it will pick up again as the North Americans come online in a few hours.
IRC comedy for this hour:
(16:22:14) rcoup: malcolmt: you can check them in if you like
(16:22:25) malcolmt: I don't have enough clues to review them. Sorry.
(16:22:36) malcolmt: turns out I'm actually pretty dumb, so I can only do easy stuff.
16:35: Jacob was trying to do a high wire act and replace the djangoproject.com server just before the sprint. Apparently all did not go well, so we're staying on the existing server for now. He's packed it in for the night. Adrian, too. Still 70 people in the channel.
16:50: Leo Soto, who's been getting Django running on Jython has been filing a bunch of patches in the past few hours that are needed for Jython support. Looking at them quickly, most of them are probably slightly improvements in general, anyway, so we should apply them. CPython sometimes has a bit of cruft in it for historical reasons and more recent implementations like Jython and Iron Python help you challenge your lazy assumptions when porting code across.
17:40: Committed my first backwards incompatible change for the day. If you use the i18n functionality to change the viewer's locale, some updating of your code is required.
it's a shame we need to do this, since the new way is a little less convenient (you can't use a pure HTML link, for example). But it correct and the old way wasn't, which is important.
17:45: Quick summary of things so far, 12 hours in... it's been a lot less hectic than I thought it might have been. Generally, the IRC channel has been busy without ever being out of control. People are showing patience when they need help and everybody is pitching in. It's a little tricky working with so many committers and triagers in close proximity. I almost committed a fix that Russell had committed one minute earlier about half an hour ago.
Currently, there are 962 open tickets, but since rcoup has opened seven new GIS tickets today and some others have opened new ones, too, we're making a little more progress than it looks like.
In local news, the weather has been good for the day. A brief rainstorm swept through around 15:00, but that didn't seem to affect enthusiasm on the IRC channel, so I guess they didn't notice. The carnival I was worried about this morning was only a little noisy. There was some singing around lunchtime, but it wasn't unpleasant and I was able to turn up the Herbie Hancock volume a bit when I wanted to get back to work.
Starting to get a bit tired in the eyes and brain now, so I'll need to stop and have a break in a bit. Might hit the movies or something.
18:13: You couldn't write this stuff if you wanted to...
(18:10:22) frej: nizzy: Så er det jo kun mig der mangler :(
(18:10:28) nizzy: Dvs 1 i øjeblikket
(18:10:45) russellm: Erm... My sister was once bitten by a moose...
(18:11:00) russellm: I take it the Norwegians have just woken up?
Help has arrived from the direction of Europe.
19:55: Just spent a slightly annoying 20 minutes working on Python 2.,3 compatibility issues. Most of them were easy; one of them — Unicode-related, of course — is annoying and not yet fixed.
Lots of Europeans coming online now. Up to 109 people in the IRC channel. Russell's fled for a night on the town with his wife. We'll expect him to come back singing sea shanties and sharing the remainder of his bottle of wine in a few hours.
20:15: Dinner time before I start to get cranky from hunger. Writing the word wine in the previous entry has got it into my brain now. Need to find a bottle opener and look what's in the cupboard.
21:30: Back to work. Read through the django-updates mail to see what people had been up to. Added seven or eight tickets to a list to review. I've had a ongoing list all day; review, cross off, repeat.. almost filled up two pages now.
For those playing along at home, dinner was home-made spaghetti bolognaise with a bottle of Franklands River, 2002 — a nice Western Australian red wine. Only drank half a bottle, so I can still type (mostly).
23:15: Why does everybody want to work on tickets above #5000? There are sexy tickets with smaller numbers, too. And they've been waiting longer.
00:00: Well, as the clock ticks over into tomorrow, I'm pretty exhausted. Time for some sleep and then maybe join in again for the late-afternoon US period.
My impressions from the last hour or so is that there are more fresh people on the chanel (165, as I write this). Some are working on bigger ticket items, some are working on little things. Still a bunch of stuff to review and maybe check in, but we're making progress. A bit more triaging and review in the next few hours will help.
It's been a good day. Interesting. Productive. Worthwhile. Hopefully the people in distant timezones will have just as useful a day.
Topics: software/django