RubyConf is an annual conference centered around the Ruby programming language. Organized by RubyCentral, RubyConf has become the largest gathering of Ruby programming language enthusiasts in North America. This year, RubyConf was held in Cincinnati, Ohio on November 10-12.
While programmers from all languages are invited and encouraged to attend, the sessions focused mostly on Ruby, Rails, and related technologies. In this RubyConf review, I’m going to go over the major highlights of the event, and why I’d recommend heading there next year.
Attendees typically range from the expected Ruby and Rails developers all the way to more traditional C/Java developers. Experience levels varied from beginners just working through a coding boot camp or Computer Science degree program to senior developers/CTO’s with decades of industry experience. There was certainly a technical focus which was great for networking and discussing the future of Ruby.
Three of the favourite sessions were Cory Chamblin’s from PagerDuty, Greg Baugues’ from Twilio and Cassandra Cruz’s from Mavenlink:
Attention Rubyists: you can write video games: Cory Chamblin from PagerDuty
Ruby is well known as a language used for web applications and prototyping in startup spaces. But that’s not all it can do! Cory, from popular alerting software PagerDuty, focused on demonstrating how quickly developers can get started writing games using a small game library named Gosu. If you ever wanted to give game development a try and were afraid to jump into big platforms like Unity, you should definitely check out Cory’s talk.
How I Taught My Dog to Send Selfies: Greg Baugues from Twilio
Hardware hacking is typically not the first place you’d find a Rubyist, but Greg took the leap and created a way for his dog to send him selfies. Utilizing a Raspberry Pi, the Twilio API, and Ruby, Greg was able to wire up a button and webcam to a Raspberry Pi, which would then send him a picture text when his dog pushed the button. Greg took us through live coding the Ruby code required to get things setup on the Raspberry Pi as well as the necessary Twilio API setup. It was an innovative way to show off the capabilities of Twilio and how manageable game design can be.
Ruby Versus the Titans of Functional Programming: Cassandra Cruz from Mavenlink
The sessions and keynotes were recorded by Confreaks and should be available by the end of December 2016.
While it has been spoken about before at Ruby Kaigi in Japan, one of the biggest things on the horizon for Ruby is Guilds. Ruby has been faulted for a while for the lack parallelism and while the Ruby Core Team has wanted to implement a solution they also wanted to retain backwards compatibility. Koichi Sasada, a Ruby Core Team member, recently announced a new system they are calling ‘Guilds’ that will allow for parallelism within Ruby applications without breaking backwards compatibility.
Guilds make this possible by assigning threads and fibers to a Guild and allowing objects to have membership to just one Guild at any time. This means that everything happening within that Guild is separate from any actions occurring in another Guild, allowing different processes to be ran at the same time on multi-core systems.
While the system is still in development, this presents the potential for a huge increase in performance and safety in Ruby application development in large-scale situations. For more information on Guilds, here is Koichi’s presentation from RubyKaigi September 2016.
What I learned
On the technical side of things, my biggest takeaways were that Ruby isn’t dying out and that functional languages and Ruby don’t have to live in opposition to each other. With the continued development of Ruby by the core team, Ruby may be entering a less ‘shiny and new’ phase of its life but it isn’t dying out. On the functional programming front, Ruby works quite well with functional design patterns and interacts quite well with services and applications created in languages like Haskell, Go, and Clojure.
From a more social and community perspective I am continuously impressed with the professionalism, friendliness, and inclusive nature of the Ruby community. Everyone from fellow attendees to the speakers and organizers were approachable and willing to not only answer questions but even sit down for lunch with a group of strangers. I saw Yukihiro Matsumoto (also known as Matz, the creator of Ruby) eating lunch with random attendees and joining in on pictures.
What to expect next year
As is tradition, on the final day of RubyConf 2016 the location of next year’s conference was announced. For 2017, RubyConf will once again be held in New Orleans, Louisiana. RubyConf had previously been in New Orleans back in 2011 so everyone seemed eager to return to a city with such a rich cultural background.