Thursday, June 27, 2013

RubyConf India, Pune 2013 : A Great Learning Experience



I attended RubyConf India 2013 organized in Pune on the 22nd and 23rd of June. It was organized at the Hyatt Regency, Pune. It was awesome fun and great learning experience.




Some of the notable keynote speakers include ( a.k.a Ruby Rockstars )

1 ) Aaron Patterson ( Ruby and Rails Core Member ) @tenderlove
2 ) Jim Weirich ( Creator of Rake ) @jimweirich
3 ) Steve Klabnik ( Open Source Contributor ( Rails , Rust ) ) 
4 ) Andy Lindemann ( Maintainer of RSpec Library )
5 ) Nick Sutterer

DAY 1 :



The day1 of the RubyConf India 2013 started with the Keynote speech by Jim Weirich ( Creator of rake ). He emphasized on the need for TDD ( Test Driven Development ). He demonstrated TDD approach with a sample Code Kata (http://codekata.pragprog.com/) , Roman Numeral converter . I was spell bound by his skills in refactoring the code and writing unit tests. He started the problem with some simple unit tests and wrote code to make them pass. He added more tests and added more logic to his class and made the tests pass. He later refactored both his tests and code.

"When in Doubt regarding `Readability vs Duplication`, Definitely go with readability"
-- Jim Weirich

Some Lessons Learnt :
1 ) TDD is a must for your applications. It will improve the quality of your applications. Make you write maintainable code.
2 )  Start your TDD with absolutely simplest things you can think of.
3 ) Know the solution to drive the tests.
4 ) Know what to skip in TDD.
5 ) Know when to leave in duplication.

After the keynote speech we had ruby technical talks organized in two separate halls.

The next talk I attended was regarding the "State of Krypto" by Vipul N. He emphasized on the bad state of security in ruby applications. He introduced the "Krypt" (https://github.com/krypt/krypt) Library which he was working on. "Krypt" Library is a platform and library-independent cryptography API for Ruby Programming language. Krypt library is simple to use and secure.

After some cryptography, we moved on to "Effective Ruby Debugging" by Jonathan Wallace (@wallace)
.He introduced some ruby libraries (Gems) through which we can achieve effective debugging of the ruby code. 

At Lunch, We had a chat with @tenderlove ( Aaron Patterson ) (Ruby/Rails core committee member). We talked about his hobby projects, his sense of humor , his cat and much more.





We met @jimweirich ( Jim Weirich ). Discussed his project with the flying drone. He is filled with lots of fun, enthusiasm and inspiration.






We met Andy lindemann too. Discussed with him his hobby projects and his work.



After Lunch, I attended a talk on "Graph Databases". In this talk the speaker emphasized on the use of graph databases for scaling your application. The advantages of the graph databases over normal relational ones.

Then a talk on "Pelting Rubies" by Ausmarton Fernandes, where the speaker discussed his experience with the "Metasploit framework" ( Largest Ruby project ) and the various exploits recently discovered in the rails framework. (YAML).

Later, we moved on to "Ruby Loves Unix" talk by Sahil M. This was one of the most interesting talk. The Speaker started with discussing on various UNIX based system calls. Then went on to introduce the pre-forking servers and the various sysadmin things around it. He explained the various concepts in the UNIX system programming with a tinge of humour which made the talk very interesting.

Then we had a session on "Turning Blind eye to rails development", where a blind man demonstrated the flow and the tools they use achieve ruby application development. This was one of the most inspiring moment of my life. This was #EPIC.



At the end of the Day, we had an awesome keynote speech by Steve Klabnik who introduced "Functional Reactive programming" and a library he recently worked on called Frappuchino (https://github.com/steveklabnik/frappuccino). He encouraged us to write some "Irresponsible Ruby" code and that it helps us to be creative and hack on different things.


DAY 1 was too awesome. So here goes the Yo Yo! moment for the day 1.




DAY 2 :

On Day 2 a 5K Run was organized, where 25+ members participated. I ran the 5k Run with Aaron Patterson, Andy Lindemann and many others. I finished 3rd in the run which I completed in 26 minutes. The run was refreshing and great fun.






Day 2 of the conference started with the keynote speech by Aaron Patterson. As usual his keynote speech was filled with fun and humour. He introduced us to his two awesome cats (one of the cats name being "Gorbachev Puff Puff Thunderhorse the third"). Later he introduced concepts for fiddling with bits of the memory in ruby. He discussed the rails features which are being introduced in Rails 4. He talked about Open Source, His work, His Mamba time and much more. This keynote speech was EPIC.




After the keynote speech, I attended a talk "Rock N Roll Ruby" by Saw Sheong Chang, wherein he introduced a DSL (Domain Specific Language) called "muse" which he had developed to convert ruby code into Music Notes and chords. He was converting the ruby code to sine waves which in turn where being converted to notes of Music. He wrote a ruby code to play "hotel california" song.



Later, I attended a talk on "Dissecting Ruby with Ruby" by Richard Schneeman. He introduced his new site (Code Triage) (http://codetriage.com/), the gems he created (Wicked and Sextant). He went through the process of Dissecting the rails source code to find out the point of origin of the issue. (puts being the tool). He introduced various Model, Kernel and Object methods to dissect the rails code. He emphasized a lot on writing readable code.





Then I attended a talk on Git named "Inside git guts with Ruby" by Shadab Ahmed where he introduced the internals of the git, there working and usage. He  also introduced some tips and tricks while working with it.

Then a talk on "Concurrency in Ruby" by Rocky Jaiswal. The most hyped thing in Ruby community. The speaker discussed on the Concurrency, Parallelism and Threads. The difference between MRI ruby and JRuby and how JRuby is better in handling concurrent requests through various benchmarking tools.

Later in the evening we had two keynote speeches back to back by Nick Sutterer and Andy lindemann.
Nick Sutterer introduced various gems he had build to ease the problems in Active Record of a rails application. This guy is filled with a lots of humour and sarcasm.

Andy Lindemann gave the closing keynote speech for the conference. He introduced statistics on various open source projects and concluded that there are more of takers than givers in the open source community. He established a set of ideas on starting with open source contributions and how it is our duty to give back to open source when we are using most of the open source tools and libraries for our applications. He encouraged each and every one to contribute to open source and reap the benefits out of it.




Altogether, the Ruby Conference was a grand success, filled with fun and enthusiasm.

This is what makes ruby community unique, vibrant and awesome.

Here goes one more Yo Yo! moment for the Day 2.

No comments: