Events

Feed icon 28x28
Download %2814%29 original

Video recording and production done by Ruby Kaigi.

Ruby Kaigi 2015 Schedule

December 11 - 13, 2015

( 33 available presentations )
Capture thumb
Rating: Everyone
Viewed 167 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Yukihiro "Matz" Matsumoto

http://rubykaigi.org/2015/presentatio...

Capture thumb
Rating: Everyone
Viewed 67 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Yuki Nishijima

http://rubykaigi.org/2015/presentatio...

Whenever you make a typo on Google or a git … cmd, they’ll automagically correct it for you. It’s great, but have you ever wondered why programming languages don’t have such a cool feature? The next major version of Ruby will! The did_you_mean gem was built to add on a “Did you mean?” experience and Ruby 2.3 will ship with it.

So what does the whole story look like? How can you use it in your app or gem? How does it correct typos? What even is a typo?

Let's learn how to take advantage of this new feature in Ruby 2.3 and save ourselves from typos forever!

Capture thumb
Rating: Everyone
Viewed 18 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Shota Nakano

http://rubykaigi.org/2015/presentatio...

Introducing how mruby comes to term with the embedded board's poor resource.
I suggest a solution that they can mount an external NOR Flash chip as RAM cache.
Although mruby is a minimal implementation of Ruby, it requires huge RAM as is Embed field. A lot of embedded board has poor RAM less than 128KB, except for rich embedded board, like Raspberry Pi.
An external NOR Flash as mruby RAM cache is cheap solution. Typically, NOR Flash's writing frequency is limited, 100 thousand times. I also introduce performance measurement to reduce mruby RAM writting.

Capture thumb
Rating: Everyone
Viewed 77 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

http://rubykaigi.org/2015/presentatio...

There are so many testing frameworks available to us that we sometimes overlook a completely valid, and sometimes preferable option: writing our own.

The drivers team at MongoDB focused over the last year on conforming to common APIs and algorithms but we needed a way to validate our consistency. We therefore ended up building our own testing DSL, REST service, and individual test frameworks.

Using these common tests and the Ruby driver's test suite as examples, this talk will demonstrate when existing test frameworks aren't the best choice and show how you can build your own.

Capture thumb
Rating: Everyone
Viewed 127 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Will Leinweber

http://rubykaigi.org/2015/presentatio...

Developer happiness is what brought me to Ruby in the first place. And of all the new compiled languages, Crystal is the only one that shares this value. The syntax and idioms are entirely Ruby inspired.

Although Crystal looks very similar to Ruby, there are big differences between the two. Crystal is statically typed and dispatched. While there are no runtime dynamic features, the compile-time macros solve many of the same problems.

In this session, we’ll take a close look at these differences as well as the similarities, and what Ruby developers can learn from this exciting language.

Capture thumb
Rating: Everyone
Viewed 68 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Hsing-Hui Hsu

http://rubykaigi.org/2015/presentatio...

When you type print "Hello, world!", how does your computer
know what to do? Humans are able to naturally parse spoken language by
analyzing the role and meaning of each word in context of its
sentence, but we usually take for granted the way computers make sense
of the code we write.

By exploring the way our brains construct grammars to parse sentences,
we can better understand how parsers are used for computering --
whether it be in the way Ruby and other languages are implemented or
in webserver routing -- and recognize when they may be the right tool
to use in our own code.

Capture thumb
Rating: Everyone
Viewed 112 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speakers: Kohei Suzuki, Takashi Kokubun

http://rubykaigi.org/2015/presentatio...

Have you ever thought about performance of your Ruby code? If not, you might write ineffective code and slow down your application. Poor performance disappoints the users of your app causing you to lose their confidence.

In this talk, we show the process of creating faster Haml implementations: Faml and Hamlit. You will see how to improve the performance of your code.
We will show you the typical structure of template engines first, so experience with them is not required. After this talk, you'll be able to optimize your application using the techniques we will show you.

Capture thumb
Rating: Everyone
Viewed 33 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speakers: @mametter & the judges

http://rubykaigi.org/2015/presentatio...

The result presentation of TRICK 2015, an esoteric Ruby programming contest, will take place. You can (perhaps) enjoy some winning entries of unearthly Ruby code selected by esoteric judges.
Category
Science & Technology

