Sunday, May 20, 2007

On the Fringe

College has always been more than just about the classes. Teens are coming of age, learning how to relate to one another, no longer held as tightly to parents as they once were. Beyond the classroom, there are clubs, social organizations, sporting organizations, fraternities, sororities. It's quite possible, I suppose, for someone to be completely oblivious to all of that, to simply go to classes and come home and do homework.

I was looking at the Railsconf webpage the last few days. What I didn't pay attention to were the posts that people were making. With most O'Reilly conventions, there are companies and these companies want to get attention. What better way to do this than to host parties and pay for beer? There were several offsite get-togethers, parties, hackfests, and so forth.

Which was all fine and dandy except I didn't read it until this evening, the night before the event ends. I wasn't too unhappy about that. I didn't come to the convention to go to parties and meet people. Even so, it's surprising how the organizers didn't point this out, point out the extra events occurring at the periphery of the main event. I'm not saying I would have attended. The event is tiring in any case, and sleeping is something I like to do.

I'd be willing to say that there was a sizable minority that didn't know these events were happening either. Of course, there were folks that knew these events were happening but chose not to attend, whatever their reason.

I spent Saturday evening attending two BOFs instead. The first was on bioinformatics, a topic I wasn't sure I was interested in, but was fascinating because it's not a mainstream Rails topics. Indeed, what it suggests is that many people see languages as part of a whole. Can Ruby integrate with Python? Or C? (That I know it can do). Or Perl? Integration across languages seems like a big issue because of legacy code that people don't feel like translating. And, one way to push the popularity of a language (or a platform) is to write software for niche areas.

Indeed, software exceeds the bounds of what mainstream coders do. In a Rails conference, you think of typical uses of Rails. Anything that basically stores data in a database, so called CRUD operations. Yet, there is a huge scientific community that needs programs written. Historically, they've written bad programs because scientists were not programmers. That's quickly changing.

The next BOF I attended was about RSpec, a way of writing specs and unit tests that sounds more like English speech. Two of the core members: David Chelimsky and Aslak Hellesoy ran this event. They work pretty well as a pair. They're kinda like the Siskel and Ebert, without the arguments. It's like Batman and Robin, except David's more avuncular, and Aslak is more German. Er, Danish. Something :).

I had never heard of RSpec before, but apparently quite a few people attending the BOFs had heard of it. One interesting aspect was the kind of description they could make. For example, they tried to describe bowling. However, they could only describe it giving examples. If you bowl gutters all the time, you get a score of 0. If you bowl a perfect game, you get 300. If you bowl 9's every frame, you get a 90.

However, they can't seem to specify the rules of the game, and how the scoring works. Presumably, such specs requires some logic language, and then that requires proof systems. RSpec is syntactic sugar on top of unit tests. While it may change the way people describe their tests by forcing people to think about behaviors, I'm also convinced that there are behaviors that are natural that are far too complex for RSpec to handle, because, as I mentioned earlier, it would require proof systems.

I wonder how well Railsconf works. I had a complaint about ETECH. It can be quite hit or miss. People who talk sometimes give good talks, sometimes not. Unfortunately, it's hard to walk out if you're in the middle of it. I like to sit at the front row so I can stretch my legs, hear questions, and ask questions easily. However, it's tough to leave. I felt there were at least two bad talks I attended today.

I should quickly comment on Nathan Talbott who gave advice using a Jeopardy style game where he gave away real cash. It worked well to encourage discussion and pointed out some interesting ideas. However, it also suggested a certain kind of business. In particular, one where you seek contracts.

He could have pointed out what kind of people seek coders, and why he likes this model instead of making a product and a website people visit and purchase. There are somethings one person can do, some that 2-3 can do, and some 20-30 can do. Clearly, he's aiming at the small size, and that limits the kind of code you can write. For example, you aren't going to write a search engine, and probably not a blog management tool, and probably not even fantasy football. YouTube sites are likely to be too much for the average Rails developers.

I sometimes wonder, attending such events, whether the format is good or not. We attend lectures because we are at a convention center. Can we do something else? The idea of a conference hasn't changed that much. Indeed, the software for doing demos still pretty much such, especially figuring out how to transition to live demos. There's no convenient way to organize that. You would think virtual desktops would help solve this problem (there are issues with Internet connectivity too, as events like this require voracious bandwidth).

And you realize tons of people blog and blog, and that my blog, not having a particular tech bent probably has a tiny readership. I don't mind that. I write just to write.

Tomorrow I gotta get up and pack. Fun stuff.

No comments: