Yukihiro "Matz" Matsumoto

Keynote

Yukihiro “Matz” Matsumoto is the mastermind behind the inception of Ruby. Since 1993 he has been designing our precious jewel up to its current version. Meanwhile he has been working on mruby, a lightweight Ruby implementation.

Bradley Grzesiak

Simplify Challenging Software Problems with Rocket Science

Aerospace engineering is really no more magical than programming, and yet it's shrouded in such mystery and mysticism that practically no one bothers to study it. I'll show you how to apply concepts from rocket science to challenging software problems, allowing you to spend more time coming up with answers rather than interpreting inputs. We'll also learn to control the universe outside our glowing rectangles.

Before founding the Ruby consulting shop Bendyworks in 2009, Brad spent over 5 years as an aerospace engineer. He's created a mining cutterhead for lunar excavation, worked on a plant growth chamber currently on the International Space Station, flown in the Vomit Comet, and designed life-support systems for a next-generation inflatable space station.

Lydia Krupp-Hunter

Ruby Game Building Throwdown

It's time for a good, old fashioned tech stack throw down - this talk will walk through two techniques for building games using our very favourite programming language.

First we'll look at a small handful of gems that give us easy use of essential video game components like animation and keyboard input to build a fun little pet project (literally - we're going to build a Tamagotchi-style digital pet).

Next we'll take it to the browser and give it a shot in Rails. We'll forego things like gravity that don't come naturally with this tech stack, and instead employ the sorcery of modern front-end techniques to help us build a beautiful web-based RPG.

By the end of this talk, we'll have seen how two very different techniques were used to build two very different games. Which approach comes out winner of this rumble? That will be for you to decide.

Lydia is a generalist on the Shopify engineering team. She works on projects like building internal tools, growing internal communication and engineering culture, and developing the Shopify R&D onboarding program. Her free time is distributed across coding, illustration, design, photography, fiction reading, and video games, and she loves every step in the software development process equally.

Satoshi Tagomori

Data Analytics Service Company and Its Ruby Usage

This talks is about description of architecture of data analytics platform service of Treasure Data, what we use Ruby/JRuby for and what we don't use Ruby for. There are many reasons what will be talked about, not only productivity and performance.

Data analytics platform architecture is very far from well-known web service architecture. There are huge scale queues, workers, schedulers and distributed processing clusters. But there are also well-known parts like web application servers written in RoR and RDBMSs.

Big data world is almost dominated by Java and other JVM languages, but we are using Ruby for many parts of our systems. We also hosts some important OSS products in such Big Data area, deeply related with Ruby/JRuby culture, named as Fluentd and Embulk. We want share why, where and how we are using Ruby.

An OSS author, living in Tokyo, and working at Treasure Data, Inc. Many of his contributions are for data processing software, like Fluentd, Norikra and many other software for data processing.

Simon Eskildsen

Super-Reliable Software

This talk dives into how to design super reliable systems. We’ll look at what we can learn from software with aggressive reliability requirements with human lives on the line such as spacecrafts. What can we integrate into every day systems, and how can we write tests for these requirements? At Shopify we’ve taken some of those resiliency patterns to production, we’ll share our successes and how we write automated tests to ensure continues reliability. This talk will introduce humbling concepts from the most complex software in the world, but also real-world tools, resources and techniques that you can adopt today.

When Simon's not researching walruses or playing chaos monkey for the company's infrastructure, he's hard at work taming the wildlife of production, protecting Shopify from flash sales, scale, misbehaving resources and itself. Other than that, as a resident of Canada, fulfilling his obligation to call everyone out when they think they've experienced "cold weather".

Amy Wibowo

This talk looks beyond origami as a childhood pastime and an art form and instead, explores origami as a source of many interesting mathematical problems, including one called the fold-and-cut problem. The fold and cut theorem states that it is possible, given a piece of paper and any polygonal shape, to find a series of folds of that paper such that the given shape can be generated with a single cut. This talk explores two proofs of the theorem and and a Ruby implementation of a solver that determines the correct series of folds given any input polygon. There will be a live demo of the program and paper cutting!

Amy is the founder of BubbleSort Zines, zines to make computer science concepts accessible to everyone! In previous lives, she was a web dev at airbnb, did machine learning research on the ASIMO team at Honda Research Institute in Japan and HCI research at the University of Tokyo. She also enjoys hardware hacking and the intersection of art and technology-- in particular, making tools that enable people to be more creative.

René Föhring

One Inch at a Time - How to get people excited about inline docs

There I was, a lonely fool, stranded in a codebase, all nicely crafted, even beautiful, but without a single line of inline docs. I wanted to change that right away and start documenting the most important parts.

But where to start? While there were metric tools for every day use - to analyse refactoring opportunities, test coverage and even mutations of execution paths - there was no tool to help a lonely coder figure out which parts of a codebase were lacking inline docs the most.

Pre-existing tools were only able to tell all the places were documentation was missing and they did so in a very technocratic fashion ("This method fullfils 86% of the given criteria" or "Documentation coverage: 76.6%").

This talk covers how the personal need for more biased documentation analysis led to the discovery of a largely neglected problem in Open Source and the creation of a Ruby CLI tool and a complementary CI service now used by hundreds of Rubyists.

Started with BASIC at the age of 10, been employed as a coder since age 17. Now 32, I have 10 years of Ruby experience. Never spoke at a dev camp or conference. Would self describe as Open Source aficionado and creator of Inch and Inch CI.

Joseph Wilk

Programming as a performance

