[Music] what made you pick Ruby out of all the different options at the time because that is it's kind of unique I I don't I wouldn't put Ruby as one of the most popular ones but it was definitely one that I had to go study at one point in college as like a interesting Dynamic language yeah it definitely wasn't popular when I picked it up but Martin Fowler and Dave Thomas two highly Esteemed programmers that I was following at the time were writing about Ruby using Ruby to write about programming Concepts in itle E Magazine
and a few other outlets and both of them were doing quite a good job at sort of just showing what it was like and I remember reading that one of those first articles going like is this a programming language or are they just writing pseudo code because this looks too good this looks suspiciously good Like where the [ __ ] are all the semicolons where are all the line noise that I'm used to in basically every other programming language ever and I just turned like this is just really curious and it awakened in me just
that desire for Peak Aesthetics because I've been working with PHP i' been working with some Pearl I'd done a bit of python I'd done a fair bit of java i' done a lot of other program language all fine in their own regard but when I saw Ruby I saw something different and I thought that was really interesting and the other thing I would credit Ruby with is after I dove in Ruby really taught me metaprogramming and that's one of those defining moments when you realize oh a program can program itself that is really next level
like it takes your understanding of what programming is to a higher point and I think whoever teaches you that first that next level that next tier you're Gonna have some degree of a bond with and I certainly developed a bond with Ruby and then I also just thought you know what um why not like if if I like how this looks like what it's teaching me I like how it feels to be a programmer writing this programming language why would I not pick it why would I even care whether it's popular or not popular whether
other people like it or they don't like it at least at the time and I'd say probably still I didn't I didn't really mind the fact that there wasn't a lot of tooling that there wasn't a lot of Frameworks there weren't a lot of libraries because you know what I could just write it myself now that's not entirely true I mean Ruby obviously did have a fair number of libraries and Frameworks it didn't have as many as it does now and it didn't have as many as other languages did but it had enough I think
there is some basis where a new program language comes out Then there's literally nothing there's just the Primitives that's a tough Hill to climb I think but Ruby wasn't like that there was just enough that I felt like I could bootstrap what I wanted to do off that and get going really fast I mean I didn't go away in a cave spending five years meditating on Ruby to come up with rails it was basically like two weeks and I had some HTML talking to a database and just the early inklings of what rails was going
to be came about Pretty quick and then just a couple months into it the shape of rails as it exists today was visible so that's also part of it that was part of the appeal for me about Ruby that Ruby wasn't just any other program language it was a program language that kind of super turbocharged everything I was doing and I was able to create results much quicker than I had with any other program language and some of that I think is inherent in Ruby I think it is A highly productive program language but part
of it was also just my reaction to the programming language like when you find something that just really fits and you want to use it all the time in photography they have this saying well one saying the best camera is the one you have with you and the other saying is the best camera is the one that want that uh makes you want to go out and take photos ruby made me want to go out and do programming or go in and do Programming as it is and I think that part of it was a
huge push for my career that I just went from oh I've been doing programming mostly because I wanted the programs like I wanted the output now I found a place I found a programming language where I just want to do the programming where the programming itself is the reward now I still pursue programs it's not like I'm just writing katas or whatever for the sheer Joy of it but there is a sheer joy in the Act Of programming with Ruby I hadn't felt that I hadn't seen that in any other program language and in the
early days I thought this is totally unique to Ruby like this is a property of Ruby this is how it Ruby makes programmers feel like they are superheroes in this way and therefore everyone should use Ruby and I spent quite a few years earnestly trying to persuade as many people as I possibly could that they should all use Ruby all The time for everything certainly within web development and it took me a little longer to figure out you know what that feeling I have to Ruby other people have to other languages and that is the
lon share of the superpower now again I actually think there's a there there too that Ruby itself is intrinsically more productive and allows us to do things and certainly aesthetically more pleasing but the larger chunk of it is helping programmers find that experience I found with Ruby and do you know what if they find that in PHP or if they find it in Python and they find it in lier whatever wonderful I'm so happy for you that is really the main progression point and um it took a while for me to discover that but even
having had discover that I kept looking over the past 25 years I've been programming 20 some years since Ruby could I find another Ruby because I always thought like all right if if I Was doing St PHP and then I find Ruby and I go like holy [ __ ] this is so much better I'm so much more productive I'm so much happier doing it could I find another thing that would have that same feeling Beyond Ruby and I just never did and I came to the realization in part like the world isn't that large
we think of like oh my God there's an unlimited number of programming languages no there's not I mean how many have there ever been made a thousand maybe uh how Many have ever been used really in Anger 50 uh how many are currently V options that most people would consider today for web programming 10 20 like it's not that many you can actually survey the world and you'll find that like it's a sphere and you can get to the other side and you've been all the way around and then you can look at all those
options and go which one is the one that creates that connection for me and for me it was just not just was but is Ruby that that After having sampled pretty much all of it and I just I like sampling right like I I like going to just like I like to travel I like to go to Japan I'm like oh this is a foreign uh culture they're totally different everything is different that's what's wonderful about it and then also I'm glad I'm home and that's what ruby feels to me like I'll go explore some
other environment sometimes I have to do it like we could talk about JavaScript um perhaps later You just sort of I need it right I need it to do some things that Ruby won't let me do and then I go like oh this is great this is a wonderful little vacation here and then I come back to Ruby and I go like holy [ __ ] this is good to be home what was the question first off you answered everything you needed to answer that was if there is any piece of advice any programmer ever
needs to hear it's the programming it's the side project it's the experiment You're running that's going to make you want to do it again tomorrow it's probably like single-handedly the thing that's going to make so many people's lives change and I just man from the bottom of my heart I love that that is like that is my Mantra in life and you know what's funny this used to be a big theme I remember in the mid 2000s both Ruby was advancing this because that's intrinsic to the language literally Matt's motto for Ruby is Optimized for
programmer happiness so that makes it pretty explicit but plenty of other environments were following this at the time and then I think we fell into a bit of a a bad way in the 2010s when suddenly it almost became a little dirty to say that you liked programming or that programmers should be passionate in fact that was somehow almost discriminatory to people who hate their jobs and I was like wait that seems like not a right angle here I Totally understand that you can be gainfully employed doing programming as a job and not want to
do it like 247 outside of that fine okay but also like it's easier if you like it it's easier if it's just enjoyable it's easier if you want to do it most of the time um and I will say a few programs I've met have not at least had a phase where that's been true if they were to arrive at some point of notoriety that they contributed something to the community That he build something not a lot of programmers I would say who are just like on the 9-to-5 thing ended up doing that now that's
also fine like whatever we have millions of programmers do they all need to create things all the time maybe not but again I don't think that reality is actually something to celebrate and it's a little bit like that [ __ ] dog that Meme with the dog I don't know what the [ __ ] I'm doing that I just absolutely hate unloathe Even this idea that knowing things getting better at things being competent is somehow that doesn't exist right and we I remember that discourse was a lot about programmers who I knew knew things feigning
that they didn't and that was the kind of [ __ ] that I just went like oh calm the [ __ ] on I don't know everything I'm totally happy to admit ignorance on a wide variety of topics but also I do know some things about Some of the things that I do that's why I do them that's why I get paid to do them that's why there's impact from it and so forth so let's not fall into this trap that no one [ __ ] knows anything that competence doesn't exist and actually the highest
calling is just to have a [ __ ] N9 to5 that you don't really like because reasons yeah I think one of the like for me it's such a it's not only a bad meme because it sort of throws away like all The things that you've learned and like clearly like if you were going to make site a website in Ruby on Rails and I was going to write one in like C like I think you would be done first and there's something like important about that tradeoff but I also think it really like misleads
Juniors and people entering the industry because their end goal now is like oh my end goal is I don't have to know anything never to struggle to learn anything never have to Overcome and accomplish anything to get to Mastery look at all these people I respect who have shipped valid things who have done awesome stuff and they're just saying well I don't know anything you're like no you do you're lying to them you're tricking them you're putting them on the wrong path that's 100% it and to me it's almost like a kind of luxury belief
by the time you've reached some competence that is marketable and you can actually use it to get a job and So on you feigning that like it doesn't really matter everyone looks everything up on the Internet whatever just pushing it so far out that you're demeaning competence as a valuable virtue to pursue it's a luxury good like you're not paying the penalty for that the people who embrace it and think that they can just ask AI for everything or they can just look everything up but they don't have to understand the copy pasta that they
slam into their project They're the ones who going to suffer because they're the ones who are going to have their career prospects cured right and that's no and and that's what what gets me is at the beginning of that whole trajectory of that narrative I was actually on board I was on board in as far as to say you know what we should make it a lot easier for people to get started there's no [ __ ] reason it has to be that difficult that you have to spend literally days before you get to Hello
world that was the whole premise of early rails I had been working in a Java shop I saw what happened when we started the new project that someone had to go off for a [ __ ] week to do XML situps so we could have whatever the spring configuration that we needed for our web app server something something and I just went like this is stupid this does not need to be like this this is actually a sign of lack of sophistication we can solve this problem We can solve the initial trajectory or or angle
of the curve and we can soften it a lot so that people who are not already trained Wizards in XML systems can come in and get the hello world dopamin Hit to me that there's so much that is just bound up in that can you do a thing and then see a thing if you can get into that Loop you're well on the way to become a programmer but far too many environments certainly at the time and I argue still so we've recreated Some of that Madness especially in the JavaScript world where it had to
be difficult right and and we we we mistook that that like the the early difficulty is actually somehow that's where the competence in the master is no [ __ ] no that's just the boilerplate [ __ ] that we're setting up but then Pats diverge right I was all about let's making the ram soft so we can keep going and I want you to have a 10-year career constantly getting better constantly learning more Things constantly getting more competent just that by the end of it you're going to look like a [ __ ] god to
your former self like that's the value of it like we can make the computer do all these things and we can make him do it because we understand things right the ramp needs to be soft but it needs to go to Infinity yeah and I think something that uh and I I think we'll probably come back to this when we talk about neovim I Know Prime wants to hit a few things before we go like deep onto neovim because I think between the three of us we may accidentally like forget to go eat dinner and
just talk about neoven for 12 hours so we'll like hold off on that but one of the things that that I think is important in what you were saying is like that aspect of getting a dopamine hit along the path of learning and I think it's really undervalued and it's also undervalued in sort of like um The tooling or the syntax or the result or some other way that like whatever it is that you're doing can surprise you to motivate you to learn the next thing right and and and like when you're thinking on a
time scale of my career right not like this week but my career you need some like positive reinforcements to come back to make you feel good so the next time you sit down in front of the computer it's a happy place it's not pavo's dog In like getting you know a sad consequence but I'm ready to eat you know and I think that aspect is so missed by a lot of people thinking in this longer time Horizon and I think that is something I knew so well because I tried to learn programming three times and
failed earlier as I was younger just I wanted programming because I wanted to make games I wanted to and I just couldn't get it because the initial thing it wasn't a curve it was a step Function and there was no one there to give me a [ __ ] hand and pull me up so I just didn't get it and I just gave up so by the time I rolled around to Ruby and rails I was like you know what we're not g to make it this we're gonna make it soft and we're gonna get
people on board but then we're gonna keep going right so I'll take the dog doesn't know anything great that's your first day that's your first day but in a year from now you can't be that [ __ ] dog you Can't be a cuppy pasta monkey who doesn't know what you in erting at least some of the time you have to pull the threat and try to understand what the [ __ ] is going on because it just becomes more enjoyable too you have far more agency when you understand what you're working with the tools
and the materials and and all of it and then you go like yet you know what I'm stumped I'm stumped all the time every programmer is we hit a bug it seems like magic but Then we go like there is no magic there's just [ __ ] sand shoved together into silicone and that's the chip and it's going to be logical I just don't understand it yet and right now it seems like magic I'll just keep cracking at it and in the end you'll figure it out and you go like yeah it was magic it
was that thing and having the developing the stamina and the perseverance to do that is just crucial because it's only GNA accelerate the more we get the [ __ ] AI slob in the just like spewing [ __ ] at us that we sort of barely understand we shove it in right the more or the easier it almost becomes to just Embrace that dog I don't know what the [ __ ] I'm doing I'm a prompt engineer now like um I I I want you to be ready I want you to be ready with some
basic virtues and tactics for figuring [ __ ] out because it applies not just to programming I've applied that principle of a programmer's mind I'm going to Figure things out to about a million other domains I've had bugs in my house with my ventilation system and I go like oo this is curious I don't understand why it's doing this these things but if I figure all the things out oh here are the variables I can clarify there's five of those it's a Clos loop system we're not getting the optim this is great you just become
a more capable human when you learn to understand thing and develop competence and having seen the Cycle a few times I mean race car driving is another example I often use is I went into race car driving quite late in my life with competing against kids who've been go- carding since they were six years old I had to figure out that system and figure out like what are the main moving levers how do I go faster what's the main thing oh it's it's the break trace it has to look like a a squiggly thing when
I'm in this car and when I'm in this car it has to look Like a table breaking and just diagnosing all that it was the same fundamental sort of human inquiry principles I was applying in programming so as you develop those in programming you get them for the rest of your life I mean that's the other thing this isn't just an investment in [ __ ] whatever JavaScript framework theour that transfers nothing to your rest of your life if you approach this as like competition is important understanding Things is important pulling the thread is important
sometimes struggling a bit is important um these are skills you take forward and they just make everything better they make everything faster they make everything more fun it is just more fun to be competent yeah I I I published a like a thing about this a little while ago and I think Prime will probably Echo this idea too that like in in sort of the like preface to the argument I said suppose AI can write All of the code possible in the future is it like still today worth thinking about and learning code and for
exactly the same argument my case was like yes today you can pay your bills with code it's like that's good and all of the skills you get even if they don't even if like I learn a bunch of things about o camel o camel mentioned right it's like I can still take that thinking the brain muscles that I'm learning the way of solving problems decomposing it into Smaller things I can just use that same thing for whatever the next task is when AI writes all of my code for me and and I think that's really
underappreciated as well in the programming space hugely yeah okay so I I do I have to hear about this so you tried to learn progam programming three times now I I pretty sure that nobody in this chat thought at any one point you struggled learning programming yeah here you are admitting hey I actually struggled learning Programming I I've seen this a lot of times that when people meet their Heroes they end up saying something along the lines of oh yeah actually I I struggled on this thing and it just feels like a world rocker uh
why why did you struggle I guess with programming especially three separate times well part of it was the environment in which I tried to learn it like now and I'm going to sound really old right like things were difficult Back in my day were the first time I tried to learn programming was literally like 1985 or 86 I was like five or six years old I really liked video games and I wanted to figure out could I do something myself and there were these magazines print on like dead trees that would come out and in
the back of the magazine like literally code listings would be there and you could type in the Cod listings like just the lines and I'd spent like an hour and a half typing That [ __ ] in and like something wasn't right and it wouldn't work and I tried at that early phase to like could I figure it out which is sort of a good encapsulating like I was no [ __ ] saat right like at at six seven years old like I'm just I'm not getting it then again I tried it like I don't
know 12 or 13 this was uh EC Amos I remember a little bit more about this and I remember thinking what the what's the point of a Variable like why do you wanna why do you want to change it like if I just wrote that it was five why does there's just a basics of programming I just couldn't grasp and I think part of it was there really wasn't a lot of help I'd say I mean you get some books you could get some magazines there was no stack Overflow there was no Google there was
none of these other things there was no AI um so I didn't get it and then I Tried or I sort of looked into it once more when I was about 15 16 I had a bunch of programmer friends at that time who were all deep into ass simpler programming and I looked at that for about five minutes and went like whoosh um I remember thinking like wait I got to do Vector math to do [ __ ] games programming yeah okay I'm out I'm not doing Vector math that's just not my forte so it
wasn't until I mean I guess I was like 20 years old or something Like that um when I'd been working with the web for some time I'd sort of been doing some HTML some CSS and then around 2000 I helped develop a Gaming website called daily rush. DK and I sort of just nibbled at it I had a couple programmer friends I was working on the project with me and we were writing in PHP and I just kept like helping out and then I help out a little more and it really it clicked in a
different way because there was actual real programmers on the Project so if I [ __ ] something up or didn't work there was someone to to ask there was someone to help there was some other code to look at and then it kind of started to click and yeah it was just a slow ramp I kind I wish I had learned programming when I was 12 I would have liked to play those games whatever the hell they would have been that would have been fun um but it wasn't it wasn't really until I found the
right level the right level of abstraction for me and The right level of abstraction for me is not Vector programming I have accepted that fact I'm not going to be a games programmer I'm not going to write a 3D engine that's just not where I thrive I thrive at a level of abstraction where it's more about Concepts words picking the right things that's why Ruby was so appealing to me because after you boil away almost all the line noise that most program languages have you're left with essentially a form of English like a Very regimented
form of English but also Ruby not that regimented like Ruby allowed sort of all these Alternatives way oh you could do um whatever command unless condition what the [ __ ] you've changed the isn't the if supposed to come first and then there's supposed to be a not and then there's supposed to be a condition and then you do the thing Ruby to me was just blowing My Mind by the flexibility it had and that was what helped accelerate things where I'm like Oh I'm actually good at that part I can't do the vector math
stuff but I can do this stuff I can build Information Systems I can do object-oriented programming I know object-oriented programming have sort of Fallen a little bit out of Vogue at the frontier here like oh functional programming like that's the thing like no I'm an object-oriented programmer through and through I like functional programming paradigms I like aspects of it I like Shoving that into my little grubby objects but as a way of thinking about the world I love object-oriented programming that really just made sense to me I could see whole systems I could see all
the elements I could see domain models and then I can have some functional programming elements into it but I don't see like functions and data separate so that helped me too just object-oriented programming high level programming languages like Ruby and then Information Technology what were we creating for some reason I don't know why like why do these things happen I just really like crud like I like dealing with a database like often it sound disparaging oh you're just making another [ __ ] to-do list yeah that's the internet the Internet is just a [ __
] collection of people making to-do list that is CR apps right almost everything on the internet is some [ __ ] database getting inserts updates Writes and deletes that's what it is let's just embrace it with joy and go like yes that's what I do I [ __ ] hammer on a database all day long I shape it into little blocks and it can make virtually everything that exists on the internet that's pretty damn incredible I mean it's not games programming I kind of wish I was a games programmer that is significantly more rock and
roll than making another to-do app I will accept that but um hey you Gotta you gotta work with the blessings you've got and that's the blessing I got objectoriented programming at a high level in Ruby okay that's that's my cards that's my flush play it it's so funny that you say that because I don't know what it is about programmers and this this look of game programming but I think every last one of us that couldn't keep up with actual game programming like man you know one day one day I know that I I could
be that guy if I just Tried hard enough I know I could I know I couldn't and you know why I just tried recently and um so I think about a year ago or something I took some time off and I was like do you know what that dream about games programming maybe I was just too young maybe I'm so much smarter now and I sat down like let's start with something simple and I picked up like com 64 assembler code like there's actually a great Community people making new commodor 64 games I'm Like that's
got to be the simplest possible thing here we're emulating literally a CPU with one megahertz one not two not three one megahertz so how hard can it be I mean I could almost probably keep up with that CPU if I was running real fast right like how many instructions per second can you execute with one [ __ ] megahertz so I sit down and I start like all right crack the knuckles let's get going here I'm going to do some game programming and I lasted About [ __ ] 45 minutes until I'm was like yeah
oh [ __ ] this is why yeah this is not me I cannot do that thing and you know what it reminded me about so I talk about race cars and I really like cars right I like driving I like all this stuff and then I thought I multiple times thought well maybe boats maybe boats are also fun like there's the ocean I like the ocean I like looking at the ocean and every [ __ ] single time I go out in a boat it takes about 15 Minutes before I go yeah yeah I'm not
into boats like I like the image of boats I like the idea of wi in your hair and salt waterer in your face kind of thing but that's just not me I want to get back to Shore and that's what I felt when I went into this Commodore 64 tutorial I'm was like yeah I gotta get back to shore like I gotta get some Ruby into these [ __ ] fingers again because this isn't me I can't do the M the thing the exor all the stuff I I'm surprised You didn't try out uh something
like Dragon Ruby I don't I don't know if you've heard of it it's a game engine in rub so might want to check that one out that might be a little bit you know what though I think it's not the syntax that's not my problem my problem is the actual domain right and a lot of it is about its Collision detection its math it's things and it's like yeah that's just not I mean I willfully flunked my High school math um final year because at the beginning of the year I remember getting the first assignment
and I went like this is too much [ __ ] work like I got other things I want to do with my life I can't do this so I made a deal with a buddy in my class like hey um can I just copy your homework the entire year it's fine I'll just introduce some bugs in it so it doesn't look too obvious and I just did that and I arrived at the final point where we had To take the exam I was like you know what I could probably wing it you only need 26%
correct to not get an F at least in my school I was like that's got to be possible and I just realized no it's not [ __ ] possible math is very unforgiving you don't [ __ ] know it you can't do it there's not like oh I'm I'm going to figure it out in the exam room here like I just uh integral equations here they're just going to come to me through divine intervention No they're not and then I learned you know what that's not true of all the mains um I went to my
exam in like in English I'm reading from Denmark and I went to my exam in Danish and I the Danish one is the best one so I walk in and you draw your question right like this is what you're gonna get examined on and I draw [ __ ] I don't know middle-age poetry or something and I go like I don't know [ __ ] anything about this I don't remember anything about it At all I walk into the exam room you got 20 minutes to prepare I open this book and there's like a checklist
of like the five factors you should look at oh the magic anyway whatever right then I walk into the [ __ ] exam room and I just start like bullshitting at 200 miles an hour like so fast they didn't even have a chance to interject a question and there's only 15 minutes of examination and as you might have realized by now I could [ __ ] talk for 15 minutes Without letting anyone get another word in and I'm like boom A+ boom I was like I gotta find a way to commercialize this aspect of what
I'm good at not the [ __ ] math part um and now a lot of people go like oh that makes sense that's why Ruby and R is so [ __ ] slow and like yes to some degree yes but also to some degree he not because by the time Ruby and rs got off the ground I did happen to attract enough people into the big tent of this who actually did Like math right and who didn't [ __ ] flunk their High School think because they thought it was too much work and and they
made it better and I think this is what's so wonderful about open source you can show up and you go like I am good at these two things do anyone want to trade um I can make these parts and then you make the other parts and then we put our parts together and it's more than the sum that's really nice that's really Great Ruby un rails is as good as it is as fast as it is used in as many high-profile places as it is because literally like 7,000 people contributed code to the code base
I wasn't going to do all that [ __ ] on my own I mean I was going to make the to-do list work on my own but I wasn't going to make shopping if I do a million requests a second on my own right that needed some of the math folks to come in and assist yeah speaking of Open Source Something that uh I really uh resonated with from your writing is talking about how open source isn't a community or a democracy right it's a gift exchange I don't know if you want to sort of
elaborate uh on that idea because I really I so I'm a core maintainer of neovim I I wrote telescope and a bunch of other stuff so like I I definitely when I read that I was like yes give it up for dhh on that one nean by the way yes Chad I know you're already going to Spam it that's fine but go ahead take take us away on sort of that uh that aspect yeah so what's really interesting about open source is it has sort of the shape and the outline of something that seems Democratic
which is a fundamental mistake of analysis it's not Democratic at all it is meritocratic it is absolutely that now that also went through a face that word meritocratic went to a phase where it was in the Dogghouse for about five years or something I think it's safe to take it out of the doghouse now meritocratic processes are good and Merit in open source is about as pure of a distillation of Merit as I've seen anywhere like you go into corporate and like you know what companies try to be meritocratic but there's also about 500 other
concerns that weigh on why your career goes the way it does and it's not always just the smartest most capable Person that gets ahead in open source it's kind of both mostly is the person who shows up and does most of the work in the best way possible typically ends up having the most say and that's good it's not Democratic it's not like everyone sits around in the circle and like let's vote who should get the say on where this project goes and then they [ __ ] pick Joe because Joe's really good at advoca
for a platform [ __ ] Joe Joe's not gonna have anything to say Unless Joe is the person writing the goddamn code like that's actually what you want you want the most capable competent people who are doing the goddamn work to set set the direction and that is something that I think programmers with one side of their brain probably accept most of the time and then they have this other side of the brain that gets carried away with the idea of like a Kumbaya Circle where no one has power of Authority or whatever And yeah
no no no projects that have ever reached any notoriety have been driven in that way all the things we so dearly respect everything from Linux to SQL light to neovim to Ruby and rails to Ruby itself to every single [ __ ] project there's someone at the top who does the bulk of the work and sets the direction of where things go and that's good and then there's a bunch of [ __ ] that never goes anywhere where it's just a goddamn circle jerk so meritocratic Notions are really important but they're also inherently controversial because
in it is a statement usually unsaid because it's not that polite where we go like you know what my opinion is worth more than your opinion and it's worth more because I've done the work and I know the work and you just [ __ ] showed I'm in a GitHub issues trying to tell me how to do my [ __ ] job and like no no go [ __ ] yourself that's not how it's going To work um and and maybe this is where the stream Crossing comes in um with the whole JavaScript question because
this was on the grand scale this played out when we yank typescript out of Turbo um a frontend library that worked on for many years we yanked it out like last year and a bunch of people showed up to tell me like whether that was the correct decision and usually they showed up to say it was not the correct decision right and you just like who the [ __ ] are you you just showed up from a link on Twitter to tell someone who've actually been working on this for [ __ ] years how they
should be working no no so to me this goes all the way back to literally the first presentation I gave on Rails after it was out was at a conference in Canada and my fourth or fifth slide was a big black and white slide that just said [ __ ] you and it was addressed directly to that kind of commentary that already At that point I mean rails had been released for literally three months before people started showing up demanding how I spent my time oh RS doesn't do Oracle database connections yet get on it
what I'm not your [ __ ] bendor I'm not your employee I am the bearer and bringer of gifts and you will either take those gifts and be at least slightly grateful or if not grateful at least shut the [ __ ] up and If you don't want to do those things if you don't want to be either grateful or shut the [ __ ] up um you're gonna get this and you know what that's a proportionate response to your ass Foolery so when I look at open source I go like do you know what
open source is more fun when we are courteous and kind and not full of of this all the time but occasionally you gotta have the hammer right like walk softly but carry a big stick I like to walk softly most of the Time and occasionally someone needs a [ __ ] whack on the head where they're just reminded about the core Dynamics and now how they should be because the other thing is you don't want it any other way you do not want your open source projects run by people who are not sort of the
best at making them who haven't put in the work who haven't done all that you don't want to nominate some random Smo to to run it that's just not going to get you the kind of software That you want so my um early day once I got tired of just doing this and realizing you know what that's a little abrasive and some people take it the wrong way maybe I should uh calm down a little bit I came up with a with a shorter version of it which was PDI someone would go like oh you
should do um you should do the Oracle adapter and I'd go PDI please do investigate you [ __ ] do it you [ __ ] do it you want an article adapted great submit the Patch I'll have a look at it if the code is good it's not always complicated it doesn't blow up all sorts of other things I'll probably go like that's great thank you very much now we've shared gifts we could be friends let's hug and dance and do all the things we're doing open source yeah I think uh a phrase that I
always have liked from uh Justin who's currently the sort of like dictator for neovim uh is that users can be fired Right this idea of like you you shouldn't be afraid to fire some of your users sometimes especially given a lot of the constraints that you have like as an open source project right like constraints are good and uh you know I think directly quoting from uh some base camp stuff there's never enough to go around right and so if if you're if you have some really squeaky Wheels sometimes unfortunately the best option is you
say like you can do that I'm Totally fine also the fork button is like a button and you can do that too and that's good uh but like for the betterment of like everybody else we kind of got a move on from this issue and let me like actually ship the stuff that's gonna push this forward that's usually the point where the Power Balance gets exposed and that's where people get a little mad because they think when we're having this discussion in a a GitHub issue that like if they Just make an argument that they
think is good it has as much weight or it has as much value as someone who's actually doing the work and carrying the project forward and it just doesn't right like you could even be right I'm not even saying I'm right all the time I mean no one's right all the time I'm wrong all the time I changed my mind all the time too so sometimes people go like you should do this and I go like no you're an idiot and then like literally next Week I'm like ho [ __ ] that was actually correct
I'm an idiot so let's go back and fix it and let's let's sort it out but it has to be that way and it has to be sort of just accepted that those power dynamics are there and not said they're there but they they're good and then this is the the magic of Open Source is that as you say you can fork or you can just start your own project so much of wonderful open source including much that I've done over my Years have come from exactly that I go to some project that I think
is in the direction of what I want and then I try to see if I can get it there and I can't because that's not where they want to go they want to go somewhere else and I go like you know what fair enough I'll do my own thing I'll pack my own goddamn bags and I'll sit out on an adventure and I'll create something different I mean the great story of uh lonus with get is exactly that what was the thing He was using Pro B keeper they reverse engineered the B keeper protocol which
was strictly forbidden in their to and then they had the they got evicted and had to write their own yes yes exactly and how wonderful is that imagine if they had somehow worked it out with bit keeper we would have been without git we' still have been [ __ ] subversion everything no thank you so some of this conflict and tension should not be seen as like a necess or or an evil it's Actually beneficial it is in that grind is in that robbing we realize we're not all the same we don't want the same
things there shouldn't just be one project there shouldn't just be one framework there shouldn't just be one programming language there should be a multitude of them and you should gravitate towards the one that most closely resemble what you would like to see and what you would like to have and this is why we need a bunch of choices This is why we should not sort of just Converge on five things which I know the internet loves a horse race right like there's always like oh is this framework more popular than that framework like they constantly
want to converge no no no don't converge have enough choices have enough options to realize programmers are weird and wonderful in very ideosyncratic ways that are incompatible you can't take all the people who write the [ __ ] go code And shove them into a ruby project and then like they're gonna be happy that's not just no like we want different things actually I mean maybe go is the wrong example we have some folks on the team who do right go and I think they sort of like it okay too so anyway just this idea
that there are different universes that have nonoverlapping conflicting visions of what they want and clarifying those boundaries is helpful to get people to realize what They want now the first thing of course is most people don't know what they want like they show up and they're like what should I use um I don't know [ __ ] start anywhere it doesn't even really matter because you start with something and you realize is this the thing that tickles my noodle and if it doesn't then you move on to something else you can try like five things
especially early on in your career I would not at all be in a rush to commit like you just start Programming oh that's great you should try five things once you tried the five things as we talked about in the beginning The World Isn't that large you will realize that you've had some cursory understanding and that some things speak more to you than other things wonderful then double down then get good then achieve Mastery then do all the things um but don't don't don't try try to get it all together we don't want one language
we don't want one and That's why the internet is so amazing this is why I'm like it's weird but it see feels like the internet needs a articulation of its defense because we've taken the internet for granted for a long time and then suddenly these other programming languages or platforms I should say showed up like mobile native um good luck if you don't run a right Swift or objective c and you want to make apps for iOS now it's possible there's react native there's a bunch of Other things you can sort of kind of do
it but you'll do it as a as a second tier or third tier citizen if you want to be a first tier citizen all paid up get access to the latest you damn well better use whatever Apple tells you to use and it's the same thing in the Android Camp it's not the same thing on the internet you can literally use whatever the [ __ ] you want on the internet I can get that Commodore 64 with one megahertz to reply to an HTTP Response now I don't know if I want to implement http2 but
HT P11 yep could do it on a kodor 64 that's [ __ ] amazing and that's why I can still use Ruby and feel like I'm a first uh first tier citizen on the internet wonderful I want I wanted to just I know Prime wants to talk about JavaScript really bad he's pretty much been like bouncing up and down the whole time just ready to talk about JavaScript but I'll just interject for one moment what You're referring to as Gan no I'm sorry uh this just uh the the the thing I wanted to say is
like it a great example of two projects where there is a fork and they live together nicely and have different Visions is vim and neovim like neovim had a different vision for what they wanted but we still contribute back and forth we still send patches to Vim we still like sort of I guess Downstream their patches back into Neo like it's a very nice harmonious relationship and They just have different visions and and that like should be okay maybe in the YouTube comments sections maybe they're not okay with it but what can you do you're
they're always going to be mad about something but like those different Visions can can complement each other and I think that's a really beautiful thing about open source yes and I think this is where the competition lens often comes up short so much of programming commentary is done Through a competition lens like which is gaining which advantage and so on when we can just go like do you know what um there's a lot of advancements we can make for how to make web applications for example just conceptual understandings and how to do it better and
how to do it simpler that could be applied to a million different ecosystems and I look at something like elixir or larel or some of the others that came after rails where go like do You know what I smile when I see some of the rails isms in that and then they have other things a part of it that they come up with something novel and they do something else and I can look at that and go like oh well that's also a good idea I don't have this sense like oh I need to smash
it like I need to own it I need to dominate it I need to capture the full market share of things and this is one of the reasons why I wrote about this a while back I don't want to be Paid to do open source like I fully understand that there are some contexts where that can work out and that's fine but I also think that as soon as you introduce the capitalist ethos into it and I am a capitalist through and through when it comes to my actual capital capital and my actual business so
it's not like some communist plea here but that there's an opportunity for open source for some people to exist outside of that realm and I don't have To then be on market dynamics now they still exist and you can't ignore them fully but like I don't got to smash everything I don't got to conquer everything I don't got to beat everything I don't have to capture all the users I'm [ __ ] running a show here and you can come see it if you want or you can not see it if you don't want either
it's good either's fine I'm not like making it up on the ticket sales so when you have that attitude to it you Can look at something and this has gotten easier for me over the years as I said I I went through some early years where I thought like everyone should just learn to appreciate Ruby and then they'll realize it's the one true language after I got out of that um just realizing you know what this is this is great because again the main purpose here is to ignite the excitement for competence and depth and
just joy in programmers and if I can if someone can See that spark light up in their little brain doing Elixir or lar or Pearl or python or go um oh my God that's great that's great let's share some of the choice toys let's share some of the insights um while not giving up on what we have so this is the other thing too in in a large degree this Embrace of plurality means that within your project and your domain you can go you know what we don't have to be all this other stuff because
We don't have to appeal to everyone to me the most potent example of this is static typing static typing is the one thing I will literally die on the hill for for Ruby we're not [ __ ] putting static typing into Ruby there are a million other staticly typed languages out there there's a bunch who in my opinion sadly went that route when they had a beautiful Dynamic language and then they turned it into a copycat of a static language like G I'm sorry about That for you but if that's what floats your boat wonderful
go forth and be prosperous Ruby no no [ __ ] way no we're not doing that there's so many other choices we don't have to do that we can go like here's an environment here's an ecosystem we believe these five things here's another choice that believes the opposite of those the fact that the opposite exists is what gives you the permission to be truly you right like the choice is there You can do whatever you want verses again contrast here something like the app store right like oh I want to put my app on an
iPhone and I want to do it in a different way I want to no you can't like there's literally just one gate to go through okay then you can get on the [ __ ] barricades then you can get your pitchforks out and then we can overthrow the regime that's fine I'll sign up for that but in open source when they're literally a billion choices and as you Say you're one fork click away from starting an alternative no no so you got to help me reconcile then I would think you would you would then praise
type script Hold Me Out Hold I know I'm going we're we're going a little crazy here because it actually allows JavaScript to have a duality in nature those that love the say typing masturbation as I like to refer to it as they can do it all day long and then those who just want to remain in the in the dynamic world can Just be JavaScript wouldn't that be a benefit of an ecosystem that can actually large tent everybody in yes if it if that was the happy Kaya atmosphere of the debate Within in the JavaScript
Community I think that would be wonderful that's not what I've been seeing I've been seeing especially on the typescript side I mean not just seeing experiencing the kind of Crusades that are launched from the typescript high tower right like literally we went Through with with uh with turpo people opening like [ __ ] PRS to remove things because what Savages are we what unbelievers are we um if we don't accept the true script in to our hearts and that's the problem I have I don't [ __ ] care if you want to write typescript great
again goes back to our discussion if that's the thing that float your boat wonderful don't [ __ ] Ram it down my throat like I'm not going to run typescript in my projects and I'm Gonna work towards a typescript free future as an alternative As One path you can you can choose the fork here right like I'm big on no build and typescript doesn't fit within no build because it's got to be built like maybe I mean I hope not sort of kind maybe I [ __ ] hope I don't know that like I was
gonna say I hope that browsers don't adopt it I'm actually fine actually better than fine I would love for typescript to be possible in a Nob build world like that Sounds great you you like typescript great you still get to enjoy Nob build wonderful but for me living in the reality we have right now no build implies no typic script now again it's not exactly a great loss for me I don't like typescript at all to begin with but um that's where sort of it up right so it's when we have this kind of discourse
what I really get most I was about to say fired up but that used to be true now I just get amused I get Amused by people who will look at literal [ __ ] reality like the fact that we're running hay.com million dooll AR business serving email to tens of thousands of happy customers on a no build setup and they'll go like yeah that doesn't work like what do you mean it doesn't [ __ ] work we've been running it for four goddamn years like I've literally accumulated millions of dollars from the things that
doesn't work what do you mean it doesn't work It's like pointing to a [ __ ] Swan you see it flapping its air flying across you and you go like yeah physics say that doesn't work I actually have a study saying that swans really can't fly so I don't know what you're seeing but your [ __ ] lying eyes are lying to you swans can't fly I have the paper right here and it's goddamn peer reviewed um what at observe reality observe reality and realize if you go all swans are white and there's one [
__ ] Black Swan Then all swans are not wide right like take your preposition and stick it somewhere when we go you go no build is impossible or or actually it was even previous to no build I mean before the mind was fully blown for people was just this idea of whether you had to bundle all your files into one entry point or not right can you serve multiple files and in our case we're serving I think for we're serving 120 uh individual JavaScript files and Someone went like yeah that doesn't work I'm like first
again exibit flying SW Swan and then exibit two just [ __ ] run the the thing you can just compare it right to left and it's it works it works great in fact it has greater greater caching Dynamics on XPR for example you have all these little files that get to live forever because the vast majority of your code does does not churn all the time when you have one bundle the entire Bundle turns over every single time you change a goddamn semicolon anywhere right that's not great for caching Dynamics so we can have a
Nuance actually not even Nuance we can just have a technical debate about the pros and cons of that totally great don't tell me the swan doesn't fly when I'm literally showing you that it does and it's flapping in your Goddamn face um that's the part that just gets me fired up I I do have to I have to jump in no TJ you don't get interrupting this time no there was cuz I was watching this no build thing I actually from your no build I built a no a no build thing for a website and
I was like oh man I just love this and I understand why no build got like why you couldn't do that at one point because in our younger years you could only have two concurrent connections like there was a real cost to having more than one file and all that and that has largely gone away but I noticed nobody talked about the completely amazing cashing capabilities of no build the you are 100% right 98% of your code base changes not ever like that that's it it just is a stagnant piece of something that just gets
delivered with a new hash every week and it's delivered with megabytes of JavaScript and if you're on any remotely slow connection if you're not from the Silicon Valley it actually is a pain in the ass you actually have this nice 1 Two 3 5 second wait waiting for something just to show up and yet you're getting just Rak on the coals on that H like how how do you manage not to just eventually freak out on somebody just being like you're just an idiot because look like how how do you remain calm because I've noticed
a lot of your responses are more charitable and often even when directly getting dunked on they're very charitable despite facts and science behind you you still are Being charitable how does that how do you manage that in the 21st century um the key ingredients actually is age once you grow old enough um you realize like [ __ ] it like what I'm gonna [ __ ] piss match with someone on the goddamn internet um and the Insight is any discussion I have on say Twitter I'm I'm not just talking to that person like there's um
there's a Coliseum here of people watching that and if I just just dump down in the mud and then we start Just flinging do you know what that's going to have some short-term heat that is entertaining to watch I mean I I I'll get suck into the train wreck of Twitter Wars all the time you're like all your [ __ ] and then afterwards I'm always like did I take anything away from that did I learn anything about those tradeoffs did I appreciate anything about that and I realize very often I don't and I think
do you know what I can what can I do to contribute less to that and this sounds Ironic and I'll I'll explain in a second but how can I contribute less of that in the sense where if someone is watching I'm at least planting a handful of seeds where let's say they're convinced that you have to bundle and they hadn't really considered the caching argument they hadn't considered big bundle that turns all the time versus small files where only a subset of them churn you plant that seed in the in the moment they're not going
to hear it they're not Going to acknowledge it because it turns into a team sport and then it's just about like who dunks harder and likes and and whatever but that seed will grow if it's a good argument and if you do have facts on your side if eventually that seed will grow and maybe not next week and maybe not the week after but like a month later someone will go like oh yeah actually I remember that thing let's let's just try it let's just try not to build or or split it up use more
Files whatever let's just try it and see and in reality if it's on your side if you have a good argument is actually going to be the thing that convinces people because what I found is you can't actually convince most people most of the time in real time just with words that doesn't work like the the barricades we have on our brain to protect our ego and our good standing in our community they're so effective that there are no argument no set of words That I can write into a little Twitter prompt that can break
through that in real time it just doesn't happen so the main thing you do is you can Lobby those seeds over past the barricades and then you can just wait and I have found time and again people who show up with the barricades and they're like you're an idiot you're wrong um I I managed to land a seed and then I talk to that person six months later and they go like oh yeah actually that thing you said we Tried it it it worked it panned out not always it's not like a fool um principle
now the other thing is to it's just exposure I was just talking about it like I'm a parent I have three kids and I was talking to a new parent who's body training their kid and they were talking about like I never knew just how many bodily fluids I had to deal with like as you go through that process and I go like yeah you really get desensitized to that amount of literal [ __ ] and piss and That is actually an amazing gift right and I'm thinking this is like delusions of grandeur here but
this is what I'm imagining like a searching in a war zone they're like sir you gotta come over here you lost this leg Yeah two seconds I gotta sew up this arm that's missing right like that person is not going to freak out over a leg which most of us would just like maybe would even faint seeing that right the exposure of just that much blood and whatever and then You don't have kids you I mean you think it Unthinkable to touch other people's literal [ __ ] right like that sounds like what yeah no
amount of money can make me touch other people's poop right like that's not a and then you get a kid and you're like yeah I'm happy to do it well I mean that's an overstatement um I'm in the abstract happy to do it no one is happy to whatever anyway that's what it feels like on Twitter like once you've touched enough [ __ ] s off body parts And some pissing [ __ ] like for long enough you realize yeah that's just what this is I have to accept that like that's what this channel is
and I've struggled more with that over the years than I have recently because I've also seen what's the alternative what is the alternative to sort of this free form often partisan often stupid open discourse style of argument is not that appealing like whenever we go like oh we if we could just have someone police it All if we could some just like who knew what was correct and what was incorrect and they could just take all the incorrect people and like put them somewhere then we'd like have Nana yeah no that didn't work out so
well did it like literally on every major issue over the past five years there's been a consensus or at least one consensus out of multiple that sounds like an oximoron but I don't think it is about what's right and what's wrong and you realize Oh yeah that was that was wrong right like we didn't get it right we didn't have all the facts we didn't know all the things and the only way we could progress towards more right more correct was to entertain some of all the wrong because a lot of the wrong turned out
to be right some of the wrong was wrong and some of the right was wrong but um you you sort of have to just accept some of this and I think there's there's there's a There is a way in here I'm not saying that like literally everyone just throwing piss and [ __ ] on Twitter is like great and we should just Embrace that and that we should be H happy for that but I accept some sliver of it some degree of it and then I also try just to do my part to play my
example of like you know I'm not going to do that I'm not gonna call you a [ __ ] on Twitter even if I might think you're [ __ ] because that's just not what I do in a Public form because you know what we can Elevate things a little bit I can think it I can yell it at a [ __ ] screen um I can go like oh my God I can't believe you're so [ __ ] stupid and then I can sit down for a second and go like you know what I
don't have to tweet that it could just like run around inside my little head and you know what after done four laps I realized first of all the other party will think the same of me that I'm the [ __ ] [ __ ] I will Think the same of me in like in two years about at least a handful of topics holy [ __ ] how are you so [ __ ] stupid that's that's fine it just stand in here and then I can put forward sort of what I'd like to see more of
um and now the funny thing is one of the most common criticism I get on Twitter is that like I'm engagement farming with my positions as though like I'm literally coming up with no build as a way to troll the builders they can't be real people are Actually doing that oh no no oh no that that's that's very real that like the whole thing is like whatever with with hey it was like it was a marketing scheme somehow you're like you built wait you built an entire company and pipeline of Engineers just to troll Twitter
that's the exactly exactly that's where I just go like holy [ __ ] this the amazing Theory this is an amazing l in the world everyone who thinks something else than what I think They're just doing it to troll people you're like uh I mean I think it's amazing I also think it's sad I think it's a little bit like that that dog that doesn't know anything like you have to have a conception of the world where people can believe different things than you and that doesn't make them insane right they can have different trade-offs
they can have different Aesthetics they can have different and all sorts of things just because what to you looks Controversial this is what blows my mind no build is not controversial To Me Cloud exit is not controversial to me typescript no thank you is not controversial to me like these are just the things I believe these are just the things I'm doing this is just how we're running our company this is not some ruse I'm not sitting down like holy [ __ ] you know what I could Spike the internet with today I'm I'm just
doing my work and I'm Then I'm sharing it and I'm shipping it so that's the other thing about like the swan right like hay.com is an actual [ __ ] business with actual [ __ ] customers so if no built was This Disaster that couldn't work at all and it was just a pile of [ __ ] do know minding customers we'd have we'd have zero do you know how many customers we have tens of thousands like this is not conceptually coherent as a way to think about other people's position that like They're all just
doing it for the trolling they're all just doing it for this um no I also want to make money and the way you make money is you sell things that people want at least some people some of the time um if you're making just something that's so dumb that no one would ever buy it yeah you're not going to last that long that's the other thing I have with this is I I've been doing this for 20 plus years and that first of all makes you Sound old but also it also makes you sound like
there's some stamina here like I'm not like I'm not in it for one Twitter slug we're just going to punch at each other for a little bit and like then I'm done like I'm out no I gota I gotta keep doing it so if I go like oh no build great yeah I gotta [ __ ] work with that [ __ ] next year too when it's no longer a Twitter thing right so again the the the cost reward ratio here would be very off if these ideas and these um Approaches and directions were just
about the ruse yeah I I I totally agree I have another topic that's related to this but first I just want to do a quick Time Track I don't know how much longer you have to hang out with us and talk oh this is good no we can go for for a bit further here let me just see if I have up no I don't that's just okay sweet keep it rolling okay because uh people want the general conception is this Could go on for five hours and I would not be upset so just just
so maybe not five hours maybe not five hours we can roll another until the top of the hour oh sweet okay great that'd be awesome because we'll probably talk maybe one maybe two more topics then we'll start taking a few um audience questions so one of one of the things that uh you had said about sort of recognizing that your past self didn't understand something and then understanding it much better Later uh that I really sort of like resonated with on a not technical but personal level is is from your article about children of you
um and just uh maybe maybe you can sort of State uh summarize what your position is about uh the feeling of having having kids and the sort of life change experience it is is something Prime and I have talked a lot about so I just think it would be kind of fun to have a sort of a non-technical side discussion about that Aspect I think it's a great question and one with great wait literally for the future of the world but I also do think it has interesting funny sometimes hilarious parallels to technology and I'll
start with it in the sense that a lot of Technology that's very popular a lot what you will hear is all the reason people don't like it like if you go on some board and you look up um some car model like actually yesterday I was looking at an alpha romero um Julia and I was like oh I hear there's something about reliability issues maybe so I go on the boards I search for it and you know what I find I find a bunch of reliability issues because you know who [ __ ] writes on
the internet people with problems so that's what you see you see people with problems outnumber the people who just go on with their marry life not just go on with their life but loving it right loving their Julia in This example outnumber 10 to one 100 to1 one a thousand to one I think that's a little bit what's been happening with Parenthood we have actually been inated for I don't know how long with all the ways it's shitty to be a parent it's [ __ ] expensive and like how could you even do it to
the climate and like all these other diesel [ __ ] crazy ideas of how we could turn oursel into Extinction right like all that like that's been the prime Thing because do you know what that's nor the people would just go like do you know what the laughter of my four-year-old is literally the most amazing sound that exists in this world most of those people don't go to Twitter to write that like it sounds banale and it sounds banale because it's so universally true that it feels like I don't need to say that right yeah
right up until the Thousand to1 ratio has poisoned everyone's head into thinking That having kids is just this just insurmountable Challenge and I'm like do you know how you [ __ ] got onto this Earth there's literally like five million years of people who have it far worse than you who had to fight [ __ ] literal cyer tooths if they didn't fight a saper tooth back then you weren't here right like that's your great whatever triple 50 times ancestor so you're like fretting over the fact that like h i don't get as much free
Time to drink mimosas then like what what like I I wanna I wanna I want to play some more Call of Duty like on my free time um I think we need to correct that ratio somewhat by some testimony of just how God damn amazing it is to literally create life from like stuff floating around like right below your boxers like that turns into this amazing kid Who I would literally in any at any second with no hesitation sacrifice myself like I don't have that level of Devotion to any of my ideas any of my
creative Pursuits any of of anything I'd be like you can't do Ruby and rails tomorrow I'd be like oh man that's a real bummer okay I'll figure something else out like you you start questioning like the the future of my children and I'm like yeah I will nuke a billion people like okay where's the button like If if that's the trade-off here that's what I'm going to do now that sounds insane and that is actually the appeal of Parenthood it is an embraced shared form of insanity and Insanity from the perspective of like I don't
have kids because it sounds so far out and it's so hard to relate the Elation the life satisfaction that comes from having children that it's almost like the other thing we talked about like it's actually difficult to use words because words can Describe like the things you know oh less free time for my mimosas and Call of Duty oh I know that I know Mimosa I know Call of Duty like I can hold a controller traded up against like literal life literal [ __ ] life you created you haven't created any other life it's not
like oh yeah I was just doing some biohacking in my basement and came up with this mutant that was really cute like that's not a sort of experience you've otherwise had right so You' literally don't have a context to relate the words to so when I say like I would sacrifice myself in a heartbeat for any of my children for almost any reason like that doesn't it doesn't like it doesn't hit right like it doesn't go in there because there's no there's no slot for that information to penetrate do you know what what's interesting is
I've had another topic where I've faced this and this is about uh wealth so I became a millionaire like Pretty early in my life I I think 26 no what was that 27 something like that and I I had this conception that life was just going to be just a puffy Cloud after that right like what the [ __ ] you mean I don't have to worry about any money of any kind oh man I'm just floating on the cloud every day is amazing every minute is a feast everything is no no it wasn't right
and then you realize it's better like I'd rather be rich than I'd not be rich but It's also not like the thing you think it is but I can't use the words I have from that experience to tell you that because first of all you can tell me I'm full of [ __ ] [ __ ] it's just because you got yours and all these other things and you can't actually conceptualize what life is like after that it's a little bit the same thing now the good thing is having children is far more accessible than
becoming a millionaire so it literally just requires you to find Someone that um hopefully you love but at least that you can tolerate for like hopefully the rest of your life or at least until those kids are are older like that's I mean the whole human race did that like that's why you're here that's why we're here like the lineage 100% hit ratio 100% hit ratio all the way back to the dawn of man for you to be here people did that right so don't tell me it's that hard this is one of things Techniques
I often use to make myself learn something or realize something like I'll um I don't know try to learn how to surf like surfing is actually kind of hard like the first time and it takes a lot of uh you get one shot right on the board you [ __ ] fall off and now you gotta swim all the way out to the wave and you gotta wave until the right wave and I would often go like this is too hard and then i' go like in human history how many people learned How to surf
it's got to be hundreds of thousands maybe Millions am I that stupid am I D uncoordinated that literally a million people could figure it out and I couldn't figure it out and then I think about that with Parenthood too like how many people like what is it 150 billion people have lived or 100 billion people or whatever it is all of them all of them figured out how to be a parent to varying degrees of success or capacity whatever but they did it right Like that's that's why we're here so 100 billion people can I
figure it out too yeah I could probably figure it out I could probably figure it out and then um not just figuring it out right that's a mission statement that's like I need to solve a task but once you have kids again it's so tried and that's what's so amazing like you want to say things like it completes me and like you you'll actually like mean The Words which sounds so [ __ ] stupid I think I Think I would have thought that before I had kids um but I just go like of all the
things we could try in life there's a lot of things you should try you should try at some point to pull 3GS you know it's really fun when like you barely can hold up your head and you can try that in a race car you can try that in a marry go around um you could you should try to if we're talking to progr is here you should try to like release a piece of Open Source or at least submit A ticket to something that's a life experience you just go like your life will be
richer afterwards so take those little things right like try 3GS do a pull request create life like where do you think it [ __ ] ranks where do you think it ranks it ranks for most people actually through all of human history number one number one I mean you have literal [ __ ] conquerors who somehow enslave half the world and they'd go like yeah I will die For my children like that's what it is and it's accessible like all the way down here 100 million 100 billion people did it like you should do it
too so huge uh endorsement of the idea that children are good and you should have them even if it's for selfish reasons which is what's so amazing that even if you're like I want to create a child because I want to create life in my image it sounds like you're [ __ ] God right so you do that and then you realize in the Act of doing that almost anyone who goes through that process will become the most selfless person ever that they've ever known in relationship to that new human we just talked about the
the potty training right there is literally no amount of money you could pay pay me to pick up your [ __ ] like you'd go like you know what here here's a billion dollars you just have to like assemble my excrements with your hands I'd go like keep the billion now fair enough other People make a different Choice there but I'm not going to do that do you know what for my kid I'd say yuck and I'm going to do it I'm I'm the selflessness it sort of injects into your goddamn being is next level
um and I know some people have found that through LSD or whatever okay great I guess but also like just make a [ __ ] another human like we need them like if you all stop there's literally not going to be anyone left like that's a truism there and like It's going to suck it's going to suck we should we should make more children and all the ideas the desel [ __ ] about like whether you even have the right to do it because climate blah blah take that [ __ ] out the back I
think one of the things I relate to most when you're talking so I I have three kids we just had our third kid like two months ago so I'm had four I'm a winner I know yes you're beating me I get it but you're also way older than I Am so relax okay um uh but the when I was reading through this one of the moments that I thought of was and I've had this for each of my kids but especially like when it happened to my firstborn as I'm like rocking him at like 1:00
am after he's been crying for a long time and all this stuff and you like look down at him and like I have a great relationship with my parents like we see each other all the time they live right next to us we moved back into town So we could be close to them all this stuff right but like looking down I'm like oh like this is what my parents meant when they said they loved me you know what I mean where like I knew they love me before they've done so much for me they've
sacrificed so much for me they don't but you're like looking down at your kid and you're like oh yes I didn't get that before isn't it amazing it's it's such a common Experience like it's not some sort of exotic thing like literally everyone you've known has gone through it and still oh that's what they meant you couldn't actually know it through words it's one of those experimential things where you have to be in that position to understand that truth that's amazing I am always just fascinated about the things where like I know I can't understand
it unless I do it and there's again on the much much smaller scale There's a lot of that around right but the creation of life and seeing yourself in an image is just so far up there and the other thing I'd say with that is is I didn't even I mean I didn't walk into the experience of being a parent or the desire to be a parent from like knowing that like I was actually a little hesitant I will say I was like yeah you know what yeah maybe someday whatever then I happened to meet
the right woman who was like no like we should do this I Was like yeah it sounds good but like later and she was like what about now um and it was one of the things where like if I had followed my own instincts and my own impulses I would have literally made the biggest regret of my life like I would have maybe I would have waited until was too long I have friends who didit until it was too late I don't know if it's literally too late but like it's not once you get past
40 for example like things get a lot harder and you Have a lot less energy and and whatever um and I just like wow this is one of those things where I was just wrong like I was wrong about the timing I was wrong about the payoff if you want to put it in that way I was wrong about the magnitude of it I was wrong about all my levels of comparison like I would think about all the other things I've done in my life oh I really like that part I like that part and
then you introduce this another thing where it's almost Like you just changed this the y axis of like meaning and it just oh [ __ ] I thought it stopped at a 100 but it actually goes to a thousand I didn't know wow now there's a new DOT up on the [ __ ] graph here all the way up in the corner off the chart so so I heard a really great way to kind of visualize what you're saying which is imagine you have a jar and it's just filled to the brim of ping pong
balls and someone comes to you and says Is this thing full you would naturally say this thing is full and then they take Skittles and just start dumping them in the Skittles just start filling it up and they go now is this thing full and you're like well of course it's full now and he's like sand and just starts druming sand in you're just like okay I didn't realize how much room was left and you can keep doing that you can then add in water at the finally like the very very end you realize that
there's a Lot more room and for me it was the exact same thing my mom always told me uh I grew up super super poor so she always told me you'll never be find financially or emotionally ready to have kids and she did not foresee that software engineering could actually make the common person have a decently good life so that was not on her radar that was even possible but the rest was and I still remember that where I thought I had a lot of care in my life I thought I Was full of all
these things like big emotions and all this and I could really you know I I had a lot of command over my body and all this kind of stuff and then I had a kid and then it changed me drastically I would not have been nearly the person I am with the the desire to do things without like that requirement because for me I didn't live up even to myself without that so that's always my big kind of driving thing is that you just don't even know who you are until Your life becomes in second
place like when it's still in first place it's really hard to really know yourself is when it goes the second place you go oh crap like I really have to think about things so much differently like when I'm at my job is surfing Twitter okay well maybe not maybe I really like I'm in second place here I got like really focus on what I want to do on how I want to accomplish it what tasks do I do or don't do and it's an extremely it's it's The impossible thing to describe to somebody I wish
it was simple but it's not and not everybody wants to do it I get it in our day and age it's not even a requirement right like we live in a world where that's not even a thing for most of History you needed kids because like your joints started hurting and those saber-tooth didn't uh kill themselves so it's like I need kids to like not die and so it's like we live in a different world now but the value and The joy and all those things that are just hiding under the surface are still all
there and it's I don't know I I re I can't I get really pumped up about it just as someone who had both sides of a good and bad family I I think to oh go ahead well I just going to say that what is so amazing to me when you look back upon history is we're living in a grand experiment this experiment where it's no longer needed right it's no longer necessary the Sabertooth is not after You at least in a literal sense um so you don't need to do it so what happens when
that pressure is no longer there that is a fascinating experiment and the closest parallel I can draw that is Art you look at the reason I call that post a children of you was because I was making a parallel to the children of men which is an amazing movie about what happens to the world when everyone goes in fertile at once where literally no new children appear in the World that depiction was that everything falls to [ __ ] for perhaps exactly the reason that you're pointing out that if you have an entire generation who
are still in number one position they have not yet moved into number two position they don't have the same drive and instincts to maintain civilization in a good working order this is also one of the reasons why classically say political leanings have a tendency to sometimes migrate once people go through That switch oh I was used to be number one there were certain things that really mattered to me now they're number two also things about like where do you choose to live and and all these things right that force that was just nature pushing on
us and we got it automatically now we have to choose it I very curious to see how that movie turns out I don't think it's GNA turn out that great for the people who choose wrong and again this is also one of Those things where the whole post most modern thinking like there are no right choices there are just different choices and seeps into everything this whole uh idea that the highest we have is just consent right un if you affirmatively want to have children like that you're right and if you don't you don't and
I get all that like that's that's what I've grown up in that's what I've been marinated in and I also didn't look at that like yeah I don't know how it's Gonna pan out it's really interesting human history is full of these terms very sharp terms I've been reading um this wonderful history about uh East Germany about what happens after the World War II and how the country is divided and how Bon is divided and you get you're like this happened 80 years ago like I there are people alive who went through that and you
read some of the concrete bits of it and go like we have no [ __ ] clue no [ __ ] clue Which way the world is going to turn in five minutes and we're running one of these Grand experiments like let's just stop have children and I I I to some extent like I'm just fascinated to watch that show and in another way I'd also like I'd like to be like on the other side of it reading the book about it where we were like we were done with that and we went back to
2.1 plus um so anyway it I think this is Also why it's actually it's good to have some of these Crossing streams that we're on a technical stream for programmers and we're go like do you know what you should have kids that's what you should do now uh I think some of that encouragement is actually good and I think we've lost some of that in this modern era of post modernism that every choice is equally valid and you just do whatever is right for you we were just talking about that like I'm Actually on bond
with that in some ways like that's that Duality that fights inside your head like do you know what maybe there are things that are just like good maybe there are higher virtues maybe there are things that we should push people somewhat towards pursuing because it's going to be good for them and it's GNA be good for all of us right that's not a fully formed political theory in any shape or form yeah along with that I think a lot of the sort of Things that we've talked about as they apply to programming like a quote
that I really like uh was meaningful problems are the most valuable human motivators about finding problems at work and then like getting value out of that but it's also sort of like a more broadly speaking like it's a meaningful problem to like figure out how to be a good dad and like that gives me a lot of motivation in my life but I am getting told via the time And also a great question from Lex that we are about to transition into topshelf time so that means if you are in topshelf in Prime's Discord stop
sending messages in top shelf but just ask a question and then thumb up or thumb down them so that we can answer them so don't type anything in here we're going to delete the messages if it's not a question so that I can ask them to dhh um but we'll start off with our question from The Lex Freedman great conversation Prime T and dhh question for all three from your perspective as neovim users welcome to the club by the way um what to you are the biggest pros and cons of cursor please don't kill me
for this question laughing emoji in a donation message too impressive to go for laughing emoji in a donation PSC later Prime keep up the great work that one was just from Lex to you prime I just wanted to make sure you saw that so so cursor as the first as the first sort of Top shelf question you remember to go yeah we do you're the everybody already knows our opinions I I shout my opinions every day live you're you're the one that's yeah all right uh I'll set it up and the setup is I'm undecided
and I'm undecided in the sense that I like a lot of what AI has brought to the table I feel like um the projects I've done since AI has been available I have enjoyed slightly more and the fun Thing about enjoying them slightly more is not that AI is writing my code it is that AI is a superior Google is a superior stag overflow is a superior API dock whatever it's a superior way for me to get answers to the questions that I have in real time without all the work it feels a little bit
like we were talking earlier about what it was like learning programming for the internet do you know what I'm sure some people look back upon that with some degree of Nostalgia I don't because it didn't work for me I didn't learn programming before the internet it literally took the internet for me to learn programming and part of that was that there was a Google or an elav Vista before that and you could search for things and you could find out and other people had the same problems and it was better and it was faster I
do not want to go back I don't want to go back to the pre- internet age of programming even though I'm sure There was some cool [ __ ] going on and some Wizards figured it out I wasn't one of them I wasn't part of that wizard club that could figure it out without the internet so that setup is to say that like I enjoy AI as a better version of that what I have not enjoyed is to have ai write my code and I got a small taste of it in a recent project I
did with aakp amak coup is my sort of remix if you want to call it that of auntu that sets up a takes a a fresh auntu and Turns it into a programming environment that I would like to use that is literally what I do use and I decided quite early on to write it all in bash and one of the reasons I wanted to write it all in bash was um Ruby could do this Ruby's a great language for writing shell Integrations and whatever but I hadn't done that much bash and I was like
you know what this seems like the right pressure I don't want to do too much this shouldn't just do everything It should do just enough bash is the right language for installing packages and a few other things it'll have the good constraints and I was like I'm not a bash expert so AI really helped me on early on just like oh I want to write this and I'd usually write a piece of Ruby and then I'd ask for the bash version and I really like that because of the initial speed up but what I also
found it was so easy to keep the training wheels on like I found myself Asking AI the same question for the fourth time because I somehow had picked up on the fact that I didn't need to remember anything and then I realized you know what I don't like that like the training wheels are great when you're first learning to balance but if you keep an on forever you're never gonna [ __ ] find balance you're never going to get the true understanding and so forth so I have a very mixed relationship with it where I
really Enjoy it as a better Google as a better stack of I enjoy it even almost like as a sort of pair programmer AI pair programmer who doesn't drive who's just there to give suggestions to know the API to do all these other things but the second it starts wanting to autocomplete my code I'm like yeah I'm out bro I like the code part this is one of the reasons I like Vim like these are manual text manipulation moments and movements and I enjoy doing them it's like saying hey You can play Street Fighter too
but you could also just had a robot playing it for you and you could watch yeah no I want to [ __ ] move the joystick man if I'm not making a haduken myself just timed right like what's the point if I just have someone else playing for me what's the point then the point is just the outcome and that brings us back to my origin story of programming I have basically two phases of my programming life one that was just focused on Outcomes I wanted programs and whatever the [ __ ] I had to
do to get that I would do that and then I had the second phase post Ruby where I enjoyed making programs like for its own sake I'm still in that phase I'm not [ __ ] handing that over to AI That's the part I enjoy the most to some extent like I want to do the typing I want to do the [ __ ] combo moves I want to feel like I'm the one who's in charge here um and maybe there's some Nostalgia here and that's Totally fine too again um maybe like I'll tell the
story in like five years when AI has taken over everything like I got to program while we still have to do it manually and I great amazing I'd also like to still have a horse if I was into horses even though there were cars around right I can accept that progress May render what I do either irrelevant or just not the uh Vanguard of of economic activity like it can stop being a profitable economic activity for me to Pull off sick B compos like I I can accept that right that might not be something that
the market wants to pay me to do anymore I'm still going to [ __ ] do it like why do you think people are still programming that commodor 64 1 megahertz machine because they're trying to no because they enjoy doing it because they they enjoy the challenge they have a meaningful obstacle in their way and I want that meaningful obstacle and it's not [ __ ] Prompt engineering it's not now the other thing is this might not work I know there's literally like [ __ ] five trillion pouring into Ai and some very impressive [
__ ] has come out of it but it may also not work like we may literally never get to the promised land we don't even understand how the current AI works like I've listened to a bunch of interviewers from all the [ __ ] smart people who are working on this and like half the time they're like yeah Like um there's a minus one here and it connects to the plus one there and like I don't [ __ ] know why that produces a new version of Shakespeare but like that's just what it does so
we are a little bit in this magical space where we just don't know there are a bunch of people who are totally convinced in much the same way that Elon Musk I'm sure very genuinely believed in the middle of 2017 that by the end of the year people's Model S's would just be driving Around and um well just G to turn up the light here would drive around and make them money that didn't happen but maybe well next year it's possible right I remember I've given this example many times I remember watching The Lawnmower Man
I don't know if I of you to have watch that the lawnmower man was a sort of a be movie about virtual reality that came out in 1995 it was totally shitty movie but holy [ __ ] the image of floating around In VR as being an avatar and you have the gloves on and you have the mask I was like this is [ __ ] amazing like in five minutes this is going to be how I'm living I'm gonna be inside this thing I'm gonna be an avatar I'm gonna be and then 20 years
later suckerberg Plows in 40 billion into that like that's going to happen it's going to happen and like what five people in a dog showed up like no one wanted that to happen VR has literally not happened There's a bunch of people playing Beat saver and that's fun but like this Lawnmower Man reality of us all floating around in VR no one wanted that I don't want to [ __ ] look at your weird ass uncanny valley Apple ski mask Avatar thing that like correctly simulates the moving of my eyebrow I'm like no and so
does no one else that [ __ ] thing bombed harder than let me not make a parallel it bombed right now again lots of things bomb and then you give him Five years then you give him 10 years and it works you just don't [ __ ] know you don't know you can't tell because no one knows anything no one can predict like what's gonna happen what's going to be reality that's what I find so wonderful about AI it has such bright promise that is actually obvious to almost anyone who uses it like I've not
found yet a person who' actually used AI who weren't at least slightly impressed we can make computers do That sick but also is it going to rewrite Society um maybe for as long as I can I'm G to write manual code I'm gonna [ __ ] pull up my Vim Combos and I'm gonna tweet about how excited I am for discovering a new one and I'm going to just enjoy that and maybe there's five years left of that okay great I will enjoy those last five years actually it won't even just Be the next five
years because I'll also do the five years after that right and the other 40 I will continue to write programming just because I really like it just like I continue to play [ __ ] Street Fighter with my kids because it's fun even though a bot could do it better than I could that is so dang good and a lot of that mirrors kind of my similar feelings which is a lot of the reasons why I program is because I want to program I Like the experience and there are you know it doesn't happen as
often these dayss just because I you know I'm not saying I happen to know everything but I just know so much that when I see a problem I can see how it should just generally be outlined and so I can just kind of start flying on the keyboard and start doing it but every now and then you like see something from A New Perspective like that almost like you get like forced uh Epiphany just like Land on you you're just like oh that is so incredible oh my gosh because that's like the thing that got
me more excited than anything else in programming was learning how linked lists work the fact that a linked list could reference itself and you could all you could just see it shoot out into memory and you're just like oh my gosh like that's oh like that's really neat like oh my gosh this is the neatest thing I've ever seen in my lifetime and I still remember that as Being probably the most consequential moment in all of programming uh and it's really the reason why I've continued to keep doing it and I do see from the
top shelf people are asking what is kind of like do you have that consequential moment that made you turn from like oh I like programming into like whoo like kind of hit with that Epiphany or some moment that's like I will do this now from here on out oh it's Crystal Clear discovering metaprogramming in Ruby Discovering how I could make active record for those who don't know I'll type it out literally through my mouth because it's so simple class person and or um less than active record base all right now we declared our class next
line hasore many space col comments end like that's a class like that's an active record class that has a one too many relationship with another class Called comments and it'll wire it all up with the database so you can pull it straight out holy [ __ ] bols when I found out like that I could do that that I could write dsls that I could write these domain specific languages and like I would just I I I'm imagining in my head this is what's so great about Nostalgia from 10 20 years ago you can just
rewrite it such that the movie gets better like I'm imagining like by putting up my hands looking at the hands I did this right like just a sense of power that like this doesn't this doesn't even look like a program like how is this how am I doing this and then thinking do you know what I could build a whole framework that's just like this all the time where we're just flowing through things through metaprogramming so finding that metaprogramming in Ruby was probably if I was to pinpoint one Tipping Point that was it that I
could do that myself that it wasn't something A language designer had to do it wasn't something that Gosling had to put into Java to allow me the little peon to be able to do it no I could write at the same level of expression as [ __ ] Matts who designed the language you could not tell apart that class statement from my has many statement they both just looked like they were keywords holy [ __ ] I was hooked I had a similar thing uh it like it's kind of metaprogramming but like with a space
in Between instead of the concept where I found out when I was in college that like this new neovim project was coming out and I was blown away that people could like write code and it could change what happened in their editor right so I was like writing code to change how I programmed and I was like this is awesome like my only experience before this was like Eclipse you know in the computer lab right like I grew up very knowing in my family new computers Anything like this right so it's like oh I guess
programming is always just an eclipse and like sometimes it just crashes you know and you're like oh my goodness but I can take all the skills that I know about writing software to solve problems and I can just solve my own problems and I was like mind blown I am in love it's incredible and I think that's the that is that dopamin Tipping Point that I try to find as many invitations as I possibly can to stick them into rubyan rails just so people can find that like golden Wily Wonka ticket in like 500 different
places and there's unlimited an unlimited number of golden tickets an unlimited number of tickets where if you find the one and you get the aha moment and you get the dopamin hit you're gonna be in you're gonna be hooked right like because I kind of was I don't know if I was bumped that's not true I like Everything the way has happened I'm more FY I don't want anything different but I recognized that I was programming for literally like at least two years maybe three years before that moment and that was a very different type
of programming it was not the stuff we're talking about here so I'd be like do you know what would have been nice to have that happen in the first week what can we do just to more programmers in their first week or first month first quarter get a willy Wonger ticket to exactly what the three of us are talking about that experience of like holy [ __ ] I have the Magic in my fingers and I can make the Silicon dance to my liking that is uh an incredible addictive sense of power that sends most
people I think who've experienced it down this rapid hole of expertise and competence speaking of uh dopamine hits uh someone asks uh sus user sus of course uh in primes Discord but uh how did you get into racing and like why Racing good question um I always like racing video games the one that stands out most to me is actually on the Dreamcast called Metropolitan Street racer I think it from 1999 that was the first racing game that to me felt close enough to the idea I had of my head of what real driving was
like and developing the expertise of sliding a car into now what's funny is it literally took me six more years to get a driver's license I grew up in Copenhagen Denmark I did not have a car or driver's license until I was 25 I got around the city on literal [ __ ] roller blades I kid you not that was my main mode of transportation growing up I would roll a blate to um high school and and so forth it was just a great way to get around a very walkable City small City you didn't
need a car anyway at 25 I get a driver's license because I wanted to travel to the US and I'd heard like you're kind of screwed if you get To the US and you don't know how to drive a car you're not going to get very far so I get my driver's license and then I ended up moving to the us as part of joining 37 signals uh just like seven months later or something like that got my first car um an Audi S4 which was this amazing experience I landed and then Jason my business
partner was like all right you got to get a car and I was like okay cool let's go to the dealership and from Denmark I like had picked out this very sensible Audi S3 which is this hatchback or not S3 A3 hatchback sensible thing that could go to grocery store whatever we go there I drive this car and literally in that moment I decide to in my entire life savings at that time we were already making a little bit of money I think I had like I don't know I think I literally had like $40,000
in the bank and like I just blew all of it on that AUD S4 so there like literally Almost zero dollar left in the bank I just bought it out right and that was a fun experience um which also resulted in me learning just a few days later that's like there's cops on the inner State and like they will actually pull you over if you so not only did I get the experience with like American Car culture quite quickly I also got the experience with American Highway Patrol quite quickly and I was like this is
like being in a [ __ ] movie I got this guy walking up At the side of the car like his hand on his gun and I got this other guy in my rearview mirror who also has a side of the Gun there's like sirens off and I'm like halfway scared to death halfway super excited like I'm in a [ __ ] movie what's gonna happen um I just ended up getting a ticket so it wasn't it was anyway that was a lot of fun and then um two years later a friend of mine took
me to a racetrack I literally just had my driver's license for two years Took me to a racetrack I sat in a real race car like a formula MAA from early 90s I think which a manual shifter single seater all the stuff it looked like a miniature Formula 1 car and I go out on the track and I drive that around and I come back in and I remember actually not being able to articulate like it it was like if someone had like overclocked my CPU by like three times and then try to like bolt
on some cooling just to keep it together for Long enough that I like wouldn't crash and just to come in and I just went in I like that was cool like you know that is an understatement of that was cool that was [ __ ] mindblowing to drive a car on a RAC track a proper race car and then I really got into it I spend every weekend for the next couple of years on just getting better at it being at the track and then at towards end of the 2000 2009 or whatever rails or
Bas Camp was doing Well enough that I could do some of this stuff more seriously I was like do you know what what's the biggest [ __ ] race what is the biggest [ __ ] race I want to go to let's just set that the bar and like 24 hours of Lamar the 24 hours of lar which is this um famous motor race in France that's been going for literally a hundred years I'm like I want to do that and then it became a mission how do I get there as quickly as possible so
I just sort of got into that Anyway what's interesting for programmers to me is that there's so many similarities you can think of a track as a clock cycle like you have one clock cycle around the track right and if you can optimize that if you can do sort of more work do more of the right thing you go faster and you get immediate feedback it's like doing micro Benchmark optimizing which can be quite fun where you go like oh I just did another thing In that turn 11 I went two t0 quicker let's try
that again let's can I replicate that can I do more of that how much do I have to do to get all the way down there so that's fun that's on an individual level then you zoom out to the team level and it's like a miniature company like at the kind of racing that I do this company comes together at the start of a season all of a sudden there's like 25 people who kind of have to figure each other out and like who's Full of [ __ ] and who knows their stuff and who
do we need to replace like all this stuff right it's like doing a startup but if you just compressed it down to like six months until the IPO right like you have the whole thing it's got to happen in six months not a lot of time it's a really fascinating way to get to know people and quickly sus out competence and all that stuff so I draw a ton of parallels I try to move a bunch of things I've learned about programming And running business into the racing world and I take a bunch of it
back out again and then it's also just hell fun I mean I picked that example of the 3GS for a reason um you should try that once in your life like it doesn't have to be you driving the car at 3GS but you should drive in a car where you're pulling over two G's that's really the magic point for me you can in a street car like a Tesla Model S whatever can accelerate in literally 1.1 G and it feels crazy it feels like sickening uh a roller coaster in some ways you can get some
G's to be in a [ __ ] race car sit with your goddamn helmet on feel that suddenly your head is three times heavier than what it was before and that you can't hold it up because you don't have enough neck muscles that's amazing one of those Peak life experiences I can highly recommend i' I've never heard someone recommend having your neck actually Crashed by by gravity like you you only have an artificial hold up to keep it like I would die I'd be dead if this didn't happen that's why it's fun actually that's a
great point do you know what it is the the spice is that if you don't do it right it's at least going to be expensive it may very well hurt and you could legitimately die now I don't I don't want to die but I want to know that I could like as a somewhat remote option because that brings in Just enough to like I'm alive right like there's just enough of like the taste of it and I've had some crashes they weren't great um most of them have just been expensive not that painful um but
I've also seen it go wrong and again is that's not a glorification of death per se like there's a bunch of things I think those squirrel suits you know those one where they jump off a cliff that looks like the most amazing thing ever that I would absolutely goddamn Love to do but the mortality rate is one in 10 yeah no no I can't take those ODS like literally one out of 10 who do the squirrel thing on a regular basis crash into a mountain and they die that's how racing used to be if you
were a Formula 1 racer in the 60s I think the mortality rate in the 60s was 177% or something like 17% of the people who started the grid didn't make it to the end of the year because you crashed one of those old cars and it birthed into a ball of Flames and you were gonna die or at least get disfigured I no no thank you I like I like just a little bit it's it's kind of like a seasoning right like you can have a bland meal and like I like a little bit of
sriracha on it don't [ __ ] Jam in a goddamn whole Chili Pepper that's going to spoil it for me too much but a little bit a little bit of spice and race car driving has just enough of that where you go like I'm in contact with something that is five Steps removed from the Sabertooth but like I can squint and imagine that there's a little bit there that like I actually do have to run otherwise I will get eaten um I like that that's good that was so good I like this idea of just
a Ju Just a little bit of death just just a sprinkling spritzing really all right so I have a great question and I I know our time is running to an end so you can answer this one pretty quickly and I think this is a good one And some good advice you can give to a lot of people because I know a good 20 percentage of the audience is in that new grad to just trying to get hired phase and so what do you see is the biggest problem or what what's the biggest problem you
see with new hires in programming right now oh that's a good one well before you even get to that step if you're applying to a lot of openings and you're using AI to write those cover letters and Whatever realize that so are a bunch of other idiots and what someone who receives a lot of those see is all of it and it smells the same and it looks the same I can tell when AI wrote your thing because it uses the same phrases in the same setup as all the other ones so you look like
you you you look very smart when you think you're just looking at your cover letter right you wrote Whatever version you wrote and then AI made it better well realize that when I Receive it there's another [ __ ] 50 people who did the same thing and it looks like slob even though it looks better it's slob so that doesn't work I would highly discourage that maybe AI is going to be amazing tomorrow and could do it in a way where I can't even tell entirely possible today no so don't do that that would be
step one the other step would be um just get involved with something anything um when you're hiring a when I'm hiring a junior programmer You're not hiring on accomplishments you're hiring on promise and you need to see the sparkle somewhere somewhere there's got to be a sparkle sometimes that is um a pull request to to an open source thing sometimes it's a thing you did on your own sometimes it's a a cheat sheet that's very nicely formulated sometimes it's it's something right like it's very hard to actually quantify because exactly the problem is you can't
look at track record that's Juniors Don't have track record right otherwise they wouldn't be Juniors so you have to look at the sparkle so you got to find I mean that's very [ __ ] bigue is that even actionable I don't even know if it is actually let me put it a different way commit to becoming good commit to be not the [ __ ] dog that doesn't know [ __ ] commit to like I will figure things out and I will it'll take me a long time in the beginning but I will drill down
and I'll figure it out that will be the One thing I will say from actually having hired some Juniors wherever the sparkle was what to me made them stick and US thinking it was a good hire were people who were willing to do that like they didn't know everything again that's why they're juniors but they were willing to find out they were willing to peel back the onion until they got to the part that was brown until they got to the P that didn't work and needed to be cut out that um I think is
actually Something that may atrophy with AI and again maybe we're worried about [ __ ] bicycles because it turns what was it it turns young people crazy that was one of the things about bicycles or or books are dangerous because like I've been through multiple rounds of this right so be a little self aware there but just don't give up on this thing you're G to figure things out um and and try to reflect that I think actually bug reports is is another good way even if You can't fix the issue you're finding in open
source piece of software I can see a lot of Sparkle in a great bug report someone who could reduce the issue that they found into the smallest reproducible element of that that's more about thinking that's more about your analytical process doesn't rely on track record doesn't rely on super expertise in some particular framework so find a way to exhibit that quality and then just Be be good this is I get this all the time so for the last hiring round we did we got 1,500 applications right and a bunch of we have to reject most
of them obviously that's how that's how it works when you get 15 we can't hire 1500 people we're 60 can't hire, 1500 people a lot of people wanted to know why right why did I not progress well first of all just think about the mechan like that's actually a trick question in anyone who asked like why can't I get a detailed Response from you as to why I didn't progress haven't done the basic mass of thinking 1500 people times five minutes is 7500 minutes is three [ __ ] weeks of non-stop eight hours a day
writing feedback to all applicants back no that was a that was a hiring question and you just failed that one but even beyond that um I I can't tell you I can just tell you that the best person progressed you just you just got to be good and and This is such a frustrating answer because you're like well then I want to be good yeah okay then you got to be competent oh well how do I become competent well let me show you here's a 10e career prior to to discovering that but there's no there's
no shortcuts and I think this is often what's behind the question people looking for a shortcut how can I like not do any work but still get the job yeah that's gonna be hard Buddy dang that's uh that's real I man I I can't tell you I've had this problem where it's like I want to produce things and I think I think a lot of people feel this exact same thing I think this is where a lot of uh people are putting putting a bunch of Bank on on AI which is there's two forms of
operation there's one the operation of learning the thing for the sake of learning the thing and there's The second operation of building something to get it out there for people to use and often they can come at like they can come highly tensioned as as we all know that sometimes you just have to get the thing out there without learning about it and luckily in my older years I've had more time of spending learning and all that but in my younger years it was all about producing the thing and I feel like this is such
a hard balance and how do you convince people where to Kind of put that because I do think building something just to understand is worth a ton and it can do wonders for your career but in the immediate it's really not beneficial it's you know like no one's sitting there going oh wow I can't believe you know how HTTP 1.1 works right like no one's going to patch you on the back for that but it can be that one little thing that you start talking about in an interview that completely changes their perception of You
and it's so funny like how do you how do you convince people that this type of thinking is actually maybe longer term the better kind of thinking it's difficult and sometimes I think you need to just get some hard knocks of Life of some rejections and whatever to realize that whatever strategy you're on isn't working on you should change this is one of the things I've seen uh for example we require Cover letters and we require cover letters that are about this job at our company which requires you to actually write something specific to this
opening and I've heard some push back on that is like yeah but um I'm not going to spend a lot of time on your job opening I have to apply to 100 jobs to to what what you're gonna put even less effort into even more jobs how's that going to work out it's not going to work out right so sometimes the Cynicism seeps in because you've had some experiences you think are bad experience you've applied to 20 jobs and you didn't get a call back you didn't get okay yeah that [ __ ] happens it
does it's not going to get better by putting in less effort by doing less presentation to be competent and sparkling right there's going to be less of that to happen and again it is one of those hard things where it's not actionable because there's not a trick I Can't tell you the one thing to do you gotta be smart and you got to get things done that gets to your point right there are smart people who don't get things done do you know what they're also not that useful for commercial software building but there are
also people who get things done and who aren't that smart or who aren't applying techniques who are doing understand things do you know what maybe that works in some scenarios it doesn't work at our company Like I have to look at your your code perhaps probably after you're gone I've been here since day one and I will probably be here after you're gone and I I have to look at the code I have to go back and look at it so I'm only got to hire people whose code I want to look at again in
five years right again doesn't have to be that they write perfect code but they're on a trajectory they at least have the aspirations of writing beautiful nice code that I could want to Maintain in 10 years um that includes myself my I try to hold myself to all these standards that I ask of others but yeah it's there's no trick and that's really disappointing because it wouldn't it be nice if there was but that's just not how it worked you gotta be good and you got to be on a trajectory of good you got to
show some sparkle and that's about as specific as it gets um unfortunately yeah uh just to Echo what you said for me getting my first um like Remote job before I was like known in open source and some other stuff like this was primarily because was volunteering on Friday nights and like I had a fun story that talked about that and that was how I got through the inundation of like online resumés was I wrote a particular cover letter that matched with the values of the company I gave them specific actionable real life examples of
what I did the do like that I was living out those same things and Then they gave this random guy from the Midwest to call uh to to interview and then one thing led to other got my first remote job so I definitely want to Echo like there's there's other things you can do uh make yourself an individual not just like like you're saying a chat GPT uh rapper don't don't be a chat GPT rapper so um uh I don't know if there's anything else you want to like plug actually I want to bring one
point because I just said there's no cheat Codes and I don't actually think that's true I do think open source is a cheat code yeah I do think open source is a cheat code and that doesn't mean that everyone has to have we have a lot of programmers who don't have a long whatever CV of Open Source contribution it's not a requirement but it is a cheat code if if you're junior and you're able to do something in open source that I can see prior you absolutely have a like up you absolutely have an advantage
Because the thing with Junior again is you can't look at a large uh sort of CV that has all these prestigious placements you can look at some code and this relates to my own experience of wanting to fail math in high school the reason I wanted to fail math in high school was not because I wanted to fail math I actually kind of like math I'm not that great at it but like I do like it it was I wanted to spend my time on different things I spent my time working On the internet I
spent my time building gaming websites and and all these other things so I think sometimes people who are perhaps in college or whatever they think like they have their coursework that's important but also it's also you could also get a cheat code a leg up by doing some open source and even if it means failing a couple classes I don't [ __ ] look at any grades when I hire people maybe they do other places and that's not Universal advice but I would Look at open source contributions before virtually everything else again doesn't mean it's
a requirement it just means it's a cheap code you can absolutely get ahead of the line by having some great open source out there where people can review exactly your lines of code and contribution yeah it also helps you learn how to work with people and communicate and a bunch of other stuff I learned I learned a lot um from that so I'll also Echo that but uh I think we're Just about at the end of our time dhh thank you for being here anything you'd like to plug I know there's some maybe rails things
happening or anything else You' like to sort of give as a last shout out we really appreciate you taking the time to come chat with us yeah know this has been really fun I really enjoyed it especially the the whole thing about kits as well I think uh it's always fun to pull some of those things um plugging things I mean I am Assuming that all your um chat folks are already Linux Geeks but if they're not I'd actually say that is I don't know if it's a cheap code it is a nice through or
or workaround to understanding servers better is to run Linux on your own laptop so if you aren't doing that um and again I I wrote a blog post in 2005 that was one of my early controversies and the controversy was I said I wouldn't hire a Windows person because at the time I was like you know What Windows is so far removed from this open- Source ecosystem that I'm in um I can't see how someone who's in there is going to do well I think that was misjudged and I've worked with people who started out
on Windows and whatever but all that it like right now do you know what the vanilla AI rapper of computing is in web circles it's having a Mac and again that's not something bad about the Mac it's just like that is not a Differentiating experience do you know what is a differentiating experience if you if you run Linux and that's just a virtue of it being the path less taken like you can get a leg up you can show others that you're willing to do things that is not as common it is harder perhaps than
it would be elsewhere um so I would actually recommend that I mean this is coming with all the credibility of a a newly formed vegan like oh I just turned to veganism let me tell you all About why you shouldn't need animals um for the next two years I have some of that in me Since switching to Linux full-time is is still relatively recent but yeah I would uh I would encourage that I have my own project for that that's aakp o m a KU u.org for that but otherwise on d. DK um and we're
going to do rails world next week and I'm going to talk about a lot of the things that we talked about today no build and other Things deployment Cloud we didn't even touch on cloud it's gonna be a lot of that in um next week's keynote and rails eight which we're gonna push up so that's all the plugs I can fit in I actually wanted to talk more about neovim and more about the cloud because that one is is very very interesting but alas time have you back yeah anytime you want to come back you
want to talk those things plug those things let us know yeah and I do I would be remiss if we Didn't say um we talked about how it was really important to have kids so if you're exploring Linux do not use Arch Linux try a different kind of operating system so that you're still able to pursue sort of both Avenues at the same time I just wanted to make sure that's out there as a closing word thanks thanks D against Linux foul right all right see you everybody thank you later thank you thanks thh that
was awesome