Ted Leung on the air: Open Source, Java, Python, and ...
Day 2 started off with Guido keynote, which was mostly a review of community activity and new stuff in 2.5. Most of the community projects that he called out had to do with stuff being done by the PSF, related the PSF infrastructure. I was surprised that he didn't call out the large amount of progress on web frameworks, especially given his recent interest in web stuff.
As far as the new features of Python 2.5, Guido said that 2.5 will have the most new stuff in it since 2.2. There's a fair amount of stuff related to expanding the usefulness of generators for coroutines and for managing various kinds of resources. I suppose that I'll have to go look at the PEPs for the new features, but my initial reaction was that it seemed kind of complicated, and that if you weren't scared of this stuff you wouldn't be scared of something like continuations either.
Brian Kirsch's I18N talk went pretty well. There were a good number of questions which were all practically focused, which is a good sign that other people are also struggling with building internationalized applications.
This year's Chandler BOF was one of the better ones. I attribute a lot of that to actually having enough software that questions shifted from "what are you going to do" to "can it do this". We did a brief demo of the latest version of Chandler and after that we had a lively back and forth about lots of topics. I hope that means that some people will be excited enough to join us at the sprints.
The most packed out talk that I saw so far was Ian Bicking's talk on Python Eggs. It was standing (and sitting) room only, which resulted in an encore presentation in one of the large ballrooms. I was really happy to see this, because this sort of thing has been long overdue.
Lightning talks are frequently among the best talks at conferences that have them. Here are that ones that stuck out to me:
- Titus Brown showed some cool web testing / debugging using twill and wsgi_intercept
- David Creemer from MerchantCircle talked about their experiences building a commercial web app using Python. A lot of their components are the same components in Turbogears
- Ben Collins-Sussman gave a very entertaining talk about his experiments in replacing himself with an IRC bot. I wonder if his Werewolf moderator bot will get broader distribution.
- Katie Parlante from OSAF showed off Chandler 0.6.1 and some of our recent parcels, including evdb/eventful and a Mac dashboard widget
Here's brief report on the first day of PyCon.
Almost none of the usual notetaking suspects made it to PyCon this year, and even if they had, the hotel's network appears to be Bonjour unfriendly. This means that unlike previous years, there aren't any detailed session notes to post.
The Django and Turbogears projects are doing pretty well on the marketing front as well as the technology front. The Turbogears people showed some very nice browser based UI building stuff. I've been looking for a web framework to do some poking around, and I've been looking a lot at Ruby on Rails via our study group on Bainbridge Island. I've been waiting till PyCon to check out the happenings with Django and Turbogears.
The first two OSAF presentations were prettty well received. Actually, there was more interest than I expected, so that was gratifying. A few people asked me why there was no Chandler talk this year. It was fun to watch their faces when I replied that actually there were 3 talks this year. I am glad that people are starting to see that we are contributing stuff back into the Python community.
I was really interested in the presentation on bzr. It was interesting to see some of the work that Canonical has done, not only on bzr, but tools around it, such as the patch queue manager and launchpad.net. I hope that people continue to work on bzr support for trac. Martin Pool rightly pointed out that people who are afraid of decentralized version control systems are afraid of a bunch of bad community things that can happen using these systems. He also rightly pointed out that these are inherently social problems, and I think that he is right. Just because you have a centralized system doesn't mean people are going to work together in a good way.
Perhaps flying overnight isn't the best idea. Between various factors, I didn't end up getting any sleep. Alaska Airlines managed to deliver us to Dallas about 40 minutes early, which put a crimp in my plans a bit.
My flight was originally scheduled to land at 5:45AM, and via sunrisesunset.com, I knew that sun rise in Dallas was around 7am. Factoring in the amount of time needed to deplane and collect my check bag, I figured that I might be done with all that just in time to catch the golden hour and grab some nice sunrise pictures of Dallas. Things moved a bit faster than I thought, and Dallas turned out to be quite cold (good thing I had my Seattle cold weather gear), so I ended up just heading for the hotel.
I spent the morning helping out with various aspects of the conference, including manning the registration desk. The coffee that I had over breakfast pretty much ensured that I wasn't going to sleep, so finding something productive to do was good. It was a great opportunity to see who was going to be around, and to greet people that I knew as they registered.
The reason that I came on tutorial day was to see the Agile Development and Testing tutorial. Normally I take a pass on technical tutorials, because I can usually learn more by reading the documentation for a project for 3 hours than I can listening to someone talk for 3 hours, unless the topic is difficult or unless the presenter is really good. Titus and Grig's tutorial was different because they have looked at a bunch of tools that are useful for agile development (I was mostly interested in testing), and presented what they felt to be the best tool set. Stuff that stuck out to me was nose, coverage,py, twill, and usage of the statistical profiler. This definitely saved me the time of trying to sift through the piles of projects that are out there.
The rest of the day turned out to be pretty low energy. From our hotel room we could see huge swarms of birds flocking back an forth between trees and buildings. So while Grant went to the panel for authors, I wandered out to the parking lot and tried to grab a decent photo of these bird swarms. I don't think that I got one, and now of course, I wish that I had brought the big lenses with me (I only brought a little bit of camera stuff).
Grant was gracious enough to put up with my skating mania, so I was able to see NBC's coverage of the ladies final. Commentary on that somewhere else, some other time.
I was scanning some blog posts during slower moments of Adrian Holovaty's Django presentation at PyCon, when I found this.
My heart goes out to Daniel Steinberg and his family on the loss of his daughter. Daniel is writing about it: Dear Elena.
In case you don’t know Daniel: he’s one of the great guys of the development world—smart and generous. My thoughts and sympathies are with him and his family.
Dan has been a great friend over the years, even though we only get to see each other here and there at conferences.
Count me in for a hug, Dan.
We headed up there for Moosecamp -- with the exception of the Photocamp track, I mostly hung out in the hallway with the girls, so that Julie could go to sessions. I spent some time hanging with Avi Bryant -- it's only the second time I've met him in person, but he's fun to hang out with, and we're definitely coming from the same place, so it's nice to have someone to commiserate with. This time I also got to spend some time with Avi's partner in Dabble, Andrew Catton, hich was also a pleasure.
Over the course of the few days, we ended up spending a sizable amount of time (in blocks) with Eric and Rose Soroos (and their son). This is another sad instance of people from Seattle needing to go to Vancouver in order to see each other, but that's just how things have worked out. Eric is a camera and Python guy, like me, and we had some fun hanging out an talking. I got to try bolting my 50mm onto my 100mm macro thanks to a cool adaptor ring that Erik was carrying, and for like $8, it's too cool not to make its way onto my equipment wishlist.
We've been slowly getting to know Chris and Ponzi over the last year or so (we first met them at Northern Voice last year). So this as a good chance to get a little better acquainted. In particular, I had no idea that Ponzi is a budding camera freak like me. That ended up making for a fun lunch conversation one day.
I had a bunch of nice personal photos that I shot of these folks (and some others), but the laptop theives have those now. At least Flickr still has some of the good ones.
Ok, on to the topical material.
I thought that the idea of PhotoCamp was incredibly good. When I started looking at the pages, I was kind of jealous of the VanDigiCam group. I'm not aware of anything like that in the Seattle area, much less here on Bainbridge Island. While I enjoyed the sessions, I think that there could have been so much more. There was a wide range of skills in the sessions, and I think that there is a huge amount that you could do. The prospect of a day long Photocamp is pretty enticing, given the right time. I was also astonished to learn that Kris Krug has only been shooting for 4 years. Perhaps there is hope for me yet.
I've seen several suggestions that Moosecamp be after the main conference, and I agree with that. I think that having the structured event up front can lead to a better unstructured event afterwards (although Moosecamp was already fully scheduled before it started). This year the PyCon sprints are after the conference instead of before, and I think that will be better than it has been in the past. We'll know the answer in about a week.
Julie's already written about her talk, and I won't comment, because you won't believe anything I say because you know that I love her.
The Blogs in the Bedroom panel. I had no idea how this was going to go, and I was kind of nervous about it. All the other participants on the panel have fairly interesting situations. Chris and Ponzi had a very public dispute, Maryam and Scoble have a very high and spicy profile, and Jen Wiederick is chronicling her dating (mis)adventures. In contrast, Julie and I don't fight much, we have kids, and we're pretty much non-controversial. It seemed like the audience was much more interested in the other situations represented around the table, which was fine with me. Even so, I thought the everyone on the panel had something to say, and no single panelist hogged the mike. Right there that made the panel better than many panels I have seen (which is too many).
As for the rest of the conference, well, I missed a lot of it, as I was in the kids room for a while. The one presentation that I regret missing was Nancy White's. One of these days I am gonna get to see Nancy go full bore. It's on my list.
That's 2 conferences down, 2 to go.
I'll be at PyCon starting early(!) Thursday morning - I'm taking an overnight flight, which is something I haven't done in a while. I am looking forward to Titus Brown and Grig Georghiu's tutorial. There's a large amount of Python testing machinery that I just haven't had the bandwidth to look into, so it will be great to benefit from the hard work that Titus and Grig are doing in their tutorial. After that it's the regular PyCon program, followed by the sprints. There are three talks by people from OSAF:
- Brian Kirsch's talk on internationalization in Python, using Chandler as an example, and touching on PyICU.
- Jeffrey Harris' talk on vobject.
- Grant Baillie's talk on zanshin, OSAF's CalDAV client library.
I am only staying for two days of sprints this year, a switch from previous years where I stayed for the entire time. The first three months of the year are just packed for me travelwise, and I had to shorten something in order to stay sane.
This year will be the first time that I'll be at ETech. I am starting with the tutorial day - I am planning to catch the 2.0 edition of Kathy Sierra's Creating Passionate Users tutorial. While I haven't written much about attention, I've been interested in attention like ideas since my first encounters with information overload in the early days of Usenet, and these ideas are obviously relevant to Chandler.
I am not sure how much blogging I will be doing from the conferences, as the "real time conference blogging" has bit me and then gone on to other folks. If the usual suspects show up at PyCon, we will probably do some SubEthaEdit notes as in years past.
Our recent misadventures in Vancouver have made me apprehensive about toting my camera gear out to these two conferences. I haven't made up my mind about it yet. Or more accurately, I keep changing my mind about it. It's fun to shoot conferences, but carrying the gear is a hassle.
Maybe by the time I get back from the road my MacBook will have shipped.
There's another thing that I've learned (besides make more backups) from the theft of the Powerbooks. I used to think that I could switch to Linux whenever I felt like it. This incident forced me to do it, if only for a few days, and it turns out that I didn't like it much. Thankfully I won't have to do it because Paul and Jenny were so generous with the iBook.
I used Thunderbird before when I was on Windows, so I figured that it wouldn't be any big deal to go back to using it. I was wrong. In Mail.app I used Mail Act-On to fire an Applescript that would take a bunch of selected e-mails and file them in the correct folders. There's no way to do that in Thunderbird. I also had a combination shell and Applescript solution for killing comment spam on my blog. No way to do that either, because Thunderbird isn't scriptable. My workload is e-mail heavy at the moment, and even small hits to e-mail productivity are multiplied
I tried using GAIM for managing my normal IRC load. Once I got sounds working it was sort of okay. I normally put IRC on a separate display, and I use Snak because I can create multiple windows, and inside each window I can split the window into tiles, one IRC channel per tile. I haven't seen any other IRC program on any platform that will let me do this UI. And for watching several IRC channels at once, this can't be beat.
I tried using my Bloglines and Rojo accounts. I found both of these to be too slow, even when loaded with a much older version of my blog subscriptions. I was able to get a newer version of my feeds and upload them, but both aggregators didn't respect the grouping information that NetNewsWire left in the OPML.
I was already doing most of my development work on Linux, so that's not taking much of a hit, but for all the productivity stuff, going to Linux would be a big step backwards. I guess it says something when I'd rather use a G3 iBook versus the 3.5GHz AMD64 box...
This is our fourth day without the Powerbooks...
Kudos to the Vancouver police for having and using e-mail. That made it easy to get them the rest of the information that they needed for their police report. We need a copy of the police report for our insurance claim. Unkudos(?) to the Vancouver Information and Privacy Unit for requiring a paper letter to get a copy of the police report.
Thanks to Paul and Jenny for loaning us an iBook instead of turning it into a media center. Having that iBook means access to the backups (from December) of my Powerbook. As Julie has pointed out, we didn't have any backups of her Powerbook, except for some of her iPhoto library. I feel terrible about this, since I should have been on top of this as the family IT guy. Of course, two month old backups suggest that I wasn't doing a terribly good job for myself either. So we are limping along -- during the day I need the iBook and the Linux box, and at night, Julie can use the Linux box. The old Thinkpad X21 that the girls were using finally jumped off the precipice into unusability, and even wiping the disk with the restore partition isn't helping. It looks like some kind of intermittent hardware problem. So while we are sort of back on the air, it's in a limited way, and is likely to stay that way for a while.
OSAF has been very understanding about the theft of the computer, and it looks like I will get a replacement. Since a 15" Powerbook and the lower end MacBook Pro cost the same, it's a tough tradeoff over which to get. But since this is the machine that I'll be living with for the next few years, it seems sillly to get a PowerPC based laptop, so MacBook it is - now there's just the long wait for one. I suppose I should be happy that I'm getting a MacBook via work (I was expecting to have to shell out my own money), but I'd be much happier to have the old computer back. The last few days have helped me see how much work it's going to be to get a new machine back to a usable state, even with the backups. And I don't like to think about the data loss.
Julie thinks that I am doing well about this, but I don't really think that I am. I'm pretty cranky, and I'm having lots of moments where I expect to be able to do something with some data or program, only to be reminded that I can't. I'm working in an environment which is not the highly tuned environment which I am used to, and I can feel my productivity suffering. I ought to be happy, since this is proof that I've been successful at leveraging the computer to tangibly improve my productivity. For the last few days, I've felt more like someone who's having to learn to walk again.
Thanks to all who took the time to comment, whether to apologize for their city (no need for that), offer sympathy, or give a tip. We appreciate it all.
On the way home from Northern Voice, we stopped off at the Vancouver Aquarium. After a fun time inside, we returned to our car to find the glove box open, a suitcase unzipped, and the pair of bags containing my and Julie's laptops gone.
Needless to say, this is going to a pretty major cramp in our ability to blog/respond to e-mail, etc, while we sort out police reports, insurance companies and so on. We really depended on those machines for day to day life. The impact of them being gone is still sinking in.
If anyone has tips for dealing with this kind of situation, we would really appreciate them.
This weekend marks the beginning of conference season for the Leung family, starting with Northern Voice, where Julie will be keynoting. We will actually be dropping in for MooseCamp, so we'll be around for most of Friday. I'm probably the most excited about the PhotoCamp that's being held during the afternoon of MooseCamp.
Sadly, this means that I won't be at this year's CodeCon. That's a little disappointing because the program looks very interesting this year. Those of you in San Francisco can just show up at the door. I'm sure it will be worth it.
I am not a physically large person -- in fact a new acquaintance of Julie's apparently described me as a "petite Chinese man". In any case, my stature impacts the amount of stuff that I can comfortably carry, and as the Washington Post notes [ via Merlin ], we Americans are hauling more and more stuff around with us.
As a bookish youth, I hauled lots of books (required and extracurricular) to and from school. I remember having to replace bookbags because they were destroyed. I have no idea of how I'd stack up against today's kids, although I do know that a friend's twelve year old has a 22 lb backpack for school. I watched while the bag got put on the scale.
It's definitely the case that the longer I am going to be away from the house, the more I carry. Living on an island, and having the associated ferry ride and waiting time definitely means that I want to have stuff to keep me occupied. Kick that up a notch if I then am going on to an airport.
I wrote a bit about my bag/carrying setup last year, but a few things have changed. The eVest is still going strong, especially during the cooler parts of the year. The thing that's changed is that a decent portion of the time, I am packing a growing collection of camera gear. There is no way that I'm going to get my camera gear into one of the two main compartments of a Brain Bag. I could just dump everything in there, but the thought of all the equipment jumbling around in there just isn't going to make it. So I needed a camera bag, which for now is a Lowepro Slingshot 200 AW. This is an over the shoulder bag, which means that I can't carry it and the Brain Bag. The laptop bag that I was using works great in conjunction with the Brain Bag, but it's just marginal as a standalone laptop bag, which was fine when I bought it. Since I can't use the Brain Bag as often, I needed a different solution. I have a very nice Google laptop bag, which I've tried once. It was serviceable, but there were a few things that I didn't really like about it. Part of the Search Champs schwag was a Timbuk2 messenger style laptop bag, which is what I am going to try next.
Current weight: Camera bag 9lbs, Laptop bag 13lbs. I'm definitely carrying.
Packaging is just one of those things that has always bothered me. Search paths, library paths, incorrect dependencies. This stuff is just a pain in the neck. Recently I've been reading a bunch of posts about packaging. Ian Bicking wrote one about the use of Python's site-packages directory. Joe Gregorio wrote one about the evils of setuptools. Back when I was doing stuff in Java, there were any number of problems related incorrect classpaths, mismatched jars and so forth.
These problems are so bad that we have to build decently complicated programs (which then become their own problem) to manage the problem. There's Maven (hated by half the Java community, loved by the other half), the CPAN shell, Ruby's gems, Python's setuptools, and the plethora of package managers for Linux.
There does seem to be a common thread, though. Almost all of these systems/languages have their roots in Unix.
Good thing I still have my Unix Barf Bag...
[ Update: some people like setuptools -- I'm in this category myself ]
I've been running a backlog on portraiture books, so I'm just trying to catch up here.
This is the first book that I've read on portraits that covered the lighting and metering part (chapters 6 and 7). If you don't know much about this, it's a good introduction to the various kinds of lights and the different kinds of light meters
Basic lighting and metering. On the whole, this book is a bit thin to be covering all the topics that it does. I definitely prefer books that are more specialized.
This book derives from the author's experience training portrait photographers, who start off in his senior portrait studio. If you just want to jump right into shooting, the first chapter is "Six things you should never do":
- Make sure the face is never turned away from the main light
- Make sure the shoulders, waist, and hips are never squared off to the camera
- Make sure the arms are never posed in contact with the side of the body
- Make sure the chin is never lowered to a point where it diminishes the catchlight in the eyes from the main light
- Make sure the spine never forms a vertical line and the shoulders never form a horizontal line in the frame
- Make sure to never have an expression on your face you don't want on the client's face in the portrait.
After this he talks about types of poses and then launches into a series of chapters, each devoted to the posing of a particular part of the body. In each chapter he discusses how to make things look good or hide them when they look bad. There was a lot of really useful stuff in these chapters and lots of comparison photos to help you visualize the body positions that were being discussed. Definitely on the buy (for continual reference) list.
It turns out that there is a huge amount to learn about lighting, and this book (so far) is the best book I've seen on the topic. There was good understandable coverage of lighting ratios, the various lighting styles and lots of different types of portrait scenarios. I really liked the style of the book which includes a photograph, a lighting diagram of the setup used for the photograph, and numerous additional or variation photographs. This style made it much easier to visualize the impact of the techniques being discussed. Also on the buy for continual reference list.