More Lighting Talks!
A lot of people skip the lighting talks, but I find that some of the best stuff at any given conference comes out of the these intense 7 minutes sessions.
Jared Ning: "Ruby Without Borders"
Matthew Todd gave a talk last year asking for people to came to Tanzania and help him code in Ruby. Jared did and he loved the experience.
He mentioned a very useful TextMate short-cut:
If you have a bunch of files and folders open in the project drawer and you click the chevron (the triangle thingy) to close a top level folder then when you open it back up TextMate remembers the state of what folders were open and closed underneath. But sometimes you want to close down all the folders underneath. Option clicking on the chevron will do that. Also, option clicking on a closed chevron will open up all sub folders. I've been looking for this.
Check out Ruby Without Borders.
Jeffrey Taylor: "Fast Multi-protocol XML Parsing"
Jeffrey's project had to read a lot of RSS feeds and it was super slow even with the fast ruby xml parsers. So he rolled his own, which can be found here:
Jeffrey used the sax model to do super fast xml parsing (10 times faster than nokogiri - he claims). He does admit that the code has a Flog score of over 500 for one method.
Hal Fulton: "Reia: The Next Big Thing"
Reia is an attempt to combine Erlang and Ruby. If you want the cool concurrency of Erlang with Rubyish syntax, take a look.
Yehuda Katz: http://github.com/wycats/bundler
A true dependency resolver
From the README:
Bundler is a tool that manages gem dependencies for your ruby application. It takes a gem manifest file and is able to fetch, download, and install the gems and all child dependencies specified in this manifest. It can manage any update to the gem manifest file and update the bundled gems accordingly. It also lets you run any ruby code in context of the bundled gem environment.So basically it's a better way to vendor your gems with your project. Check it out if you've had trouble using other systems.
Before Matz's Q and A, Jim Freeze got up and talked about Lone Star Ruby Conf's attendance over it's three year span:
2007 - 200
2008 - 282
2009 - 230ish
Which is right around where they want it. Small enough to be intimate, large enough to be interesting. And that size group fits nicely in the Norris Conference Center.
Btw, the network was outstanding this year. They bought something like 6 wireless routers and although sometimes it was sluggish, it remains some of the best wireless I've had at a conference. Usually the high tech load crashes the network within minutes.
Matz Q and A
The two answers that stood out to me were when he said that the Perl $ variables were the thing he regrets the most about designing Ruby. Also, when I asked him about how often he gets to write in Ruby he said that the largest Ruby program he ever wrote is 2-3000 lines of ruby code. It was a mail client with Emacs front end. Generally he uses it for scripts and such. I find it amazing and a little heartbreaking that Matz doesn't get to program in the language he created and clearly loves.
Encoding Domains - Rich Kilmer
First, there was a lot of buzz about Prezi at the conference. Prezi is a canvas presentation tool that so impressed Rich Kilmer that he learned it the night before and wrote his keynote in it. In Prezi you put all your text, videos, images, sound files, and whatever in one huge canvas and then tell give it a bunch of waypoints and zoom levels to follow. It's pretty bad-ass.
This was Rich's first keynote ever. Which is kinda hard the believe as he's been doing amazing things with Ruby since the dawn of time (which is 2000, btw). In it he discussed how software libraries don't have value, they have potential. What has real value is encoding domains. He told an interesting story about how he encoded the domain of a massive military project mostly by sitting down with some experts in the field and figuring out how they would like the DSL to read. Once he had captured all the information they could enter in to their logistics system in syntactically correct Ruby, he went about making it work. He called it syntax driven development and it worked so well that 5 years later he still gets calls about the prototype he wrote in two months. Apparently they are still trying to create the real product in some other language.
Well, the perfect storm of conferences (Agile 2009, Software Craftsmanship North America, and Lone Star Ruby Conf) is now over and I'm looking forward to actually writing some Ruby tomorrow. I need the rest.