At the end of July I traveled to Portland, OR, to attend OSCON. This was my first time at OSCON, and it was a blast.
UF sent me to the tutorials, which took place on the first two days of the convention, and the sessions, which lasted for the following three days. Since I’m primarily a Perl programmer, I focused on the Perl track when choosing what to attend, but there were often multiple sessions that looked interesting in any given time slot.
I was pretty impressed with my second tutorial, Introduction to Seaside: Powerful Web Application Development in Smalltalk, taught by Perl guru Randal Schwartz. It was my first real look at Smalltalk, specifically the Squeak implementation. The development environment for Squeak seemed very intuitive. Randal made me wish for more iterative development, where you can interact with a debugger in the middle of your work. Perl has some of this but it isn’t as easy.
Seaside also had an interesting take on templating, in that there isn’t a separate language for displaying content to users. It structures the content and user interface and automatically handles HTML escaping, which is a nice change from e.g. PHP.
I attended two Perl tutorials: Perl Worst Practices, taught by Damian Conway, and Catalyst: 21st Century Perl Web Development, taught by Matt S Trout. Both of these guys are pretty insane Perl programmers, and it was cool to see them speak.
Damian’s talk showed how to abuse Perl. He used his SelfGOL program as a source of counterexamples. Most of the techniques wouldn’t (shouldn’t?) ever show up in your programs, but it was educational and entertaining to see them in action.
Matt’s talk wasn’t as in-depth as I would have liked. It was a good overview of Catalyst, but primarily for me it was informative to see how he works.
In the evening I went to the keynotes and got to see Mark Shuttleworth and r0ml speak. r0ml compared various software development methodologies (XP, Scrum, etc.), showed how similar they are, and related them to Quintilian’s take on rhetoric and also juggling. His talk is definitely worth watching.
Damian rounded out the evening with a very amusing talk entitled Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy!. chromatic has a great summary up on the O’Reilly site.
Larry Wall and Damian’s Perl 6 Update was a little over my head. I haven’t been following Perl 6 much in the past few years, but some of the syntax and new language features they discussed seemed helpful.
The Critical View of OpenID talk was amusing, mostly because it devolved into something of a shouting match. Despite that it was a good discussion of some of the problems with OpenID, including why there are so many providers and not very many consumers.
I finished up the day at Paul Fenwick‘s Illustrated History of Failure talk. Paul looked at various incidents where human error has caused huge monetary or productivity losses, such as the 2003 blackouts in the Northeast. Where possible, he used estimates of the losses and put them in terms of the productivity of a human being. The talk was so popular that the organizers of OSCON asked him to give it again as one of the final keynotes, and that version is available online.
The Effects of Stress on Programmers’ and Groups’ Performance explained a lot of the problems with working as a programmer in office environments where interruptions are common. The speaker, Alan Carter, pointed out that:
- Programming is a mix of composition and productivity
- Stress is bad for composition activities because it reduces the size of your working memory
- With a smaller working memory, it is harder to perceive if we are right
- Thus, we end up using processes (“rituals”) as a guide
Following that talk, I went to a talk given by two of the Subversion developers called Do You Believe in the Users?. They talked about what makes software successful, focusing on the aspects of marketing, customer service (they mentioned letting users participate through issue trackers and forums), low barriers to entry (e.g. TripIt), and hiding complexity.
I was intrigued by a talk given by Gordon Mohr, from the Internet Archive, about their indexing technology. All of it is open source, including their crawler. Gordon’s demo made it seem like the crawler is easily extensible, so I may be looking more into it for some projects here.
There was much more to OSCON – I listened to and took place in lots of interesting hallway conversations. There was too much to take in.