Capture thumb
Rating: Everyone
Viewed 43 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Matthew Gaudet

http://rubykaigi.org/2015/presentatio...

What happens you have a virtual machine full of powerful technology and you start pulling out the language independent parts, with plans to open source these technologies?

You get the ability to experiment! This talk covers a set of experiments where IBM has tested out language-agnostic runtime technologies inside of CRuby, including a GC, JIT and more-- all while still running real Ruby applications, including Rails.

We want to share results from these experiments, talk about how we connected to CRuby, and discuss how this may one day become a part of everyone's CRuby.

Capture thumb
Rating: Everyone
Viewed 92 times
Recorded at: December 11, 2015
Date Posted: February 4, 2016

Speaker: Kevin Menard

http://rubykaigi.org/2015/presentatio...

"Metaprogramming is a powerful technique that sets Ruby apart from other contemporary languages. It allows compact and elegant solutions to seemingly intractable problems. Serving as the foundation of some of the mostly widely used frameworks and DSLs in the Ruby ecosystem, it’s arguably the single most defining feature of Ruby. Unfortunately, that expressive power has traditionally come at the expense of performance.

We’ll show you how JRuby+Truffle has eliminated the cost of metaprogramming so Rubyists can write idiomatic Ruby without having to worry about hidden performance trade-offs."

Capture thumb
Rating: Everyone
Viewed 94 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Franck Verrot

PostgreSQL 9.1 introduced Foreign Data Wrappers, as an implementation of SQL/MED foreign tables, to provide transparent access to external data. Restricted to being written in C, writing FDWs can be a hard task.

In this talk we will learn just enough of mruby's (the ISO-compliant version of Ruby) internals to understand how one can embed mruby in an external program (like PostgreSQL), and start writing Foreign Data Wrappers in Ruby.

Capture thumb
Rating: Everyone
Viewed 162 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speakers: Yehuda Katz, Godfrey Chan

http://rubykaigi.org/2015/presentatio...

Ruby is not the fastest language in the world, there is no doubt about it. This doesn't turn out to matter all that much – Ruby and its ecosystem has so much more to offer, making it a worthwhile tradeoff a lot of the times.

However, you might occasionally encounter workloads that are simply not suitable for Ruby. In this talk, we will explore building a native extension with Rust to speed up parts of Rails. (No prior experience with Rust required!) What does Rust has to offer in this scenario over plain-old C? Let's find out!
Category
Science & Technology

Capture thumb
Rating: Everyone
Viewed 46 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: TAGOMORI "moris" Satoshi

http://rubykaigi.org/2015/presentatio...

This talk describes the architecture of data analytics platform service of Treasure Data, what we use Ruby/JRuby for and what we don't use Ruby for. We will discuss the many reasons, not only for 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, besides well-known parts like web application servers written in RoR and RDBMSs.

Capture thumb
Rating: Everyone
Viewed 38 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Yurie Yamane

http://rubykaigi.org/2015/presentatio...

Linuxの入っているハードウェアをあえてLinuxを使わないでTOPPERS EV3RT というRTOS を入れたり、bare metal の状態にしてmrubyを動かします。
今回の対象はLEGO Mindstorms EV3とraspberry pi。
Cに比べて遅いのでハードウェア制御には向かないのでは?と言われがちなmrubyを­使って倒立振子の制御をします。

Capture thumb
Rating: Everyone
Viewed 43 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: SHIBATA Hiroshi / @

When you need to understand a new library or framework, you might try to invoke the test suite with "rake test" or "rake spec". CRuby also has a test suite like many libraries and frameworks, written in Ruby. But, It's different from typical ruby libraries. Therefore many Rubyists don't know how to run the CRuby test suite.
This is because CRuby's test suite has historical and complex structures. In this talk, I explain the details of the CRuby test suite and protips for CRuby's testing technology.

Capture thumb
Rating: Everyone
Viewed 31 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

http://rubykaigi.org/2015/presentatio...

Capture thumb
Rating: Everyone
Viewed 145 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Fernando Hamasaki de Amorim

http://rubykaigi.org/2015/presentatio...