Since the inception of the programmable computer we have grappled with the challenge of validating the outcome of a conversation in code between a human and a machine. Programming as a performance embraces this challenge, putting it at the centre of a performance. Focusing on the liveliness and complexity of dancing with a machine in realtime. In a performance a human edits and writes algorithms, expressing their thoughts and composition in front of an audience. Binding to their fingertips control of light, sound and poetry. Sharing their screens and code and its effects on the world.

This talk will dive into the world of the live programmer and how you can turn your Ruby coding skills into a live performance. Discover what performance and expression has to teach us about programming.

Joseph Wilk performs live coding as Repl Electric, exploring programming as a performance and its interaction with other art forms, while also working as one of the Sonic Pi Core Team helping bring music through Ruby to everyone.

Hanneli Tavante

Humanising Math and Physics on Computer Science

There are some myths around Science—it's boring, useless, difficult. Many of them are heard while we are young, and many people tend to take then for the entire life. Science is very important, specially on Computer Science and Engineering, for building the basis of our logical thinking.

Hanneli (@hannelita) is a developer addicted to code, learn new programming languages, blow capacitors, do some C programming and commit useful (or not) code for random Open Source Projects that she finds at Github. She likes Math, Lego, dogs, hardware and Coffee.

Richard Huang

Refactor ruby code based on AST

I'm seeing many ruby projects still use some old deprecated code just because refactoring is repetitive and time-consuming, many teams focus on feature implementation and think refactoring can be done later but never do that, I believe all teams prefer refactoring code frequently if it can be done very fast.

I will introduce you a way to do refactors automatically based on AST (abstract syntax tree), it will save your time and you don't need to repeat yourselves in other ruby projects any more.

I'm the Founder at Xinmin Labs, I'm also a senior engineer who has a strong focus on code quality, problem solving and server performance. I love contributing to the open source community and built bullet and rails_best_practices gems.

Christopher Rigor

Cryptography for Rails Developers

You know HTTPS keeps your website secure but do you know how? Ruby released a new version to address a vulnerability with SSL but do you know your app might still be vulnerable? Cryptography is a hard and huge topic and this talk will give you a great introduction.

You don't need a background on cryptography, just an open mind! You will learn about public key cryptography, SSL/TLS, Ruby tips that will make your app secure

Christopher Rigor has degrees in Computer Science and Mathematics. He is a web developer and a system administrator. He is based in Manila, Philippines and is currently the Support Team Lead for Asia Pacific at Engine Yard.

Koichi Sasada

Lightweight Method Dispatch on MRI

Ruby is an object-oriented programming language and people invoke many many methods in Ruby programs. Because of this reason, making a mechanism of lightweight method dispatch is a key concept to improve Ruby's performance. In MRI, core-developers had introduced many optimization techniques to make faster method dispatch. A global method cache (from ancient Ruby), inline method caches (from Ruby 1.9), caching checking results (from Ruby 2.0) and faster keyword parameters (from Ruby 2.2).

In this presentation, I will show you state-of-the-arts method dispatching techniques. Additionally, I will also introduce a new optimization technique which will be introduced into Ruby 2.3, next release of MRI.

Koichi Sasada is a programmer, mainly developping Ruby interpreter (CRuby/MRI). He received Ph.D (Information Science and Technology) from the University of Tokyo, 2007. He becomeed a faculty of University of Tokyo (Assistant associate 2006-2008, Assistant professor 2008-2012). After the 13 years life in university, now, he is a member of Matz's team in Heroku, Inc. He is also a director of Ruby Association.

Michał Taszycki

Learn to program Commodore 64 this year!

I know that you already are a skilled software developer, designer or architect. You can craft beautiful and clean object oriented code. You can test and maintain it well and I manage complex abstractions of underlying domain models. I want to show you something entirely different.

Remember Commodore 64? The highest selling computer model of all time? Sadly it's not produced anymore for more than 20 years. But did you know that more than 50 new games get released every year for this machine?

What if I told you that learning to program this ancient machine will make you a better developer? A unique set of programming constraints, interesting hardware and a large community of enthusiasts make programming C64 a refreshing experience. It is not something that you will use directly in your day job. But learning 6510/6502 assembly will expand your perspective, especially if you've never had a chance to touch low-level code. It's also remarkably fun!

Michal used to be a Software Developer focusing on web and mobile technologies, as well as AAA Game Development. As a web developer, he worked at international companies like Sabre, Base CRM or GunpowderLabs. While his GameDev alter ego helped to deliver one of the first games on PS3—Motorstorm and a PC port of Xbox360 game—Saints Row 2. Today he is running his company, Creative Mind, focused on helping software developers improve their skills, often in unconventional ways. He is passionate about programming ancient computers and teaching others how to do it at 64bites.com—Short and Sweet C64 Programming Screencasts.

Tworit Kumar Dash

RFID Technology with Internet of Things

Life will be easier, if the things at my home communicate with each other by their virtual identities. Imagine a situation, where my refrigerator automatically senses the milk content and reports to the supermarket, if the content is less than the desired threshold . Radio frequency identification (RFID) technology helps in providing virtual identities to the objects and "internet of things" provides a way of communication among themselves.

What if the whole system can be designed with only some tens of dollars, may be less than 70 dollars ? Let's explore how to build our own "RFID with Internet of things" system with user friendly web frameworks and a set of cheaper but efficient hardware.

Tworit is a student of Instrumentation and Electronics engineering in College of Engineering and Technology, Bhubaneswar, Odisha, India. He is open source enthusiast and always interested in the latest software and hardware technologies and he keeps pondering if he can make something based on both combined. As far as ruby is concerned, it provides high flexibility through its gems and for this very reason, he always tries to find ways and means to create things using Ruby.