Rubyfringe was great. Off-the-beaten-path topics, small size, tons of style, and countless small touches made it stand apart from the typical tech conference. (They included a Rubyfringe-branded condom in the swag, for gawdsakes.)
Quick summaries of some of the talks follow. Warning, these probably reflect my own disposition as much as that of each speaker.
- Dan Grigsby - Don’t work for the man, be a programmer/entrepreneur instead. Treat each venture as an experiment and don’t be shy about terminating the ones that don’t work. You’ll strike out a lot but eventually hit a home run.
- Yehuda Katz - Living on the edge is fun, but also dangerous. Finding a balance between the cutting edge and the bleeding edge is the trick.
- Luke Franci - There are methods for testing other than code-oriented ones like unit testing. RCov doesn’t mean much. Use QA, usability tests, and code reviews for well-rounded coverage.
- Obie Fernandez - To be successful at consulting, watch the balance of power in the relationship with your clients. Most Rails freelancers are charging too little - he recommends no less than $100/hr.
- Matt Todd - Don’t be afraid to dive in with both feet. Make mistakes, learn from them. Pick good problems to solve.
- Jeremy McAnally - Frameworks are getting fat. Frameworks should be specific. Don’t use Rails (or any other framework) outside of its domain.
- Hampton Catlin - Javascript is a good general purpose language, but terrible in the browser. Add-on libraries like Prototype and JQuery are just band-aids on this problem. The client-side language should be tightly coupled to the DOM, like CSS. He proposes Jabl.
- Giles Bowkett - Fuck the man, fuck the mainstream. Programming is a tool to do your art. His art is music, his tool is Ruby, and the result is Arcaeopteryx. (Giles stole the show with this talk. He ran like twice as long as his alloted time but we were all so into it that no one minded.)
- Damien Katz - If you want to become the guy that gets paid to build cool things, take a risk: start by making something cool without any plan for how to get paid for it. (He did that, and now IBM pays him to work on CouchDB and contribute it to the Apache Foundation.) Also, Erlang is sweet.
- Reginald Braithwaite - It’s too bad Ruby isn’t more like Lisp or Haskell.
- Tom Preston-Warner - The scientific method rules, use it for coding (and life). Ruby 1.8 has weird memory leak bugs. Github now has a git-powered pastie site, gist.github.com. Also, Erlang is sweet.
- Blake Mizerany - Sinatra is a framework for fast, small web services. Routers are unnecessary obfuscation; treat a web resource url like you would a function name, and address it directly.
The overarching theme of the conference seemed to be that Ruby’s steady march into the mainstream means it’s losing its luster for us, the early adopters. Ruby was once fringe, but now it’s not. We’re now all in seek of the fringes of Ruby, and of software tech in general.
You’ll note the use of “fringe” as an adjective. A unique culture seemed to emerge from the attendees over the weekend, and using “fringe” this way - as in, “Dude, that is so fringe” - was one trait of that culture.
It’s a great term. The fringe refers to all the places where the weird, interesting, chaotic experimentation goes on. This is the spawning ground for tomorrow’s new hotness, but the fringe never looks like much when looking at it from the mainstream. Why do I need a new database paradigm? SQL serves just fine, thank you. What about a new web framework, a new object relational mapper, a new transport protocol, a new language? Rails, ActiveRecord, HTTP, and Ruby also serve just fine. CouchDB, Sinatra, DataMapper, XMPP, and Erlang are on the fringe, along with countless other even less well-known projects. These things are not just weird in how they work, they’re weird in that they solve problems that most people don’t even know they have. That’s the fringe.
“Fringe” is more descriptive than the more commonly used “cutting edge.” Cutting edge implies a one-dimensional graph, as if tech is on a single well-charted path toward an ultimate destination. Put that way, who wouldn’t want to be on the cutting edge, meaning you’re further down that inevitable path?
But that’s not how it is. The state of tech, charted over time, is an N-dimensional graph. The fringe is the ragged edges of that graph, the weird bits hanging off the edge. Weirdos with weird visions doing weird stuff that few besides them understand. 99% of this weird stuff never turns into anything. But some tiny fraction turns out to be a new direction for tech, the next big thing, the new hotness, a revolution. In this, it has more in common with biological evolution than with the design and planning we associate with the works of man.
Early adopters crave being in the fringe. We love the chaos, the freedom for wild experimentation, the cognitive challenge of trying to predict which bits of this massively heterogeneous mess may turn into something world-changing. It’s not the best place to be from a practical standpoint: proven tech from the mainstream is what you want for getting “real” work done. But there’s a satisfaction you can get in the fringe that can’t be found anywhere else.