Highgroove requires everyone to attend a conference every year, and begrudgingly I agreed to head to Hawaii for Aloha Ruby. The flight was long but well worth it, the weather was amazing, and the conference was packed with useful information.
The reccurring theme for the two-day event was performance. Some of the big takeaways for me were:
We’re all used to hearing that “Rails is slow,” but that’s just a quick jump to a “root cause” that doesn’t tell us anything. Rails 4 (which is creeping towards its release date) has several performance-related fixes, but slowness in an app is almost always the result of poor choices in data structures or algorithms:
Are you requiring tons of files and gems? In MRI, Ruby’s ‘require’ compares each file you load to all the previously loaded files, making the problem exponentially worse with every file you add. This is why your Rails app takes so long to start.
Are you using set operators in Redis without understanding their performance implications? Is there a good chance that the data you are sorting is already sorted? If you haven’t thought about the big-O impacts of your code, you’re probably doing it wrong.
Specific performance tips, including some from Richard Schneeman:
config.active_record.auto_explain_threshold_in_secondsto get details about slow queries in your log so that you can address them.
config.static_cache_control = "public, max-age=2592000"to let assets cache properly.
config.asssets.digest = trueto fingerprint files for better caching.
There were many more interesting talks than I can talk about here, but all the videos will be up on Confreaks soon enough. Here are a few I specifically recommend:
Lastly, were reminded that it’s not just about the code. Being a great developer means growing into new roles to build something bigger than just your own interests. What starts as contributing to open source grows into creating or maintaining a major open-source project, which grows into enabling other people to maintain the project for you (see Wesley Beary’s talk “Maintain Less, Mentor More”). Or pulling things together for designers turns into learning some key design fundamentals and getting to a minimum viable product sooner (see Glenn Gillen on “The Designers are Coming”).
I also learned that mai tais are good, and while Aaron Patterson’s cat has a twitter, cats are getting pretty played out, and several speakers chose to include photos of dogs and sharks instead. The hotel had an awesome daytime and nighttime view, and I got to sneak in some touristy things too, from sunrise on Diamond Head hike, to a luau, to ziplining.
Aloha Ruby gave me a lot of insights to new knowledge and helped me rethink things I already knew. What about you? What have you learned from the conferences you’ve attended lately?