July 1, 2014
I and Vipul recently gave a talk at RedDotRubyConf on ActiveRecord can't do it? Arel can!. It was our first trip to Singapore and we enjoyed the conference as well as Singapore a lot.
RDRC2014 was awesome.
We reached the venue in time for Koichi's keynote on Ruby.Inspect. He talked about various things related to development of Ruby including Ruby team at Heroku, recent releases of Ruby and new syntax introduced in Ruby 2.1. He also talked about performance improvements including Generational GC - RGenGC and upcoming features in Ruby 2.2.
After that in second part of the talk, he talked about inspection tools available in Ruby. It was a deep technical part for me and something to learn about. The message he gave from the talk was to become low level engineer.
Second talk of the conf was from T.J. Schuck about solving one of the hardest problems. Storing and retrieving passwords in a secure way. He talked about how increasing improvements in hardware pose a challenge as even if you use proper algorithm it can be cracked with high computing machines. It was interesting to know about internals of storing passwords. I had never cared too much about it :)
After the coffee break, Brandon Keepers from Github gave talk on Tending Your Open Source Garden. Github is still on Rails 2.3 and Brandon is working on bringing it up to new version. His talk was a great advice for those who want to contribute to open source and community. I think this talk resonated well with the audience as most of the crowd was new and interested in open source contributions.
Gautam Rege from Josh Software gave talk on Dark Side of Ruby. We had attended this talk at GCRC so we left the hall after some time and did our one last practice. But i heard the feedback was very well for this talk.
After the lunch, Keith Pitt talked about Guide to Continuous Deployment with Rails. He talked about keeping everything related to deployment from CI to migrations in sync. One of the interesting thing that i came to know from this talk was how to enable zero downtime deployments on Heroku using preboot feature.
Benjamin Tan gave talk on Ruby + Elixir: Polyglotting FTW! after that. He talked about Elixir. This talk was about looking beyond Ruby and adding another tool to our skills. Benjamin also gave some demos including the last one in which he used sidekiq with Elixir. The actual work was done by Elixir workers. I will definitely give a shot to Elixir in the coming days.
After that we gave our talk on Arel. I was a bit nervous as it was my first talk. But it went well. We finished a bit early than expected. But there was tea break after our talk :). We got some good feedback from the attendees and especially beginners who had not used Arel before. Our slides are here
After the tea break, lightning talks started. First talk was by Hiroshi Shibata about how anyone can contribute to Ruby to make it better. He talked about how to submit issues, feature requests using Redmine. After that William Notowidagdo gave talk on Building REST API using Grape. With Rails and Rails API gem it has become easy to generate an API. But we have grape also as a lightweight tool. Sayani Basu talked about how to make a podcast with Jekyll and other tools in 5 minutes.
We are planning to start a podcast here in India about Ruby community so it was good to know about it.
After these awesome lightning talks, the last session of Day 1 started. There were talks on Fluentd and Domain driven design. Both were good to know as something outside of daily routine. Konstantin Haase's last talk of the day was **Meta** talk. He talked on abstraction and how it happens in our mind. Our mind affects what we see, like we see magenta color. Similarly abstraction happens in mind. I had to concentrate a lot in this talk to understand it. But it was worth it.
Andddd that ended the first day of the conf. It was exciting and we were looking forward to second day.
Day 2 started with Brian Helmkamp's talk on Docker. We missed the initial part of the talk. He talked about basics of Docker, how to deploying in container environment. He also discussed about deploying a Rails app using docker and how it makes very easy to deploy different parts of the system using docker very easily.
Zachary Scott gave next talk introducing Ruby Core team and how it works, how it collaborates, developer meetings, how anyone can contribute to MRI. We also had a Friday hug in this talk :) This talk combined with Hiroshi's lightning talk on the first day was great insight into CRuby development.
After the break, Pioter Solnica gave an excellent talk on Convenience vs Simplicity. He talked about convenience offered by ActiveRecord may not be simple to understand. The things such as input conversion, validation are convenient to use as a developer but not necessarily simple to understand. He also discussed presenters, immutable data structures, Adamantium for creating immutable objects in Ruby. In the second part of the talk, he talked about relations and how they can be used in composing queries. He explained this idea using Ruby Object Mapper. It uses Axiom as underlying relational algebra instead of Arel. Its an interesting project to checkout.
After that our very own Anil Wadghule talked on Solid Design Principles in Ruby. His emphasis was on following designs than patterns. He also showed code examples and refactored them after applying principles. His talk was good insight into understanding what are these Solid principles and how they can be applied in real life.
We skipped the session after lunch and roamed around talking with people. We had an interesting discussion about hiring Ruby on Rails developers, interview processes etc.
Then lightning talks started. Sheng-Loong-Su talked first on using Algorithms for Trading. He talked about collecting data using feeder, preparing trading signals using strategy and making decision based on trading signals. One of the best talks of day 2 was by Grzegorz Witek on how he is traveling the world without getting burned out and still happily programming. He talked about his experiences in different countries being a Nomadic Programmer. It was one of the best inspirational talks according to me. The last lightning talk was about Using Vagrant for setting up Dev environment by Shuwei and Arathi.
Nicholas Simmons talked on experience of building a Single page web app and back again to normal app. He gave real life metrics from Shopify and showed problems faced with single page apps, batman.js and how moving back to a normal app helped them.
Then chocolate man from Belgium, Christophe Philemotte, gave talk on Safety Nets: Learn to code with confidence. His talk was about how we can prevent code in long term using testing, static analysis using tools such as flog, flay, rubocop for removing duplication, reducing complexity, fixing warnings. He also talked about importance of code review. His code is present here. He also gave us excellent chocolates from Belgium.
And the last keynote by Aaron Patterson. As always, it was full of everything - tech stuff, jokes, puns.
He talked on how he is making performance improvements in Active Record, link generations. He showed some graphs with performance of various database adapters tested on Rails versions ranging from 2.3 to 4 to master. He urged everyone to report performance issues to the core team so that they are addressed quickly. This is the app used for doing performance testing by him.
And that ended talks at RDRC. We had an awesome after party where we discussed with lots of people about Ruby, Rails as well as other stuff. We would like to thank Winston for inviting us to RedDotRubyConf.
I am already looking at RDRC 2015.
If this blog was helpful, check out our full blog archive.