00:00:17.080
I would like to introduce the creator of the Ruby language
00:00:24.960
mattz good morning yeah every year I got
00:00:32.559
nervous okay it said that popo is very
00:00:40.640
important and TPO in TPO is occasion here's
00:00:47.079
keynote the according to the dictionary the definition of the keynote is a speech as a the political convention
00:00:54.440
that present important issues principles policies Etc
00:01:01.239
give me a break uh I am a m
00:01:08.159
programmer who invented the language actually it's a great
00:01:15.080
language but
00:01:20.520
accidentally but but that Li so let's start the
00:01:26.840
keynote so keynote has several aspect good good part in bcast the good part of
00:01:33.119
the keynote is the first at the conference I can enjoy rest of the
00:01:38.960
conference yeah the bad part is the first of the
00:01:45.000
conference I have less time to prepare so you have to
00:01:50.320
endure okay the p in the TPO is place here in New Orleans and I came
00:01:58.640
from the city named which is in Japan of course my hometown and you know that New
00:02:07.600
Orleans and city of Matsu is sister cities what a
00:02:13.440
coincidence and any locals among you okay thank you okay next week mayor
00:02:21.760
of m city is visiting this the New Orleans so I I asked him from him to say
00:02:28.280
hi from him so say good
00:02:35.120
rigor okay T and TPO is time in the year
00:02:42.000
20111 20 2011 and then we have we are having the
00:02:49.400
11th Ruby conference the first Ruby Conference was held and October 12 from
00:02:56.080
October 12 to 14th in 2011 right after 91 in Tampa Florida and who among you
00:03:05.200
guys attended first count here there of course
00:03:10.319
me and so it's 11th Ruby conference we have
00:03:16.680
11 and uh it's first Ruby comp in the second decade or you can say that it's
00:03:24.799
10th anniversary of Ru history of the Ruby conference so it's a good has to be
00:03:30.280
be the world and uh year 2011 this year I got a
00:03:40.239
new position in
00:03:49.280
her do you see that did see that my position Chief Architect
00:03:56.280
Ruby okay let me explain the background of this new
00:04:01.319
position and uh the end of the last year the salesforce.com acquires her.com
00:04:09.439
what salesforce.com I've heard that company but you know it's kind of like a uh
00:04:17.239
Enterprise something so I considered that company
00:04:23.160
was not nothing related to us the open souls
00:04:28.400
and the the web and uh yeah
00:04:33.600
Ruby but but in the announcement of the AC
00:04:39.080
acquis acquisition the mark Beno was who is the the CEO of the the Salesforce
00:04:44.840
company.com salesforce.com and he said Ruby is the langage the Cloud 2 by by his definition
00:04:52.639
Cloud 2 is the next Generation cloud or something like
00:04:57.680
that well yeah it's I feel very I I felt very good with
00:05:04.560
you know get you know to be said good about my language
00:05:12.400
and then six months later the salesforce.com made a the alliance with
00:05:18.720
the Toyota company it is called the project is named Toyota friend which is
00:05:24.600
kind of like a the socialized the
00:05:30.400
uh automated car or something like that and then he visit Japan to announce
00:05:37.240
that kind of that Alliance and in last May and I met him in
00:05:45.840
person and he he invite they invited uh me to to attend attend and the guest
00:05:55.360
speaker for the the development conference and uh when we when we met
00:06:01.720
the mark Ben said Ru is great yeah I know of
00:06:10.199
course and he said it's kind of surprising for me but I wanted to help
00:06:16.039
Ruby just because you know the Ruby the Salesforce is the the company highly
00:06:21.520
depends on cloud and the Ruby is very good at the web stuff and said crowd so
00:06:28.800
he wanted to to help Ruby to to encourage and enhance the the industry
00:06:35.759
of the cloud so so they wanted to help me as the
00:06:42.080
language of cloud age so that's good things and and he
00:06:48.000
said I want to hire you
00:06:54.840
what and I I consider that that it's kind of the joke or the fling or
00:07:00.319
something like that but you know the next week the the guy guy in the
00:07:07.240
salesforce.com contact me and the pro proven there is very serious and then I
00:07:14.120
got a title from Heroku and a payment from sales.com
00:07:21.560
I chose the the title of the chief Artic ruie as the least business is title you
00:07:29.120
know they they offered me as some kind of that Chief technology officer or something like that
00:07:35.440
but okay give me a break I don't want do any business
00:07:41.720
stuff so as a chief active Ruby in her.com I will keep working on rovie
00:07:48.240
call devopment as I have done for a long time
00:07:53.759
and didn't ask me anything new ex attending their dream Force conference
00:08:02.479
and I'm sorry last month I attend the dream Force conference in the mosone
00:08:08.440
center and 40,000 attendees it is quite
00:08:14.120
different world I saw quite different world in the the software industry but it's quite
00:08:20.039
impressive but but you know I have been working full-time for a long time last
00:08:26.159
this for more than 10 years I was hired by the company named NCL with the the
00:08:34.080
official name is a network applied communication laboratory which is so long we call it NCL or n
00:08:42.959
love and so my financial situation have been
00:08:49.519
improved by dual income but hiring me do not accelerate development that much you
00:08:57.640
know I'm I'm working full time I I I don't I don't have any more than 24 hours per day
00:09:04.720
so but we want to accelerate with development
00:09:11.320
we want to so we are going to form a team of
00:09:17.360
fulltime communities so as a as beginning I hired
00:09:24.040
we hired a fulltime committer nooshi nakara which is which we call
00:09:29.880
KN and uh also known as cast
00:09:47.360
monster and yeah he has worked for Ruby so so
00:09:54.399
much in the past history for last five six six years and the as a fance
00:10:01.399
programmer he works his day job he he had worked his job and he work he
00:10:09.120
contributed Ruby for a long time and actually he you know sometimes he you
00:10:16.399
know emphasize too much on Ruby development and you know his situation
00:10:23.560
might be sometimes trouish trouish so the being high tired by the Heroku his
00:10:32.600
the situation become much better I believe and I I think he does not need to worry
00:10:41.120
about and especially his family lovely wife and daughters do not
00:10:47.760
have to worry about the financial situation any longer and then he's been
00:10:53.279
the number one committer for a long time see that glove the black one is mine my
00:10:58.480
contribution a number of PES but in the year
00:11:04.040
2008 or something he sured
00:11:09.079
me so he he contributed more than more than
00:11:14.680
myself and the recent months the red line on the top is is his contribution
00:11:22.360
and mine is somewhere in the bottom so yeah his contribution is so
00:11:30.639
great so he's he's number one so I think you you can expect more passes from now
00:11:37.399
so he fixed every bug in one night he uh he must be here could you stand
00:11:45.480
could you stand up where where he is he's
00:11:54.760
sleeping he's late
00:12:19.560
hand and I think more to come if budget allows okay that
00:12:24.959
business but I welcome more companies to hire Co commun just because you know I I
00:12:30.480
don't want to hero.com to give impression that the the company is
00:12:36.320
taking over the community of development but every other player like
00:12:42.399
a many Ruby there are so many Ruby companies and they if the budget allows
00:12:49.279
if budget allows so many companies including herok or other
00:12:57.160
companies higher uh Coors and then then if possible allow them to work full-time
00:13:04.600
on the Ruby development to accelate development and the uh evolution of the
00:13:12.720
language I've already contacted engineer and then yeah and and they they
00:13:21.079
said they they considered it very positively so I'm expecting
00:13:29.240
okay next Topic in the year
00:13:34.680
2011 uh we have been working for on the standard of the language for last three
00:13:40.800
years and this year we formed the resubmitted and then we established the
00:13:46.760
the public open public standard in J Japanese industry standard which is
00:13:53.079
named the jsx 3 17 which is officially
00:13:59.639
publicly available standard of the language and then since the J is the the
00:14:05.959
fast track Organization for the the iso so we submit we we have already
00:14:11.199
submitted it and then recently we had a board in the iso and then the the result
00:14:18.680
was the 20 versus zero 24 and zero against
00:14:24.279
who and then but we got few comments so we have to update this
00:14:29.560
update the stand the description and then resubmitted so if everything works
00:14:36.160
fine you know it's kind of political in know in know standard definition but if
00:14:41.880
everything goes goes right so in in the year 2012 we
00:14:50.199
will have the iso ring you know that whoa
00:15:01.920
yet the the standard describes the subset of the language just because you know the that the when we start the the
00:15:10.959
definition of the the language as a standard so we have the we we were still
00:15:16.720
in the the 18 H one8 H so it's
00:15:22.079
quite difficult for us to choose one nine as a standard body so so it should
00:15:28.079
be the 18 compatible to both 18 and one n the
00:15:35.040
but you know the difference between 18 and one is so huge so we in in the
00:15:41.199
standard description we we have have to lead so many uh implementation defin
00:15:50.519
things but but you know it's just a beginning and the the standard definition should
00:15:58.519
be the platform independent so we we don't describe we
00:16:03.639
don't Define we didn't Define any fork or threads or something so so J Ruby
00:16:10.480
rubinus Ruby sh Ruby can so that can conform the the standard but it's still
00:16:18.800
incomplete so we are working on the newer version of the the standard so and
00:16:26.040
then we expect better coverage of the the specification and uh we we are
00:16:32.160
planning to move to 1 n or 20 whatever it we
00:16:38.800
call and then the reason behind the standard is that the mostly the business
00:16:44.759
reliability you know recent years the Japanese companies started accepting Ruby finally but you know the Japanese
00:16:53.800
IT industry is very conservative comparing to the you know the startup company in in the
00:17:00.959
states that they are dominated by the huge companies like the NTI or fu2 or
00:17:08.720
many big companies but they are very conservative and very late to take
00:17:17.559
risk but after seeing the huge success and Ruby and rubyan rails so they are
00:17:25.079
gradually accepting rubyan rails in Japanese ID Industries but since they
00:17:30.480
are very conservative they very nervous about choosing uh using new technology
00:17:37.200
so so it's the standard the the original motivation of the defining standard is
00:17:43.440
the reducing that kind the the anxiety for the executives in the huge companies
00:17:50.919
especially in Japan but but also it helps the autonom
00:17:57.440
implementations like Ruby J Ruby and Venus and M so many other the
00:18:04.200
alternative implementations we have Ruby spec as a the executable spec and and a
00:18:10.880
standard Ruby ISO Ruby for human reable spec so we we can work together to make
00:18:17.000
them better in in both ways okay next
00:18:23.960
topic the year 2011 the world has been take over the
00:18:35.679
machines it's it's kind joke but we have a lot of PCS among the world we have lot
00:18:42.240
of superc computers we have mobile phones we have game consoles everywhere and the recent
00:18:50.400
days the vehicles uh full of computers like a the modest vehicle has I don't
00:18:58.559
know five six the controllers in it and the pros which is you know this is
00:19:04.960
totally controlled by the computers and uh in the factories we are
00:19:10.039
the computer control the the the vehicles
00:19:15.400
uh the com combin with the the computer control
00:19:21.640
robots and uh we see robots in
00:19:26.720
home and we see human robots or even human more
00:19:34.480
humanik this this robot is developed by the the Japanese uh laboratory and to
00:19:40.960
look like to act as a super model computer Rob they are very
00:19:50.960
serious anyway it's all driven they are all driven by computers and the
00:19:56.520
computers need software the software ratio in systems increasing
00:20:02.640
very drastically and the software should be bu by us humans in programming
00:20:10.120
language there are so many programming language in the world but what we love most
00:20:16.799
is you know that
00:20:22.039
Ruby but what is Ruby what do
00:20:27.640
Ruby the Ruby is yeah Ruby not not the D je Ruby but this Ruby our Ruby is has
00:20:37.039
kind of M multiple definition the
00:20:42.640
Ruby has good in the syntax yeah it has good nice syntax the the program uh
00:20:51.400
appears simpler in Ruby but in fact the Ruby syntax is very complex though but
00:20:57.440
you know it does nice syntax but syntax is not the only part of the good aspect
00:21:02.559
of the Ruby language the Ruby the philosophy the ru philosophy is very
00:21:07.880
important so making programmers happier this is very fundamental philosophy and
00:21:15.240
this is very important for us this this is one of the reasons I we love Ruby but
00:21:22.120
it's not the only reason rby the library com along with
00:21:29.039
Ruby or gems so few years back we had
00:21:34.799
the we had been comp we we complained about the lack of libraries for the
00:21:41.720
language you know the PHP has that Library python has that Library PE has a
00:21:47.120
cpan but in these days we have Ruby jams we have I don't know
00:21:54.600
20,000 so many ruby gems so we don't have to worry about the lack of
00:21:59.799
libraries any longer and then last but not least it will be the
00:22:06.080
community the Ruby Community is so great so great I believe in you the community
00:22:12.600
I believe in you you I I believe in you to choose the best
00:22:18.679
technology I believe you to focus on the the effectiveness in programming or the
00:22:25.799
productivity in programming so as a whole
00:22:32.320
Ruby would like to help more developers so for example J Ruby yeah J
00:22:39.400
Ru is great just because you the Ruby for jav jbm platform so the
00:22:46.679
always if there were only C the there's
00:22:51.919
no way to reach the Java world but with jby the the Java people can use the
00:23:00.760
effectiveness or the productivity of the language or
00:23:06.520
robot Roboto is the the J report to the the Android platform so the you can run
00:23:15.360
the J Ruby on Android phones or Rose you know that Rose is the
00:23:22.600
platform to to build a the mobile phone application which is the kind of based
00:23:29.400
on the MDC model and very easy to write the the simple
00:23:35.600
uh not game but simp the simpler the mobile application on Android and iPhone
00:23:43.880
and iPad the black or other other devices so if if you write the the
00:23:54.480
application on one device you can Port it to the the other device very easily
00:24:00.400
so the they allow Ruby to to work on
00:24:05.840
mobile phones and uh yeah we of course we have original t then leading the community
00:24:12.760
and leading the technology and then we are soon to have the Ruby 193 the we the
00:24:20.080
we recently released the 193 release candidate one which is done by the yugui
00:24:26.440
she's a tremendous work for the the make the
00:24:31.799
193 it to to be the best release in the
00:24:38.679
the history of the Ruby
00:24:44.440
release well and uh I believe the key words for the future is the cloud and
00:24:50.279
mobile for croud we have many Technologies on top of Ruby like like
00:24:56.840
Heroku or engine so Engineers is so successful to to see
00:25:04.000
the BM in the in the office see Dr Nick's
00:25:10.919
face he's very glad to have her in their office but for
00:25:17.399
mobile like a small devices the digital appliances mobile phones Vehicles robots
00:25:25.840
so it's Ruby is not available for for
00:25:31.320
them so I'd like to address these fields yeah as Lua does now Lu is a
00:25:39.320
language from Brazil it's quite interesting programming language and
00:25:44.919
it's very strong in some some kind of eding field and the gaming field
00:25:51.399
so yeah I confess that I'm so Envy to the language
00:26:00.080
so so I started the M MB stands for the mass embeddable
00:26:05.919
minimal
00:26:11.919
implementation and the right BM as a call right VM I we uh I explained about
00:26:18.039
right VM last year and with minimum standard libraries embeddable cap
00:26:24.760
apis incremental zc which allows the soft times and it it has the F to generate
00:26:33.320
abstract syntax Tree in separately and the and Cent the module
00:26:40.559
to to convert the abstra syntax tree to bite code and the right VM to run by
00:26:48.640
code it has the 32bit instructions and the instructions are C
00:26:54.399
seizable so so that you can write the the uh converted compiled instructions
00:27:01.600
to binary files or C files I don't I don't I don't mean that it the compiles
00:27:08.360
the program to C but compiles the instructions in the C array in a
00:27:15.279
sequence of the numbers and it's inter WR in C+ C9
00:27:22.200
99 for all platform like Linux Windows
00:27:27.919
Mac OS Android iOS VX workx which The
00:27:33.039
Many Robots run iton or even non OS
00:27:41.000
platform as I explained last year the
00:27:46.519
difference this year it works
00:27:59.679
so I got to show you little quick demo uh yeah simple mod World
00:28:07.360
culation goes like this okay what is the most PO
00:28:20.399
is uh I got a small program to calculate the multiable
00:28:26.760
set and run on 1 a one n and
00:28:36.320
Emeral uh yeah but you know you don't have to read them they they I I'm going
00:28:42.159
to show you the the character the graph you re
00:28:50.760
see you want eight one is a little bit postive see that
00:28:58.159
see that okay uby goes like
00:29:13.559
again one n and mov oh look great
00:29:30.039
but I don't claim that M Ruby runs faster than 18 One n it's this in this
00:29:36.480
particular program the EM runs faster than one night but anyway it it
00:29:42.480
runs em is very young and it's very
00:29:47.880
small and it's weak yeah this program runs but the many
00:29:55.840
other program don't don't run just because it has so many
00:30:02.000
bugs but M has possibility huge possibility can you imagine that that we
00:30:10.679
can have the small Ruby interpreter in mobile devices or
00:30:16.960
robots the the Ruby to control robots or factory robots
00:30:22.840
for 10 with this Appliance these days digal
00:30:29.440
like high def TV is kind of like a PC it is CPU memory operating system AIO drive
00:30:36.320
and the g menu it's it's totally driven by software so the people in the the
00:30:45.600
appliance company the invest so much on developing
00:30:51.640
software in C or C++ but the the programmers in that in
00:30:58.360
the company hate to program C
00:31:04.000
C++ just just because you know they are so huge and they so complex but if they
00:31:11.440
can program in Ruby their life is should should be much
00:31:18.600
happier or games the gaming industry has
00:31:23.679
using lure or they sometimes create their own programming l language in half
00:31:30.720
big uh uh home blue programming language but
00:31:37.159
if the the real programming language or better programming language is available
00:31:43.120
they they should be very happy like they can use Ruby instead of
00:31:51.880
Rua what Ser side so in the Ser side if
00:31:59.279
the the the Ruby interpreter that uses less memory so it would allow allow the
00:32:07.360
more programs learned on server side so you can use the the Ruby you can use
00:32:13.320
Ruby in said NOS or JavaScript so it should be one big step
00:32:20.080
to rule the world so there's no perfect programming
00:32:27.360
language so I don't clim that Ruby is perfect but you know we like to provide
00:32:36.200
choices so I'm not expecting the the the the world to have the only two
00:32:43.639
programming language you know R but there
00:32:49.880
there they should be there should be uh programming language like Java Java
00:32:56.279
would not be vanished or okay they C++ would would not be
00:33:03.480
vanished and then okay even PHP would not be vanished but we like we like to provide
00:33:11.279
choices if they want it they can choose Ruby I'd like to have a world like
00:33:17.519
that so the in the real world or Cloud world we we have choices that everyone
00:33:25.159
in the world can choose Ruby if they wanted to if they really wanted to
00:33:30.519
unless uh some kind of pointy headed here pointy head boss force them to use
00:33:38.000
Java but you know but yeah they are free to
00:33:43.279
quit and but in the the mobile world or the
00:33:49.480
the client side or the some other field gaming field so so many pro programmers
00:33:56.919
has no ch Choice even if even when they
00:34:02.600
want they they have no freedom to choose Ruby so I'd like to provide them a
00:34:09.839
freedom to choose Ruby if they really want to and make the world
00:34:17.079
happier so and uh I I want to make them make
00:34:24.119
them make every programmer feels H feels happy I'll feel right