00:00:03.550
to our next speaker he comes all the way from Japan and he's the chief engineer
00:00:11.440
it GM o people so welcome Hiroshi shibata he's going to
00:00:17.769
tell us how to help with developing the Ruby core
00:00:28.510
oh hell a house of you and how you go so
00:00:34.030
I talked to heart begin to that of Rubik or it contains the secret or Sylvia
00:00:41.050
ecosystem so my name is hero since shibata the please call me here see my twitter and
00:00:49.120
the key hub account is HS BTW who characters or praise for me
00:00:56.550
i'm from japan tokyo 15 5 hours fight so i'm happy to talk
00:01:04.540
european ruby conferences Yuriko it's the first time to technical talk outside
00:01:10.659
least as young nations so japan has
00:01:16.680
internal we conference name the Rubik i doona rubik I a
00:01:23.220
thank you so Caillou means conference so 2016 was finished a couple of week ago
00:01:31.470
so Ruby cake has a lot of speak of who speak deeply Ruby in Tanner's includes I
00:01:37.900
gather concurrency or GC etc so 20 70
00:01:43.840
points tentative status please for Twitter account name though a true
00:01:49.570
so I'm chief engineer / dream of paper
00:01:55.690
ball and a member Ruby core team also
00:02:01.090
maintain rubygems rake and a dog and psyche and more are I maintain many
00:02:09.700
other ivory on the Rue vehicle system so finally so I'm a world Dexter with a
00:02:18.010
race gossip an event we have a lot of race girls event with tokyo kyoto nagoya
00:02:25.659
and other city in japan i support to authorizers these towns
00:02:32.819
so finally I need to introduce to GMO
00:02:38.319
paper ball because our CEO and CTO support to on the hotel costs in Europe
00:02:44.349
oh thank you thank you
00:02:50.099
so Jim own people provides shell hosting server and domain registration and the
00:02:55.900
e-commerce spot home in Japan so commercial time is ending so I start
00:03:03.519
to talk to his maintainer the first section is what Sylvie Sylvie we have version of
00:03:11.860
Ruby interpreter famous implementation is a Sylvie
00:03:16.890
written by Syrian gases other implementation are Jeremy and ravines
00:03:23.410
and Appa and Mo and we have Ruby apply the standard of iso iso standard there
00:03:31.390
are sleepy and a movie only so we had difference between 1.8 and 1.9
00:03:41.370
mad mats made ruby 1.8 however p.m. virtual machine on ruby 1.9
00:03:50.590
or rita is made by cochise's of the same kind of stable version Ruby 2 point 3
00:03:57.930
use it the same way mo of ruby 1.9
00:04:03.810
so mad max ruby is restore now so i introduce
00:04:10.989
people of silica team we have a full-time connectors with sponsored
00:04:17.919
Heroku and money for us Ruby committee number is 91 people and
00:04:24.970
to both account to part against every day commit he they are hard workers
00:04:33.870
hurler it contains armena kind active committee number are 10 to 20 people
00:04:43.260
they are branch meta they are branch went down we suffered for bon jovi
00:04:49.690
depository development branch versioned 2.4
00:04:55.590
favorite branch is version 2.3 although stable branch is
00:05:01.640
2.2 and the only security maintenance punch version 2.1
00:05:09.200
there are maintained by three people named Oh Narcy and the Nagas chica and
00:05:15.930
uses on mobile we have practical methods they
00:05:23.760
maintain patent specific issue kind support at home our linux windows
00:05:30.290
obviously and saris and McCoys if you hurt proton specific issue please
00:05:38.400
ask these these people our issue to our cars
00:05:45.410
we have a plenty of mental scope so matt has the responsibility of range
00:05:52.740
design on Bri language if you have a new sink new future syntax you need to get
00:06:01.050
to accept from but it's too it's too difficult so such as I maintains our
00:06:08.160
brain and rated issues had just set and the TC and evaluate are also
00:06:15.590
causes such as string array has anyone
00:06:20.760
are painting the Ruby connectors however it is related to Ronnies design we
00:06:29.280
discussed with Matt before new implementations
00:06:35.420
standard library such as an open URI neta hdb and the URI and more are
00:06:43.040
maintained each character's it does not need to accept from but it is the
00:06:52.050
difference between Cochran cod crusted Maura we have a bundle libraries such as
00:07:01.560
psych Ruby gems and our doc it is maintained up streams outside the
00:07:09.960
Ruby code repository and noble noble who are part monster
00:07:16.069
painting and backboard else and finally documentation is maintained by
00:07:23.069
Jack I Scott so next one is a web site of a ruby
00:07:30.330
languages i introduce so there are options / see Ruby
00:07:36.439
derivative is a main entire site it's obvious I'd it uses a github repository
00:07:44.419
we welcome to translate English to other implementation as our languages and
00:07:52.580
STM is the many paucity of Ruby source code oh thanks Ruby Rong's orbs are is
00:08:01.340
option we should talk a bit by rabbi and
00:08:07.580
ftp is a website of package this vision ducks are official documentation site
00:08:15.229
so i have our responsibility for this high durability and web operations
00:08:23.000
so we are supported from our first story for CDN na
00:08:28.669
wa and casually angles a dispute distributed for our puzzle
00:08:34.760
cache is a package interval site if you
00:08:40.050
need to our rate is ruby package please use a cash Ruby languor instead of ftp
00:08:47.310
revealing org it's so fast so it is a kind user status of the story oh USA is
00:08:55.410
a certain seven point nine percent your Parisian is a
00:09:01.190
about seventeen percent Asia is
00:09:06.709
about forty percent and other nation is
00:09:11.839
five percent so so I need to describe
00:09:20.320
what off shar so such an official package of the side of the document
00:09:26.480
asians are Terra contoured by Matt it's a on the on the other hand these distant
00:09:34.370
items are not controller mods so Ruby duck course it is a different from the
00:09:40.160
docs Revere angles so I ok so and
00:09:47.080
really James end bandra and the Ruby Empire will be packaged environment
00:09:53.120
managers so name the IBM IBM and see Ruby so we cannot take over these
00:10:00.170
software we cannot so finally Ruby licenses to Chris vs
00:10:07.850
their air and Ruby license so please see filename the copying why individuals
00:10:15.290
column so Ruiz are completely OSS we did not
00:10:23.570
only develop to be committers you can develop or contribute the Ruby language
00:10:29.210
now so I introduce instruction or the
00:10:34.910
developing OSS includes Ruby core many of people say OSS is great so you
00:10:43.670
can contribute or develop OSS please the documentation our force so you imagine
00:10:50.360
documentation is easy ok I try to contribute to documentation to OSS but a
00:10:57.170
horrible documentation is had to be hard so especially Ruby situation no one
00:11:03.440
knows the true behavior or with Ruby languages it is already much noise in
00:11:10.900
documentation is a tale walk rather than the coding for the Paloma there what
00:11:17.960
documentation is by a walk so on the other hand testing and Wang
00:11:23.870
run encoder is easy ruby has a lot of tests excess a man the library's like me
00:11:31.910
test a spec and the capybara moreover now bundling and the Taurus provides us
00:11:38.899
with an insurrection of their environment if you get test fails you can sell me
00:11:47.240
too easy to get to the trackers like a key have if you if test cover is missing
00:11:54.980
for summer record you can also write new tests and summit approach
00:12:01.149
so you can read 12 is configuration or Ruby languages like our other rubygems
00:12:08.199
so you will get our like this so this instruction are has do you understand by
00:12:15.620
the GUI commenters to I I can't understand
00:12:22.009
this so I introduced to run tests or Ruby language and faculty
00:12:30.250
these instructions are best processor Ruby development includes Ruby camita
00:12:36.860
includes ruvi camita pass right card it
00:12:42.139
is the most important things next one is a test run test and test
00:12:47.630
passes and next one is pretty create our track account and the stomach to your
00:12:54.380
patch into the deadmines okay and press some it it is all done so
00:13:02.660
I give details for a test and proposal writing
00:13:08.470
how to test the rangas so this instruction these six
00:13:14.870
instructions are women set of Ruby language tests only six command it is
00:13:21.319
easy to raise one not need some middle right my see care pasta seeking men can
00:13:29.000
see and read easy and other difficult middleware not need it
00:13:34.329
you can get wrong results so I describe these results
00:13:41.410
the entry point ever make not the rake make comment is this file
00:13:48.100
name the comm om care in the Ruby depository this file contains these thus created
00:13:56.170
Tesla embarking while the main task is a make tests make
00:14:03.129
test command this task is to build by pete s movie Peter Salovey and test
00:14:10.930
basic and the test known bug bit is a ruby means a Buddha swab test
00:14:17.790
this test compounds due to simple syntax of Ruby language
00:14:24.360
like this so this assertion confirmed to cross method
00:14:29.670
becomes cross knowing variables so define the cross C and C dot the cross
00:14:37.209
returns cross stirrings
00:14:42.509
these next one these assertions proved to name
00:14:48.069
method returns module Riker em module
00:14:53.319
defined and Emma daughter named invoking returns are M strings and
00:15:00.389
here if just have a hierarchy and a
00:15:06.060
current wrong p returns a quorum be it assassin so next one is Tesla basic this
00:15:16.720
basic answer to assign method as I and the message definitional and more like
00:15:23.709
this so it is a much per assignment so a car Michael Neal so
00:15:32.069
we as a we need to assign a coracle near
00:15:46.089
here so if you are interested in developing language p.m. DC sin Turkish
00:15:53.800
and our make this helps you so sometimes our member doovy core team apprised
00:16:01.900
biggest thing down changes their first gory is a test pass or make tests as I
00:16:09.220
meant and the cus returns and the more next one is make tests or grant it is
00:16:19.180
near your side not rang gauge developer if you are
00:16:25.510
interested in raga library you can test the roller library with
00:16:32.290
these instructions I'll make tests or and environment variable name of the
00:16:38.020
tests gold roba so this or supports a party execution
00:16:47.490
like this a make this all and test go hiking j4
00:16:54.510
so it is a test case of our a class it is a
00:17:04.630
simple test to test using X in each side not the r-spec you
00:17:12.430
need to define Testament source projects test on the score like this test on the
00:17:18.220
scope passing to our I testo underscored arrow literal
00:17:24.780
these tests check to my page I instructions so it is a result eco Assad Igor so
00:17:34.590
percent are a pocket full ba echoecho so
00:17:41.250
symbol who and simple ba ra
00:17:46.980
sorry it is a simple so next one is the
00:17:52.210
taste or odor fire this fight is a test case of raga library it is a same as I
00:17:59.530
tests so it is simply x into scientists so it is a inheritance for
00:18:07.879
test unit test case so we create a robot instance and the
00:18:16.339
setting up basic instructions and
00:18:21.909
added to route a string and we assert local configurations
00:18:30.819
so test hi PSD hike on the actually
00:18:37.249
contains C API tests it is a test of our the I resize the API
00:18:45.669
if you are see existential gem also I recommend it right
00:18:52.089
recommended to run these files and those are tests oh hi exp hyphen Decker is
00:19:02.799
this task named our make tests or for you most of the Rubies to come right
00:19:11.679
artistical you can you can write a wrong each test same as your application and
00:19:19.909
Gemma library using excellent scientists make check is afoot Haskell put Ruby
00:19:29.389
language test you need to embark it before submitting
00:19:34.909
a patch or prayer requests into our Ruby core team
00:19:41.739
so next topic is wisely we use it to testify amok name the test in it and the
00:19:48.169
me test we have some bundled libraries like our
00:19:54.379
Ruby gems and our dock and psyche and anyone these upstream are not to be Cory
00:20:02.089
foster yeah I say again so we need to adopt to use several tests of wimax uses
00:20:17.210
so it is a instruction of rubygems majha CP seas are n CP CP CP and the kids
00:20:27.679
check out so we need to guarantee to walk these vandals libraries on the Ruby
00:20:34.520
core and upstream repository
00:20:40.149
so back body is too hot it's too hot
00:20:46.000
example station or overdue be James is here so Ruby gems do this version still
00:20:55.039
supports ruby 1.8 some of you to consult why got temp files dot costs
00:21:01.840
exclamations not provided ruby 1.8 we couldn't use it
00:21:09.380
on rubygems upstream a depository so we need to handle our respond to a message
00:21:16.539
across !
00:21:21.880
so okay next topic with Ruby's spec status do not Ruby spec
00:21:29.470
you know Ruby spec is a project or an exam executable specification for the
00:21:36.890
Ruby however the original project is sunset status now
00:21:43.299
so Eragon who are Ruby committer folk due respect to our release on spec
00:21:51.380
depositories it is available on github we use Ruby suspect to county to
00:22:00.409
regression tests regression behavior
00:22:05.770
you can invoke groovy spec disrespect and does a ruby code repository you can
00:22:12.140
run you need to run make up day to do this back and make tehsil respect task
00:22:21.070
so Ruby suspect it to use uses ms back
00:22:26.720
it's not an aspect however I'm expect provider r-spec
00:22:33.370
scientists case like this like this so describe do a broken it behaves like a
00:22:42.490
sling coke at it we have the ice and Kolkata encoding so it is a
00:22:49.650
child example file so but it is defined from our our specs I so respect uses are
00:22:57.370
described and the option add it with a shell to option it
00:23:03.420
provides a shoddy example in r-spec so it is a sewing append specs
00:23:12.990
yeah so please check details to
00:23:18.600
Ruby suspect repositories in gay ha if you were interested in spec
00:23:27.250
scientists and the Ruby called behaviors and
00:23:32.320
regressions please some it progressed to this lipid sorry you have to be suspect
00:23:39.360
so add hell is true or author of Jerry said are so nice to see Ruby spec so
00:23:48.340
Ruby spec helps as an implementation or Ruby right Jerry and 0 bar so we will
00:23:55.840
come to submit a new tests for our Ruby 2.3 and 2.4 features
00:24:03.540
next one is a test coverage so we have a coverage mechanism or Ruby son of the
00:24:10.179
ivories these instructions show test coverage over break so you can you need
00:24:18.010
to add cover race ecor ET or two or etc
00:24:24.429
but environment by other and run test our command so you can get this one this
00:24:32.800
is that so sorry it's more characters so
00:24:38.970
it shows that do get this do get test is noticed it is so serious status
00:24:49.880
please do to run the test and wider test
00:24:54.900
and some it it to a beretta mine or key
00:25:00.000
hub this cover is it's always welcome we are always vehicle to test coverage
00:25:06.900
increase pudsey okay so you can test Ruby language now
00:25:13.200
so it's all next topic is our Ruby code ever pain
00:25:20.750
so how request week or so we need to pass these requirements
00:25:27.530
for a future request includes are really committed so we focus or a use case leads jump
00:25:36.330
function and we focus the codes an idea
00:25:43.070
called it's too important we need to our much upper bar so it is a most important
00:25:51.120
and changing and the difficult things so however however much except some cases
00:25:59.549
without use cases it just to eat a secret so these are
00:26:05.640
Semitic ecol cases like array shift and unzipped methods it's a symmetrical
00:26:12.480
method if you found our aunt symmetrical methods so you can propose a symmetrical
00:26:20.039
message one and the system core define the POSIX
00:26:27.380
so like socket get host by name methods
00:26:33.049
it is defined by POSIX system course we
00:26:39.030
will add this system core to our Ruby methods and the
00:26:45.140
restaurant is a peg and SEGA segmentation heart so pas grave out is a much easier than
00:26:53.970
free to request it is not it is not need too much a
00:27:00.180
probar you need to attach the production called minimally production code and
00:27:07.070
writing our expected behavior or intentional behavior and
00:27:12.980
the rock fire and the results with different version of pervy we approve
00:27:19.410
your issue and fix it we reek of it
00:27:25.730
erotica is built by red wine red wine so we apply the Sun or
00:27:32.760
customizing of mainly Grizzlies decoration mailing list is a ruby color
00:27:39.810
or ruby devil or revised it is integrated to with what ruckus
00:27:48.080
so we upload to your purchased on the key
00:27:54.390
hub repository named or / movie / movie
00:28:00.230
so why we caught team uses kiha mainly so
00:28:08.160
it reads that that is only a very irate
00:28:13.170
money so not aware ever did have one so we start to consider an issue of why do
00:28:22.800
we call team does not use get not get her does not use get it contains many
00:28:30.510
other issues like searching of a release management and the better environment development
00:28:37.290
resources and more and the horribly komitas announcement it is too hot so
00:28:45.060
but I started to consider to
00:28:50.090
migrating as we am from a git repository please wait our course
00:28:58.130
so we have monthly developer meeting I entered it
00:29:03.500
so we hope to increase too transparency for the Ruby development process in the
00:29:10.850
mid in this meeting we toil the issue on red wine if you have our future requests
00:29:17.630
and no response issues sorry please this to agenda over this meeting quick passes
00:29:25.610
like this so it right it is writing by
00:29:31.220
English please join our developer meetings
00:29:36.340
so fine so I introduce communication plan of the Rubik or so we hope to
00:29:44.779
reduce to record responsibility and closes I'm working this issue some of
00:29:53.059
the unmaintained standard libraries like TK or XML TC
00:30:02.350
are extracted from the Ruby core repository
00:30:08.299
to our duty organization on github
00:30:15.549
extent library are different the Ruby committee meetin's policy and matts
00:30:22.640
approval if you interested in these extracted drivers please ask me I am
00:30:30.020
going to discuss and provides committed to you
00:30:37.240
so next topic is how to develop a week or so we have Pat home test suite named the
00:30:46.130
Ruby CI so Ruby Thea is a CIA's earthquake for
00:30:51.470
alternative / home contains the enactus Windows Mac OS and thesaurus and the BSD
00:30:59.169
Ruby CIA so it is a top phase of Ruby CI so it shows a prat home and access your
00:31:08.299
name and the bill time and branch am it is an orbit trunk branch test results
00:31:16.310
and shows a revision and the tehsil set us
00:31:21.550
so we gon t2 or green status before
00:31:26.900
reach time at the stable version or also stable value so we guarantee to work or
00:31:35.540
at home in with our Ruby packages
00:31:41.230
you can enter your server to ruby's the I we hope to as hava
00:31:47.920
to our support at home however a puffy about the home is enough
00:31:54.320
Polina so we hope to example the air a RM
00:32:01.790
architecture wizardry necklace and be asleep at home without of previously
00:32:07.760
like Natalie SD and openbsd and the windows pat home used or ms bleachy
00:32:14.330
compiler or ceiling compiler or ma Bing Darby compiles it is a good choice
00:32:23.860
if you are interested in the BCI project please ask me please ask me
00:32:30.490
so next topic is a really cycle we have the pantry stable version on christmas
00:32:38.150
day ever here in kind set us we are developing to our Ruby 2 point for
00:32:44.330
targeted 25 December in this year we add the new feature to do be 2.4 with wait
00:32:53.000
until race day in a three-masted okay so i just ate it to a backboard
00:33:00.950
process backboard process or the old version of Ruby so we already back to
00:33:07.820
old branch from a trunk or the branch from a trunk only we do
00:33:16.910
not apply a patch to trunk punch from an old version we do not apply or diversion
00:33:24.110
to tranq punch so because of you find the sum of the issue o
00:33:30.990
Lord watch a movie please try to rate as well this latest stable version will be
00:33:37.710
the most recent version of Ruby still has the same issue or a very pleased hum
00:33:44.380
it out Rocko Thank You fund our some of the effects or or the badger
00:33:52.020
we have some rules for race day like this we take care of a compatibility
00:33:59.830
with ultra generally if you we find the
00:34:05.230
regression on our new version Nancy some who are risk manager / but it
00:34:14.100
this compatibility policy is to accept with Matt yeah we needed to we
00:34:21.810
we accept to our compatibility so res
00:34:27.399
van is a security handling circuit is a heart so we have two channels or
00:34:34.080
security reports past one is a mirrorless named our security at Revere
00:34:40.030
angle org please um it secretary pot when you find
00:34:46.899
security vulnerability with this mail need to equip it with a denote
00:34:55.540
easy we are trying to handle it but however we have no second in specialized
00:35:04.390
in aruba connectors it is a baseline for work and
00:35:12.570
we run we add up to use our jacala
00:35:18.480
other channel is Hikawa so we start to use jaco van in this year or early this
00:35:26.470
year so it has a bouncy problem provided by IV v it's poison same as Merida's one
00:35:35.190
it melodies and Hakka one eyes okay
00:35:40.390
welcomed we're is Ruby 2.24 private to on the
00:35:47.950
fossil day / Ruby ke we add some broken
00:35:53.320
changes on do be 2 pi for example for unification of the integer
00:35:59.200
and the giving cold-cast mappings if you have jam or ivory and the
00:36:05.920
production application and some of your personal application please do the test
00:36:12.760
and embark with our Ruby 2 point for private to and
00:36:18.330
report our track of a new faces some of issues
00:36:23.640
so it is a great contribution with no code
00:36:29.680
it helps as a stable version release okay so conclusion so i disguised sylvie
00:36:39.430
secret from japan so who develop attila lee soffer the ocean resources of sylvie
00:36:46.740
how to develop therapy and what important of future castle in therapy
00:36:53.620
and when do the Easter diversion of therapy I described and
00:37:00.750
final words is I ask this question for you so why is Ruby
00:37:06.660
matt says our Ruby is designed to make programmers hottie for make programmers
00:37:12.730
happy so I'm happy I am happy to develop Ruby language it's more happy than only
00:37:20.830
using Ruby languages okay thank you your
00:37:36.369
you