00:00:06.520
all right how are you guys doing how do
00:00:13.100
you find the conference so far great yeah yeah yeah this is our second out
00:00:18.500
your first time here both of you mm-hmm how do you feel about the crowd
00:00:24.369
do we like the crowd yeah I like an important first question this this could
00:00:29.480
go really wrong for you yeah I don't
00:00:35.449
know the crowds just okay alex is okay
00:00:41.900
though like loads of oh yeah paying attention yes yeah thank you so much both questions do you have any questions
00:00:48.290
yet yes them in his bag Oh Shh all right
00:00:55.960
so like
00:01:06.620
all right so we're gonna start by getting some questions from the floor okay so we also rent like a few like a
00:01:13.920
surveys on Facebook we've got some questions from people that we know that we want to ask but we're gonna start
00:01:18.930
from a few questions on the floor and then please just state your name and who the question is pointed to it could be
00:01:25.530
for both and what is your question go ahead anybody if not we'll start with
00:01:31.530
the Facebook questions your only transfer is has a question at
00:01:37.030
the end
00:01:56.070
bye
00:02:02.370
you know that
00:02:16.760
this is a strictly Asian question have too much fun that says no I like easy
00:02:34.230
stuff I don't know I mean I watch for
00:02:46.050
the hardest question today I think this is this is probably the face I would
00:02:53.070
make if I met someone that said to me I like hard hard thing I mean I like easy
00:02:58.740
I like easy programming languages I think it's I think it's I don't know I
00:03:04.680
meet some programmers who are like oh I like it I want maybe I think maybe what
00:03:11.130
you might be getting at is that some programmers won't take Ruby seriously because I think it's too easy right they'll say like oh well this is this is
00:03:18.690
just an easy easy scripting language and I can't do any serious like serious
00:03:23.850
business with it and I totally disagree with that I think it's basically if
00:03:31.770
you're if you're just thinking about the programming language that way it's it's just that you haven't scratched the
00:03:37.170
surface yet you're just looking at it and saying like oh that's simple it must not be very powerful when in fact it's
00:03:42.780
just it's very easy it is easy and you can do powerful things with it so it's it's both of those things so I don't
00:03:54.030
understand why people would have that opinion the question I think so I think
00:04:00.810
it does thank you all right so this one comes off from our Facebook survey and
00:04:07.290
it's about hiring so what would be the things that you look for in a ruby program when you're hiring specific
00:04:13.470
skill sets skip a specific knowledge of the language or the framework rails
00:04:18.880
either one of you
00:04:26.740
I'll go first yep I hadn't thought about an answer yet I don't know it depends so
00:04:37.460
it depends on the position that we're hiring for yes so I mean yeah it really
00:04:44.780
depends on the position if we're hiring for a junior developer or just I don't
00:04:50.720
know basic programming experience doesn't have to be with Ruby or anything just any type of any type of programming
00:04:57.260
language as long as they know like basic oo skills and of course like having any
00:05:05.420
experience with Rails is helpful especially it so at github most of our code is in Ruby and it's a
00:05:12.970
really big Rails application so experience with Rails is helpful in our case but we have a lot of teams that
00:05:19.850
just do Ruby stuff not related to Rails as well so as you go into senior
00:05:25.460
engineering then maybe more experience with Ruby and hopefully other languages as well maybe like I don't know we have
00:05:33.470
a lot of different languages C++ C rust different things like that
00:05:39.680
but it just depends on the level well I would take a person who who can
00:05:48.009
enjoy the change who enjoy learning new things because Ruby and Mills is always
00:05:53.380
changing and always getting better so I'll take a person who who wants to
00:05:59.979
learn new things over rather than someone who memorizes all variables API
00:06:07.840
because real TPA will change on the next day or next week alright so we have
00:06:18.130
another question from the crowd please Roger half IP
00:06:29.759
hello guys so I think we know that Ruby is very good with the web community so I
00:06:37.960
mean purveyors go probably we can say PHP is the leading now we are the leaders they are copying us but in terms
00:06:45.129
of like data processing like Python is that way beyond us like all is it I mean
00:06:51.490
like for some reason I think it's very similar language but python is way ahead of us
00:06:57.869
what need to change that in our community or in Ruby itself so that we
00:07:03.009
can be competitive in in data processing or big data and so like that can you guys tell us as we just learned today
00:07:11.199
it's not a very similar language at all as far as I know there are some people
00:07:18.219
working on some libraries for that on Ruby but it's not yet matured you know
00:07:27.849
ruby was designed for general purpose languages first but DHH made it a really
00:07:35.409
a web language so I think there's no other no real job other than web right
00:07:44.830
now so to name some there's a library
00:07:51.370
called pi call which is developed by murat isang m RK and and you should
00:07:59.169
check it it should work and there's a
00:08:04.919
was that hi Ruby project I don't know it's maybe not production
00:08:13.740
ready yet but some people are hardly working on it I think I think that's a
00:08:20.550
lot of libraries so we have a lot of libraries similar to stuff that's available in Python so we have we have
00:08:28.379
some data scientists at work and they use Python and I asked them why don't
00:08:35.039
you use Ruby and they just said well we don't know Ruby and so I think I
00:08:43.409
personally think part of the problem is advertisement like we need to somehow
00:08:50.579
advertise the data scientists like hey Ruby is you can use it we have we have
00:08:56.519
tools for doing this stuff you can do it in Ruby as well I think I think the
00:09:02.120
scientific utilities in Python have already been made popular so everybody
00:09:07.620
knows about them and there's books about them stuff like that so I think what we need is more more advertisement we need
00:09:14.760
a we need or rails of the scientific world something like that
00:09:29.370
Ruby's been around a long time now how has the court and a cure yesterday you said it's no longer Matt's doing the
00:09:35.790
work and but we still know it is Matt's as a language how how is the work effort
00:09:41.730
coordinated around the core team and how has it changed and also how do you feel
00:09:46.860
it compares to some of these newer languages like Russ that have a really clear public process for new features
00:09:53.970
like the IFC process
00:10:00.760
Oh always I'll go first
00:10:09.540
you think about this so so so Matt's is the language designer and I think I
00:10:17.750
think Ruby so Ruby started out as a group of I think hmm the Ruby group is
00:10:27.300
more Anarchy I would say so it started
00:10:32.790
out with just a bunch of hackers sending in patches and Matt's is basically like ya know whatever right he's the he's the
00:10:41.040
BD FL of the project and that's essentially how we how we run it these days it's like anybody can send in
00:10:48.329
anybody can send in patches and propose features and things like that but Matz's
00:10:54.870
the ultimate yes or no on it and I think he wants to keep that keep basically
00:11:01.440
keep that process like he likes that he likes that process of essentially just an anarchist ik group essentially but if
00:11:09.899
you have an idea so I'll give you the pro tips like if you have an idea that you want to get into Ruby I'll give you
00:11:18.089
some extremely good pro tips for actually accomplishing that one is to write a patch that implements it and I
00:11:25.920
would say that 99% of the time even if I like even if I wrote the patch Matt's
00:11:31.769
will ignore it he will have no idea about it what you have to do is pay attention to
00:11:39.480
the mailing list and you'll see every once in a while I think maybe I don't know every month or two there is a
00:11:45.480
developer's meeting in Tokyo and basically Matz is on the on skype or
00:11:53.370
whatever sometimes in person with a bunch of other core team members and they just go through everything in that agenda and force Matz to answer yes sir
00:12:02.870
so what you do is you propose your feature it'll probably get ignored then
00:12:08.040
you put it into the Hat into the developer meeting notes anybody can anybody can add stuff to that agenda so
00:12:13.649
you add to that agenda and then you'll get an answer so that is the pro tip for you
00:12:23.110
yeah Aaron incident very well yeah
00:12:28.270
that's the answer I think so yes we we
00:12:33.400
we introduced that system since last year or like two years ago we do have
00:12:39.950
the developer meeting monthly in Tokyo and we go through the issues on redmine
00:12:49.040
so I would like to say I would advise
00:12:55.270
don't give up if your proposal was ignored because the Matz answer will
00:13:02.330
change according to him his I don't know something like moves or something so
00:13:11.020
even if we your proposals once rejected just copy and paste and create another
00:13:18.590
new issue then it will eventually accept it someday thank you very much for that
00:13:28.720
this is a question from the way we had on our Facebook group for wondering
00:13:36.610
how's your typical day like dealing with Ruby issues
00:13:44.060
oh yeah like are you looking at them
00:13:51.200
everyday like what would you do what's your process like and what do you ignore
00:13:56.570
what do you try and look at so for Japanese Orford those who can read
00:14:02.720
Japanese there's a blog written by Ruby
00:14:10.610
called Naga chica and he writes the blog
00:14:16.370
every day and he wrote and writes about every single Ruby comment
00:14:22.270
he describes all commits so I read that daily
00:14:31.589
and I I build Ruby almost every day
00:14:36.930
really Frank and I are you I used the
00:14:42.190
Ruby to five trunk for my daily use so that I can find bugs quickly
00:14:52.000
is there any specific things that you were looking at recently
00:15:00.370
not really nothing at the moment it's just here in there bugs in there or issues here either I try using Ruby
00:15:08.320
drunk on Rails to find bugs that's what
00:15:13.990
I do we so I do the same thing except reading Naga chicas blog I didn't know I
00:15:21.490
didn't know that he wrote that every single commit even SVN attributes no
00:15:31.450
okay so I use I use Ruby 2.5 I build it
00:15:38.680
pretty much every day and we've we've also deployed it to production at github
00:15:43.740
we I think we rolled it we rolled it back because we only had we only had one
00:15:49.180
server running it and all the other servers were Ruby too for something and we just didn't want to have an
00:15:56.170
inconsistent inconsistent production servers so we were running that in production to test it lately I've been
00:16:04.270
looking at we had a patch a Mon submitted a patch quite a while ago and
00:16:10.570
it was ignored and then rejected and I am copying and pasting that one in and
00:16:16.630
because we needed a feature and it's what it is is we want to introduce some
00:16:22.470
hooks around fork so like before fork or after fork have that in the line as a
00:16:29.620
first-class thing in in language itself because we need that for Oh unicorn and
00:16:35.560
stuff different forking different forking things but as far as bugs are
00:16:42.100
concerned usually usually I only look at when I'm reading through read mine I
00:16:49.150
only look at ones that are around things that we do at work or around libraries
00:16:57.940
that I maintain so stuff like ya know parsing or whatever sometimes I look at
00:17:04.600
open SSL ones but those are the ones the only ones I look at or just stuff that I'm stuff that I'm familiar with or
00:17:12.100
if we run into bugs at work then I usually dig into those ones all right
00:17:18.700
that's cool one all right this is the most asked question what are your plans
00:17:24.610
to keep Ruby competitive with other languages
00:17:32.820
it doesn't have to be personal plans and attend every conference in the world
00:17:38.490
you're almost there hmm well so my
00:17:48.750
particular plans are to continue advertising for Ruby because I love Ruby Ruby programming language and I want
00:17:54.690
people to use it and I'm so happy that I have a job using Ruby so I want to
00:18:00.389
advertise it to everyone and tell people how great it is but also I want to help I want I'm trying to help develop Ruby
00:18:07.559
itself so working on working on the language itself I'm going to be presenting about GC stuff so trying to
00:18:13.470
improve trying to improve those particular things so we can keep pushing the language forward I'm hoping that
00:18:19.580
Vlad's work will be fruitful what if you
00:18:26.159
don't know about him he's a Russian super hacker that wrote a JIT for a JIT
00:18:34.710
for Ruby and it's really impressive so I'm I'm hoping that that'll go forward
00:18:39.899
unfortunately I don't think I'm smart enough to work I hope I hope that he
00:18:46.350
finishes it so I guess my plans are to
00:18:51.779
be Ruby's biggest cheerleader we also
00:19:01.379
have other Vlad's work who is going to be fruitful but fun for that akira what
00:19:07.649
about you so besides writing code as i talked yesterday running a conference
00:19:15.779
and user group in tokyo and what i do there is basically connecting people so
00:19:29.179
my biggest concern is connecting Ruby and rails for example and
00:19:40.960
actually I we have weekly Ruby Tuesday
00:19:46.009
meetup in Tokyo and we have so many guests from overseas like like Aaron
00:19:53.840
Samsung several times it visited us and
00:20:07.370
Ruby Court members in or meetup so you can meet some more really court members
00:20:15.490
when you visit Japan and visit our meetups so please come to Tokyo and say
00:20:22.190
hi to me I wanted I wanted to say I
00:20:27.769
think I think one of Ruby's strengths compared to other programming languages isn't necessarily the language but it's
00:20:34.789
the community surrounding the language as Kara was talking about in his keynote
00:20:39.919
yesterday and I think that so it's important to me to strengthen that like
00:20:46.090
try to help educate people and bring more it's important to me to bring more people into the community so that's why
00:20:54.350
I want to be Ruby's biggest cheerleader you guys don't know about the history
00:21:02.480
actually for the care we meet up is that like a few years ago I went and the few
00:21:09.320
people here as well went to read thought and we heard about this awesome
00:21:15.320
Meeta month weekly Ruby Tuesday meetup in Japan
00:21:20.629
asakusa RV and it inspired us to start up the KL chapter of the movie Meetup
00:21:27.470
and four five years later here we are so thank you very much Acuras on phone for
00:21:34.009
inspiring all
00:21:39.820
and to be honest shock therapy was started because we copied Seattle
00:21:45.830
rv-style suck sorry was started in 2008
00:21:51.920
and sale Robbie was started in back in 2001 I think so we're this with the meta
00:21:59.510
meta meta one more question from the crowd
00:22:05.020
Nick please
00:22:15.399
but how do you avoid governance structure
00:22:32.560
like disaster
00:22:44.120
so one practice is that to avoid Perl 6
00:22:54.590
we decided to release Ruby every year since 2.0 so we're gonna release to 5
00:23:02.400
this year to 6 next year to 7 next next year and maybe we're gonna release 3.0
00:23:13.980
after 2 7 so it's gonna come within 3 or 4 years
00:23:23.770
the the other thing is that Matz is very well I think the whole core team is very
00:23:32.410
sensitive to backwards and compatibility so we make sure we try to make sure that
00:23:37.990
every every release of Ruby is very backwards compatible with previous code
00:23:43.390
or if it's not backwards compatible that the cost benefit is there so like if you
00:23:53.860
have to change your code then there has to be a really really good reason to change change your code like
00:24:01.789
you can keep it yes if you like your source code yes if you like your source code you can keep it but it's like you
00:24:08.720
have to have if it's gonna be incompatible there has to be like some really really good benefit or some
00:24:14.450
reason for you to upgrade like for example going from 1/8 to 1/9 we got it
00:24:19.850
and we had in coatings and of course that broke everybody's code but on the other hand we also got an amazingly fast
00:24:25.580
virtual machine so you're like well oh I don't want to upgrade but on the other
00:24:30.769
hand my program will be way faster so I'll just do it an upgrade there has to be some
00:24:41.240
yeah yeah so so it's important that it's backwards compatible and if it's not
00:24:47.490
backwards compatible there has to be a good good reason why so that's how we avoid Python 3 or strum care as they
00:24:59.220
call it all right we have one more question we have a few more question
00:25:04.320
what is the craziest thing you've seen at a Ruby Mira yeah like a mirror for a
00:25:10.230
conference what an odd question guys a lot of you voted for it I'd like to
00:25:17.970
introduce mommy's words can actually yes
00:25:24.150
we can Google something github.com /
00:25:32.160
mommy
00:25:43.330
yes this guy so this person became a full-time Ruby come here since last
00:25:48.399
month I think he's hired by Cook bad and he's now working full-time on record he made
00:25:56.279
some amazing products one is that opt karat that's a nest
00:26:07.389
emulator really can't get it scroll down a little bit the project is aims to provide an
00:26:14.019
enjoyable benchmark for Ruby implementation say nest emulator written
00:26:22.989
in full pure Ruby and yes it's a ruby
00:26:28.869
benchmark actually it's like this
00:26:37.290
okay let me go quick so another product is you know go back and Quine relay and
00:26:45.780
one this is a ruby script that outputs
00:26:52.950
Scala script that prints these 100
00:26:59.400
languages and goes back to Ruby finally the script looks like can you see the
00:27:08.130
code these are basically how how to
00:27:13.740
install 100 languages
00:27:23.520
so can you scroll up and this a can you
00:27:30.390
see the Lib Lib directory now actually simple or something a vendor maybe QR
00:27:39.090
dot RB no not any vendor sorry it sounded Tom
00:27:45.950
no there at the top top level sorry
00:27:52.640
QR done so this is how the program looks like
00:28:07.100
yes it's a ruby code it's executable and this prints out a scholar script exactly
00:28:15.269
look looks like this languages and
00:28:24.120
finally goes back to Ruby exactly the same code how much time does he have
00:28:33.139
this is the craziest thing I've ever seen in Ruby this is the craziest thing
00:28:38.309
for sure but it I think this is too wholesome for the question I think people were looking for like a scandalous answer trying to think I
00:28:55.700
can't think of anything I mean this is I'm a huge fan of mama and his code this
00:29:03.690
is the craziest thing I've ever seen all right we'll take it we have actually demoed a couple of East code from oh
00:29:12.950
what's that trick yeah so we have actually actually demo trick 2015 and
00:29:21.389
2016 and both office and she is also like super mind-blowing my other my
00:29:29.279
other favorite thing is something that I wrote though I don't wanna go to
00:29:38.179
youtube.com slash tenderlove /ph Ubu i
00:29:43.289
yes pH pH hu b UI
00:29:49.730
Ruby okay Ruby so this this embeds PHP
00:29:57.720
inside of Ruby's so you can execute scroll down a little bit I think I have an example yeah so you can you can
00:30:03.659
execute you can execute PHP inside of
00:30:08.850
your Ruby and you can actually access the access the code whatever you ran
00:30:14.159
from PHP so you can get that out and then and then I it might not say it and in here but I
00:30:21.160
made it so that you could write your views and rails in PHP so you could write your controller in Ruby and then
00:30:29.980
your view in PHP and then you could you could use that in my Ryan Reynolds me
00:30:36.460
but why why yeah why not I mean why why
00:30:44.110
why do 100 language all right now the
00:30:53.740
question for the car please
00:31:03.030
senior question Oscar I have a question when you start the like learning Ruby
00:31:11.770
you hear stuff like Ruby's object brand its language then you see a lot of
00:31:16.929
functional stuff in Ruby like closures like placing closures around like meta
00:31:22.330
programming and other things then you read father and you say and you read that Ruby is not a static language and
00:31:29.590
not a static type language and now with considering adding types to the Ruby language why we shift in birding or use
00:31:37.840
a plan at the beginning and why we doing that wait so the question is why are we
00:31:45.159
adding types yeah why we hadn't dives why we're saying that it's object-oriented but we still have like
00:31:50.679
functional stuff in it
00:31:58.760
I don't understand so why why is it why is it object-oriented and we have
00:32:04.670
functional stuff I don't know I guess I
00:32:11.300
was just Matz was influenced by Lisp and other functional languages as well as Oh
00:32:18.850
what was the other one help me out here small talk eeeh thank
00:32:24.440
you so very oo with FP stuff I think that's why we have both of them as far
00:32:32.480
as types are concerned I don't think we're adding types I mean Matt's talked about type
00:32:43.010
inference but I don't think he likes putting types like putting types into
00:32:49.550
the code itself and I agree with that I like the idea of doing type inference
00:32:55.100
the kind of thing he was talking about is saying like okay well we can let's analyze the code and so for example you
00:33:02.150
have some function the function takes a parameter and you call a bunch of different methods on that parameter
00:33:07.190
right so we should be able to infer that whatever that thing is that you pass
00:33:12.200
into that function it needs to its type is that it needs to respond to those particular methods so we can calculate
00:33:18.290
the types based on that but I don't know that we're ever gonna have something that's like put a typing into like you
00:33:26.210
know types this has to be a string I think the reason the reason is because
00:33:31.880
that might ruin duck typing so for example like Oh string io string io
00:33:40.640
doesn't actually inherit from IO so if you say but you can use a string I'll rather than an IO so if you said this
00:33:48.290
parameter has to be an io well now you can't use a string io there anymore so
00:33:53.710
rather than saying it has to be an IO we need to be we need some way to say oh it
00:33:59.210
needs to respond to write or close or puts or whatever so I hope that is that
00:34:07.010
kind of yeah yes I personally kind of
00:34:14.980
like working on I mean writing optionally type language like like Swift
00:34:25.070
swirling maybe Scala but Matt's hates it so that
00:34:31.409
will never come to repeat I think and we're still discussing about the types
00:34:38.629
so there's no no concrete answer here at the moment but this mama is work started
00:34:46.980
working on types in Ruby three full-time so we'll see his implementation may be
00:34:58.050
next year when we saw it at github we
00:35:04.980
have a private Fork of Ruby that adds types to it so you can actually put a
00:35:12.180
type you can say like oh this parameter is string and you actually type string into that and then we do some type
00:35:18.000
checking some type checking based off of that some static code analysis based off those particular types I think we're
00:35:24.750
gonna the plan is that we'll open source that I'm not sure when I'm not sure when
00:35:30.750
we'll open source it I think they want to have like marketing or something
00:35:36.270
around it but to be honest I'm not actually a fan of that and it's
00:35:42.930
basically because of because of the duck typing duck typing stuff it ruins our our particular fork actually puts the
00:35:50.490
types in so it has to be like string blah and it does ruin the duck typing so
00:35:57.350
I'm not a huge fan but other people at work are so we're doing it
00:36:18.600
hello I know there are many learning resources in English for Ruby but am i
00:36:25.840
right to say that to contribute to Ruby you have to speak Japanese and I know
00:36:35.440
that's not true it's I think pretty much it's true that a large percentage of the
00:36:41.619
core team were Japanese but you don't need to speak you don't need to speak Japanese to contribute at all we have a
00:36:51.160
lot I think so there's two mailing lists there's an English English language
00:36:56.980
mailing list and a Japanese language mailing list and I'm on both of them I speak Japanese so I read both but what
00:37:03.970
happens is basically the conversation if the conversation ever starts on the Japanese light list and it's about a new
00:37:10.540
feature or anything like that it'll just get transferred over to the English language list so any any decisions about
00:37:17.290
the language itself are made on the English English mailing list the only
00:37:23.800
time I've ever seen stuff not go from the Japanese mailing list to the English list is when it's something like a bug
00:37:29.680
like someone just reports a bug and like ok we'll fix it and it just gets fixed so I would say the I don't know 99% of
00:37:41.890
the communication is done in English thank you
00:37:47.380
oh okay hi guys my name is Anton and I want to ask you a really simple question
00:37:53.259
so as I think most of us program to build some products commercial ones open
00:38:00.430
source ones educational ones right but only few of us actually works on
00:38:05.970
language design and the implementation so could you as a guys who really do
00:38:13.390
that thing advise some entry point for anyone who wants to switch from building
00:38:19.900
products to design language and implement that design Thanks
00:38:25.140
it's a it's a question to both of you of course I think just before that like can
00:38:31.869
you clarify like how much other work that you do in programming how much other commercial work that you do in
00:38:38.440
your free time or in just your time in general I don't know right now I'm
00:38:47.380
mostly doing commercial work though I hope to rectify that situation shortly
00:38:59.549
your question is I think your question is interesting though because I would say even among the core team not many
00:39:07.480
not many of the people on the core team are actually doing language work in particular like maybe only Koichi yen
00:39:19.690
and Nobu Koichi and Nobu are the main ones working on the working on the virtual machine like I think most of the
00:39:26.529
other most of the other core team developers can understand it understand it but aren't necessarily working on it
00:39:33.220
on a day to day basis modem yeah I would rephrase my question then so to understand the concept what is the you
00:39:41.289
know most you know what is the best fit as a first step I mean it could be a
00:39:46.299
book it could be a you know some source code base of some language interpreter
00:39:51.400
or compiler or or any resource on the Internet so just
00:39:57.370
top one top two top rear you name it what what works best for you what worked
00:40:03.880
best for you I can't think of anything I can't think of any books off the top of my head but I would say that the rubies
00:40:10.690
rubies virtual machine is highly based around Java's virtual machine so anything that
00:40:16.840
you can learn about Javas vm or GC anything any of those resources should
00:40:22.060
also apply to Ruby itself so if you
00:40:27.640
don't need to think of if you're trying to learn that stuff don't confine yourself to only Ruby because it's
00:40:34.600
generally applicable ideas it's a conceptual thing yes yeah I can't think
00:40:39.700
of anything off the top of my head Google how do I'll give you I'll give
00:40:50.470
you some keywords I will tell you that Ruby's virtual machine is a stack based virtual machine so if you want to go if
00:40:55.630
you want to search for however VMs work search for a stack based virtual machine where is actually the virtual machine
00:41:01.570
that Vlad part of the stuff that he's proposing is what is it RTL an RTL based
00:41:08.770
machine so if you want to learn about there's two different types of VM stack
00:41:14.080
based and and RTL based so Ruby's is stacked Beit current Ruby's a stack
00:41:19.600
based possibly will go to an RTL one but if you want to search for resources google those terms okay okay thanks a
00:41:27.400
lot there's a relatively new
00:41:32.520
implementation of Ruby called M Ruby which is smaller and easier and newer so
00:41:42.760
I think that's the good
00:41:48.500
good resource to read you can read everything I think okay thank you
00:41:56.150
cool do have one more question yep office venue
00:42:04.430
sorry I have actually two questions the first is how would you compare the
00:42:10.350
speed of how ruby is developing in comparison to something like javascript also do you think it makes sense for
00:42:18.720
somebody who's got a rails application going to switch to something like elixir or continue in rails JavaScript and
00:42:27.960
elixir in the same question thanks for thank you first off javascript is a
00:42:35.250
terrible language are you I mean you can
00:42:44.670
run anything you want to on a server anything why would you choose JavaScript so terrible okay so the speed of
00:42:54.870
development I think that's an interesting question and one that I mean
00:43:02.210
interesting and kind of unfortunate question because javascript has a lot of large corporate backers that we we just
00:43:10.260
don't have and I don't know I mean that
00:43:15.690
that definitely impacts it like Apple has a lot of money Apple and Microsoft
00:43:20.730
have a lot of money to throw at the problem and we don't so that's one thing
00:43:29.580
that's not great though we do have I mean we do have full time full time Ruby core team members but still Microsoft
00:43:38.220
right I don't know if there's much more I can say about it than that I do think I do think that Vlad's work
00:43:46.110
will be very helpful for us and his his I don't know I don't want to get too far
00:43:52.440
into the weeds with that but his proposal is essentially a very very simple JIT compiler and the reason he
00:43:59.519
designed it that way is not necessarily to be the fastest but to be the easiest to maintain and the reason behind that
00:44:05.670
is because we don't have the money that say JavaScript does so I think that I
00:44:14.250
think that our project is maybe faster than other languages but not our speed
00:44:20.670
of development is faster than other languages but not necessarily as fast at JavaScript and for switching I hate that
00:44:29.069
you asked this elixir question because I love Ruby but Jose is also a friend of
00:44:37.529
mine so I'm really conflicted to answer
00:44:42.660
answer this question I would say I would say stick with a ruby oh I love I love
00:44:53.880
the situation that the rails commander came up with an idea and put in his new
00:45:01.289
language we're not enemies you know we're friends and I'd love to
00:45:07.680
see that situation more actually Ruby's
00:45:14.509
not elixir but legs is not ready so we're different and we're aiming a
00:45:20.400
little bit different goals I think and we're learning from the elixir and
00:45:27.289
actually there are some good features and like say that Ruby does not have and
00:45:33.049
we're thinking of importing backporting kind of something from it like so it's a
00:45:38.460
ruby one is pattern matching which is proposed several times the Ruby and I
00:45:45.450
guess we're gonna have parent matching in Ruby in the near future
00:45:51.690
I guess I suppose so like that it's good
00:46:00.990
it's basically a good thing to have competitors guess we can make each other
00:46:06.180
better all right this next question is
00:46:11.789
for Aaron specifically top one why tender love and how many times have
00:46:19.650
you been asked honestly not like not that many times maybe a few times well
00:46:27.119
okay I'll I'll tell I'll tell two story I want to tell two stories about this first I'll tell why it's an embarrassing
00:46:38.730
story it's basically it's basically I was trolling my friend is how it started out so I I at one point in my life I had
00:46:48.150
many I mostly only had women friends and
00:46:53.430
we would hang out all the time and I remember one night we're watching movies
00:46:58.680
and and we had started to have a discussion one of my friends said what
00:47:05.069
is the what is the grossest thing a guy can say to you and they were just going
00:47:11.549
around and one of my friends says the grossest thing is I and I sent a link to
00:47:26.700
my friend of course it was just you know pictures of us hanging out and she's like I'm not clicking that link so
00:47:34.529
basically that was that was how it started was a troll on a troll and my friend and just an inside joke between
00:47:41.400
between our us and then of course IRC
00:47:47.210
you have to shorten down the name so I shortened down my name to that that's just how my friends knew me basically so
00:47:55.170
it's not basically it's stuck with that and I so it's an inside joke among my
00:48:01.920
friends that is unfortunately stuck I I can't say that I really like the name but so I the other story I want to
00:48:11.060
tell about this is I've never told my parents this name and so my friends know
00:48:18.650
me by this name but my parents have no idea and my parents are both engineers and I tell them like I tell them what I
00:48:23.900
do they I talked to my parents every week and they know they're both engineers so
00:48:30.440
it's not weird that I type at a computer to make my living you know I tell them all about the stuff I do like I tell him
00:48:35.990
about you know programming speaking at conferences etc and I thought to myself well well this I'm from Salt Lake City
00:48:44.390
and my parents still live there and there was a conference happening there a ruby conference and the organizers were
00:48:51.140
invited me and said hey would you would you come give a talk and I said well yes but only if you give me two tickets for
00:48:58.070
my parents because I thought I would like them to come see what I do you know so I said I the organizer was like
00:49:05.210
absolutely we'll give you tickets for your parents I'm like okay great so I get into town and the we all go to the
00:49:11.900
conference and I meet the organizer I introduce them to my parents and the organizer says okay I've reserved three
00:49:18.590
seats for you down at the front and it's an auditorium like this and we come down to the front there's three seats in the
00:49:23.660
front and there's three signs on the seats and the first sign says tenderlove the second sign says tender mom the
00:49:30.260
third dad
00:49:35.319
and like I've told them everything about what I do but I did I have not this is
00:49:40.579
one thing that I've emitted and I like
00:49:49.780
so I didn't tell I didn't explain to them why just said look people know me
00:49:55.280
by this name don't worry about it we're gonna ask you don't just don't worry
00:50:00.920
about it it's fine it's fine so that's how they found out and we have we've not talked about it since then so
00:50:10.069
it is an unfortunate name that is stuck with me that is it well thank you so much for both being
00:50:15.380
tender panelists today so much alright guys thank you so much alright so we are
00:50:24.920
going to break for lunch and we will be back here at 2 p.m.