RailsConf 2014 Recap
Rails is ten years old! -puts on party hat-
I had the wonderful opportunity to attend RailsConf this year! I learned so much from all the talks I attended, even the ones that were waaay over my head.
So what exactly IS RailsConf?
RailsConf is a HUGE gathering of Ruby on Rails developers anywhere between entry level to senior level. There are various speakers, workshops, and activies throughout the duration of the event. This year it was held right in our own backyard, Chicago! Most of the talks from this year are slowly being uploaded and you can check them out here.
Opening Keynote
To kick off the event, DHH took the stage with an opening keynote where he proposed the use of the term Software Writer instead of Software Engineer. He described reading code as more like reading 17th century French poetry than a hard science (such as physics). He also proposed the death of TDD and compared it to a fad diet. I have a seperate post addressing the TDD controversy. You can find some of my notes for this talk here. Overall it was very exciting to hear from other members of the community that it’s ok to start programming late in life and that you don’t have to be born with a keyboard in your hands to achieve greatness.
* Pro-tip: Read a lot of software, write a lot of software, rewrite a lot of code! As developers we should strive to develop an eye for clarity in order to optimize readability in our code.
Domain Driven Design Hexagonal Architecture Rails +
[Coming soon]
Make an Event of it!
[Coming soon]
Concerns, Decorators, Presenters, Service Objects, Helpers, Help Me Decide! +
[Coming soon]
Advanced Arel. When Activerecord just isn’t enough +
[Coming soon]
Deploying Rails is easier than it looks +
[Coming soon]
Web applications with Ruby (not Rails) +
This was one of the few talks I went to that mostly involved live coding and it was wonderful to see from start to finish how David launched a web app with no Rails!
All the little things
[Coming soon]
Elements of Design: A Developer’s Primer
[Coming soon]
How They Work Better Together: Lean UX, Agile Development and User-Centered Design
[Coming soon]
Discovering User Interactions
This particular talk didn’t actually involve code, rails, or anything related to software. It was centered around objects and interfaces that we interact with everyday, such as microwaves, coffeemakers, and purchasing tickets for a monorail ride. Cameron talked about how poorly designed microwaves are, in that there isn’t a universal interface or list of commands. Most microwaves give people too many options (some of those aren’t even used at all!) and in order to access certain options a user much first find the “secret” sequence of commands. Once the “secret” is identified you can safely assume that it will be absolutely useless for any other microwave in existence. This was definitely one of my favorite talks that I attended because it pointed out the importance of UI and UX in the real world. Hilariously enough, he also pointed out the design flaws of a $100 coffeemaker he uses at work vs. the $30 coffeemaker he has at home. Here’s some notes from the talk!
* Pro-tip: Keep it simple! Good design solves the right problem and instead of trying to fix all the knobs ask yourself “Why are there so many knobs?”
Tales from the Crypt
I didn’t take notes for this talk because I was having so much fun watching the skit! Aaron, Justin, and Matt did a great job demonstrating security errors/breeches that could happen while in production (such as SQL injection) because of silly mistakes, miscommunication, and sheer laziness. Justin also briefly talked about his work on Brakeman, which can detect security issues in your Rails app.
* Pro-tip: Real World applications will have many vulnerabilities so don’t depend on Rails entirely for security.
Resources for further info/learning:
Rails Security Guide
Rails Cheatsheet
Bundler Audit
Repsheet
Improve Performance Quick and Cheap: Optimize Memory and Upgrade to Ruby 2.1 [Coming soon]
Closing Keynote
[Coming soon]