Top Ruby Presenter of 2008 – Giles Bowkett
Note: This post is a part of Ruby Inside’s Top 10 in 2008 series. To learn more or see the other awards, read this introductory post.
Giles Bowkett - Controversy, Excitement, and Awesomeness in 2008
Giles simply had to feature in Ruby Inside's Top 10 of 2008 and since there's no Top Crazy Mofo category, he instead scores for this excellent presentation at RubyFringe (yes, it's all there to watch online, thanks to InfoQ!) Despite nominatively being about his "semi-autonomous Ruby musical instrument" Archaeopteryx, the presentation is really about building up an ecosystem around your passions - something most of us can relate to. In his spare time, Giles has a provocative blog, works for star-studded Ruby-powered development team ENTP and works on the aforementioned awesomely unspellable Archaeopteryx.
We caught up with Giles for what was initially a short interview to find out what he's been up to in 2008 and what he has planned for the coming year.. but his indepth answers have turned it into a much longer and more awesome affair:
Ruby Inside: So, Giles, how and when did you get into Ruby?
Giles Bowkett: Somebody I knew was doing some kind of web project, as the project manager, and her programmer wanted to use Rails. This was in 2005. She didn't know anything about Rails and wasn't sure she should believe her programmer, who was utterly ecstatic about it. I looked into Rails as a favor to her, just a simple tech review, and was kind of blown away by its awesomeness.
How have your Ruby & Rails related projects gone in 2008? Surprises? Successes? Failures?
I went to at least ten, maybe fifteen conferences and user groups this year to speak about Archaeopteryx, and that number is after leaving out the two conferences I missed by accident and the one I got myself banned from (by criticizing an organizer). This was both a success and a failure - I wore myself out to the point of near-exhaustion, but I got to speak at a ton of awesome conferences, meet a ton of interesting people, and learn about a ton of interesting projects. The sheer number of awesome projects going on in Ruby-world right now is amazing.
Three things stand out to me as extraordinary: Archaeopteryx is awesome, I got good responses to nearly all my talks - with the response at RubyFringe being incredible - and best of all, my talks motivated people to create their own music projects. I've been able to replace parts of Archaeopteryx with better code by Ben Bleything, for example, and there's a chance I'll be able to do the same soon with superior code for timing as well. (Timing is a really important piece in music software.) I've also got a beta of Matt Mower's Elysium, which is Objective-C and MacRuby. Matt told me my talk at RubyFringe was part of the inspiration for Elysium, and Elysium is a very innovative app. This was a huge ego boost. Seriously it's really cool to see other people get excited about stuff like that.
What plans / outlook / projects do you have for 2009?
I'm going to do less conferences and play more parts in student films. I'm going to put more energy into music this year as well. Some more music software will result from that, I'm fairly certain, but I'm more interested in just making a ton of good beats. I'm going to look to sell my screenplay, of course, but if that doesn't happen, I think I might set it up as a graphic novel on the Web. There's a lot of stuff in there about hippos vs. zombies that came out of random conversations at the Ruby Hoedown. Can't say for sure, though.
I'm also going to develop my barely-0.0.1 refactoring console Towelie into something a little more useful, partly by building in connectors to similar projects like Reek and Flay. I'm going to clean up Archaeopteryx a little, make it easier for people to read. There's still continuations code in there I don't even use, and it confuses newbies a lot - they think if you want to use Archaeopteryx, you have to understand continuations, and that's not the case at all.
I'm also probably going to be doing some training through ENTP, and some promotional videos for it as well, so although I won't be at conferences as much, there will still be some interesting video to watch. And we developed something at ENTP which is pretty nifty, that might see the light of day as a microapp. I'm not sure if I can say anything more than that, though.
What do you think other Rubyists should be learning about or checking out in the new year?
MacRuby looks like it's going to be a big deal. Rubyists who are into music will see cool stuff happening with Midiator and RAD (and hopefully Archaeopteryx!). Elysium has embedded MacRuby scripting. You can attach Ruby procs to individual notes, for example. In the Web world Mike Pence is doing some interesting stuff with components, you might see some news on that front.
I think acts_as_git is crazy cool. Blatant self-promotion here, but I'm also stoked about Tender, an ENTP app. GitHub uses it already. It takes the suck out of customer support. You should also use it for open source projects. It's a bug reporter that links seamlessly with Lighthouse ticket-tracking.
Have any Rubyists had a big impact on your work in 2008?
Markus Prinz and Xavier Shay made rbcoremidi, which makes it possible for Ruby to receive MIDI In on OS X. Basically this means you can play a synthesizer and Ruby will know what notes you played. I've also used MIDI In to have a Nintendo WiiMote trigger arbitrary Ruby code. rbcoremidi makes Ruby MIDI much more powerful.
Ben Bleything improved Archaeopteryx immensely. I was actually arguing with Greg Borenstein from RAD (the Ruby Arduino project) over whether or not he should ask Ben for help with something, because Ben's indispensable to both of our projects. Greg is extremely smart, by the way, and doing a lot of awesome work. I'm hopefully going to interview him and do a podcast with Jeremy McAnally (from the Ruby Hoedown, the Rubyist magazine, and of course ENTP) if/when we get organized about that.
Sinatra is one thing I love, it's like shell scripting for the Web. It's so easy to make throwaway apps that I went through several Sinatra apps in the course of building one Sinatra app, just because they're so quick and easy to make that you can go through several versions, or build Sinatra app A to populate Sinatra app B with data. I have to admit, though, I ended up grafting a lot of Railsy features onto Sinatra for a work project.
ActiveResource was a big part of 2008 for me but I added so many features to it with plugins and whatnot that on the project in question I turned it into a little bit of a Frankenstein monster. In the end I really have to say ActiveResource isn't for every application. You kind of have to think about resources in a particular way, which may or may not apply to what you happen to be doing.
Another project I like is Thor by Yehuda Katz. Thor is utterly freaking awesome. It's just like, all the stuff that you were using Rake and Optparse for, even though you knew you shouldn't, you can now do with Thor, and it's less overhead. Obviously there are still some things where Rake is the clear winner, e.g., I believe RAD uses Rake to compile Arduino code from Ruby, and using Rake as a compiler is actually pretty logical, in a twisted sort of way, because it is after all a Ruby make. A lot of people use Rake for shell scripts, though, and that's kind of nuts. Thor is a much cleaner option for that, and it lets you avoid Optparse, which I personally find gnarly and then some.
GitHub changed the way I work, both by getting me onto git and because of its social features. Git is awesome but I'm still wrestling with its weirder corners. Also locally in Los Angeles the LA Ruby user group is doing pretty awesome. The people involved in making it happen would be Nate Murray, Dan Yoder, Morten Bagai, Coby Randquist from Confreaks, Reid MacDonald, Alf Mikula, Jakob Dunphy, and tons of other awesome people who I'm totally dissing by forgetting them (sorry). You can tell I've been in Los Angeles too long, my props to fellow Rubyists is as full of thanking people as some damn Oscar acceptance speech. ;-)
Also Stu Holloway told me about a wicked awesome project that I'm not allowed to describe but which was the inspiration for Towelie.
And if you want to be a good programmer, the key is calendaraboutnothing.com (by ENTP programmers Kyle Neath and Rick Olson aka Technoweenie).