00:00:15.480
uh good morning
00:00:17.600
everybody you know this is
00:00:20.960
n the one who started
00:00:25.160
everything
00:00:27.960
so I call
00:00:30.960
I have a programmer I'm very happy
00:00:33.600
program I happen to create the
00:00:36.480
programming language and then so many
00:00:39.040
people so many people using my
00:00:44.000
language and then I I've feel
00:00:48.440
Happ but I've feel nervous when
00:00:51.399
I I'm a programmer not a te
00:00:55.920
presenter how do you feel about losing
00:00:59.519
was that the conference so this this
00:01:04.559
sounds great conference I I believe this
00:01:08.640
this year's conference will be
00:01:12.360
great so we was started in February
00:01:17.880
1993 as a script for
00:01:21.520
units
00:01:25.240
to but not
00:01:28.079
very I just wanted to create my own
00:01:30.560
programing language I was a language G
00:01:32.439
for last I don't know 30 something years
00:01:35.560
then when I was in high school I right
00:01:38.240
after I started programming
00:01:41.479
so I was somehow interested in the
00:01:44.759
programming by
00:01:45.920
myself rather than programing something
00:01:49.119
so some of my friends are interested in
00:01:52.280
programming and started making games or
00:01:55.640
using uh computers as their tools for
00:01:59.240
research or something
00:02:01.840
or or the something to make money
00:02:07.280
but I don't know exactly with I don't
00:02:10.119
know why but I have interesting in
00:02:12.480
programing practice I back thing I use
00:02:15.879
the pram langage name
00:02:18.440
basic was great PR language very
00:02:21.760
interactive but you know as aing
00:02:24.239
language it's quite weak so I started
00:02:28.680
learning I I wrote a book about the
00:02:31.400
language in the past and I studyed I
00:02:34.720
read through the book but I didn't have
00:02:37.040
a computer to run H so back then the
00:02:41.920
compiler was so expensive you know the P
00:02:45.280
compiler wasn't some I don't
00:02:49.440
know $5,000 $5,000 or something I know
00:02:55.280
very it was very expensive but thing so
00:02:58.720
I couldn't compile my my program so I
00:03:01.959
just read through the book write down
00:03:03.799
the pass program so
00:03:06.799
I consider myself
00:03:12.120
learn and then and interestingly P
00:03:17.040
taught me many things that the the
00:03:19.959
programming language can be uh different
00:03:24.599
the language to language and some
00:03:27.200
language is very strong in some as that
00:03:30.879
some language very weak in some so and
00:03:35.120
every program language has its
00:03:38.080
designer and this their designer these
00:03:42.920
designers has their own philosophy onp
00:03:47.040
on upon designing the language
00:03:51.239
so and uh the
00:03:54.920
language affect the the Mind thought the
00:03:59.280
way of thinking of programmers so the
00:04:03.799
language designers is kind of like a
00:04:05.519
programming the
00:04:07.840
programmers so that that made me uh
00:04:13.319
interested in programing Lang so when I
00:04:16.199
was in high school I I decided I I
00:04:20.560
wanted to create my own but back then I
00:04:24.680
didn't have any experience I have no
00:04:26.680
knowledge I have no internet back then
00:04:30.160
so I couldn't do that so I just write
00:04:32.840
down my uh ideal programming language on
00:04:36.280
the
00:04:37.120
notebook so it's very sad I lost my
00:04:41.600
that I don't remember that that language
00:04:44.960
look like but so I wanted to to create
00:04:50.320
my own programing language for for years
00:04:54.120
then in 1993 I happened to St my
00:05:00.000
F so this is the very basic motivation
00:05:04.199
behind
00:05:05.400
Rie uh recently a guy came and bl me on
00:05:08.680
Twitter that said he said why did you
00:05:11.440
even rby where we have
00:05:15.000
PE it was redundant reinvention the whe
00:05:19.319
it was a wte of man power that is lied
00:05:23.840
resource so many people feel negative
00:05:27.039
about the work
00:05:31.680
what is
00:05:36.680
it yeah we have there there is some
00:05:40.520
truth in his words like uh you
00:05:45.720
know we indeed we have really
00:05:48.680
resource we only have 7 billion people
00:05:51.759
on Earth very
00:05:54.800
limited and very few among them
00:05:58.000
P so
00:06:00.720
the man power is actually limited
00:06:04.199
resource but it's not about neck we have
00:06:07.759
more real resource which is
00:06:10.280
motivation motivation is the most
00:06:12.720
precious resource behind great
00:06:15.880
work we are not machines we need driving
00:06:19.840
course to accomplish great things like
00:06:23.400
making
00:06:26.520
websites what's your motivation like
00:06:29.599
having fun or profit making money my
00:06:33.720
motivation is love toward PR Lang so I
00:06:37.919
love alls from her
00:06:42.560
including and
00:06:44.360
her
00:06:49.000
even it sounds spooky to to love Lang
00:06:56.000
but but who should love notification
00:07:00.000
everyone has different motivation and
00:07:02.479
motivation is very precious to have and
00:07:06.599
it is the driving force behind the great
00:07:10.400
works since since some may call rein whe
00:07:15.759
like a pro Ruby after Pro it's redundant
00:07:19.479
reinvented
00:07:20.680
way but I think I i' say go ahead if we
00:07:24.560
have different
00:07:25.560
motivat and if we introduce diversity
00:07:30.199
everything
00:07:31.599
good it require cost you know the rund
00:07:36.280
works but it might it might waste your
00:07:39.840
time you know the diversity works the
00:07:43.319
different Works May Fail so you your
00:07:47.639
work will fail so your work your time
00:07:51.919
should shall be wasted
00:07:54.639
but I think it's okay I think it's okay
00:07:58.159
just because you know
00:07:59.960
if you motivated you you have you have
00:08:03.800
fun on
00:08:06.000
that so you had a front time so it's
00:08:11.440
it's okay just
00:08:14.479
because some of you might like fishing
00:08:18.879
so fishing takes time waiting fish to to
00:08:23.680
eat your b b but you don't say wasting
00:08:28.720
it's just W having fun
00:08:32.279
so so diversity you motivated diversity
00:08:36.839
is very good
00:08:38.399
thing and and the world without
00:08:41.839
diversity is
00:08:44.000
unpleasant what if we forc to forc
00:08:47.080
people to focus on Pro back in
00:08:50.040
1993 so we might have better
00:08:53.560
call but the the world the world so the
00:08:59.839
uh young prog back then me was forced to
00:09:04.680
work
00:09:05.720
on Pearl instead of Designing my own pet
00:09:10.560
project
00:09:13.680
it's it's not present not not not at all
00:09:18.200
it's like in the world of
00:09:22.519
84 forc them to do something by their
00:09:26.240
big
00:09:27.800
brother so person is that the kind get
00:09:31.040
cost of
00:09:32.240
imigration no one understand about
00:09:34.880
imigration so
00:09:37.560
no no one no one Invasion the the people
00:09:42.200
who have succeeded who made The Invasion
00:09:45.360
don't know about innovation in general
00:09:47.880
so the people who succeeded may not
00:09:52.600
succeed next may not make next
00:09:56.920
Innovation so and few people of course
00:10:00.040
don't don't know about
00:10:01.920
Innovation so no one so each innovation
00:10:06.480
has different faes
00:10:09.640
so only we can do is
00:10:13.800
try try to innovate most of them ver uh
00:10:19.880
most of them are fail will
00:10:23.240
fail but you know we we try again and
00:10:28.000
again until we make Invasion that's the
00:10:31.480
diversity that's the spirit of diversity
00:10:35.160
I think it's a good
00:10:37.320
thing but what we would cre the future
00:10:41.079
to raise the possibility of
00:10:43.600
success so few days ago I have I I read
00:10:48.200
a
00:10:50.399
um
00:10:52.120
broadcast like
00:10:54.399
is you really
00:10:59.680
so I I think most of you don't Japanese
00:11:03.600
what a
00:11:05.320
say so that it it says ID survivors will
00:11:10.760
be language designers de impers and high
00:11:15.279
value
00:11:21.399
nich sounds
00:11:23.440
weird uh his outline is
00:11:39.519
F uh Fring will be the fundamental
00:11:43.079
literacy like a writing and Counting
00:11:46.680
something and then it t can be done by
00:11:50.200
everybody so professional like us should
00:11:53.000
do hard T we now but how can we be l
00:12:00.200
designers me like designers that's okay
00:12:03.440
but you how are
00:12:08.040
you how many langers do you know
00:12:12.880
me maybe you know greo but uh who
00:12:17.160
invented py L I mean I mean not
00:12:24.440
L of of pearl r orish
00:12:29.760
what
00:12:31.120
others so if you Google it you can find
00:12:35.519
very interesting website
00:12:38.959
namers
00:12:43.279
or it's a
00:12:45.800
cite the if when you access it the it
00:12:50.560
gives a bottle face BT of the person
00:12:56.160
mostly with be
00:12:59.760
and some of them are
00:13:02.120
langers and the the other part of the
00:13:05.880
Civ is quite
00:13:11.839
difficult likely I'm not not not in them
00:13:16.760
not listed in them
00:13:20.079
anyway you may not start making popular
00:13:23.639
langar you may not the pr how many of
00:13:27.040
you how many of you have designed your
00:13:31.120
own programing language raise your
00:13:34.000
hand yeah very few of them but it's it's
00:13:38.959
much more than I expected maybe 10 10 of
00:13:43.199
them out of
00:13:46.480
people I don't know how
00:13:48.440
many 700 700
00:13:51.759
people 10 out 10 so how many of you
00:13:57.680
implement program
00:14:05.160
thank you so yeah little maybe less than
00:14:09.920
20 but we
00:14:13.480
call my I is a
00:14:16.639
program you you
00:14:19.720
design you design code you design API
00:14:23.759
you design
00:14:25.639
interface
00:14:28.040
the so they
00:14:30.440
Thomas who is not here I guess they
00:14:34.120
Thomas once once said the programming is
00:14:36.959
a process designning own DSL
00:14:40.480
so the the process of implementing
00:14:44.199
application is designing and
00:14:47.040
implementing your own vsl upon top of
00:14:50.079
the your program right Ruby then create
00:14:54.040
the your application on top of
00:14:57.440
yoursl so every process of
00:15:01.399
rication is a process of Designing and
00:15:06.160
implementing programing language so in
00:15:09.040
that sense you can be language Lang and
00:15:12.639
you should be language so to
00:15:18.240
create great PR great education so you
00:15:23.360
should be a
00:15:29.560
so too few people care about
00:15:32.199
design the world is fo C
00:15:36.360
designs for example Sho
00:15:40.079
SS few years ago I had a I bought shoes
00:15:44.160
this are ni on shoes I like that I I
00:15:47.360
like the that pair of shoes but somehow
00:15:52.319
that strings losen every time so I tied
00:15:57.279
up again and again
00:15:59.440
and I feel like I'm wasting my
00:16:04.920
life that's a bad
00:16:07.279
design why on Earth in 21st century we
00:16:13.040
have to tie up my shoes again in the
00:16:17.079
G so I had
00:16:20.639
time so
00:16:26.920
I it's a hack
00:16:32.880
but but the stream sh streams has
00:16:38.079
this better should be better
00:16:41.120
designed at the first
00:16:43.600
place so the world is full full full
00:16:47.759
roomful
00:16:49.120
Improvement go
00:16:52.240
victim by starting a new project by
00:16:55.319
first existing project called netive
00:16:59.000
happen
00:17:00.639
so I believe most of you here are
00:17:03.959
programmers or some something involving
00:17:07.000
program in
00:17:08.640
BR I think that the reason we gather
00:17:12.120
together here and we can program we can
00:17:16.439
code that means we can change the
00:17:20.000
world so code make it happen in good
00:17:23.799
shape and reinvented way very
00:17:30.280
so make a better place and be happy I
00:17:37.600
will so it was dark
00:17:40.960
stor not really it isn't dark it is
00:17:44.559
storing it is night but in
00:17:47.520
1993 almost 20 years ago I invented I
00:17:51.480
started developing movie actually I
00:17:54.720
named Ruby on the February 24th 1993
00:18:00.080
since the the programing language is
00:18:02.440
some kind of virtual existence so m is
00:18:05.760
pretty important so I decided the DAT
00:18:09.760
date that date which I named my
00:18:13.720
programming language is the birthday of
00:18:15.760
my bir so since then it has the almost
00:18:19.760
20 years has passed so I had been I had
00:18:24.120
been happy for last 20 years I always
00:18:26.840
have been more it always been more
00:18:28.840
expected you know I when I started pram
00:18:32.280
uh I started
00:18:33.919
Ruby it was my project it was my hobby
00:18:37.559
so I you know I expect rovie users to be
00:18:43.600
less than
00:18:44.720
100 it's the that dark corner of the
00:18:48.360
room but you know something happened
00:18:51.760
some some yeah I don't I don't I don't
00:18:54.520
know exact process but something
00:18:56.400
happened so everyone got interested in
00:18:59.799
movie all over the world maybe millions
00:19:02.880
of people right now using movie is far
00:19:06.520
far more I expect and
00:19:10.039
then yeah and giving a keynote before
00:19:14.360
700 people is far more than
00:19:17.799
SC so I going try to make the world
00:19:20.559
better place by providing
00:19:23.400
Ruby not my primary intention but but
00:19:27.559
you know
00:19:29.640
anyway but by making will be even better
00:19:33.440
so on feary
00:19:35.880
24th
00:19:37.440
2013 February next
00:19:40.320
year it's the 20th birthday we will L
00:19:44.880
all as as we announced
00:19:55.880
before why
00:20:01.640
finally by finally I mean that the I I
00:20:06.320
about the previous Keynotes in the Ruby
00:20:09.159
conference this is a
00:20:12.520
11 Ruby conf the 12 the first one is
00:20:17.919
21 so I look look back and the first
00:20:22.480
menion of Ruby 20 in
00:20:26.799
301 the first Ruby confence I mentioned
00:20:30.280
Ruby to all in the first keynote in the
00:20:33.799
first
00:20:35.840
Ruby it's it's 11 years ago and uh then
00:20:42.200
in the year 2003 i metion r
00:20:45.799
again actually that within the last
00:20:50.200
Keynotes I me in these
00:20:53.840
conferences 2011 203 206 207 20110
00:21:01.280
so it's kind of like a boy and
00:21:07.120
is but let's find but find this is this
00:21:12.080
should be true of course you know that
00:21:15.200
and it is progressing steadly the the
00:21:18.720
guys the guys like in Japan is now
00:21:21.520
working on working on the the release
00:21:25.760
candidate rual release candidate one
00:21:29.400
and by compensating the they cannot you
00:21:34.600
know they cannot attend they couldn't
00:21:37.279
afford to attend the rubikon so they had
00:21:40.600
frustrated so they had the the they had
00:21:44.840
something to work on to to ignore their
00:21:49.760
stress so they're working on rubby stand
00:21:53.000
one so I would I will see it we will see
00:21:56.240
it in today or tomorrow
00:21:59.279
I mean tomorrow
00:22:01.279
yeah in Japan we already
00:22:05.279
tomorrow
00:22:06.919
anyway it will be the Ruby to will be
00:22:09.720
faster than
00:22:11.480
ruby9 the working on it and he he is
00:22:14.760
going to get a presentation on have a
00:22:17.600
session and tomorrow I I guess I I'm not
00:22:21.039
sure and the co will have a session
00:22:24.840
about how to improve the internal of the
00:22:28.039
version
00:22:30.159
of9 to
00:22:32.200
visual it be more reliable it be more
00:22:35.640
fully
00:22:36.600
tested so more fun to use and it will
00:22:40.520
have the keyword for more arents so rby
00:22:44.559
one9 can uh you can provide the keyword
00:22:48.919
arguments at the the bottom of the bot
00:22:53.600
the AR L as a inline
00:22:56.880
hash but you have to De compos it in the
00:23:00.480
the
00:23:02.320
colite by by hash the kind of key works
00:23:06.960
you you can see the example in some the
00:23:10.320
rails methods but it's so so we timate
00:23:16.080
timate that kind of De decomposition so
00:23:19.880
we you can Define the keyword argument
00:23:23.960
in the the death
00:23:26.799
arum so and then we will have that
00:23:30.159
enable lazy which enables you to sub the
00:23:33.960
lazy for him you real lazy you know but
00:23:38.039
not that lazy but lazy evalation La
00:23:43.039
lazy so and we going to have a b PR
00:23:47.000
which provides some kind of meod
00:23:48.880
comination
00:23:50.600
Comm so it's it is proposed by Thea hats
00:23:56.000
but we look through it and finally
00:23:59.440
implemented as a as mod prep that means
00:24:03.240
that mod prep mod include uh as the
00:24:08.600
methods to that existing class of modu
00:24:13.039
but uh modu prend R existing CL modu so
00:24:18.000
the method will come
00:24:20.799
before the
00:24:25.000
for the the the prepended modu the
00:24:30.080
method in the prented modu RS the
00:24:32.360
existing method so you can replace the
00:24:35.760
the alas me Chain by using the
00:24:39.679
mod so we will have some kind something
00:24:43.799
refinement which is uh kind like a the
00:24:47.760
main Stace for the monkey pattern so you
00:24:50.799
can grab the monkey patching in some
00:24:53.919
module some refinement so you put the
00:24:57.480
you
00:24:58.960
uh declare using
00:25:01.840
the the requirement and space so the
00:25:06.360
multi pattern is only available in that
00:25:09.880
scope so this Ruby tool featur will be
00:25:13.720
uh explained in the session named I
00:25:17.480
don't remember the exact name ruby2 in
00:25:20.600
ra ons or something yeah
00:25:24.760
today so if you're interested go go
00:25:28.000
there
00:25:29.760
I I believe it it will be the extensive
00:25:33.559
explanation so you can join us the E the
00:25:37.240
the key or effort of making Ruby to all
00:25:40.799
so by using trun and and uh I mean GI
00:25:47.799
Ruby Ruby or from the
00:25:51.720
main by reporting bags we still have
00:25:55.600
bags on Ro so you can report them so you
00:25:59.520
may have some kind the uh compatibility
00:26:02.279
issues from one n so it we consider
00:26:06.000
basically they are BX so report them so
00:26:09.399
we will we try to fix so by fixing you
00:26:13.080
can fix it's open source you can fix bgs
00:26:16.080
by yourself if you if you will so report
00:26:20.080
them so by sending the pool like Quest
00:26:23.360
we are we are happy that accept pool
00:26:26.360
like but holding a
00:26:28.880
to all and tell them my my project is
00:26:32.120
working really to now I'm trunk now so
00:26:35.159
it will it will work on rout to
00:26:37.919
go we can make it better we can make the
00:26:41.399
world better
00:26:44.799
and
00:26:47.159
what we can make the world better
00:26:51.480
so and recently I work I have a
00:26:56.200
different work of name m this is the
00:27:00.360
topic of the last keyot last year's
00:27:02.600
keyote so m is uh something the mini
00:27:06.640
Ruby or invaded
00:27:08.919
Ruby so it's it's a ruby auton
00:27:13.080
implementation of the subset of the
00:27:15.039
language on to the
00:27:20.159
eding environment so so weak uh resource
00:27:25.640
like a less memory res power or
00:27:27.880
something
00:27:28.720
so this is very
00:27:30.399
compactation it actually runs on the
00:27:33.399
very teeny B
00:27:35.039
computer um with few 100 kiloby of
00:27:38.679
memory so comparing to that the MRI
00:27:43.279
requires I don't know few
00:27:45.840
mix or
00:27:47.720
the of memory so memory is very very
00:27:53.240
compact so and uh we we will have M
00:27:58.880
mobile which is the the M extension to
00:28:03.039
to enable to write the iOS
00:28:06.600
appication so we will have a session on
00:28:09.200
that so
00:28:11.399
summary uh to
00:28:16.200
go who
00:28:18.440
moated reent
00:28:20.720
Wheels fix strings bad designs the the
00:28:26.960
improvements left on past so make it
00:28:30.799
work better I believe you
00:28:34.120
can maybe if you
00:28:37.480
don't it's okay as long you to be
00:28:40.799
happy happy
00:28:42.960
acting thank you