Transcript for:
Insights from Ruby and Rails Lecture

[Music] hot Center Stage nice hello everyone this is such a delight to be here this is s it's been such a fantastic day and I've been looking forward to this um uh for for for a long time I'm so frilled we're doing this here in Toronto the weather gods are favorable and um we get to talk about amazing technology that we all love and so so passionate about and which have um been part of many of ours lives for for for longer than we should really admit and it's it's it's wonderful to have these uh like um moments of Celebration so um one of the defining characteristics um is I think is the spice that's part of his community so you know the thing that I would love to start with is um if each of you would run the other project for a day what would you change you go first that's a wonderful question and I think the first thing I would do I would make a ruby Constitution where declaration number one would be no static typing for us okay woo but don't worry about [Laughter] that uh I don't know I don't know uh I I try to make everyone happy at least in programming and uh yeah we are making it true for in in last two two three decades yeah I I find so I mean um uh the thing that I think is just so remarkable here is that um the time scales that I play right um I mean I know the panelists shouldn't include themselves but like um you have started uh Ruby 31 years ago right like it's about right you started rails 20 years ago to Shopify started 20 years this is an industry where like ADHD is lot bearing like in technology and um you know I think the average tenure is 18 months what H how does this work what how do you think about that like why why has this such staying power I think for me a big part of it is simply not finding anything better and it hasn't been for lack of looking I love technology I love investigating new patterns program languages and Frameworks and I tried to do like all great artists steal the best ideas and after having stolen all those ideas what I have found is there's nothing I'd rather work with so it's not necessarily even that there's a commitment to do rails or even use Ruby for the rest of time it's simply been the reality that nothing has emerged that's better that's more satisfying that's more fun that's more giving so I am here because this is still legitimately for me the best environment the best ecosystem the best program language [Laughter] whoa yeah I I'm pretty much a selfish person so the I design Ruby for myself and uh I to fulfill my preference to the programming language so that I know so many programming language out there and from old one like Alis and small talk and from new one to alixir rust and some other programming language and yeah but still uh Ruby fits my preference best and you know probably accidentally so that many of you feel similarly and uh so that's probably that's the reason you stick with with Ruby for long long time and you guys stick with Ruby for a long time and I'm glad that you know I I didn't design Ruby for to fit many other people know I don't consider about uh um you know other people and you know I didn't yeah it was design for me and and I didn't I didn't did I didn't do any no say user hearing from the audience or something like that but but still know looking into my insight uh resulted in the language design uh fit my preference and your preference too that is very lucky coincidence and and rare there's a lot of self it requires a lot of self-confidence um to to to make something authentically like like like absolutely Ruby feels like a book that was written by a single author like it just feels like this when using it and I think that's remarkable and rare um so um what you how do you like but a lot of people are sending you feedback like why don't you have static typing and so on what how do you react to that when that happens uh I I understand the benefit of the static typing we uh we find the bug uh the type errors are here and but still the writing types explicitly is not for humans I believe you know nowaday we have the very smart computers and AI so that probably we can push those burdens to the computers you know the these AI days we can have the you know the smarter assistant and we can treat them as a slave I slaves and the those are you know the working that the we tend to pass the very fun part of the programming to our assistants like a writing code and uh but uh I don't want to I don't want to keep that fun part in my hand instead so the type checking and the yeah writing test and making sure the my my code is correct or something is up to the the AI then uh I I I'd like to keep the very fun part of the the core of the programming like a designing coding things yeah I feel exactly the same way I've had many questions about AI taking over everything and I always respond with the sense do you know what I'm already writing code just because I enjoy it if I did not enjoy it I would find something else to do there's I don't know tomatoes to be grown in air ways or racing or something else like that but I keep coming back to programming because it's simply one of the most fun human activities that I know and that I don't want to give that a way I don't want to I don't even want to trade it for productivity I don't want to trade it for outcomes I fully understand that there are many people who program primarily for productivity primarily for outcomes that's great that's not what I why I do it not for me too and I I the also the other thing I'd say is I think one of the reasons Ruby is the perfect programming language for me is as you say the language feels like it's written by a single author but I get to ghost write mhm I get to ghost wrp the version of Ruby that works best for web applications in a way where it doesn't feel like there's a step function difference you adopt methods into the Ruby programming language they look the same as the ones I put into active support they look the same as the ones I put into my methods there's not actually a hierarchy in language design I get to ghost write at the same level that you do and that to me is just an amazing power I would never have written or designed my own program language I do not have the skills or the competence to do that but I can finish some sentences in your book that just speak exactly to my story and make that so compelling and that is I have not seen that in any other programming language that allows that level of co-authorship of the language itself Co [Laughter] [Applause] yeah Ruby is pretty much open programming language so the the we can monkey Parts pretty much everything like uh you know in other programming language probably you cannot add the method to the string class the fundamental classes but uh in Ruby you can add your method and say string you know is Blan or something or you know two days ago that was that was pretty much impressive for a first thought and yeah that kind of the you know we don't have any discrimination between the the creator of the language or the you know the developer of the language and the user of the language the that kind of the openness is one very important characteristic of the language and what I find so appealing about that notion is the level of trust that you as the language designer is willing to give to the user yes you could override string and override existing methods that would make a mess of everything but you're trusting me as a user of that language to not be that foolish yeah yeah you're trusting me to use those Powers those very sharp knives to make some delicious Mix-Ups to believe that it's actually better for me to occasionally make a mistake to realize that I shouldn't have extended string in that way yet still grant me the confidence that I could try again and that we do not need to protect programmers from themselves as much as many other program languages believe one of the reasons I initially fell in love with Ruby was that I saw an interview with I think his name is James Gosling the creator of java essentially stating that Java was designed from the outset for little people for stupid people for the average programmer and that therefore the language had to be Child Safe it had to have child gates over everything it had to have round corners around everything so we don't hit our little heads and I just thought you know what that's such a patronizing way to design a language I want absolutely no part of that I am willing to accept the risk that I will make a mess because you have allowed me to make a mess and then I will learn and hopefully I won't make a mess next time and that's how it will level up if you constantly protect me as a language designer like in my opinion Gosling did with Java I'm not even going to have the aspiration to advance and become better it's amazing how uh like uh you know the Ruby has uh at least around um over the years been C a toy so many times and you're like wait aren't you the one who needs the language that's baby proofed like so yeah if the world's mad it's like everything's upside down it's amazing I think this is actually real in this community too most people are running on an operating system to F they want to know what everyone around them thinks so that they can do this too somehow you two are immune of that like I think you literally said on stage where we massive like we distrust what everyone does we we try to rederive it from better principles how like when did that kick in was that there on day one of starting these projects or is this earned along the way I think for me part of the reason is that I grew up in a small country Denmark that is isolated a little bit like a bubble because we speak Danish and about 6 million people in the world do that's not that many but it creates a an island or cocoon for developing ideas where you're connected to the outside world but you're not in it that's where I prefer to be I prefer to have connections to the outside world but not be in it the more I feel like I'm soaking in the whole world the more I feel like my ideas of what's right or wrong stop being authentic they stop being mine and they start very easily just becoming regur of other people's ideas I don't want that I want to protect my original ideas which means that I have to stay some degree of remote I think it's true also in business the business I got involved with was founded in Chicago not in Silicon Valley that separation geographically even is really helpful and I try to maintain that now and it's much harder now one of the things I've actually said recently I I pity entrepreneurs today who are forced to have access to everyone's brain 247 on Twitter that is a curse of Epic Proportions to their authentic self to their ability to come up with novel ideas that originate from something else than the same broad mass that everything else is coming out of H yeah I feel similar I I I'm fundamentally the minority because the you know the Japanese is little bit bigger than Denmar though but isolated the language is different and the culture is different and uh the you know we are isolated from the the Western countries and the especially you know the especially 30 years ago when I create Ruby the tech people and the programming people is minority in the in the population and in addition yeah the I'm a Christian but uh the Christian in Japan is very very Min minority so that I'm I'm used to be a minority to be a minority for you know all over my life now being Asian being Japanese being Christian in Japan and that that is my position in my whole life and probably Ruby is still minority compared to the JavaScript or say whatever python or something but uh I'm very pretty much happy with it uh as long as we the community are happy with [Applause] Ruby we the community are very happy with r very much thank you thank you so look um I mean this is like now an emerging theme here like the um the separation it's it's so interesting because you know often things are really defined by what they are not rather than what by what they say yes to in fact I think if you say yes to everything you're part of a mainstream that is actually what the mainstream largely is but like the I'm going to make a crude analogy here to like um um genetics like if if you talk with geneticist um like uh yes all the DNA like like how things propagate up you know we all understand this um you know but um this idea came to Charles Darin on The Voyage of a beagle only when he got to Islands himself right like Galapagos Islands where he found with finches um like I mean obviously ideas are mimetic and ideas resemble uh the spread of DNA in a well do well documented so it just seems so curious here that we're talking about this Outsider perspective and about like Ruby literally comes from an island right it's how important is Japan and the physical separation to being able to make something that is so um internally consistent but like also separate over such a long period of time I'm I'm not sure about the the relationship between uh between the isolation and the the characteristic but uh back in '90s the the Japan is more isolated than today and the we have very smart people but that they stick to the they are surrounded by the probably a language barrier our and or maybe the cultural barrier and know that not many Japanese people speak English and there are so many uh the programmers smart programmers who work on their Technologies and the Ruby is born in that that circumstance and uh yeah I was not really good at English at the time I created Ruby and then I had a many you know I had not many chance to to communicate with the forign foreign foreign Engineers but uh uh after Ruby uh we have the Japanese Engineers started attending the foreign uh the technical conference outside Japan that uh now we have much more communication uh outside of Japan that I I believe Ruby existence of a ruby helped Japanese Engineers to to look outside and go outside and that is one of the my you know achievement to the Japanese Tech Community and so the looking that you know they you when I visit say Europe or maybe in North America so the te people uh commun communication communicate very much very often very you know widely but uh you know compared to that Asian countries are relatively isolated so that I if Ruby and other language can improve their mindset it is more than happy for me and uh today still probably half of the the Ruby contributors are Japanese not you know it you know the Japanese speaking ability is not a qualification though and uh but uh in that sense that we can expose the intelligence of Japanese Engineers to to outside world so that that the the virtual machines and and garbage the original garbage colors are written in Japanese Engineers that is my honor and it but at the same same time recently the Shopify engineers and the many other Engineers outside of non Japanese and out the engineers from all over the world help us to improve that kind of the Comm communication is the reflect the current situation of Ruby so the you know Ruby was originally the language from Japan but uh it's language for us language from all over the world it's not only from Japan but like things such as um like the Aesthetics of it feel in keeping with a um like IR recognizably Japan like I think if you put Python and JavaScript and Ruby up on a screen and tell people pick for one that comes from Japan I think people would get it right right so there's um and um you know there's a there's a incredibly deep appre iation of craftsmanship that is part of a Japanese culture and um you know this is I think these things are all like I obviously they're not the causal thing but like they're part of it they're contributors to the thing David you are from I think three quarters of an island in Denmark right so like does best matter geographically I think there's absolutely something to this I think especially what I enjoy about that isolation is it provides a shielded environment to come up with authentic ideas that are not heavily influenced but then the connections allow those ideas to be distributed and I think that's what happened with Ruby as well you had a long gation period 10 years maybe even where Ruby was mainly a language used in Japan and that allowed the conceptual Integrity to be strong that by the time it reached the Western world you weren't going to let me or Toby or anyone else pull Ruby into a direction that wasn't coherent with the language this was one of the things I was very adamant about early on in the rails development that first of all I did not want to release something until it had a a at least a soft shell around its conceptual Integrity because I know what happens once you introduce ideas into the broader world everyone wants a piece of dragging it in their Direction and this is how you end up with something that is Bland something that is UN aesthetically pleasing something that does not have an internal Integrity to it and I think the isolation really works in that early phase while you're honing it while you gain confidence in the vision you have and then the opposite Works once that has been achieved it's a little bit of a membrane you get to you get to look at um I mean to to to continue torching this island metaphor here like um like um we have boats going back and forth in trading the good bits we figure out rather than actually like pulling them all together and trying to blend it together frankly um thank you for um giving a shout out to uh White it Shopify is probably an island itself right like we we we we are very large scale users our island has a completely different Fitness uh requirements from everyone else and you know what that's actually kind of beautiful like I I I I I love that we have strong opinions on uh static typing on our Island that is it's of a lot of value to to to have an ability to do static Island and it's I think it's beautiful what I sta static typing and um it's I think it's beautiful that the language gives us uh the tools to uh get it if you need it um I like this idea of um a diversity of different pressure functions different cultures different Aesthetics all kind of staying intact over a long time feels powerful to me for this community I think this is a source potentially unacknowledged of where um I I think a lot of good has come um from um the proof of work I think like is an idea good ready to be exported is is it beautiful because that's what we all learned right like um Wes was beautiful right in the beginning Ruby has always been beautiful right from the beginning this is why we use it and so I think um having lots of different places all with different Fitness functions all with different um pressures on them and if anyone finds something that's beautiful then maybe the others want to use it too this is a very longwinded way of saying that so is not beautiful I I where I see it the most or where I get the most sort of discomfort with the the broadest domain where we all live on the same island we don't get to explore our own Fitness function is exactly in all those domains where we're forced to use something no one is forced to use Ruby MH you choose Ruby you choose that that's what you want to build in lots of people are forced to use JavaScript because that is the language of the browser if you want to talk to the browser and make the browser Dynamic you have to use JavaScript now as I've said many times I love to joke about it but JavaScript is my second favorite language very distant second but second nonetheless so it's not because I even dislike JavaScript what I dislike is the large island of JavaScript that we're all forced to be on that island and I have to share that island with a bunch of people who have very Divergent ideas on what beautiful code looks like very Divergent ideas on how to structure a good framework or do any of these other things Ruby being an island of choice has an optin spirit that you know what there's some basic fundamental ideals and Aesthetics that we agree on that's why we' chosen to be here we could still disagree perhaps on static typing at certain scale or this that or the other thing but there's a baseline Integrity to the island that is not present on JavaScript Island H yeah I don't know much about the JavaScript except for the the language specification and syntax but uh the uh you know it's the characteristic wave I guess you know the the Ruby keeps compatibility and uh you know this this morning keynote you said that okay it was so 29 years or something you know it's 15 years ago and in the web in in the web world the everything changed everything has changed and uh you know we have to keep up our mindset to up up to date and compared to that the Ruby keeps Ruby very long time probably the 15 years years ago my uh the 15y old my script from 2015 uh 29 it probably works and yeah yeah so the you guys the we people you you you guys were people live in a very quick changing world and that is kind of challenging and uh we I very respect you guys because you know you you are right so fast and then you know that you you have to run as much as as fast as possible to keep up the current state and then you want to win the the the win the race you have to run twice as fast as you can you can possibly around and that that is that is great and that kind of the technique technology pleasure and inspiration uh help us uh improve the performance and the language the and then we so in that sense I now we Ruby people uh Ruby core team uh all the rails people and ra ra Community the they're pretty much I believe I think what's interesting with that is as I mentioned this morning at least for me as a web developer the aspiration is to get to a a rate of change that's more similar to Ruby where it's more recognizable the stuff we wrote 10 years ago today and this is one of the reasons I've been so passionate about targeting the browser directly because while the browser does change it adds features at a tremendous rate it also has an incredible backwards compatibility promise the website from 1995 will still work so if we are able to Target straight to the browser we can get more more of that Ruby esque that the script from 2009 will still work but it takes more Works to get there and there are more complicated tunnels to get there than I think with a program language yeah since the you know the users mindset has changed a lot in the past 15 years yes I think the interesting thing is that uh you know the web world is also I mean the web world has gone through incredible changes right like it's like um yes Craig's List still renders but like um prob Mar is 10 years at this point right like I like there's inertia on the side of it um but like I think the thing that is interesting is we also like had for various reasons to use a lot of Technologies and there was incredibly incredible churn right like in in in you know for a moment we use elastic Surge and then you know red is like like well I mean in inverse in Timeline but like um what I really like about the effort that's gone into the the you know started with real 7 real eight is in in the simplification is this con um conceptual compression that puts us um at this point we are dealing with HP which is I think 80s um the the um the web browsers are now Evergreen but like um backwards compatible in a like in a much much better compatibility story than at any other um uh period of time and sec is from the 70s or 60s or something so having it all compressed down now onto really really solid foundations it seems possible to build something with more stability than before like it's it's very hard to um build on shaky foundations that's one of the things I love about the web that for all the apparent constant change you can actually invest in fundamentals and see a return 10 years from now 20 years from now if you learned SQL or regex or Ruby or HTML in 1995 all of those Investments are still paying off if you learned I think it was called gulp one of the JavaScript bundlers of 2012 none of that transfers all of that investment was shortterm and it an expired it does not yield anymore I am very passionate about finding those forms of Investments that's going to keep paying off one of the uh early pieces of advice we got from Jeff Bezos when he bought a small part of our company back in 2015 was this idea invest in the things that do not change his example with Amazon is is anyone going to wake up tomorrow wishing they had slower delivery no people are going to want fast delivery all the time they invested mercilessly in that to the point that an expectation had not been created that unless you can ship in two days maybe you're not even competitive that's investing in the long term when I look at at rails and at Ruby I see the same sort of fundamental investments into compressing complexity how can we get down to just a core fundamental SQL has not materially changed in 50 years that's Bedrock built on that let's try to find our way to enjoy the beach enjoy the sand but like maybe we don't have to build our entire house on it well uh the technology are layered so the you know the Ruby is 30 years ago the ril is 20 years ago and then you know the Linux is 40 Unix is 60 I think and uh you know SQL is 50 or something like that and then uh the when we look up the the older technology we can learn something so that sometimes you go back to the the older technology like Yugo Linux yeah and I've been using Linux for last 30 [Laughter] years yeah and uh say so the you know I try to keep Ruby Ruby but a important point is the you know the Ruby it and Ruby Community is open source communities no one forced to use Ruby as you said and uh say if we didn't progress didn't we didn't make progress so that people uh get bored and uh probably people will leave this a to new technology like say I don't know Moon bits or something and then so we try to attract people to to the Ruby Community because of the okay we make okay we improve the performance or we provide new features or the for the you know the current multi cor age or something and we improve this part of the language and we the important point is that we have to keep Ruby Ruby so that we have to be very conservative at the at some as from some aspect but we have to make changes Improvement to the language at the same time so that that's that's kind of the balance we have to make and that's kind of difficult things and I'm uh the decision maker of the language and I'm fully responsible of any change to the language and that that makes me that forced me to make hard decision every day but uh I'm it is it is tough it is hard but uh at the same time it is fun you know designing language and making decision is fun how much like like it strikes me that the decisions like every once in a while you come across something where there's like a go or noo decision and it's kind of clear that one path is better but like those are rare it's almost always you're making decisions between trying to find the best set of trade-offs um and what have you learned about making these decisions well and specifically Victor like you have like a gradation of uh um contributors right like you have people sending poll requests for GitHub um but then you also work very closely with core teams of people who are like um highly trusted but there's still a clear and decision maker this is a structure which I think um is surp is a is a common aspect of the best open source projects and um how do you um um how do you build the culture that like um is like conducive for project to like be decades running and still feeling so fresh as it once you are running yeah that's that's a good question and like uh you know in some project we they organize the teams and then you know the building up the sub team or the for the sub modules or something like that and then then they keep the the they pass the authority to make decisions and then then pass around to the sub teams and that kind of the you know the the company like organization is taken by the some projects but uh and uh I don't like that kind of the organization that it's it's not for as as I believe it's not good for the open source project mostly because of the we because usually we don't pay for the our contributors and then we have no you know the business order or anything like that so that in that sense the you know the motivation matters so that you know the having ordered hinders motivation in many cases and so that's that sense I prefer more some kind of the organic way of the the teams like a okay we we formed that this kind of the vague group to work on this part of the language and that part of the language and then probably this part and this part we have to collaborate the these people or something like that and uh otherwise we might we might fall into the some kind of the bureaucracy and the rules rules papers and the documents or something and I don't like that kind of that kind of the the you know way to work with opens Source software benevolent dictatorship is just more efficient uh no no dictatorship but yeah actually actually very few people in the Ruby Ruby cor Comm contributors make final decision because it's so heavy responsibility and uh you know they delegate that power to me you know so I I take that burden as a yeah as a responsibility of Creator the language so if you if you one of you wish to take over me just tell me just tell me I will consult I think one of the ways to avoid the bureaucracy and the heavy hand down decision making forcing decisions through is to invite alignment to a vision invite alignment to an aesthetic and a set of principles this was one of the reasons I wrote wrote down the rails Doctrine over 10 years ago because I had found myself reiterating what I thought was obvious about the ethos of the framework and finding that was not obvious because I had not written it down I had not shared it it was obvious inside my head but it was not obvious to other people wanting to contribute and I found having essentially that optin just like Ruby is a language of choice contri ruting to an open- Source framework or language is also an option of choice but that choice needs to be informed by an alignment don't come to contribute to rails if you don't believe roughly the same things that we believe you're going to have a bad time most of your PRS are going to be rejected there's going to be contention just see whether this sounds like the kind of music you want want to listen to is this the kind of Comm Community is this that kind of Club you want to be part of we can make it easier for people to make that choice by themselves upfront by writing down some things we believe and this is where I find that drawing contrast being maybe even overly sharp about the things that you believe help people select whether it's right for them or not I've been relatively sharp over the years on a number of topics in part to create that contrast to make it apparent that someone who believes the opposite shouldn't come in waste your time this is the beauty of many minorities you get to choose which minority you want to be part of you should choose one that fits well with your beliefs and your values and whatnot and we can then feel even more empow to be Allin on our set of beliefs because they don't have to apply to everyone one I'd feel very bad about being the language designer of JavaScript I'd feel very bad about all of my choices being forced upon people I like my choices like you like your preferences this is why we're drawn to creating things in our image but to me that only extends to voluntary collaboration I'm not forcing anyone to use rails in fact I'd rather almost scare you off a little bit premature from even trying to use it if we're not going to get along can I dig into this like so so R Doctrine is a a remarkable document I I really really love it partly because um I this is sort of a basic idea but it's not often clear to people like a statement that's made where no one would in their right mind take the opposite position is there's a word for that it's a pla ude right like which is always when you know companies that have their core values be teamwork okay well who's taking the other side of that you know it's just like it's it's an empty statement um and it's like reals is not only web framework that has something like a Doctrine or has written down things um like I mean python for instance has batteries included as one of the very important principles but you know like I it has like four different package managers right like it's like literally kind of opposite like like just writing it down doesn't lead to the thing in your mind like is a statement like the doctrine is the job of it more to attract people who believe those things or the heighten the misalignment with the people who react negatively to with those things I'd say the first function is to scare people away you should if you read that and you coil in horror about the contrast that you see then you know this is not where you should waste your time I find actually the sort of repellent function of clearly defined values to be the most valuable part now that doesn't mean it's not also valuable to attract someone to a positive Vision that they sign up for what they believe in and they line up for that but I almost find that that's easier and what often happens is you get false alignment you you're vague because you're trying to be Broad and the vager you are the more different ideas of where we thought this should be taken is allowed to grow in people's mind which is a form of fraud in my opinion when you knowingly go out vague when you actually truly believe something quite concrete be concrete even if the price is some degree of repellent that price is actually the benefit again that works in open source because we are not measured purely on the maximum number of customers we attract there's no special prize for having 100% of the market there's only curses and we don't want that we are very happy being whatever percentage we're at it doesn't really matter as long as we have enough of a tribe to be self- sustaining and self-sufficient moving forward adopting new things that's the bar and that's the goal in my opinion yeah some people don't use Ruby of course and then they they claim some kind of the excuse not to use Ruby but for example the Ruby is slow or realone scale and I I love to prove them wrong Ruby is fast enough for most of the case and real scales I see shopy but even though we Pro them wrong they they use they don't use Ruby anyway you know it's they just excuse but but uh you know I don't want to force them to use Ruby but uh as long as the you know we have the very active enthusiastic Ruby and rails community and and they as long as they are happy as long as they are creating values to the world the I'm pretty much happy with it and if they understand that that value and a virtue of the community and they when they willing to join us we are more than welcome them but uh but uh I I don't want to you know grab their necks and bring them to the to the community but I don't want to force them and I just want them to choose Ruby if they are willing one last point I made in that I used to believe you could force people to use Ruby I used to believe you could force people to use rails and if you just proved them wrong with enough arguments of sufficient sophistication they would see the error of their rays and they would come to the light that did not work for exactly same reason you say you can be correct we can disprove ideas about slowness or whatever it doesn't matter and you don't want to win you do not want to convert someone at the edge of a sword yeah yeah that not only has a bad history it's a bad way to go and it detracts essentially from building the kind of community you want to be in in the end if you again have this community which is in my opinion true of JavaScript as a whole where there's a bunch of folks there who'd rather not be there I like the community where we are where we like where we where we here because we choose yeah I do remember your discussion back in 2005 or something [Laughter] yeah play stupid games Win stupid prizes I think like maybe it's not worth having the most popular programming language but if want I think it's is the community that cares the most about the things that are of aligned with the values of um that you are uh yourself hold I think this is just so beautifully um realized in in in this community and I think um like you there's so much ink spilled on on on growth in the mainstream and try to be the like which position does the programming language take in whatever that index is called and um I think the foundational assumption that um you need to make something that pleases everyone is just like somewhere in the top three things of like General um confusions like if you can just get people to say you know like I think um this was actually really important for Shopify in um sort of in the 2000s when when when I I was building a company I came across Kevin Kelly's essay um a thousand true fans do you like this do you remember that this is a beautiful piece of writing and basically just says hey this is a thing about the internet you do not need um to build the most successful like biggest thing in the world or like you should if you build something um but instead of something that works for everyone something that can generate a thousand true fans you are adding something um into the world that is of value and it's been found of value because people's attention is scar people and people um love to be delighted by finding something okay here's your thousand through [Laughter] [Applause] France well um mattz David you changed a lot of people's lives here it's been um so like I I I just want to sort of lead here and just say like you are two of the most important people in my life uh and um nothing I've done could have could have been done thank you both of you have like inspired us to uh like reach much higher than I I would have ever done like have you inspired Us in terms of Entrepreneurship and a technical and just like this idea of not accepting the um the the pink elephant and just trying to figure out how does this thing work how does it uh like this is cannot be a black box all those things are things that happened to me because of your work and your incredible gracious sharing literally Christmas presents from you and and and new releases of all sorts of wonderful things while um we get to share uh here in a room together we we get a new present of a new rails version and I love this community it's incredibly positive incredible optim istic and ambitious and uh kind um full of giving while also being full of gratitude seemingly entirely devoid of entitlement and I think um that is all Testament to uh you know some of your life's work and I I just could I want to just thank you for doing this for all of us thank you so much thank [Applause] you uh what one more one more thing um in the spirit of this gratitude and gift I want to present Matt with the lifetime award for rails without Ruby there would be no rails without mats there would be no Ruby so without mats there would be no rails thank you so much thank you thank you I usually pass the trhy to the other guys now it's your turn this is my first trophy my whole life thank you [Music]