It would be folly to even try and sum up all my experiences in one blog post. Hence this part is a short recap of my impressions of RubyConf San Diego.
After a long journey of ~12000kms, little sleep, lots of coffee, and several moments of uncertainty ; I finally arrived at San Diego Convention Center (warm, sunny, seaside host to ComicCon!)
Yukihiro Matsumoto a.k.a Matz, the creator of Ruby, was going to kick-start the conference, and when he started to speak, all that uncertainty vanished, and pure excitement took its place. Matz is an absolute celebrity in the Ruby community, as one could guess from the number of people asking for his autograph (me included!). So when he started talking about his future plans for Ruby 3.0, the whole hall was hooting and cheering. His three main ideas for Ruby 3.0 revolved around JIT compilation, concurrency, and static typing. Now, I admit, quite some of it was beyond my understanding, but when he talked about ‘static typing’ in Ruby, it was huge. Mainly because, it affects the very core of Ruby. “Will Ruby still be Ruby if it were statically typed?” Even though Matz had raised some existential questions, he had made it clear, how only ~30% of his ideas actually made it into production code. He also stressed on the idea of ‘soft-typing’ through which he aims to combine best of both dynamically and statically typed languages. One of the papers he referenced to regarding Soft typing, can be found here.
Over the next three days, I attended many talks, some useful, some inspiring, and some amusing; and picking favourites won’t be just! So, here are some highlights in no particular order.
I love DIY projects. And luckily there were a few talks revolving around using Ruby and Raspberry pi to build some awesome stuff! Christopher sexton‘s talk about using beacons to locate presence and identify a person approaching a room opens up a plethora of applications for beacons. His use case for the technology, to play intro-music for your boss or colleagues at office was really amusing though. Jonan Scheffler‘s talk explored home security software, and home-made motion detection software.
Testing is integral to ruby, and two talks in particular were quite informative and useful. The first one by Sam Phippen was about ‘Spies’ in Rspec. Spies allow us to test if a method has been called, using ‘have_received’ which can be used effectively to improve tests. The second talk by Brock Wilcox was about a gem called pry-timetravel that allows you to go back to checkpoints set during debugging. This way you could rewrite history! (use different sequences of commands ‘next’, ‘step’, etc while debugging, without running the code again and again..) The gem itself is promising and uber cool, but comes with some disclaimers; namely memory exhaustion and partial time-travel (you can only go back to check-points).
Amy Wibowo‘s talk about how her team used Ruby to hack an old sewing machine was a classic underdog success story; and we all love those right? They fed the machine 8-bit digital prints through a hacked floppy drive to knit into sweaters. This talk reminded everyone how Ruby’s simplicity was its greatest strength, and how it can encourage anyone to code and bring forth their creativity to the community.
Sandi Metz‘s keynote made quite an impact as she weaved through examples from our history where major technological advancements wiped out many jobs off the planet. Her key message; to live in the present, focus on things greater than life, adapt and evolve.
Talking up a classic topic, Algorithms, Richard Schneeman‘s talk explained in simple and clear language, the ‘Levenshtein’ algorithm for calculating distances. The information theory algorithm used by various auto-complete and auto-correct softwares is an efficient alternative to Hamming distances. He also talked about a cool gem called ‘did_you_mean‘ which is an excellent example of distance algorithms. You can find more information about this talk here.
Lastly, Jim Gay gave some great uncomplicated advice to write better object oriented code. He emphasized on simple indicators such as strings of ‘if-else’ and ‘case-when’ that call for need to re-factor. He veered away from the big words and explained each concept through implementation. To quote him “Tell, don’t ask”. His slides can be found right here.
Making new friends is always interesting – Laila Zaki.
RubyConf 14 was one of the most exciting and happening technical events I had ever attended. Be it the excellent talks, beautiful venue or an amazing audience, they had it all. Kudos to Ruby Central who did a superb job at organizing the event, and to the sponsors for the awesome freebies!
There was an awesome crazy lightning talk about keeping Ruby weird.
Not everyone is fortunate enough to have their company send them to attend a conference anywhere in the world. Lucky for me, I happen to work at Josh Software. And I have to thank them for the opportunity to attend RubyConf 14 at San Diego; which was pretty awesome! I am sure it will have a lasting impact on my career.
Hoping to get lucky next year too!