Although it is a few days late, I thought I would post something about the last two days at OSCON to wrap it up.Thursday was a big improvement from Wednesday. The talks were more in sync with what I was interested in. The keynote was good. Bill Hilff from Microsoft’s Open Source Lab talked about open source and Microsoft. He did a good job given the environment here. I think he is making progress on helping Microsoft understand open source and to even think about opening up their own work. Honestly, if Microsoft wanted to beat Linux, they’d open source Windows. But instead, it’s baby steps. I guess you can call that progress but they have a long way to go.I went to a series of Rails talks that all were very good. First talk was on Rails plugins. There are several projects I wasn’t aware of allowing you to freeze gems into your vendor tree. I’ve done subversion tricks in the past to do something like this. In fact, we usually would put snapshots of the source gem into the subversion repository and install from that. It is messy and hard to track. Freezing them lets you worry about installing gems on the development machine and then creating what almost amounts to a “build” to hold the deployable source and gems. Very nice.The next talk was on extending Rails with C. Most of this applied to Ruby in general but there was a bit of a Rails slant to it. Most of the grunt work is easy to do with some helpers (in particular extconf.rb). You can register and run static C code in Ruby or run C inline. The inline is a little crazy. It will compile C code on demand and use it. I can’t ever see using this in production but makes an interesting development tool. You can verify if performance tuning critical sections with C will work before committing to building a library.After lunch was another Ruby on Rails talk. This was presented by Jacob Harris from the New York Times. His talk was “Rails Under The Knife”. It dove into exposing how some of the magic in Rails works. In particular, he focused on how blocks, metaprogramming, and reflection all contribute to how Rails can do so much with so little code. The core premise is that code can and should be manipulated just like data. This is of course against everything we (I mean old school programmers like me) learned. In the C world, code and data are distinctly separate. In Ruby, it is much more fluid. It was a good talk and I recommend taking a look at the slides on his site.The other good talk for me on Thursday was on Prototype (the Javascript library). It is timely as the next phase of the project I’m working on is to bring in Javascript/AJAX goodness. I’ll readily admit I’m a Javascript bigot. I’ve never viewed it as a serious language. I still don’t think I’ll love it but the presentation gave some good basis for why things are the way they are in Javascript. Prototype as a library (especially in Rails) hides much of the Javascript ugliness so you can get the effects you want easily.Friday was only a half day. In the keynote, Philip Rosedale from Linden Lab talked about how all of Second Life is being open sourced. He made some very compelling arguments. Linden Lab is not positioning Second Life as a game. They believe that it is an evolution of the web to the next form of browsing and online interaction. He pointed out that there is simply no way Linden Lab can do this on their own. And that they would be better in the long run by being there first and helping to shape it. It is a very insightful point that many companies don’t get.The two talks I went to were basically repeats of talks I had seen at WWDC. One was on the LLVM project. Unlike the WWDC talk which was about how it fits with Xcode and Mac development, this version was about LLVM fitting in with the rest of the development world. The short version is that LLVM is a collection of compiler libraries including parsers, optimizers, and code generators. Each can be replaced as needed. In theory, you could write a parser for any language that generates LLVM intermediate language and get the rest of the compiler chain for free. There is a missing link between the scripting VM’s (Ruby/Python/Perl) that something like Parrot could solve. I wonder how widely LLVM will be adopted. I don’t know if the GCC community feels threatened by it or not. Much of LLVM seems to be about bring the GCC tool chain into the 21st century.The other talk was on developing for OS X using Ruby. Apple seems to be doing a great job of putting in support for Ruby as a first class development language. There was an example showing an irb-type application that you could dynamically make Cocoa framework calls and have it execute immediately. Even if you are going to write your app in Objective-C, I can see using this for testing out ideas or experimenting with the frameworks. Transitioning from Ruby to Objective-C is very straightforward and compatible.So there you have it. I got a little less out of this conference than previous ones but I’ve been immersed in the open source world for several years now. But it still cool to see such a wide range of topics covered in one place. I didn’t talk about several other talks I dropped in like one on Linux kernel performance testing. Too many topics, too little time. O’Reilly has posted most of the slides and I believe some videos up on the OSCON website.
-
« Home
-
Categories
Post a Comment