Most applications written in Ruby are great, but also exists evil code applying WOP techniques. There are many workarounds in several programming languages, but in Ruby, when it happens, the proportion is bigger. It's very easy to write Ruby code with collateral damage.

You will see a collection of bad Ruby codes, with a description of how these codes affected negatively their applications and the solutions to fix and avoid them. Long classes, coupling, misapplication of OO, illegible code, tangled flows, naming issues and other things you can ever imagine are examples what you'll get.

Capture thumb
Rating: Everyone
Viewed 54 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Laurent Sansonetti

http://rubykaigi.org/2015/presentatio...

In this presentation we will give a quick and gentle introduction to RubyMotion, a Ruby toolchain to write cross-platform apps for iOS and Android. Then, we will cover 3 of its latest features: Apple Watch, Apple TV and a cross-platform game engine. We will do live demos and coding.

Capture thumb
Rating: Everyone
Viewed 73 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Masahiro Nagano / @kazeburo

http://rubykaigi.org/2015/presentatio...

Rhebok is High Performance Rack Handler/Web Server. 2x performance when compared against Unicorn.

In this presentation, I'll introduce the Rack interface spec, the architecture of widely used rack servers, and technology that supports performance of Rhebok includes prefork_engine, picohttpparser, system calls.

Capture thumb
Rating: Everyone
Viewed 39 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Naohisa Goto

http://rubykaigi.org/2015/presentatio...

I'm using Fujitsu SPARC Enterprise server whose OS is Oracle (former Sun) Solaris 10. In Solaris, there is a number of minor differences from other major OS like Linux and Mac OS X, and a number of changes have been made to run Ruby (CRuby) without failure. I'd like to talk about these changes as a user of the Solaris OS.

The following topics will be included in this presentation.

Tips to build Ruby and other free software on Solaris
Recent changes to Ruby (CRuby) needed for Solaris
Bugs potentially affected to all platforms but revealed by running on Solaris

Capture thumb
Rating: Everyone
Viewed 92 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Masaki Matsushita

http://rubykaigi.org/2015/presentatio...

In this talk, I will present how to extend your Ruby code with Golang.
Since Go 1.5, you can build C compatible binaries by using buildmode c-shared/c-archive. This is a very exciting feature for rubyists.
First, I'd like to show you how to use Go code from Ruby with FFI and fiddle.
Then, I will talk about how to build gems with Golang.

Capture thumb
Rating: Everyone
Viewed 35 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Ippei Obayashi

http://rubykaigi.org/2015/presentatio...

KMC, Kyoto university Microcomputer Club, a computer circle in Kyoto University, holds one day game programming camp for newcomers (undergraduate students interested in KMC and programming) in April and May to invite an enjoyable programming world.

As you know, Ruby is one of the best languages to learn programming itself and used in the camp to build a simple game within one day. This talk provides experiences and messages coming from the events, and explains the history of frameworks used in the event. This talk give you a hint to educate beginners.

Capture thumb
Rating: Everyone
Viewed 45 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

[Due to copyright reasons, mute audio in some parts of the movie]

Speaker: Julian Cheal

http://rubykaigi.org/2015/presentatio...

Web apps are great and everything, but imagine using Ruby to fly drones and make them dance to the sounds of dubstep! Or to control disco lights and other robots! Sounds fun, right? In this talk, we will not only explore how we can write code to make this possible, but it will also be full of exciting, interactive (and possibly dangerous ;) ) demos!

Capture thumb
Rating: Everyone
Viewed 50 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: Kouhei Sutou

http://rubykaigi.org/2015/presentatio...

This talk describes about the history of testing framework in Ruby.

Ruby 2.2 bundles two testing frameworks. They are minitest and test-unit. Do you know why two testing frameworks are bundled? Do you know that test-unit was bundled and then removed from Ruby distribution? If you can't answer these questions and you're interested in testing framework, this talk will help you.

This talk describes about the history of bundled testing framework in Ruby and some major testing frameworks for Ruby in chronological order.

Capture thumb
Rating: Everyone
Viewed 92 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speakers: Terence Lee, zzak

http://rubykaigi.org/2015/presentatio...

