I attended my first RubyConf this year, and it was a great experience. I got to meet wide array of people and listen to a wide array of talks. The technical talks were certainly informative, but the softer talks are what hit me the hardest.
Sunday morning appropriately started off with an imploring sermon from Carina C. Zona titled ‘Consequences of an Insightful Algorithm.’ She shone a light the responsibilities we developers have in how we use the data given to us by our users. Through a series of poignant examples she drove home the deep and rippling effects the systems we produce can have on their lives. Facebook constantly throwing deceased loved ones and other unpleasant memories from the past into users’ faces. Twitter recommending you follow an abusive ex just because they follow some of the same users. Also, there were stark examples of how what we might think as pure data can be biased. Flickr auto-tagging black people as ‘gorillas’ because camera film were traditionally tuned for white skin and not black resulting in a loss of fidelity. Google AdWords reinforcing stereotypes based on names typically associated with black people. It was a real eye-opening, sobering, and unexpected way to kick off the conference, but I’m glad it was chosen for that slot and the message was as widely heard as possible. As developers, we have the power to recognize these issues, to advocate for the user, and the duty to say “no” to unethical systems.
Monday opened with a keynote from Jeff Norris, from NASA’s Mars Rover team. It was an entertaining talk about partnerships through the historical examples of John Harrison and the Longitudinal Prize, and Charles Lindbergh and Donald Hall designing and flying The Spirit of St. Louis. He uses them as a lead up to the problem they face today. How do you get the human brain to effectively grasp the warped 360º view and data from the rover? They found an unlikely partnership in the budding VR space, and were able to work with Microsoft to develop new kinds of solutions.
I listened to Josh Freeman’s Communicating through Git talk. It’s a favorite topic of mine and while I didn’t have any new takeaways as expected I got a reinforcement on concepts I want to be doing. Useful and concise git messages are always something I appreciate and do strive for, like many others I still can find it too easy to slip in the heat of a project. That’s why I always appreciate a reinforcement of discipline.
Later in the day, Nickolas Means told the story of United Airlines Flight 232, a flight that suffered a level of mechanical failure not thought possible. He used the story of how the flight crew handled the situation as a case study on communication and teamwork. It was a riveting tale in its own right, and underlined the concepts that he was expressing. Highly recommended viewing.
As what seems like tradition some of the looser, fun talks happen on the last day. David Copeland gave fun talk that spoke to my inner ten year-old. He broke down what makes for a psychologically satisfying narrative by way of the typical flow of a wrestling match. Wrestlers use the limited tools at their disposal to fulfill the main elements of a plot, using shorthand where possible to express their role, build the action, get the audience invested, bring things to a climax.
There was a talk about lessons learned building an AI for the game Ricochet Robots by Randy Coulman. As someone who’s interested in learning and refreshing on some of these discrete math and computer science basics, I really enjoyed this talk and hope to work on something similar in my spare time.
After wrestling and games, robots complete the totally rad trifecta. Yurie Yamane, Masayoshi Takahashi of Team Yamanekko gave a live demo of a two-wheeled self-balancing robot they built. What made it special is that they were able to achieve the very fast and low latency calculations needed to balance the robot using mruby, where usually C is used.
Mruby is something I didn’t hear or know too much about but it was a recurring topic throughout the conference. Terrence Lee’s talk on building snappy CLI apps is what really caught my attention. While there’s some heavy trade-offs, very limited Stdlib and no Rubygems support, there’s some major wins. Start up time is over 10x faster vs. MRI. And maybe most importantly, mruby-cli gives you the ability to build a single static binary for each OS without having to worry about the usually outdated stock ruby installation, if any. This is an important project for Ruby, as it allows developers who would prefer ruby to keep writing ruby instead of turning to Go or other languages.
All in all, it was my favorite developer conference yet. Downtown San Antonio and the riverwalk is a quaint little area. I’d like to thank the whole RubyConf team for putting in the work for a great event. And shout out to all the great folks I met while out there!