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
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
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
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.
Update: Checkout our podcast .
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
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
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.
Checkout some of the pictures from the conference
I am already looking at RDRC 2015.