Clever title, eh?
Anywho… today was DHH’s Keynote and a few other lectures that I was interested in. They included the Caching in a Multilanguage Environment by Benjamin Krause (of omdb.org), Rails Full Text Search with Ferret by Jens Kräuse and Really Scaling Rails by the Twitter guy(s).
Benjamin’s multilanguage lecture consisted of introducing a couple plugins that altered Rails behaviour to enable (wait for it) multilanguage caching. The plugins (whose names I cleverly have forgotten but can likely be found somewhere on OMDB’s trac, perhaps mlr.) were basic things. Change ActionController to handle ACCEPT_LANGUAGE and Routes to tack on a :lang fragment as in :id.:format.:lang (/people/1.html.en) to match Apache’s mod_negotiation.
The plugins also provide test methods. All in all the lecture wasn’t real revolutionary (to echo DHH’s sentiment about how Rails should now move). Caching content based on a language. Of course! It makes perfect sense and is something many developers (especially in Europe?) would be interested in.
The next lecture was the Ferret lecture. At work we’re really interested in using something like Ferret to offload some work from the database. One of our client’s sites has already been bitten by DB load (see the Beast SQL Speedup) and have expressed an interest in having fulltext search with boolean operations. I’m very glad I sat in on this as it’s something I’ve been wanting to do with evedb.info.
Jens’s lecture was really cool. I admit to being naive when it comes to Ferret (really I mean acts_as_ferret): I know it can be used for searching but how to leverage its full power is (or was?) beyond me. Today was the first real taste of how to use it and it was like getting my head around REST and realising how useful it WILL be.
Finally the last lecture I attended today was the Really Scaling Rails by one of the Twitter guys. This was a cool lecture since Twitter is really what everyone using Rails hopes to achieve. And on an extremely limited way we (at work) have had to deal with these rapid scaling problems. We’ve had a client on the phone wondering why the forums took 12 seconds to load (if it did load) and why one browsing part of the site took 5 seconds per page. Quick fixes (For those two instances less than a day’s work) and it keeps the client happy (and me! I like finding these solutions even if I end up cursing MySQL in the process).
The scaling lecture could be best summed up by: Don’t optimise prematurely with a corollary stating “But be ready to optimise on a moment’s notice.” I agree.

