I just received word that my talk proposal for RubyConf has been accepted. My talk, "More than enough rope to hang yourself," will be about the pitfalls of excessive cleverness in Ruby coding. Think of it as an antidote to all the talks you've seen about how to go nuts with metaprogramming. I'm pretty excited, as this will be my first time presenting at a conference. I gather competition was pretty fierce - something like 73 proposals submitted and only 15 selected. Now I just have to psych myself up to telling Matz about Ruby coding style...
RubyConf will be in Denver, October 20-22. Rumor is that there will only be about 240 tickets available and they will probably sell out in a matter of hours, so if you really want to go you should keep your RSS reader fired up to all the usual spots and wait for the announcement that tickets are on sale. I believe someone has already written a bot to listen on the ruby-talk email list and SMS his phone when sales open.
Congratulations!
Also contratulations. I am moving to Boulder, CO this summer, and certainly would like to attend. The site is depressingly short on info, however. Anyone know how much it will cost, or approx when tickets will open? (Next week, October, ...)
Good work sir! That sounds like a great conference. I hear the Ruby conferences are pretty intimate.
I would really like to see your talk but it's not in the cards for me. I'm struggling with this very issue in a Rails app right now.
Congratulations!
May I tell you one of my favorite examples of cleverness gone a bit wrong? It's not very deep and it's not very horrible, but it irks me because it's part of the Rails scaffolding (in 1.1.2 at least), and so stands as a coding example that many will learn from.
in a generated controller:
Is that a single method call returning two values, or is it parallel assignment? With a moment's thought it becomes clear that it's a method call returning two values. But it looks like it could be parallel assignment.
Parenthesizing the method arguments would make the correct interpretation self-evident, but the open, parenthesis-free coding style is so ingrained in Rails that it has prevailed here over the more legible version of this construct. To me this seems hazardous: any time something can look like one thing to the eye and like something else to the language parser, you've got potential for problems.
I won't try to construct examples to show how terrible lack of parenthesization could be in the worst case. I believe that's been blogged by others elsewhere. The rebuttal in any case would be, "when you know the language sufficiently well, it doesn't look ambiguous at all." Probably so. But I do feel it's unfortunate to teach this style of coding as the default.
@peter: if RubyConf is run like RailsConf, there should be slides and audio of presentations available after the dust settles.
@michael: yes, that can be a head scratcher. There's a lot of Ruby syntax that can take more than a moment to puzzle out. Part of the downside of syntactic sugar. There are days when I miss the simplicity of Smalltalk's limited syntax, but then I remember how much I like parallel assignment and it's all ok again.
Congrats Josh!
Hey there, congradulations on getting accepted! Sounds like an interesting talk. I won't be attending RubyConf myself, so I hope that there will be a video or audio that we can get ahold of it (as you referred to). Looking forward to it!
PS: Not requiring me to entire an email is really cool, great choice. I hate when blogs do that, I often neglect to post my comment then (yeah, I realize it isn't publicized, but still, you don't need my email).