Many projects rely on command-line tools to provide an efficient and powerful interface to work.

Building tools for everyone can be difficult, because of conflicting environment or OS.

How can we build command-line apps that work for everyone and still write Ruby?

This talk will discuss how to use mruby-cli to build cross-platform apps in Ruby.

Our goal will be to build a CLI app using mruby and produce a self-contained binary that can be shipped to end users.

Since mruby is designed to be embedded and statically compiled, it's also really good at packaging ruby code.

Capture thumb
Rating: Everyone
Viewed 36 times
Recorded at: December 12, 2015
Date Posted: February 4, 2016

Speaker: KOSAKI Motohiro

http://rubykaigi.org/2015/presentatio...

Capture thumb
Rating: Everyone
Viewed 101 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Mayumi EMORI / @emorima

http://rubykaigi.org/2015/presentatio...

Thread in Ruby 1.8.6 often got stuck and I had to implement my own Thread monitoring framework. How is it improved in the latest release, Ruby 2.2.3? Now can we use an implementation that I couldn't use with 1.8.6 because of the broken Thread?

Ruby1.8.6 のThreadはよく刺さり、自前でのThread監視機能を作成を余儀なくされた。­では、最新のRuby2.2.3ではどうだろうか?
またRuby1.8.6では、Threadが高確率で刺さるために回避せざるを得なか­った、あの実装方法は、Ruby2.2.3では使えるのだろうか?

Capture thumb
Rating: Everyone
Viewed 37 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Christophe Philemotte / @_toch

http://rubykaigi.org/2015/presentatio...

The news is everywhere: some weird disease makes the dead walking. We do not know yet if it is highly contagious. What should we do? What we do everyday: writing code.

This couldn't be a better moment to use an agent based model — a technique that simulates interactions between agents in a environment to understand their effects as a whole. For such, we'll visit its minimal Ruby implementation, address some common design, simulate the Zombie epidemic, visualize it, and test different survival strategies to hopefully find the best one.

We can code, we'll be prepared ... or not.

Capture thumb
Rating: Everyone
Viewed 97 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Evan Phoenix

http://rubykaigi.org/2015/presentatio...

Capture thumb
Rating: Everyone
Viewed 65 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: youchan

http://rubykaigi.org/2015/presentatio...

Does this happen to you?
You were developing web application with Ruby on Rails, but somehow you ended up writing front-end in JavaScript.
Ruby on Rails seemed very cool to me! And Rubyists are always happy to build applications with it!
However, front-end development is becoming important today.
Then I found Opal, and my dream of writing Ruby on the front-end is possible!
Recently, React.js, a kind of Virtual DOM, has become very popular in the front-end community.
It's not only intended for front-end web, there is also ReactNative for other platforms too.
I think many Rubyists are still lost, so I created a Virtual DOM implementation in Ruby called Hyalite.
All right, Opal, Hyalite ... tools have been gathered. Let's build web applications on server-side and front-end with Ruby!

Capture thumb
Rating: Everyone
Viewed 44 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Yutaka HARA / @yhara

http://rubykaigi.org/2015/presentatio...

Recently, functional programming with type inference has become popular, let's try to make it! But what if you don't know where to start...? For such a Rubyist, this talk will explain from basics of language implementation to the Hindley-Milner type inference. We can make a functional language!

Capture thumb
Rating: Everyone
Viewed 55 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Paolo Perrotta / @nusco

http://rubykaigi.org/2015/presentatio...

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.

Are Refinements the best idea since blocks and modules, or a terrible mistake? Decide for yourself. 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.

Capture thumb
Rating: Everyone
Viewed 51 times
Recorded at: December 13, 2015
Date Posted: February 4, 2016

Speaker: Josh Kalderimis / @joshk

http://rubykaigi.org/2015/presentatio...

Travis CI found itself growing a great SaaS product, when Enterprise users began unexpectedly asking to use our product on-premise. Our small team had to quickly understand:

The maintenance implications for different ways to package our app.
How to provide enterprise customers great support, despite the new constraints.
How to prioritize Enterprise-specific features.

This talk is the story of how we added an Enterprise offering to our existing hosted Continuous Integration service, the bumps we hit along the way, and what we would do differently now.