Security is really important, and a lot of rubyists are unfamiliar with how it works, why it's important, how to explain it to bosses and managers, and most importantly, how to handle security vulnerabilities in code they use (or code they wrote). Let's talk about why security is important, even though Matz is nice. We'll also about what to do when vulnerabilities show up, since they always will.
We don't see it all the time but robots that make our lives easier are already here with us. While they look nothing like the Transformers (cool!) or the Terminator (cool but scary), they affect our lives just as deeply. They assemble our cars, package our goods, manufacture our electronics, harvest our crops, clean our floors, drive our cars and even fight our wars (scary again).
In this talk, we want to show you how you can create and program your own autonomous robots using Ruby. We will show you how we built an inexpensive hexapod spider robot and how we wrote the software to control it, using Ruby.
This talk is inspired by Jim Weirich, who showed us Friendly Flying Robots with Ruby in 2013.
Complex web interfaces is the need of the hour. The interactions should be smooth, pages should load fast, changes should happen without reloading page that too as fast as possible. Users must feel great while using the app. But with so much complexity, its becoming harder and harder to keep the frontend codebase clear, predictable and reusable. Time to rethink!
After that, we will dive straight into an example where I will show how Rails can leverage power of React. Most importantly, audience will understand power of rethinking existing best practices.
Lets start (re)thinking!
RubyMotion is a toolchain to write cross-platform mobile apps for iOS and Android using the Ruby language. In this session we will cover how RubyMotion works, check out some of the high-level gems that can be used to speed up development, and finally discover that RubyMotion can also build cross-platform mobile games!
Working remotely is one of the legendary opportunities that being a web developer brings along. The freedom to work from wherever you want is, despite certain tradeoffs, pretty awesome and something many developers enjoy.
For many less experienced developers, however, there’s a lot of open questions: Isn’t it much harder for a junior? Will I be able to learn from my co-workers when I’m remote? How the heck do I get my company to agree to this? And even if they agree, how do I make it work?
I’m going to share from personal experience how, yes, it is harder for a junior, but it’s definitely possible and can even be a great personal and professional experience. Starting out with how to negotiate a remote work agreement with your company in the first place, this talk will then continue with important issues and strategies that will help both junior devs that want to work remotely as well as their companies to make remote work a success.
I am going to introduce ROMA(Ruby/Rakuten On-Memory Architecture). ROMA is one of the data storing systems for distributed key-value stores. It is a completely decentralized distributed system that consists of multiple processes, called nodes, on several machines. It is based on pure P2P architecture like a distributed hash table, thus it provides high availability and scalability. This has been developed as an OSS product written in Ruby from 2007.
I will also share a GUI management tool named 'Gladiator', which is developed for Ruby on Rails, enabling developers to control ROMA more easily and intuitively.
As new programmers, we don't always write beautiful code. In fact, most of our early code is quite bad. So we try to refactor it.
But refactoring also plays a significant role in our personal lives. As programmers, we 'refactor' ourselves on a daily basis. We implement different technologies, learn new skills, and confront our own mistakes every day -- all in an effort to become better at what we do. And in the process, we become better iterations of ourselves.
This talk will explore how programming challenges us to not only refactor our own code, but also our very own sense of self.
This talk is about how my experiences from childhood doing puzzles and Maths help me as a professional developer. As a child, I loved puzzles. I used to hate Math and coding before but looking back at my childhood, I remembered how fun it is to solve problems and always remind myself about it.
What is Emoji? Why Emoji is important? How many kinds of emojis are there? Why should I use Emoji? How to use Emoji? How to use Emoji in Ruby? What can I do with Emoji? How Emoji affects meaning? How Emoji affects technology? How Emoji affects the society? How Emoji affects my life? Why I give a talk on Emoji? I will answer these questions and introduce you to the brand new emoji world.
A typical Rails deployment involves using a tool like Capistrano to pull the code from your Git repository, symlink configuration files and restart the app server.
Docker offers improvements to this workflow but it's not all roses. Hear about the triumphs and challenges when moving from Capistrano deployments to Docker.
At GitHub, we recently replaced a large subsystem of our application – the permissions code – with a faster and more flexible version. In this talk, I’ll share our approach to this large-scale rewrite of a critical piece of our Rails application, and how we accomplished this feat while both preserving the performance of our app and proving the new technology over the course of the project.
Refinements are cool. They are the biggest new language feature in Ruby 2. They help you avoid some of Ruby's most dangerous pitfalls. They make your code cleaner and safer.
Oh, and some people really hate them.
We're talking important people here. A few prominent community members tried to convince Matz to remove Refinements from Ruby. The latest JRuby is compatible with Matz's Ruby 2... except that it lacks Refinements. This innocent feature might end up splitting the Ruby ecosystem.
Are Refinements the best idea since blocks and modules, or a terrible mistake? Decide for yourself. In twenty minutes, I'll tell you the good, the bad and the ugly about refinements. At the end of this speech, you'll understand the trade-offs of this controversial feature – and know what all the fuss is about.
mruby is the lightweight implementation of the Ruby language and was released about a year ago. Can we use mruby to write web services?
This answer is YES - our company used mruby in large scaled web services. Even with mruby, we were able to create web services with tests and gems, and it also helped to solve some problems using Ruby code outside of a Rails application. In essence, mruby also provides programming features like HTTP to us web programmers.
In the real world, when two parties collaborate, there often needs to be a shared understanding - a 'contract'. So is the case when two components of a system collaborate.
In this talk, I will share about contract tests, when they become useful, and some tools to help.
If code is the colouring pens and lego blocks of our times - the tools of creation - how do we teach the curiosity, joy and wonder to our kids? I spent last summer looking at programming and play: how to create experiences that go deeper than just learning logic.
So, just like Alice, I swallowed the blue pill and fell down inside the machine. This talk summarises my three principles of play and a few experiments I’ve learned with little Ruby and the journey I’ve been on with her.
Contributing to Open Source projects can be daunting for beginners but at the same time extremely rewarding. Before I started contributing, I was asking myself these questions:
* Rails is such a huge and complex code base, how can I contribute anything?
* I might be wrong, so I better not raise the issue or apply a "lousy" patch.
Having gone through the process, I hope to help answer those questions and give confidence to new developers that have yet to contribute to open source projects because of such fears. There are tools and techniques which I have learnt and picked up that can help new developers understand a foreign code base better which I would like to demonstrate as well.
In addition, I will like to talk about RubyBench.org, a long running Ruby benchmark that I helped to revitalized and launched. I will talk about why RubyBench.org matters to the community and how it is being structured. Following which, I will talk about my experience starting RubyBench.org and how rewarding it can be.
"I'm not skilled enough a programmer to contribute" is a common response I get when I ask programmers why don't they contribute to the open source community. In this lightning talk, I share some ways that you can contribute to the community (hint: it's all non-technical and anyone can do it) even if you're half a decent coder like me.
I would like to tell the story about Ruby Kansai and Kansai Regional Rubyist Meetups.
The first part describes Ruby Kansai and myself. Ruby Kansai is one of the oldest Ruby Meetup in Japan, that is born in 2004. I am the founder of Ruby Kansai and now the chairman of Ruby Kansai.
I would like to share what I have learned through the experience of organizing Ruby Kansai and what motivates me to do so.
The second part is about the story of regional Ruby meetups in Kansai. Recently many people have founded Ruby meetups in Kansai. Now over 10 Ruby meetups are active in Kansai. I also founded one regional, small Ruby meetup -- Amagasaki.rb.
I would like to share with everyone the differences between big meetup like Ruby Kansai where over 80 people attend and small meetup like amagasaki.rb where less than 10 people attend. Both styles of meetup have good and bad parts.
The last part is the future of Ruby Kansai. As the oldest and biggest Kansai Ruby community, Ruby Kansai would like to be hub, which connects beginners and experts, local and remote Rubyists, Ruby and other languages, suits and geeks.
As coders, we are very familiar with how to communicate using written words. But words exercise only half of our brain. Using sketches to enhance our message leads to more effective communication. It is fun, too!
I will discuss sketching tips that everyone - even those who think they have no drawing skills - can use right away. These can be applied to blog posts, open-source documentation, bug reports, and even emails.
When your web application launches in Japan, you translate the product, you launch another server, and there you go! When your web application launches in France, you translate the product, you launch another server, and there you go. When your web application launches in China, you translate the product, you launch another server, and then… then you learn about plenty of other things that you need to do if you want to avoid failure!
did_you_mean gem is a gem that adds a Google-like suggestion feature to Ruby. Whenever you mis-spell a method name, it'll read your mind and tell you the right one.
Although the history of the gem isn't long, it got so many improvements since it's first released back in February 2014. In this talk, I'll talk about what improvements have been made after a quick introduction of how it works.
Have a custom Exception class and want to make it 'correctable'? Let's learn how to create your own finder so you can improve your coding experience in Ruby.
You can't talk about running code without talk about loading code. Part of improving the performance of Rails applications is looking at parts that impact Rails from outside of your application. In this talk, we'll look at the different ways Ruby loads code and how this impacts our applications. This talk will be more than you ever wanted to know about how Ruby loads files, and how we can speed it up.