📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

ThePrimeagen: Programming, AI, ADHD, Productivity, Addiction, and God | Lex Fridman Podcast #461

Lex Fridman5:20:11

Transcription

the following is a conversation with Michael Pollson, better known online as the primagen. He is a programmer who has entertained and inspired millions of people to have fun building stuff with software. Whether you're a newbie or a seasoned developer who has been battling it out in the software engineering trenches for decades, in short, the primagen is a legendary programmer and a great human being with an inspiring roller coaster of a life story. This is the Lex Freedman podcast. To support it, please check out our sponsors in the description. And now, dear friends, here's the primogen.

What do you love most about programming? Uh, what brings you joy when you program? I can tell you the first time that I ever felt love in programming, or felt that joy or that excitement, which was in college. It was the second class in data structures, and the teacher that was teaching, Ray Babcock, he was talking about linked lists. Now, you, you have to learn Java at Montana State University when I went, and so he's off there kind of explaining this whole linked list thing and all that. And then he shows code, and in the code it's like abstract class node or whatever it was, I can't remember what it was. And then it had a private member, and that private member was of type node. And I've never seen that before. It is a class that is called node with a member that is of itself. And for the first time ever, I was like, "Oh my gosh, like there's no end. There's no way to iterate. This is not like a set of 10 items. This is a set of infinite items." And so like my mind kind of like exploded in that moment. Like there's actually, you like what you can express is huge. I can see what memory looks like. Like I can see this kind of hopping through space. And I just remember being just so blown away, cuz up until that point everything was just all right, I have a list of 10 items, I have a list of 20 items, right? It was very rigid and small. And the things I built were really small and trivial. And all of a sudden I felt like I could build like anything in that one moment. And it was so amazing. I just remember sitting in class for what I don't even remember how long those classes were or anything, but I just remember being just completely like profoundly impacted by this notion. And so I just sat there and I watched.

I had the exact same experience in, heavens forbid, my uh software engineering class when we talked about the decorator pattern, where you can keep on constructing these objects in this recursive way. Not that I think that's actually a good idea to do, but just watching that and realizing like there's so many weird and unique ways you can solve problems, and like you can just anything your mind can think of, you can just create that. And I just remember getting just so excited about the possibility that anything is possible. Yeah, let's uh wax philosophical about a linked list. It is pretty profound. For people who don't know, a node in a linked list doesn't know anything about the world it's in. It only knows about the thing it's linked to, its neighbor. Maybe that's symbolic. It's a metaphor for all of us humans. There's billions of us on this planet, and we only know about our local little network. Yeah. And it's kind of beautiful, and you realize like in that little simple data structure you can construct arbitrarily large systems, and they, they're like roots that go through memory. And then of course that's where you get all the programming languages that allow you to uh dump junk into memory and have memory leaks, and then therefore create infinite pain as you try to figure out where that uh unfreed memory is.

Uh, for me, yeah, probably it's so, so beautiful, the way you put that. Linked lists are indeed beautiful. Recursion also, for me, when I finally wrap my brain around what it means to write a recursive function. What was the, what was the thing? What was the like the one that taught you? Cuz I think we all probably, you probably did factorial where you like, you know, just do like a quick factorial of it. It just doesn't hit home. What was the thing that kind of made it hit home? I don't remember the first. I remember mine first. How do you not remember your first? It was magic. I've had so many that just… You were a list guy. You're probably pretty used to the recursion. Yeah. All I remember is just surrounded by a sea of parentheses. I mean, that's, that's really probably when I uh, in high school, I think it was either Java or C++. Wow. How do I not remember that? It must have been C++. And then college, it was the generic bullshit software engineering classes were uh Java, but then the, the renegades, the cool kids were all using Lisp. That's, that's when you're doing the AI, the quote-unquote AI at that time. That's that was Lisp. If you want to write a chess engine, you would use Lisp. And so for me, probably the moment I really fell in love with programming was, was Lisp and writing like programs and uh chess engines, all kinds of engines that play a game, and then I could play against that thing, and that thing would beat me. The joy of being destroyed by the thing you've created, and oh um, Game of Life too, cellular automata. That's when I, I built that, you know, all kinds of programming languages. That's less about programming language and more about the system you create. And that just filled me with infinite joy. Uh, having now, similar to the linked list situation, creating a system where each individual cell only knows about its neighbors and operates in very simple rules. But when you take that system as a whole and allow it to evolve over time, it can create infinite complexity. So I, I just, man, those are many pthead moments where I'm just like looking at the beautiful complexity that can be created with cellular automata. That's that filled me with just infinite joy for sure. But yeah, the par… all I remember is parentheses. So my first memories of my first are drowned in a sea of parentheses.

Oh man. Mine is, I have, well first off, mine was in Java. Though my first was a little bit more rigid, kind of a corporate, you know, a corporate experience, but cold, meaningless. Yeah, I was in a lab. Everyone was using CentOS at that, or CentOS, or however you say. I always call that CentOS, the Freshmaker. And so it's just like, I'm in this very cold… That's nice. Thank you. I'm in like this cold, rigid environment uh with my Microsoft keyboard, programming away in Java, and I still, I have just such this memory of despair because I love programming. This was after the linked list, and I cannot figure out recursion. And so I go to, you know, the university store and I buy a book, and it's Deitel and Deitel, learn Java, and it has a section, recursion. And so I open it up and I start reading it, and it just doesn't hit home. And I'm like, I'm spiraling into this like kind of, maybe I'm not a programmer. Maybe I'm not worthy enough to enter into this circle of people who can figure out what, what the heck recursion means. And so Deitel and Deitel is like, I still remember this, their phrase, their exact phrase was, every young budding developer solves this recursion program, and it was the Tower of Hanoi. And guess what, I don't know if I can solve the Tower of Hanoi to this day. It's, it's like a very hard recursive problem. And I just sat there and thought, "Oh my gosh, I'm not going to make it." And I sat there in the lab for 8 hours, 10 hours, doing these things. So worried, it's the week of recursion. We have to do a lab assignment. I'm not going to be able to do it. And I just remember being like genuinely worried about that. Uh, and then because I always, my big problem was is like, okay, do factorial. Why not just use a for loop? Okay, what about Fibonacci sequence? Why not use a for loop? Like I don't understand what's the purpose of recursion. I don't understand it yet. It's so powerful. Why? It looks like a really complicated for loop. And so I just could not understand it. And then lab came that day, and it was, I'm going to give you a 2D array, you have to read from a file. This is what a starting position looks like. This is what an ending position looks like. This is what a wall looks like. I want you to find me a path through the maze. And so I just sat there like, "Okay, I guess I can just go up, and I can create like a visited grid that's so I know not to visit these places anymore." And all of a sudden it just started clicking. I'm like, "Well, wait a second, I don't know the maze, but if I just go up, right, down, and left, and hop back every time I've been to that square, don't visit it," like I can just, it will just go forever. And I realized in that moment, I'm like, I actually understand rec… I've understood recursion this whole time. I just never had a problem in which it actually made sense to use. And that was like my big downfall is that I, I was measuring my understanding with the problems that I had available, which were just, you know, list traversal, which is not a good use of recursion. And so I just, I just remember that freeing… oh man, recursion, it was a great moment in my life. I mean, it does require, to be fair, a leap of faith, like because people will tell you those uh conformist, dogmatic Java instructors will tell you that this is, you know um, that's important to understand uh recursion, but it takes a leap of faith that this is something, this is a different way of looking at the world, and it's a powerful way of looking at the world. I actually remembered when I think I first… I think I remember my first now. All right. Uh, I think it was uh depth-first search for one of the games, maybe a something like that, and for that implementing recursion, understand that you can search trajectories through the the space of states and do that recursively. That was mind-blowing, just imagining like you can just see the possibilities. Yeah. Just like numbers flying. It was uh like A Beautiful Mind, and then um, and that's when I also uh discovered conspiracy theories. That was… and I just saw… I saw the truth. Uh, okay. Yeah. So what were we talking about? Oh, what was the most painful aspect of programming for you? Uh, like what, what memories do you have of uh deep, profound suffering in terms of programming in the early days?

Uh, I would say the biggest one that I can really hold on to had to be one of two experiences. The first experience was when I was at a place called Schedulicity. And am I not allowed to say the place? There's… I'm not sure if they're even operating still at this point, but they're… there's something funny about the name. I'm sorry. Oh, Schedulicity. They actually, the name was so bad that when you looked at their like paid-for Google ad terms that they would make sure that they're at the top of the list, the spellings were just insane, cuz no one knew how to spell the word Schedulicity. And so it was just like this… the Google optimizing for that is just hilarious. Uh, but okay, go back to the thing. And the, the thing that kills me the most about programming, what I actually considered the worst aspect of programming is when you know everything. And so when I was at this job, it's just every single day I'd come in, there were no surprises. There was no questions I didn't understand the codebase. Sure, that's, that's fair. I didn't understand all the things about the codebase, but I knew I was going to go in, I was going to generate some sort of object from the database, I was going to take that object from the database, and I was just going to map it over and just display it on the web page. There's no creativity. There's no, there's nothing to it. It's very like almost factory-line kind of work. And that was a very kind of difficult moment for me, which is I didn't enjoy programming because like I knew everything about it. I already knew exactly what I was going to do that day. I knew all the hurdles I was going to have to go over. There was no unknown unknowns, if you will. It was just known at all times. And it's just that is, for me, that is the worst part about programming is when you already know the solution and it's just a matter of how fast you can type and get it out from your head to your hands. So the absence of uncertainty, the absence of challenge was the pain. Yeah, that's pretty profound. Prime, I'm more than just good looks. I want you to know that it's a low bar. What do you identify as… I'm enjoying asking the general question. 38 male. Uh, male, husband of beautiful wife. Okay. You stream about all kinds of programming. Uh, but what kind of programmer are you? Are you a full-stack developer, web programming? Uh, and maybe can you lay out all the different kinds of programming and then place yourself in that, in terms of your identity, sexual identity as well? Yeah, I can get it. We can put it all in there. Uh, plus, I mean, obviously those two are very, very tightly coupled. I have seen you like on the border of sexually aroused by certain languages. I think you got real excited about OCaml, or O camel. Let's go. Thank you, Dylan Moyward. Okay. Wow. Yeah, I did not expect that. That escalated quickly. Anyway, what do you identify as?

Okay. So first, you… let's, let's do the previous or the in, in between question first, which is the different kind of archetypes. I think that's a really interesting kind of question because if you go on Twitter or you're new, your thoughts are probably that there is just web programming, and maybe there's some other stuff. Yeah, like game programming, but you do like game programming in JavaScript and on the web, you know, like there's this very kind of, very myopic view of the programming world, and I bet if you ask a lot of people these days like what is the most popular form of programming, they'd probably say web. If you said what contains the most amount of repos, how many percentage of repos on GitHub are web-based, they'd probably say 90% or some huge number, but the reality is that there's an entire embedded robotics world, you know, you're familiar with the ML side of things, there's networking, there's going to be just like performance, operating systems, compilers, there's just huge amounts a variation of all these different type of programming verticals that you can be. And so we often talk about programming in perspective of web or something that's pretty narrow. And I think that's just a social construct of Twitter more than anything else that it's actually, I don't believe it's that representative of, of the entire kind of programming world out there. And I think a lot of programming is really, really fun. There's some really great stuff. Building your own language is just a very fun experience to do. Every programmer should just do that once, just to have a completely different, you know, perspective on how things work in life. But as far as what do I do, Uh, I've always looked at myself as a tools engineer. So at my time at my, my jobs, typically I would start off on the UI, and then they'd be like, "Okay, well, hey, we need a library for this thing." So then I'd be the one writing like the library. So in 2012, 2013, I was writing a UI library for the web that can behave just like an iPad. So you can pinch and zoom on it, but it's still a web page because we didn't have any of that stuff back then. It was a canvas. Had to do all the like matrix operations and all that stuff to kind of, you know, it felt like you're on an iPad, but it actually wasn't on an iPad. And this was iPad 2 by the way. So this is a long time ago. And so every single time I got into a job, it's like, okay, hey, we need to do a library. Hey, can you work on a build system? So back then there was no Grunt, there was no Gulp, there was no any of those things. So I had to hand-roll my own JavaScript build system. And so I always fell into these positions of building tools for developers to be successful. And I've always really enjoyed that region. And so as I went on to say Netflix, uh spent 10 years there, I'd say the majority of my 10 years were building things for developers to use that they could be successful at their job. And so I just, I've always really enjoyed that aspect because your share, your stakeholders and the people that use your program understand programming, and they're going to say like, "Hey, I need this." And typically the thing that they need, they actually want. Whereas with people, people want stuff, but what they actually need versus what they actually want often are kind of like this weird separation. People, you know, that's like the old Henry Ford quote, I just want a faster horse, and he's like, no, what you actually want is a car. And so it's like this like you have to play this game of trying to really figure it out. Whereas developers, it's like, I know, you know what I'm doing. I know what you want. Let's figure it out together. That's actually, that gives you a really nice big-picture view of programming in general. So I love the idea of just kind of starting at the interface, like you need to pinch and all that kind of stuff, and then figure out the entire thing that requires to make that happen, including maybe the side-quest tooling, how to make it more productive and efficient, all that kind of stuff. So the entirety, the entirety of the thing, that's really cool. Okay. So that mean that would be full-stack by the general definition of full-stack meaning like perhaps yeah, versus like systems engineering, like starting at the bottom and trying to optimize a certain kind of specific thing without seeing the big picture of like what the, the resulting interface would, would look like. And a lot of people, you know, in web programming, they never go beyond the front end of how the thing looks. They kind of always assumed there would be somebody, some, some uh grunt in the shadows, in the darkness of the basement that will implement the back end. Some Gilfoyle out there will be doing the back end. Yeah. Like I like to call myself a generalist. Um, just to kind of give some ideas is, you know, at, at one point at Netflix, I built the websocket connection. So for TVs, how websocket works is code I just wrote. And so I, you know, built the framing thing, and before that I was doing stuff with memory, and before that I built the UI for a tool. It's just like, I can just do the thing. You just tell me the thing to do, and I'll just go do the thing. I don't worry too… I don't try to get super good at one specific activity. Like I don't want to be a Kubernetes engineer who's the world's greatest deployer. But if I had to go learn Kubernetes, I'd go learn it and learn how to deploy some things, and then hopefully move on to like the next thing, if that makes sense.

Uh, I posted about the fact that I'm talking to you on Reddit, and there's a lot of wonderful questions. Uh, somebody mentioned that I should ask you about DevOps. Can you explain what DevOps is? Is it a kind of special ops of programmers? Is it SEAL Team 6 of developers? What's DevOps? Can you define… are you a DevOps engineer? Well, people keep telling me DevOps isn't real. There's actually… you want platform engineers, cloud engineers, info engineers. Uh, I just often think… I think the easiest way, if we're doing like just kind of like some basic nomenclature, it's just DevOps are the people that make sure that when you launch a service and all that, it doesn't just disappear, right? It's all the kind of backbone of being able to operate something at scale. Like you really don't… if you think about, if you're just writing a mom-and-pop like website, people that do PHP that are doing WordPress and all that, they're going to build something. They're going to hand it off to, I don't know, Linode, Digital Ocean, some company. They don't really need a really complicated build, deployment, all this. It's just someone with a simple website so they can sell their goods. And so they don't really need that. And so that's kind of how I think of a DevOps is when things need to scale, that's kind of the person you hire. Yeah, those people are actually amazing. Yeah. Of uh, the time I spent at Google, it's like, oh yeah, yeah, there's all these fancy machine learning people, but the, the folks that are running the compute, the infrastructure basically that make sure the shit doesn't go down, they're like wizards, and they're very incredible like vertical of job. And obviously I'm using a very broad term to describe, I'm sure like a bunch, you know, because making sure stuff doesn't go down. And you could also say that's like an SRE, right? Site reliability engineer, whatever. You know, the ones that wear the, the bomber jackets at Google. And so when we say DevOps, I think people get very particular about terms specifically in this category. They're like, well, actually you're mentioning infrastructure engineer versus, you know, versus site reliability engineer. It's just like, okay, yes, I hear you. But generally when someone thinks DevOps, they think somebody that manages the servers and their life cycles and the reliability. There's DevOps. Is it real? I'm not sure. Okay. Did Vercel kill DevOps? Wow, that's… you're almost a journalist. That's a headline. Uh, let's go back to the beginning. All right. Baby Prime. So you mentioned Netflix. You've… Oh, I worked at Netflix, by the way. For people who don't know uh who uh the primigen is, he mentions uh the fact that he has been very successful and has worked at Netflix and basically every other sentence. Correct. Almost as much as I mentioned Neoim. Oh, great. Tell me more about Neoim. No, please don't.

So Baby Prime, at the very beginning, you've had one hell of a life, and I think it's aspiring to a lot of people. You've, you've gone through a lot of painful low points, including meth addiction, loss, and like you mentioned, you've come out of that to become a successful programmer and a person that inspires a huge number of people uh to get into programming and just to find success in life. So maybe I would love it if you laid out just your whole life journey from the beginning. So I guess if we're going to start with this whole journey, I think it's probably best to start when I was about four or five years old. That was the first time I was ever exposed to pornography. Uh, and it's kind of just earwormed me for a large portion of my life. And so I don't think there was a day that didn't go by from when I was a very young lad all the way up until I was 20-some years old where I didn't think about porn on a daily basis. And so it's just like every single day, even at that young… And so it's just a very mind-consuming, time-consuming, thought-consuming thing that kind of plagued me from a starting at a very young age. When I was 7 years old, my dad died. Um, that was kind of a really tough period of life. I, I still think about this time that I went over to China, and there's kind of some rules that we were given, and one of the rules was just like, "Hey, don't talk about God, and if you do, use the word dad instead." And I was just like, "Okay, dad." It was like the first time I said that word in like 17 years or some long time. Like it was like so weird to say that phrase, and I was just like, "Oh, that was just the strangest thing I've ever said in my entire lifetime." It just felt so weird. So kind of rewind, as I got older, obviously was very good at computers, good at accessing porn, of course, uh played uh video games on the internet. Fun, fun kind of like side-quest story. I think the guy's name is Lord Talk on Twitch. I can't quite remember his name, but he built this game called Grail, G-R-A-A-L, and Grail Online. And when I was a young lad, that it was just like Zelda, except for it also had a level editor and it had like a seike language. And that's how I discovered how to program is I looked at these symbols and figured out what they meant. And then I was able to make things happen in the game. And that was like a, that's my introduction into programming. So thank you, that guy, whatever your Twitch name was. But all right, so keep on going. As I got older, I was super bad socially. I was not a very great social person. High school was brutal. Got made fun of a lot. Uh, really didn't en… I wouldn't say I had a great time during high school. Uh, definitely felt very out of place, or offset, or maybe misplaced, if you will. I'm not sure what the right word is. And so of course, at that point, I just always wanted to, I wanted to be accepted, to fit in, and all that. I did forget to say one side story. After my dad died, my brother, older brother, he got started getting into drugs, and along with that, he exposed me to pot. So at 8 years old, I was smoking some marijuana uh for a while there until like maybe 11 or 12, and took a break, and then again did a lot of that as I got a little bit older. But so I kind of got a lot of these exposures fairly young. 16, 15 through 18. A lot of drinking and all that. When I graduated, or as I was graduating high school, it's just like I had such sadness, if you will. I was very sad about how everything went. Tried to commit suicide. Um, obviously it was a very poor attempt. And I'm still here today. I'm very happy about that aspect. I'm glad that I didn't follow through with anything. Had to go to the hospital and all that. And when I was done, I just still remember kind of coming out of the hospital and at like that moment, it's kind of like something broken. Have you ever read the book uh Wheel of Time? It's 14,000 pages or something like that, but right around page 12,000, Rand has to intentionally kill a girl, the main character, and that's like the moment he breaks and he gets into like hard Rand uh uh… Rand al'Thor, if you will. For those that know Wheel of Time will appreciate all that. Uh, for those that don't, it's very confusing, and I understand. Not the Amazon movie show. Not that… not that Wheel of Time. So now that we kind of go back onto it, at that point, it's just like something kind of broke in me, and it's just like I just didn't care anymore. So all the kind of social awkwardness, if you will, all that kind of just died away with me, but also so did everything else. And so I started using a bunch of drugs, LSD, mushrooms, meth, did a bunch of meth, did a bunch of that stuff, and then went off to college and continued to do a bunch of stuff. I took too much acid to where for like quite a few years I had like little squiggies on the side of my eyes whenever I'd walk by high-contrast objects. And so it's just like that whole period of life was just kind of marked by um just poor decisions. And then sometime when I was about 19 years old, somewhere in that range, I just had this one evening where it's just, I felt the very dramatic and real presence of God. And it's just like I kind of had this choice, like Frodo uh on a razor, where it's like if I go either way, I'm gonna fall off, and I need to change my life, you just, you get to make the choice now. Do you want to do that or not? And so I remember going, okay, I do, I do want to change my life. Like I don't like this experience. I don't like what I'm living. I am still very sad. I still feel very desperate. I still feel all those…

物事に対して、まるで自分が別人であるかのように振る舞っていた。そしてその晩、私は眠りについた。私の生活には何も変化はなかった。全ては以前と変わらなかった。次の日も、私は同じ人間として目を覚ました。「ああ、なんて奇妙で不思議な経験だったんだろう」と思っただけで、その日はいつものように過ごした。そして、その晩のことだと思うが、ポルノを見た途端、深い、そして強烈な恥を感じた。まるで人生で初めて恥を感じたような、そんな感覚だった。「一体何が起きているんだ?」と思った。それから、大麻を吸うと深い恥を感じた。誰かを傷つけたり、何か悪いことをすると、その晩から良心が芽生えた。それが私の才能、と言えばそうだろう。その時点では、もう選択の余地はなかった。何らかの理由で、その瞬間、私は変わってしまったのだ。だから、そこから私は学校で本当に努力し始めた。高校で2.14の成績を取ったというのはいつも冗談で言っていることだが、ある先生から「今までで一番最悪の生徒だ」と手書きで書かれたメモをもらったこともある。私は本当に優秀な生徒ではなかった。そして、その瞬間、「人生は変わった」と、私は学び始めようとした。良い生徒になろうと努力した。それが本当に難しいことに気付いた。私は本当にひどかった。それでもCの成績だった。プレ・カルキュラスを受けたら、落とした。「なんてこった、昔は数学の得意だったのに、今は落第するバカになってしまった」と思った。だから、自問自答する日々だった。数学学習センターで何時間も勉強した。そして、その旅が始まって1年半後、何かがクリックした。最悪の人間から、すぐに最高の人間に変わったのだ。それ以降は、何が起きたのかわからない。突然、私は数学で最高の人間になった。コンピュータサイエンスの授業にも出て、全てを理解できるようになった。努力を始めて数年後、突然全てが簡単になった。それが数週間で起きたのか、いつ簡単になったのかはわからないが、最初は途方もない苦労があった。そして、長年の努力の末、物事が簡単になってきた時、私は本当に学ぶことへの欲求と喜びを感じるようになった。なぜなら、簡単になると思っていなかったからこそ、やる気にさせられたからだ。そして、突然簡単になり、それは素晴らしかった。そこで、人生の大きな変化が始まったと言えるだろう。その時点で、私は本当に、本当に、本当に、もう二度とポルノを見たくないと思った。毎回、激しい恥を感じたからだ。本当にやめたいと思った。それは、断然最も難しい依存症だった。タバコも本当に難しい依存症だったが、ポルノは断然最悪だった。そして22歳頃には、全ての依存症、と言えばそうだろう、を克服した。それから1年間、それら全てに取り組んだ。おそらく21歳と3/4歳くらい、正確には覚えていないが、外見上の依存症は少なくとも止めた。それから半年後か1年後、美しい妻に出会った。物事がどんどんうまく回り始めた。仕事、プログラミングが大好きになった。1日に12時間もプログラミングをするようになった。「ソーシャル・ネットワーク」という映画を見て、その晩に最初のスタートアップを始めた。PHPで、確かPHP 5.2か何かだった。素晴らしい時代だった。やる気に満ちていて、時には24時間、36時間ぶっ通しでプログラミングをした。それしかしたくなかった。妻には少しうんざりされたと思う。「学校に送ってくれる?」と聞かれても、「今プログラミング中だ」と答えた。私はあまり親切ではなかったし、物事をよく考えていなかった。ただ夢中になっていた。それで、今の私になった。意味が通じるだろうか。

父親を失った時の苦痛、そして成功について、もう少し詳しく話してもらえますか。時々簡単に聞こえるので、もう少し理解を深めたいと思います。7歳の時、父親を失ったことについて、どのように感じていましたか?どんな影響がありましたか?その頃の記憶はありますか?

7歳の頃、父親について何も知らなかった、というのが一番分かりやすい説明だと思います。まだ幼かったので、抑圧したり、長期的に記憶を保持する能力がなかったのかもしれません。多くの人は幼い頃の記憶をあまり覚えていないからです。だから、正確にはわかりません。もし父親を失うとしたら、最高の年齢だったと言えるでしょう。11歳か12歳で父親を失うのはひどい年齢です。それが私の兄弟の年齢で、彼は薬物中毒に陥り、抜け出すことができませんでした。だから、私はぼんやりとした記憶と、父親がいたらよかったのにという切ない思いを抱いているだけです。

その切ない思いが、あなたの人生、進化にどのような影響を与えましたか?

だからこそ、私は社会的に劣っていたのだと思います。承認を求めていたからです。多くの人が、承認や愛情を求めますが、私にはそれがありませんでした。だから、他のあらゆるものの中でそれを求めていたのだと思います。自分の行動を精神分析的に分析すれば、積極的にそう考えていたわけではありませんが、常に何かで満たそうとしていたと思います。

多くの人が、あなたの高校時代の経験、つまり、外れ者として扱われ、いじめられ、家庭で多くの複雑な問題に苦しんだ経験に共感すると思います。彼らにどんなアドバイスをしますか?

高校で一番つらいのは、同年代の人々に囲まれているのに、永遠に続くように感じるということです。周りの人々は、一生付き合う人々だと考えがちです。少なくとも、私はそう思っていました。ずっと後になって気付いたのですが、彼らは人生において、ほとんど影響を与えない人たちになります。それは、特に今まさに高校生活を送っている人にとっては、非常に驚くべきことです。今、彼らはあなたの人生全てですが、いつか全ては終わり、本当の生活が始まります。それは衝撃的なことです。もし自分自身にそれを伝えられたら、もっと違う人間になっていたかもしれません。

それは本当に美しく表現されています。それは一種の試運転、ビデオゲームのチュートリアルのようなものですね。

そうです。そして、実際には、様々なことを試したり、リスクを取ったりするチャンスです。本当の生活は、その後、より多くの結果を伴う場所で始まります。ここでは、好きな女の子に告白したり、色々なことを試すことができます。いじめられたら、その子にやり返してみましょう。色々なことを試してみましょう。他人を殴ることを推奨するつもりはありませんが、私は彼らをボコボコにして、柔術を習って倒す方法を学びます。そして、そして、あなたを拒絶した女の子は、「ん、その子にもう一度チャンスを与えてみようかな」と思うかもしれません。悪い野郎になりましょう。色々なことを試すチャンスです。

これは、すごくやる気を起こさせるスピーチですね。

事実です。特に、私は高校時代の女の子の経験についてはわかりませんが、男の子にとっては、高校には多くの肉体的な要素があります。少なくとも私が育ったところでは、肉体的な測定がたくさんありました。全ての高校でそうとは限らないと思いますが、男の子でいっぱいなら、おそらく本当でしょう。だから、BJJをしたり、他の活動をするのは役立つでしょう。たとえ誰かを殴ったことがなくても、自分自身への自信を持つことは、非常に貴重なことです。しかし、これは人生において非常に短い瞬間であることを覚えておくことが、非常に役立ちます。あなたが表現したように、まさにその通りです。これが一生付き合う人たちで、これが世界全てのように感じるのです。つまり、途方もない影響力を持つということです。誰かにいじめられたり、高校のステータス階層で低い位置に落ちたりすると、世界のステータス階層でも低い位置にいて、人生の残りの部分はダメになる、と感じるのです。それは、途方もない重圧です。だからこそ、心理的に高校生活を送ることが非常に難しいのです。親や社会は、高校生活がどれほど難しいのかを過小評価していると思います。心理的にどれほど難しいのか、うつ病になったり、自殺寸前になったりする人がいるのも当然です。非常に、非常に困難です。

子供の頃、クールなやつとクールじゃないやつとが区別されていたのに対し、今は人が数値化されているという点で、現代の方が昔より難しいと思います。3万2514人がフォローしていて、12個のいいね!など、人々はどんなプラットフォームでもあなたの正確な社会的価値を視覚的に確認できます。それは、はるかに難しいはずです。そして、クールじゃないと感じるのは、どれほどクールじゃないかの正確な数字があるため、はるかにひどい、そしてはるかに破壊的なものだと思います。

その課題、探求は、ソーシャルメディアや高校での交友関係でクールじゃないと思われたとしても、実はクールである可能性があるということを覚えておくことです。そのクールを見つけて、育て、開花させましょう。そうすれば、本当の生活が始まった時、全速力でスタートできます。

素晴らしい言い回しですね。高校は、クールな人をうまく見抜くのが苦手です。形成される階層は、非常に基本的な階層です。ごくありふれたことに長けている人が上昇します。親があなたに高価な車を買い与えてくれたとか、物質的なものですね。

そうです、貪欲な探索です。彼らは適切な探索をしていないので、局所最適解を打っているだけです。しかし、その貪欲な探索の目的関数でさえ、本当にひどいものです。高校で勝つ人は、人生というはるかにエキサイティングで美しいゲームで勝つ人とは、ほとんどの場合異なります。素晴らしいことをして、色々なことを試しましょう。高校で変わり者だった人、おそらくいじめられたり、心理的に苦しめられたりして、自分自身について考え、人間であることの意味を深く考えることができた人こそが成功するでしょう。高校で勝っている人は、試練にさらされていません。自己反省もしていません。何も試していません。だから、苦しめられることには、ある程度の価値があります。ポルノ中毒は、多くの人が共感するもう一つの強力なものです。それが最も難しい中毒の一つであるというのは興味深いです。

ある中毒は、社会的に大きく注目を集めますが、ポルノはそうではありません。それが非常に困難な理由です。友達は誰もあなたを応援してくれません。「ポルノをやめた」とTwitterで言っても、「それはいいね、でもみんなそうじゃないよ」と言われるでしょう。メタンフェタミンでそんな言い方はしませんよね。「誰もがメタンフェタミンをやめる必要はない、それは素晴らしい産業だし、生産に関わっている人は良い人もいるよね」なんて言う人はいません。ポルノでは、そんな状況になります。友達はあなたがバカだと思うでしょう。それは社会的に受け入れられているように感じます。また、ポルノ中毒は、一人でこっそりと行うことができ、世界から隠すことができる中毒だと思います。長期にわたって世界から隠すのが難しい中毒もあります。ポルノ中毒は、長年続けて深まる可能性のある中毒だと思います。

インターネットが登場する前に育って本当に良かったと思います。ポルノは非常にアクセスしやすく、中毒に陥りやすいです。

ポルノ中毒があなたの人生にどのような影響を与えたか、低迷期と克服方法について話してもらえますか?

影響について言えば、女性に対する非常に歪んだ見方を持つようになるということです。繰り返しますが、これは男性の視点からの話ですが、ポルノの最も基本的な点は、自分の欲求や欲のために他人を利用することです。それは絶対に必要なものではありません。ポルノは必要ではなく、純粋に欲求に基づいた行為、あるいは欲求、どのような言葉でも構いません。そして、それは純粋に客観化された行為です。他人があなたの楽しみのために展示されています。だから、それを抱え込んでいると思います。高校時代や高校卒業後の女性を、手段として見ていたと思います。ポルノは、私の頭の中でそのような視点を大きく変えてしまったと思います。私は他人に必要な価値を与えていませんでした。それは、人間性を全体的に貶めます。人々は商品ではないと思います。皆、価値を持っていると思います。だから、私にとってポルノの大きな影響は、それが狂った消費主義、あるいは物質主義、ということができるでしょう。それは非常にやめにくい中毒です。昼食に出かけても、誰も知りません。誰も知りません。それは非常にプライベートなことです。短いセッションにすることができます。酸を飲んでから昼食に出かけるようなものではありません。一日は全く異なるものになります。それは非常に素早く、簡単に、アクセスできます。そしてもちろん、統計など、科学的なものもあります。性的画像を見た後、男性はしばらくの間、より悪い決断をするという統計があります。ドーパミン効果もあります。常に、より多くのドーパミンが必要になります。だから、通常、人は5分間のポルノを見て終わりにすることはありません。インターネットでいつも言われている「100個のタブ」の冗談は、まさにこのことです。それは、この絶え間ないドーパミンサイクルを常に繰り返しているからです。それらは全て素晴らしい話ですし、統計や科学などは多くの人にとって素晴らしい議論だと思いますが、私にとっては、本当に良いことなのかどうか、本当にやりたいことなのかどうか、ということに尽きます。人々をそのような不敬な、あるいは軽視するような方法で評価したいと思うのでしょうか?私は、それが魂にとって悪いことだと思います。全ての統計があなたにとって良いとしても、それでも悪いことだと思います。長期的な、大きな視点での心理的な影響を考えなければなりません。

ポルノに限らず、「マノスフィア」と呼ばれるものに対する私の問題は、多くの女性と寝るのが素晴らしくて素晴らしいことですが、それを人生の主要な目的とすることの問題です。ポルノも同様に、最も素晴らしいことの一つ、つまり親密さを貶めます。それは深い友情にも当てはまり、人間関係にも当てはまります。ポルノは、最も純粋で暗い形でそれを行います。つまり、重要なのは性行為であって、他の人間との深い繋がりではないということです。高校やマノスフィアに戻って考えると、もし目的関数がセックスをすることであり、それがステータスや自信向上に役立つのであれば、それは素晴らしいことです。それも中毒になり得ますが、多くの人にとってさらに素晴らしいのは、深い友情や、恋愛のパートナーとの深い親密さです。それも素晴らしいことです。意味のないセックスをする男性よりも、私と妻のように15年間一緒にいる男性の方が、より良い、より意味のある人生を送っていると断言できます。私はあらゆる状況で彼女に頼ることができます。一方、他の人生を送る場合、それは素晴らしいと感じられるかもしれませんが、意味がありません。実際の価値がありません。

全くその通りです。セックスをすることが、若い男性の自信に大きなプラスの影響を与えることは間違いないと思います。反対の性別、人間との交流についてそれほど神経質にならずに済むような、多くのデータを集めることができる性のパートナーが一定数います。そうすることで、世界をより明確に見ることができ、深い親密さを築くことができるパートナーを見つけることができます。セックスをすることについて、社会が構築した価値観に対する神経質さは、判断を曇らせる可能性があります。何度もセックスをすることで、セックスをすることはあなたが言ったように、適切な人間を見つけることほど重要ではないということを明確に理解することができます。恋愛のパートナーだけでなく、長く続く深い友情なども含めるべきです。

私は、私たちの社会はセックスをすることに多くの重きを置いており、それは歴史上、どの男性グループの間でも真実だと思います。それは非常に一般的な冗談であり、一度も止まらなかった冗談だと思います。だから、そこには何らかの真実があると思います。お金持ちになればなるほど、お金が問題を解決しないことに気づく、というジム・キャリーの話があります。社会が非常に重要だと言っていることが、実際には重要ではないことに気付くことです。それは、あなたの関係が健康であるという非常に重要な兆候です。例えば、私と妻が数ヶ月間セックスをしなければ、何かが間違っているということです。私たちはもはや同じレベルにないということです。しかし、良い指標でもないということです。多くのセックスをしているからといって、良い関係を築いているとは限りません。これは独特な問題の見方です。私たちの社会はそれに多くの重きを置いています。だからこそ、ポルノはやめにくかったのかもしれません。しかし、私の推測では、それは全てドーパミン効果です。しかし、私にとって最も重要なことであり、真の報酬を得られるのは、妻といることです。私は他の女性を見ないように、必死に努力しています。マーク・ザッカーバーグがホワイトハウスでそうであったように、私はポルノを見ません。妻は、私を疑う必要がないという完全な自信を持っています。それは、はるかに深く、私は非常に深い関係を築くと主張します。なぜなら、信頼はそれだけ大きいからです。関係の深さは、お互いへの信頼に比例すると思います。信頼がないと深い関係を築くのは非常に難しいです。そして、信頼の前提条件、あるいは構成要素は、おそらく脆弱性でしょう。他の人間と脆弱になるという飛躍をすることで、その脆弱性は返報されると、本当に強い信頼を築き、それは美しいものです。私の立場を考えると、世界に脆弱になるのはさらに難しいです。あなたを傷つけようとする人がたくさんいます。しかし、私は脆弱になることはそれだけの価値があると思います。常にリスクに値します。当然、それぞれの人生があるので、自分の行動をフィルタリングしなければなりません。なぜなら、ソーシャルフォロワーがいない人などは、リスクと報酬のプロファイルが局所的な影響しかないため、彼らにとっても同様に破壊的、あるいは有害な可能性があります。しかし、私個人の意見では、常にリスクに値します。なぜなら、妻を見つけたことは、明らかに私の人生で最も影響力のある、あるいは変化をもたらした出来事だからです。あるいは2番目に影響力のある出来事です。神との一夜が、他の全てにつながった最も影響力のある出来事だったと言えるでしょうが、妻は2番目に影響力のある出来事です。私は変わりました。

19歳の時に神を見つけた瞬間を逆算してみませんか?それはあなたにとって、苦痛、中毒から逃れる大きな飛躍、あるいはその旅の始まりだったように感じます。何が起こったと思いますか?

私は、越えたくない線がないと感じていたと思います。全てが順調だったのに、突然、ある瞬間、深い恐怖と理解が訪れたのです。「これは本当に自分が進みたい道だろうか?」と。その道の結果がどうなるかはわかりません。私は理解できないことについては憶測しません。その瞬間、私は選択の機会があり、それを選んだだけです。もう欲しくなかったのです。それは、セックスやセックスをすることの中に、自分の価値や意味を見出していたという状況と混ざり合っています。私たちが話したように、私の価値はそこだけにあったのです。それは本当に恐ろしいことです。そして、それはある一点に達したのです。曜日も何もわかりません。モンタナ州立大学サウスヘッジズで夜だったということしかわかりません。ボブキャッツ頑張れ!

他の人、特にポルノ中毒で苦しんでいる若い人たちにどんなアドバイスができますか?それを克服するにはどうすればいいですか?

私にとってそれを克服するには、将来の妻から何かを奪っていたことに気づく必要がありました。中には、「彼女ができればやめられる」と言う人もいますが、「違います。問題を解決するのではなく、問題を置き換えているだけです」と言います。彼女はいませんでした。私はただ、将来の妻のために何かを本当に奪っていたことに気づいたのです。当時、今の妻は知りませんでした。彼女はモンタナ州立大学にいたかどうかさえわかりません。それが、私が気づいたことです。それは、私の頭から心に伝わったと言われています。それは宇宙で最も遠い距離です。私はついに理解しました。そして、そこで物事が変わりました。だから、何かがあなたを変える助けになるかどうか、私は分かりません。特効薬はないと思います。誰かがあなたに薬を提供してくれたら、これは本当に興味深い表現ですが、「彼は非常にうつ病で、自殺を考えていました。彼はこの回顧録でそれについて書いています。彼は医師を訪ね、医師は『抗うつ剤があります。それは役立つでしょう』と言いました。彼は、科学者たちが私に、脳に触れて自分自身を幸せにすることができると言ったと言います。彼らは中に入って何かを調整し、私は幸せになるでしょう。彼は、私にとっては、畑に出て雨を見るための薬を服用するようなものだったと言います。雨を見て、それは銀色で美しく見えるでしょうが、実際には雨が降っていないので、作物はすべて枯れてしまうでしょう。私は自分自身でどのように幸せになるのかを発見しなければなりませんでした。だから、私にとって、ポルノを見た理由は、自分が不幸だったからです。私は意味を見つけようとしていました。何かで価値を見つけようとしていました。ついに究極の満足感を与えてくれるはずのもの。しかし、それはできません。どれだけ頑張っても、どれだけそう思うとしても、あなたはそうした満足感を得ることができません。それが中毒性のある理由です。それがあなたがすべきではない理由です。しかし、それをやめる方法については、私はそれを克服するために、将来の妻から何かを奪っていたことに気付く必要があっただけだと思います。

それは本当に見事に表現されていますね。あなたは自分がやっていることが、将来の妻を見つけることを妨げていることを知っていました。将来の妻とは、より広い意味で、繁栄する道、美しい人生への道かもしれません。私たちが高校で話したように、本当に幸せになれる人生の軌道はたくさんあると想像するのは良いことだと思います。そして、あなたはそれらの道に進むチャンスを持てるように、あなたの人生を構築する必要があります。そしてたくさん…

中毒には、私たちがそのような道を歩むのを妨げる多くの選択肢があります。ですから、あなたは素晴らしい人生を送るだろうと信じて、あなたの人生から、その道を歩くのを妨げているものを取り除きましょう。それはあなたが本質的にやったことと同じです。それは信仰の飛躍です。ポルノをやめれば、より良い人生が向こう側であなたを待っているということです。はい、より良い人生にどれくらいの時間がかかるかは断言できませんが、私にとって、それらのステップを踏むことなく、今の私のような関係を持つことは、宇宙の中であり得なかったでしょう。なぜなら、私は彼女本来の姿で妻を適切に評価することができなかったからです。私は現在の視点を通して彼女を評価していたでしょう。

ですから、聞いてください。私は数学をしたことがありません。メタンフェタミンもやったことがありません。ところで、それは素晴らしいセグウェイでしたね。ああ、男よ、この面接のこと、一体何をやっているのか正直わかりません。しかし、メタンフェタミンとLSDは、やったことがありますね。アヤワスカも、マジックマッシュルームも何度もやりました。この話題について、一つ言っておきたいのは、Twitterやテクノロジーコミュニティ全般で、アヤワスカについて否定的に話す人が多くいるということです。肯定的に話す人もいますが、私はそれが一種のギャンブルだと思います。私は素晴らしい経験をしました。でも、誰かにそれを勧めるつもりはありません。リスクです。深刻なリスクです。本当にギャンブルです。自分の悪魔に会うことになり、それがあなたを破壊するかもしれません。あるいは、自分の悪魔に会って、それを手放すことができるかもしれません。あるいは、私のような経験をするかもしれません。それは、私は明らかに悪魔を持っていないということです。彼らは地下室のどこかにいると思いますが、薬物で彼らに会ったことはありません。はい、私はいつもとても幸せです。私は幸せな酔っ払いだし、とても幸せなアヤワスカ体験で、愛に満ちていました。悪魔がどこにいるのか理解できません。しかし、それは私の生化学です。それが何であれ、他の人にとっては、あるトリップは素晴らしいのに、次のトリップでは完全に破壊されて人生がめちゃくちゃになる可能性があります。

ですから、それについてどう勧めるべきかはわかりません。避けるべきかもしれませんが、私たちは皆死ぬし、人生は……私は冒険に傾倒する傾向がありますが、薬物は……脳の生化学を弄くり回せば、本当に自分を破壊することができ、それはあなたを苦しめるでしょう。私は一般的に、人々に薬物を完全に避けることを勧めます。あなたがクレイジーな母親、ハンター・S・トンプソンでない限り。このトピックへのイントロとしては素晴らしいですね。すみません。メタンフェタミンってどんな感じですか?それは……それは素晴らしいイントロです。少なくとも幻覚剤に関しては、あなたが経験すること、そして保証がないという意味で、あなたは非常に正しいです。製品を買ったからといって、楽しい時間を過ごせるとは限らないですよね。個人的な意見としては、私は霊的な領域を信じているので、悪魔や天使の存在、神の存在を信じています。その領域全体は……何を開いてくれるのかわかりません。しかし、それははるかに異なる経験です。「それは単なる脳内の化学物質の塊だ。全部混ざり合ってしまうんだ」と言う人もいます。LSDは、あなたのすべての経路を取り、それらがすべて……脳の中でごちゃごちゃになるのです。経験は深遠です。奇妙で、素晴らしく、恐ろしい経験をすべてしました。私はすべての経験をしたと言えるだけです。私はいつも同じことを言っています。それは私がした選択であり、私は決して取り消すことはできません。私は決してそれを自分から奪うことはありません。なぜなら、それらの経験すべてを経ることなく、今の私になることができたかどうかはわからないからです。しかし、あなたがそのような経験をしていないなら、私はあなたのチームの一員です。少なくとも部分的に、もっと厳しく言えば、あなたにそのような経験は必要ないと思います。良い決断をしたり、人々の価値を理解したりするために、そのような経験をする必要はありません。あなたはそれをしなくてもいいのです。

メタンフェタミンはどんな感じかについては、もしコカインをやったことがあれば、コカインは15分間のダンスパーティーから始まります。とても強烈です。とても素晴らしいです。そして、それは5時間ほどの、ただぐにゃぐにゃした気分になることに続きます。他にどう説明すればいいのかわかりません。メタンフェタミンはそれと同じですが、ダンスパーティーはあまり、あるいは全くありませんでした。代わりに、その部分を12時間ほど経験しました。ですから、スケートボードをたくさんしましたし、走り回ったりもしました。心地良い感覚ですか、それとも人生の孤独からの逃避ですか?心地良いのか、それとも不快なのか?結果ではなく、その瞬間において。それは非常に興味深い領域です。普遍的に言うことはできません。多くの場合、麻薬中毒者には2つのグループがあることに気づきます。オピオイドが好きで、覚醒剤が好きです。一般的に、麻薬の世界で両方をする人はほとんどいません。彼らは自分の陣営を見つけて、それを目指します。メタンフェタミンは誰もが楽しむものですか?あなたの言うとおり、そして人々が麻薬中毒を経験する方法のように、当然のことながら、いいえ。しかし、私にとっては、それはADHDの性質に合致していました。なぜなら、あなたは高エネルギーだからです。あなたは常にその瞬間の中にいるのです。ですから、あなたは「今この瞬間の中にいる」と言っているようなものです。すべてがとても強烈で、本当にその瞬間の中にいたいのです。そして、それは常にそれを経験しているということです。それは素晴らしいことでしたか?人によっては……私の妻はいつも私にこう言います。「状況に緊張したり、不安を感じたりすることは、スリルと同じことだ」と。私はその正確な言い回しを忘れてしまいました。彼女は私がそれを台無しにしたことにきっとがっかりしているでしょうが、あなたはそれらの2つの経験を全く異なる光で知覚できるということです。人によっては、群衆の前に立つことがスリリングだと言う人もいます。人によっては、それが人生最悪の経験だと言う人もいます。彼らは文字通り、立ち上がって話すよりも死ぬ方がましだと言うでしょう。それは考えられないことです。そして、私にとって、メタンフェタミンはそのようなスリリングな面でした。しかし同時に、それは私が欲しかったものを、私が求めていたものを与えてくれませんでした。私はそれを、私が欲しいものを手に入れるために使っていましたが、それは決して私にそれを与えてくれませんでした。はい。私にとっては、すべて本当に素晴らしい経験でした。お勧めはしませんが、ところで、YouTubeのポリシーでは、言わなければならないことがあります。ところで、何をするにしても、違法行為をしてはいけません。素晴らしい経験をしました。しかし、何をするにしても、しないでください。プリモージェン氏よ、私は主人を持たない。私はYouTubeも何も持っていない。私は自分が言いたいことを何でも言うだろう。私はただ……しかし、真剣に、いいえ、私は……私はYouTubeや誰かのことを気にしていません。正直に言って、私は自分が言う言葉に注意深く選んでいます。なぜなら、私が良い経験をしたからといって、これを聞いている若い人たちがその経験を試してみるべきだと考えるべきではないからです。もっと強力なメッセージは、それなしでも人生は素晴らしいということです。それは私がアルコールに関して実験していることの一つです。

私にとって、私は内向的で、世界を恐れています。社会的交流は私を不安に陥れます。アルコールは、時にそれを助けるものです。しかし、正直に言って、それはアルコールではありません。それは人が私に話している間、何かをしなければならないということです。もし彼らが……はい。ビールを飲むことには社会的側面があります。はい。私たちは楽しい時間を過ごしています。そして、それは私には効きます。もし液体が実際にアルコールのように見えるなら、同じ目的を果たします。なぜなら、ウィスキーやビールのようなものなら、私たちは楽しい時間を過ごすべきだという合図を送るからです。私たちは交流しているのです。私たちは狂っているのです。そして、それはアルコールは実際には必要ないという意味です。アルコールなしでも狂うことができます。しかし、手に飲み物を持っているときには、ある種の社会的シグナルが送られます。私は飲酒していない集まりにも行きましたが、偽物の飲み物をしているだけで、楽しい時間を過ごすことができます。しかし、世界中を旅していると、ウォッカのボトルを空ける時もあります。それは私の仕事の進め方にとって非常に不可欠です。しかし、それは一種の文化的経験であり、成功した社会的交流、あなたに幸福をもたらす交流の必要不可欠な要素ではありません。飲酒しなくても、楽しい時間を過ごすことができます。

これらすべてについて、私は薬物が私の人生に良い影響を与えたと言うことに非常に慎重です。なぜなら、ほとんどの人、大多数の人にとって、長期的にはネガティブな影響を与えるからです。もしどちらか一つを選ぶとしたら、薬物も飲酒もしない方が良いでしょう。そうすれば、いつかアメリカ合衆国の大統領になることができます、子供たちよ。そして言っておかなければならないのですが、彼の最も面白いセリフは、「ダイエット・コーラは最高だ」です。それは彼が最も面白いセリフで、もし私が飲んだら私を嫌うでしょう。それは私をとても楽しませます。「なんて面白いセリフなんだ」と。自己認識とユーモアは素晴らしいものです。しかし、私はあなたのチームの一員です。私が薬物を使った理由のすべては、ある程度の逃避主義でした。それは、原型、または私がそれを分類する箱、あるいはそれらからは得られない何かを感じようとする追求だと思います。仕事に意味を見出そうとするようなものです。あなたがやっていることに満足感を見出すことができます。それはとても良いことです。あなたが創造したことに満足して、幸せになることができます。あなたは経験に興奮するかもしれません。しかし、あなたは……特定の仕事の人々、例えば、EMTで誰かの命を救う人などには目的があるかもしれませんが、私が描いているのは非常に幅広い筆致です。プログラマーのほとんどは、単に自分の目的を見つけることはできません。薬物も同じです。あなたが探しているものは見つかりませんが、それらは非常に素晴らしい気晴らしです。

そして、ある時点で、その気晴らしは大きな犠牲を伴います。FA博士は、その大きな犠牲について最もよく知っているでしょうが、あなたはただ一つのものを別のものと交換しているだけで、ある時点で請求書が来ます。そしてその請求書は非常に大きくなる可能性があります。あなたが言及したもう一つの本当に刺激的な瞬間は、あなたがプレ・カルキュラスで失敗し、学校で本当に苦労し、学校は本当に難しいと気づき、最終的にその苦労の壁を乗り越えることができるようになったということです。助言として、何が起こったのか、そして苦労している人々にどのような助言ができるのかを説明してもらえますか?私はそれをより明確な絵で、非常に高速なスピードランで説明します。プレ・カルキュラスを受講し、不合格になりました。プレ・カルキュラスをもう一度受講し、不合格になりました。プレ・カルキュラスをもう一度受講し、Cを取得しました。ですから、3回受講しました。その後、夏に微積分を受講しました。その最終試験は2時間でしたが、私は30分で終えました。それは学校全体で最高点でした。そして、私は微積分と微分方程式で最高点を取り続けました。微分方程式の最終試験を終えたのは、400人中私だけでした。そして、私は最高点を取得しました。ですから、私は本当に上手くなったのです。私はどういうわけか、本当に下手な状態から本当に上手な状態になったのです。そして、私がやった唯一のことは、私が勝たなければならなかったということです。それは選択肢ではありませんでした。「これは素晴らしいだろうね」というようなことではありませんでした。私はそれをしなければ卒業できないし、自分のことを終えることができないのです。ですから、毎日、私は起きて、何時間かの授業に行きました。その直後、私はまっすぐ数学学習センターに行って、問題に取り組みました。家に帰ると、私は本を取り出して、裏に奇数の解答があり、問題を何度も何度も何度も何度も何度も繰り返して解くまで、絶対に理解するまでやりました。そして、それは私がただ、単純な暗記が引き継ぎ、九九をやるような能力、しかし微積分版が頭に詰まったようになりました。逆三角関数の置換、三角関数の置換、テイラー・マクローリン級数など、それらのすべてのこと、何度も何度も何度も何度も繰り返すうちに、それらは簡単になりました。非常に簡単になりました。私はそれを詰め込まなければならなかっただけです。人によっては、授業にほとんど出席せずにAを取ったという話を聞きます。私はそんな人間ではありませんでした。私はいつも、座ってすべてを読み通さなければならない人間でした。私は抽象的な概念が苦手です。私は具体的なものから抽象的なものへと進みますが、抽象的なものから具体的なものへと進むのは苦手です。理論的に物事を話すことよりも、それを適用しようとする方が得意です。しかし、文字通り一度できれば、抽象的なものに入っていくのは本当に簡単になります。ですから、私にとって、それはただ、鞍の上の時間が必要だったのです。時間をかけて、ゆっくりと良くなっていきます。最初は、それは打ちのめされることであり、敗北感があり、楽しくありません。なぜなら、あなたは下手だからです。しかし、ある時点で、あなたが十分に長くやることができれば、下手ではなくなります。そして、ある時点で、あなたはそれなりに上手になるかもしれません。そして、あなたが何かで上手くなると、それは素晴らしいと感じます。探求的なものがあります。もしあなたが楽器を演奏したことがあれば、正しく演奏するためにやらなければならない小さなことを考えずに済むようになり、その空間をどのように探求できるかを考え始めるようになります。それは、全く異なる問題です。プログラミングも、それと全く同じような感覚があります。あなたはそれを乗り越え、それが雑用ではなく、魔法のようになります。一度その壁を乗り越えると、他のことが簡単になります。しかし、本当に成功した人生を送りたいのであれば、次の壁を見つけるのです。次の壁です。私はいつも同じでした。すべてが本当に大変でした。私は無料の昼食は一度も取ったことがありません。すべてが多くの痛みと苦労でした。

誰かが、この話題について、「賢く働け、一生懸命働くな」というフレーズを嫌っていると言っていました。Redditの誰かがそう言っていました。私はそれが嫌いなだけでなく、そのフレーズを嫌っています。その理由を教えてください。私がそれを嫌う理由は、そこに隠された示唆があるからです。それは、あなたはすでに何が賢いかを知っているということです。それをすればいいのです。実際には、物事は簡単であるべきです。それほど一生懸命努力する必要はありません。ただ簡単で分かりやすい道を進めば、すぐに終わるでしょう。私は自分がやったことの中で、そのような経験をしたことがありません。すべてが本当に大変で、ほとんどの場合、自分が何をしているのかも分かりません。したがって、何が賢いのかも分かりません。ですから、私にとって、賢く働く方法を学ぶ唯一の方法は、非常に一生懸命に働き、近道がないことを知っていることです。そして、私がついに賢く働く方法を理解したとき、賢くそして一生懸命に働くとき、それはそれだけ良くなるのです。私は、それには深い真実があると思います。私たちの社会には、私をイライラさせるようなフレーズがたくさんありますが、これは本当に受け入れられている一つのものです。なぜなら、それは私を本当に悩ませているからです。それは、物事は簡単であるべきであり、簡単な道が見えていないならあなたは失敗者であるという前提です。「賢く働け」という犬です。なぜそんなに多くの時間を費やしているのですか?そのため、苦労している多くの人が、自分が失敗者であると感じています。なぜなら、私はそれが見えないからです。そして、私が持っている選択肢は、「まあ、怠けていよう。そうすれば、いつか深い真実が私に分かるだろう」というものです。そして、私はこれまで、そして私は素晴らしいエンジニアに出会ったことがありません。彼らは非常に厳しい努力なしで賢い方法を見つけ出すからです。それらの素晴らしいエンジニアの厄介な点は、振り返ると、彼らは厳しい努力を忘れてしまうことです。なぜなら、彼らは、彼らが思いついた効率的な賢い仕事の喜びを覚えているからです。彼らは忘れてしまいます。そのため、彼らは助言をする際に、「まあ、簡単な方法でやりなさい。そして、簡単な方法はこちらです」というような愚かな助言をしてしまうのです。しかし、違います、違います、違います、違います。時間は費やさなければなりません。楽器は素晴らしい例です。ギターとピアノには、何千時間もの時間を費やしました。そして今、私が物事を説明しているとき、柔術も同様ですが、私はそのような人々のようになり、ただリラックスするように聞こえます。「まあ、リラックスして」というのは、ピアノなどの身体的な努力にとって本当に素晴らしいものです。しかし、どのようにして手をリラックスさせ、心と体をリラックスさせ、体のバイオメカニクスを使って正しい種類のレバーとタイミングを適用するのかを学ぶには、何千時間もの学習が必要です。リラックスする方法を学ぶだけでも、非常に多くの厳しい努力が必要です。柔術では、何度も何度も自分の尻を蹴られ続けて、家に帰ったときに泣いて、自分のエゴが完全に打ち砕かれ、破壊されるまで何ヶ月もかかります。そして、その夜遅くか翌朝、小さな要素が発見されます。その鬱から、洞察という花を咲かせる小さな植物が生えてきます。そして、その洞察を使って、次の月や次の年も自分の尻を蹴られ続けます。そして、あなたは成長し続け、成長し続けます。そしてそこから、柔術がいかに美しくシンプルであるか、あるいは私自身の話をするなら柔道、ピアノ、ギターがいかにシンプルであるかを発見します。そして、はい、深い真実、あるいはスキルを習得することは、あなたが最終的にそこに到達したときにはシンプルに感じますが、その道はほとんどの人にとっては厳しいものになるでしょう。

追加で一言言ってもいいですか?私が絶対に嫌っている文化的なフレーズがあります。はい。「旅は目的地より大切だ」というフレーズですね。みんな聞いたことありますよね?はい。それが何を意味するのかを1秒間考えてみてください。それは、今からずっと、あなたは常により悪い場所に向かっているということです。それが文字通り意味するところです。旅を楽しんで、目的地を祝うべきです。それがそうあるべきです。しかし、人々はこれらのフレーズをどこにでも使っています。論理的な根拠のない非常に浅いフレーズです。「それは一体何を意味するんだ?なぜ旅は目的地より大切なんだ?」と思うのです。なぜなら、あなたはいつも……これはCS・ルイスの引用かもしれません。CS・ルイスは、「違う、これはひどい。旅は実際には目的地より大切ではない」と言っていました。私は非道徳的なポスターが好きです。「前進することは、たとえまだどこにも行っていなくても、後退することより良い」というものです。カリフォルニアに数年いた経験から、私はそれを深く感じています。ポジティブさ。「今日君を壊さなかったら心配するな。明日はまた試すだろう」というものです。本当に素晴らしいポスターがたくさんありました。これがそういうものだとは知りませんでした。これはそういうものなんだ。なんてこった、欲しい。はい。こんにちは。プリモージェンです。このポッドキャストで一つ忘れられたことを言っておかなければならないのですが、私が忘れっぽくて愚かだったのは、母が私の人生でどれほど大きな役割を果たしたかということです。父が亡くなった後、母は1日18時間働かなければなりませんでした。彼女は本当に私たちの家の存続を可能にしました。私はいつも彼女を尊敬し、彼女を素晴らしいと思っていました。そして、私が再び頑張ろうと決めたとき、彼女はまさに私が前進し続けるための内部的なインスピレーションのような存在でした。なぜなら、私は本当に彼女を誇りにさせたかったからです。そして、長年にわたる高エネルギーの努力、私は本当に彼女に、私がどれだけ感謝しているかを知ってほしかったのです。ですから、ありがとうございます。愛してるよ、お母さん。ところで、Netflixで働いていたことを知らない人のために言っておきますが、ところで、先ほど述べた困難、苦労、中毒などから、この素晴らしいエンジニアリング会社で働き、そこでクールなものを作り上げるような場所へどのように移行していったのでしょうか?Netflixの話を教えてください。

ええと、私は前に、自分のスタートアップをしたいと言っていました。どれくらいだったか忘れましたが、1年か2年か2年半、スタートアップを構築しました。PHP、jQuery、みんなのお気に入りの言語をすべて組み合わせて。jQueryを使って数学の問題を解くことができます。私はただ、それに夢中でした。ノンストップでそれをすること。これはStack Overflowの全盛期で、Stack Overflowに本当に愚かな質問をするようなことです。「Python的とはどういうことですか?」と。そして、たくさんのアップボーとを得て、たくさんのカルマを盗もうとします。楽しいことだらけでしたね。そして、私はそれに夢中でした。息を吸って、息を吐いて、それが私が一日中ずっとやっていることです。ですから、それはスタートアップのノンストップの構築です。最終的にそのスタートアップは失敗し、私は本当の仕事を得なければなりませんでした。そのスタートアップは何だったと言えますか?過去のことを考えると、とても奇妙です。それについて話す前に、父について一つ言っておきたいと思います。父は90年代初頭、91年か92年頃に、長距離通話を事前に購入できるような電話カード会社を設立しようとしていました。90年代半ば、97年、98年、99年、2000年、2002年頃のことを思い出してください。Dial-Down Center、ですよね?長距離通話を事前に購入できるような会社がすべて出てきて、非常に大きくなりました。そして、父はそんな考えに6年も早く取り組み、最終的には彼のスタートアップは失敗しましたが、彼は本当に大きな人気を呼ぶものの先駆けでした。特に電気通信業界では。私が成長して自分のスタートアップを始めたとき、私はテキストメッセージマーケティングを行うスタートアップを始めました。これは2010年のことで、さまざまな取引に関するテキストメッセージを受け取ることができるというものです。もちろん、10年後、あなたはテキストメッセージを受け取ることなくしては済まなくなっています。そして、テキストメッセージマーケティングは、今や大流行です。ですから、父と同様に、私はテレマーケティング業界でスタートアップを立ち上げましたが、それは5年も早すぎました。あなたはいつも時代の先を行っていて、ある種の先見の明があると言えますか?いいえ。実際、私は時代の先を行っているわけではありません。私は単に、ある人は不運だったと言うかもしれませんが、私はそれがその時、私がやっていた時に非常に明白に見えたからです。携帯電話の80%はガラケーでした。私がVia Textという製品を販売したとき、ほとんどの人は折りたたみ式の携帯電話を持っていました。その名前はVia Textでした。短いコードもVia Textを持っていました。それはかなり賢いですよね。6桁です。私がそれを販売しに行ったとき、私はその当時、スマートフォンを持っていませんでした。はい。なぜなら、多くの人にとってそれは受け入れがたかったからです。ですから、考えるのはちょっと奇妙ですが、その後、明らかに本当の仕事を得なければなりませんでした。私たちはモンタナ州ボーズマンのキャンパス近くのマンションに住んでいました。私たちの真下の男は、かなりの量の薬物をやっていたに違いないです。彼は何度も私たちを殺すと脅していました。ただ叫んで、気が狂うようにしていました。非常に気違いじみた男でした。私たちは彼を「怒れる下階の男」と呼んでいました。ある時、私の妻は単三電池を落としました。大きなものではありません。B電池やD電池ではありません。単三電池です。地面に落ちました。「殺してやる!」と狂ったように叫びました。本当に気違いじみた行動でした。そこで、私は本当の仕事を得なければなりませんでした。そこから出て行かなければなりません。人生を始めなければなりません。そこで、私は小さな会社で働きました。そこで、退屈さについて話しました。Web Filingsという会社に行き、その間ずっと何時間も働きました。私はまだスタートアップを考え続け、友人の誕生日のメッセージを事前に書いて、Facebookで自動的に送信するようなものを作り上げました。私たちはそれをGrief Feedと名付けました。これはかなり賢いものでした。とは言え、私がやっていたことはすべて、物事を探索し、構築し、完成させ、働き、企業生活について学び、企業生活でのコミュニケーションを学ぶことでした。仕事で成功する方法、さまざまなテクノロジーについて学ぶことでした。そして、その日、特に2013年に大きなテクノロジーの一つはRxJSです。覚えていますか?RxJSは、CからJavaScriptに移植されたものです。知らない人のために言っておきますが、Cの最も近い隣人はJavaです。Javaは?彼らは明らかにJavaを取って、ある時点でそれを盗みましたが、今では非常にダイナミックで興味深い言語なので、実際的なものと実際的でないものとの境界線は本当にクールなものになるように見えます。私はMicrosoftの家にいる時に、プリーツのついたズボンを着るようなことは全く考えていません。プリーツのズボンは必須ですか?そうだと思います。この話を戻しましょうか?分かりました。Web Filings、Web Filingsは、私がすべての行列のようなことをして、システムを構築し、そのようなことをしなければならなかったところです。そして、彼らは週60時間も働かせたかったため、私を本当に追い詰めました。ワークライフバランスは非常に悪く、非常にハードワークでしたが、最先端の技術に取り組み、世界を本当に理解することで、私は物事を非常に自信を持って話すことができるようになりました。なぜなら、私たちは構築していたもののUIのために非常に複雑なステートマシンを構築しなければならなかったからです。ですから、LinkedInなどを使い始めると、必然的に、私がこれらのテクノロジーに触れたという証拠となるようなペーパー・トレイルがあったため、

これらのテクノロジー、Microsoft、あるいはMicrosoft。ダン・イット。レックス・フリートド・パンツ、プリーテッド・パンツ。連絡がありました。Netflixが連絡してきて、「ねえ、RxJSをやったのを知ってるけど、うちでもたくさん使ってるんだ。面接に来ないか?」と言いました。

面接への手書きの個人的な招待状のようなものを、決して断るべきではないと、いつも言われていました。これは、ボットが登場するずっと前のことで、たとえボットでも、ボットだとわかるほど明白でした。これはNetflixのマネージャー、ジェフ・ワグナーさんからのもので、私の最初のマネージャーでした。彼は本当に素敵なメモを書いて、「あなたのやっていることをたくさん見ているけど、JavaScriptの助けが必要なんだ。面接に来てもらいたい。RxJSもたくさん使っているよ、もし興味があれば」と書いていました。それで、「わかった、面接に行こう」と思いました。

そして、面接は進み、面接の途中で妻に電話して、「カリフォルニアに引っ越すかどうか、決めないといけない」と言いました。彼女は覚えているかもしれませんが、私はその時点で既に仕事を得ているとわかっていました。私は素晴らしい仕事をしていました。

だから、Netflixで仕事を得ていることは確信していました。面接に関して皆がすごく恐れること、そして私はそれを何とか避けた幸運について話します。私はテストの不安を感じません。そのようなことはありません。なぜなら、そのような状況に入る私の唯一の目標は、私が既に知っていることを示すことだからです。

私はこの状況に歩み寄り、過去5年間、週80時間この準備をしてきました。だから、ただ歩いて行って、知っていることを示すだけです。そして、それは2013年初期のテレビにおけるJavaScript時代におけるNetflixに完全に合っていました。素晴らしい、完璧にうまくいきました。採用されました。

カリフォルニアのどこにあったのか?サンフランシスコ、ロスガトスです。ご存知なら、典型的なシリコンバレーの人たちがやることですね。サンフランシスコ、オークランド、サンノゼ、ロスガトスはサンノゼの少し南にあります。同じ巨大な連続都市です。イエローストーンはモンタナ州のイエローストーンですよね?

あの番組ですね。そうです。ケビン・コスナーが馬に乗っているやつですか?キャンパスまで馬に乗ったんですか?いいえ、でも、それらのステレオタイプは好きです。正直に言うと、15歳の頃、今は非常に混雑した通りで、車の窓から22口径の銃でジリスを撃っていました。だから、モンタナは昔とは違う場所になったんです。それでも、モンタナには非常に田舎で、古い世界の面影を残している場所がたくさんあります。

だから、文化的には、何でも手に入ります。カリフォルニアとモンタナの差異を説明する最善の方法がわかりません。期待が違うだけです。カリフォルニア、少なくともシリコンバレーについては、本当に感謝できることがあります。明らかに、LAとカリフォルニア、シリコンバレーでは態度や考え方が全く違います。比較することはできません。

私が本当に肯定的に言えるのは、皆が何かを構築したり創造しようという考えで動いていて、それが非常にエキサイティングなエネルギーを持っているということです。誰かと会って、スタートアップをやっていて、そのスタートアップに取り組んでいて、それは非常にエキサイティングです。もちろん、それには多くのネガティブな側面があり、私たちの人生全体が商業化されていることはあまり良くないことですが、そこにいて皆が何かを構築することに興奮しているという経験は、本当にクールな経験です。

素晴らしいですね。本当に素晴らしい。興奮、エネルギー。モンタナにはそれがありません。イエローストーンのような番組、自然の中で過ごすことへのロマンチックな憧れがあります。美しいですね。乗馬が好きです。Redditには私に関する知恵がいっぱいあると言っていました。偽ニュースもあるかもしれませんが、馬に関することなど。馬が好きで、乗馬が好きだと。

馬を飼っています。隣人はもっと丘陵地帯の土地を持っていて、そのうちの1頭の馬が足を骨折したので安楽死させなければなりませんでした。「私たちはもっと平らな土地にいる。あなたの馬を私たちの敷地で飼うことができますよ」と言いました。だから、私たちは敷地で馬を飼っています。

乳牛については?牛について質問がありました。私はオープンカウしか飼ったことがありません。オープンカウとは、妊娠させようとしたものの、1回目は妊娠しなかった牛のことです。その遺伝子は排除されます。オープンカウは1年間放牧され、美味しいTボーンステーキなどに加工されます。私たちはオープンカウを敷地で飼っていました。

だから、オープンカウを搾乳することはありません。搾乳しようとしたらとても怒ります。搾乳する牛ではありませんよね?牛を妊娠させて、搾乳の状態にする必要があります。私たちがやっていたことは、牛が草を食べているだけで、触る必要はありませんでした。素晴らしいですね。Redditは私に関する知恵を得るのに最適な場所ではありません。あなたは最もクレイジーな答えを得るでしょう。私たちは何度もRedditに戻ってくるでしょう、友達。

では、Netflixへの転身について。これは、話すとなぜか軽視されることが多いことです。「2013年にファング企業に行くのは大きな決断だ」と言われるからです。私の妻は妊娠36週目でした。誰も知らない場所に旅行する必要がありました。私たちは最初の子供をもうけようとしていました。医者もいませんでした。赤ちゃんを産むには、医者との関係が必要ですよね。

だから、それは本当に大変で素晴らしい経験でした。私は、文化デッキを持つ仕事に行きました。当時、Netflixはまだ古いX世代の雰囲気を持っていました。彼らの文化デッキは、「迅速に採用し、迅速に解雇する」というものでした。標準を満たさなければ、解雇されます。

より安全な場所を離れて、誰も知らない場所に、誰でも解雇すると主張する大胆な仕事に就くことになります。妊娠間近の妻がいます。そして私はモンタナ出身で、モンタナ出身者は生まれつきカリフォルニアを嫌っています。だから、これは非常に激しい経験になるだろうということが、すべて流れ込んでいました。確かに大変でした。「ファングで働くようになった」というような簡単な経験ではありませんでした。私たちはそれを乗り越えなければなりませんでした。子供を産むことは非常に困難でした。最初の子供は非常に困難でした。家族が近くにいないため、私よりも妻の方がはるかに苦労しました。

技術的な学習曲線は?あなたはプレイドパンツを着ていましたね。スタックについて何を学ぶ必要がありましたか?Netflixは想像を絶するインフラストラクチャを持っていて、膨大な量のデータを提供しなければなりません。Netflix、YouTubeのような企業は、膨大な量のビットを提供しなければなりません。Netflixは、他のどの企業よりも簡単です。視聴時間ではYouTubeを上回っているかもしれません。Netflixは、他のどの企業よりも根本的に簡単な問題を抱えています。

まずスタックについて説明してから、なぜ根本的に簡単な問題を抱えているのか説明します。私が最初にそこに着いたとき、上司はPlayStation 3を渡してくれました。「コードを勉強して、数日後に戻ってきて、何を学んだか教えてくれ。それからバグの修正を依頼する」と言いました。PlayStation 3?何を言っているんですか?私はテレビチームにいたので、PlayStationに接続してプログラムを起動し、テレビデバイスでNetflixを動かす方法を調べなければなりませんでした。

だから、さまざまなデバイスがあるんですね。2013年のデバイスがテレビに接続されていました。了解です。Netflixを搭載したテレビはそれほど多くありませんでした。Darwinアプリと呼ばれる新しいアプリケーションもありました。その年の初めにVizioを購入した場合は、古いバージョンが提供されます。Plus UIと呼ばれていました。古いバージョンです。Plusはサポートしていませんでした。Darwinでのみ作業していました。

だから、そのスタック全体を学ぶ必要がありました。バックエンドとフロントエンドの中間レイヤーはGroovyで書かれていました。Groovyは、Jenkinsを知らないなら、おそらく触れたことがないでしょう。GroovyはJVM言語です。非常に興味深い言語です。Netflixではどのように始まったのでしょうか?

Apache Groovyは、Java仮想マシン上で動作する強力なオブジェクト指向プログラミング言語で、2007年にリリースされました。静的型付けと動的型付けの両方の機能を組み合わせた汎用性の高い言語に進化しました。AIは少し嘘をついています。Groovyは強力で素晴らしい言語ではありません。あの文章は、実際よりもはるかにクールに見せています。Groovyに触れた人のうち100人に1人だけが、「ああ、Groovyは素晴らしい」と言うでしょう。他の99人は、「あの言語に触らなくて済むように」と言うでしょう。

私がそこに着いたとき、Netflixには400人のエンジニアがいましたが、誰もGroovyがどのように機能するのか全く知りませんでした。何らかの方法で、人々はこれらのスクリプトをまとめてそこに配置し、それは機能しました。これはGroovy RXポートが登場する前でした。WXという独自のバージョンを書きました。それは悪夢でした。Observable、これらのもの。ある時、「RXを使えば簡単だ、必要なことを言えば、マップアウトして、すべてがマルチスレッドで実行される」と言われました。

それで、単にobservable.sleep(1)と書いてみました。そして、スレッドが自分自身をスリープさせると、どのスレッドもそれを起こすことができないことがわかりました。「応答がない」「応答がない」「もう戻ってこない」と、10回ほど実行しました。すべてのステージングをオフにしました。すべてのインスタンスをロックしたので、その日の午後、開発者は誰も作業できませんでした。実際にはマルチスレッドではなかったからです。私たちに伝えられたすべての仮定は嘘でした。誰も自分が何をしているのかわかっていませんでした。ワイルドな時間でした。

私はprintfデバッグが得意なので、自然とそれに惹かれました。だから、「解決しよう」と思いました。テレビのフロントエンドのデータ構造を書き直す必要がありました。lolo(リストのリストの映画)からlolo(リストのリストの映画の推薦オブジェクト)に変更しました。なぜそうする必要があるのでしょうか?

2つのリストを考えてみてください。1つはブルース・ウィリスが好きなので、ダイ・ハードのブルース・ウィリスです。もう1つは、タフな男がタフな仕事をしているので、ダイ・ハードです。当時は、あなたがそれを欲しがっている理由を示す方法は1つしかありませんでした。「別の映画が好きだったから」とは言えませんでした。

だから、映画に推薦情報を付加できるレベルを追加する必要がありました。だから、推薦の空間と映画の空間を分離できるんですね。ビデオにぶら下げることはできません。すべてのビデオで同じものが表示されるからです。素晴らしいですね。

私はGroovyで書き、それをやって、人々は「どうやってGroovyで書いたの?」と言いました。「言語のリファレンスを1日読んでプログラミングした」と言いました。非常に急進的な言語でした。そして、私はこれらのことを知っている人になったので、彼らは私にますます多くの仕事をくれました。

printfデバッグについて話していただけますか?世界にはTwitterのような多くのシステムがあります。イーロンがTwitterを買収した時、古いジャンクなコードベースがあり、基本的にprintfデバッグをする必要がありました。過去に他のエンジニアたちが何ヶ月も何年もかけて作ったもの、そしてその混乱を逆エンジニアリングして、改善を行うにはどうすれば良いのでしょうか?

私がいつもprintfデバッグが得意だった理由は、学生時代に政府のためにロボットを制作していた最初の副業の1つが関係しています。週何時間か契約でやっていました。上司のハンター・ロイド教授(素晴らしい教授です)は、「パソコン、ロボット、接続方法、コードの実行方法、フラッシュドライバー、イーサネットドライバー、惑星パンケーキモーター、マニュアルをいくつか用意しました。足りないので、解決してください。戻ってきます」と言いました。

政府の仕事でした。「了解しました、解決します」と思いました。そして、解決しました。マシンから何かを得る唯一の方法は、プリントすることでした。だから、問題を解決するために、プリントする方法を本当に得意になる必要がありました。

これは、私が身につけたスキルだと思います。多くの問題をprintfデバッグで解決できます。私はゲーム開発者ではないので、デバッガーがどれほど素晴らしいかについてジョン・カーマック氏が話していた世界とは違うと思います。Netflixにいた頃、AWSのどこかに存在するマシンがありました。ログインしていません。ログイン方法もわかりません。ログイン資格があるかどうかもわかりません。どこかで一度実行され、何が起こったのか、なぜ起こったのかを調べなければなりません。

私はprintfデバッグのチャンピオンです。だから、これらのことを本当に速く調べて、なぜそのようなことが起こっているのかを理解できます。特別な人だと思います。どんなコードベースにも、どんな状況にも飛び込んで、printfデバッグをすることができるというのは、信じられないほどのスキルセットです。暗い部屋にいて、部屋がどのようなものかを知るために手探りで探っているようなものです。

コードがあったので、何が起こっているのかを概説できました。サービスなどは理解していませんでしたが、何が間違っているのかをすぐに推測し始めることができます。そして、printfの側面が、直感を確認し、テストし、より多くの情報を蓄積するのに役立ちます。そして、システムを壊すエッジケースが何であるかについて、より大きな全体像を蓄積し始めます。

多くのエンジニアにとって、それは恐ろしいものです。彼らはそこで崩壊します。これは、本当に強力なことです。コードベースに入るには、多くの人がゼロから始めるスキルセットではありません。これは、Web開発全般の基本的な問題です。何が起こっているのかわからないので、ゼロから自分で作成するんですね。

過去の先祖の過ちや知恵から学ぶ、そしてそれらを基にして構築する方が、ずっと重要なスキルです。すべてを捨ててゼロから始めるのではなく。これは、毎日新しいJavaScriptフレームワークが出てくるのと同じです。

それについて素晴らしい話があります。他の開発者に対する私の視点形成に最も影響を与えたと思います。ある開発者が、非常に奇妙な方法で常に何かを書いていました。Netflixのデータ取得ライブラリであるFalcorに関するものでした。モバイルで実行する必要があり、Objective-Cで記述する必要がありました。テレビでもWebでも実行する必要がありました。すべてで実行されました。私ともう1人の人が、このシステムの動作と、既に持っているリクエストと新しいデータを重複排除するリクエスト側を担当していました。

誰かがリクエストしているものに基づいてそれを把握し、持っていないものだけを最適にリクエストする必要がありました。彼は非常に奇妙な方法で書いていて、「この男は何ておかしな奴なんだ」と思いました。削除して書き始めました。「これはどれほど素晴らしいか」「あれ、エッジケースがあるな」「なぜ彼がこのように書いたのかわかる」と思いました。

でも、私のコードの残りは本当に素晴らしいです。最後に、文字通りほぼ行ごとに、彼が既に書いたものを再現しました。私のスタイルに合わせて少し異なりますが、同じコードを書きました。「私は馬鹿だ」と思いました。彼は既に解決された問題を解決していました。私は彼がやったことを学ぶ時間をかけずに、それを書き直すことで再学習しました。

人々が学ぶために非常に重要なスキルセットだと思います。自分自身にも見られます。これは自分自身にとって常に苦労していることです。例えば、コードベースに直面するときですが、これは一般的に人生に当てはまります。誰かが何かをするために多くの作業をしました。何をやったのか、なぜやったのかを理解するために、膨大な時間を投資する必要があります。彼らが何をやったのかを理解するために、多くのprintfデバッグを実行する必要があります。ゼロから始めるよりも、問題を深く理解するはるかに効率的な方法です。

ゼロから始める誘惑は常にありますが、ゼロから始めるのは楽しいです。パズルを解いたり、そういうことがありますが、通常は正しいことではありません。他人のコードベースを理解するのは、ほとんどの人にとって苦痛です。概念を理解したい場合は、ゼロから始めることを強くお勧めします。HTTPサーバーの仕組みがわかりませんか?TCPソケットを作成し、HTTPを解析する方法を学びます。そして、「リクエストを受け取るときにはawait textする必要がある理由がわかります。テキストがなぜないのかがわかります。」

Redditの知恵に戻りましょう。あなたのNetflixでのプログラミングに関するミームや伝説があるようです。Falcorシステムについて、Tee(名前の読み方は?)さんが言っていました。TJですが、T、またはTelescopic Johnsonと呼んでいます。たくさんの名前ですね。DDoS(分散型サービス拒否攻撃)を、DOS(サービス拒否攻撃)の簡略版で実行できたそうです。伝説ですね。システムを破壊したんですね。

はい。Falcorについてです。Falcorというビジネスがありますよね。私は誰よりも先にバグを発見し、セキュリティに報告しました。それはひどすぎて、独自の名称「Repulsive Grizzly Attack」が付けられました。実行方法の例もあります。これは、メモリとCPUの両方をターゲットとするリクエストがあり、破壊するということです。Netflixの記事があります。私が発見して、それがどれだけひどいのかをみんなに伝えたことを考えると、少し残念です。そして、修正または最初の修正を書く必要がありました。

GraphQLでも同様のことが可能だと思います。同じような危険性があります。このようなRPCリクエストフレームワークは、この種の攻撃に対して脆弱です。Falcorでは、配列を渡します。これはパスと呼ばれ、データへのパスです。しかし、映画のrow zまたはlist z、row z列zのタイトル、row 0列0の説明、などを書き出す必要はありません。

行0〜10、列0〜10のタイトルと説明が欲しいと言えばいいだけです。非常にコンパクトで分かりやすいフォーマットで書くことができ、すべてのデータが得られます。サーバーに行き、すべてを埋めて返します。リスト3には3つのビデオしかありませんでした。データを再リクエストしようとするとどうなりますか?システムにデータがリクエストされ、何もないことを伝える方法が必要です。これはボックス化された値と呼ばれます。型は何か、値は何もありません。既にリクエストされており、何もありません。これは、センティネル値、ボックス化された値と呼ばれます。materializeという特別なフラグを渡します。パスを要求すると、何も消去しないように確実に埋められます。最後に、「リクエストしたものは既にリクエストされており、何もありません」と言います。

行0〜10000、列0〜10000、アイテム1〜10000、そしてたくさんのプロパティをリクエストして、materializeを要求するとどうなりますか?JVMに数十億個のオブジェクトを作成しようとしています。マシンはどうなりますか?実行停止します。JSONに変換できたとしても、JSONシリアル化を要求すると、正しく実行されません。不可能です。だから、攻撃ベクトルは、単純なwhileループでNetflixを非常に長い間ダウンさせ、AWS上のマシンを1つずつ破壊することでした。つまり、すべてオフになります。これはWeb、テレビ、モバイルでした。これは深刻でした。

最悪なのは、長年稼働していたことです。ロールバックできませんでした。2週間前にロールバックして、修正することはできませんでした。2011年にロールバックすることができました。だから、前進する方法を見つける必要がありました。もし誰かがこれを見つけていたら、何が起こったのか想像もできません。ビデオを提供しているインフラストラクチャは停止します。UIでは操作できません。ビデオのストリーミングはできましたが、ビデオにアクセスできませんでした。操作しようとするとすべて停止しました。DDoSではありませんでした。多数のリクエストでシステムを圧倒する必要はありませんでした。単にサービス拒否攻撃です。

リアクティブ攻撃がありました。Cloudflare自身がそれを実行して自分自身をシャットダウンしました。適切なリアクティブがあれば、特定のリアクティブを実行している場合、最大限に悪い入力を提供でき、処理が過剰になり、1つのリクエストの処理に10秒かかる場合があります。数百のリクエストだけで、サービス全体をシャットダウンできます。サービスを完全に破壊するには、膨大な機械で数兆件のリクエストを行う必要はありません。少量で十分です。Webは…

子供達には「指輪物語」と「ホビット」を読んで聞かせました。その時は30分間読んで聞かせました。それからそれを置いて、そして週に3回、朝の2時までプログラミングをしたり、朝の2時までビデオゲームをしたり、ストリーミングをしたり、こうした全体像を構築するようなことをしていました。そして、これを長い長い間やっていました。そして、最終的にはうまくいくようになりました。そして、YouTubeの動画を作り始めました。そして、それが良くなってきました。それはまさに長く長く続く作業で、昨年4月まで続きました。ストリーマー賞を受賞し、プログラミング部門を発表することになり、Pirate Softwareが受賞しました。それは素晴らしかったです。素晴らしい時間でした。そしてその間、彼は私にチャレンジコインを贈り、「ただ頑張れ。フルタイムでやれ」と言いました。それで、私はそこに座って、妻も証言できますが、それは一種の感情的な、うーむ、大変なことで、多くのことがありました。それはかなりひどいものでした。なぜなら、私はNetflixは非常に安全な選択肢でした。それはとても楽しく、挑戦的で、一緒に働いた人々の多くが好きでした。全体として本当に素晴らしいものでした。本当に素晴らしい上司がいました。本当に感謝しています。今でも時々メールをしています。本当に素晴らしい人です。だから、それはまるで、不確かなもののためにこれら全てを捨てているようなものです。現実は、ストリーミングやこれら全てのことにおいて、人々は今日あなたを愛し、明日は憎むかもしれません。公の場に立つことには、こうしたことが全てあります。そして、私はNetflixをバックアップとして持っていました。だから、もし大衆が次の日に私を憎んだとしても、「さようなら」と言えるでしょう。気にしません。今は、これを仕事としてやろうとしています。だから、この全体像には大きな混乱がありました。そして、最終的には「よし、これをやるぞ」と言いました。Netflixに入社することを決めた時、それが心に響きました。年を取ってきています。そんな風変わりなことをする機会は多くありません。年を取るにつれて、そのような機会は常に減っていきます。これが最後の大胆な挑戦になるかもしれません。やってみましょう。それで4月にはフルタイムになり、振り返っていないと思います。フルタイムの仕事をしてからまだ1年も経っていませんが、とても楽しいです。そして、一番大切なことは、本当に探求し、人々が本当に楽しんで見てくれて、関わってくれるようなことをストリームでできることです。それは、素晴らしい、大変な、楽しい、驚くべき、難しい経験でした。本当に刺激的な飛躍です。あなたが概説したような理由、そしてそれの孤独感など、多くの理由から、それは本当に難しい飛躍です。ええ、ただあなたとカメラと観客と、その浮き沈みだけで、チームはありません。幸運なことに、編集者のFlip、Flipに叫び声を上げましょう。彼は、私が叫び声を上げれば彼にとって世界を意味すると言いました。しかし、私はFlipを愛しています。愛しています、愛しています。彼は、彼が言うように、何も持っていませんでした。彼は本当に辛い子供時代を過ごしました。人生には多くの、多くの難しい決断がありました。そして、彼はそこから這い上がろうとしています。そして彼は、「フルタイムであなたのために編集します」と言いました。それで私は、「わかった、50/50だ。YouTubeで稼いだ金額の半分を君にやる。一緒にやろう。」と言いました。そして、私たちは長年それを続け、月にほぼゼロドルを稼いでいました。だから、それは信じられないような飛躍でした。そして今、私たちは一緒に仕事をすることができます。だから、私は本当に良いと思う、チームという側面を得ています。しかし、それはNetflixのように、人々が作っているものについて聞くことができるようなものではありません。チームも、製品サイクルも、喜ばせなければならないマネージャーもいません。それは非常に孤独です。そして、多くの人がそれがどれほど孤独であるかを知らないと思います。ええ、その孤独感と、私の場合、どれほど多くの人があなたを攻撃するかを組み合わせると、私は驚くほど低い攻撃率だと感じています。ええ、人々は一般的に、そういうことをからかうのは時々楽しいですが、ほとんどは本当に、あなたが世界に多くの愛を与え、あなたが何かを面白がっているときでさえ、多くの人々を刺激しているからです。ええ、しかし、私のような場合、その孤独感と本当に激しい攻撃を組み合わせると、それは大変です。心理的に本当に厳しい旅です。ソフトウェアエンジニアリングの面からでも、コードを共有したり、コードについて話し合ったり、ええ、その共同作業の側面が恋しくなります。ええ、そこに複数のものがあります。一つは、私たちはあなたを愛しています、Lex。だから、そんなことには落ち込まないでください。ありがとうございます。私もあなたを愛しています。ありがとうございます。小さな、小さな絆の瞬間ですね。しかし、あなたが知っていること、私が本当に恋しいことの1つは、性的な意味ではありません。念のため。緊張が少し張り詰めてきました。私は落ち着かなくなってきました。とにかくチーム、私が本当に恋しいことの1つは、たとえ私が人々がどのようにそれを行ったかを嫌っていたとしても、他の者がどのように物事を解決したかを見ることだけです。それは本当に驚くべきことです。多くの人々が持っている生の創造的な力を見て、「ああ、すごい。私はこんなやり方は決してしなかっただろう」と思うのです。狂ってるよね?すごい!これは素晴らしい!そして、あなたはそれを内面的に処理して、「ああ、私は今、私のツールベルトに新しい小さなツールを手に入れた」と思うのです。なぜなら、あなたが若く、プログラミングを始めたばかりの時は、メンターを見つけるのは本当に難しいからです。経験が数年のプログラマーは、あなたより少しだけ優れているだけでなく、あなたより無限に優れているでしょう。人々がどれだけ優れているかは信じられないほどです。だから、あなたはメンターを得て、人々から学ぶ必要があります。そして、あなたが良くなればなるほど、その利用可能性は本当に少なくなります。だから、私が本当に恋しいのは、一種の強制的な難しい問題解決です。他の人々からの知恵を掘り出すスキルもあると思います。一般的に、私はジュニアの人々、若い人々でさえ、少なくとも私にとっては、彼らを世界で一番賢い人だと仮定するのがハックとして機能します。私よりはるかに賢いのです。だから、私が言う言葉は全て潜在的な知恵として受け取ります。そうすることで、潜在的な知恵を探すことができます。年を取ると、判断しやすくなります。「ああ、いいよ、いいよ、それを経験したことがある。そんな風に感じていたのを覚えている。そんな風に考えていたのを覚えている。それは間違っている。」とか。自分が何をしているのかわからないし、他の人は賢者だと仮定するだけで、そのような交流から実際には多くのことを学ぶことができると思います。そして、私の好きな交流は、私たち両方がそう考えている時です。そこから、私はそれが素晴らしい、素晴らしいコラボレーションと交流の触媒になると考えています。それはまた、全てをはるかに快適にします。攻撃的で否定的な人と仕事をするのは本当に嫌です。もしそれが「今、何をするのが一番良いか」という状況ならば、攻撃性は気にしません。攻撃的なのは、あなたが否定的な人だからであり、物事は特定のやり方である必要があります。そうでなければ、それは世界の終わりです。そして、それは実際に私にとって一緒に仕事をするのが非常に難しいです。プライモジェンという名前の起源は?プライムという名前の起源は、Turokというニンテンドー64のビデオゲームを知っていますか?TurokにはTurok 1とTurok 2がありました。Turok 2は非常に難しいゲームでした。これは、一人称シューティングゲームがあなたに特定の量の体力だけを与え、あなたは体力を見つけてそれを得なければならず、実際には死ぬことなくゲーム全体をクリアしなければならなかった時代のことです。あれは古いものです。あれは最初のバージョンです。あれはTurok 1、そしてTurok 2です。Turokは、恐竜、アクション、SF要素を特徴とする、有名な一人称シューティングゲームシリーズです。このフランチャイズは、1997年の開始以来、大きく進化しました。ほらね。1998年、そこにありますね。シード・オブ・イーブルは1998年に続き、より大きなレベル、より難しいパズル、そしてより危険な敵が登場しました。注目すべきは難易度です。それは非常に、非常に、非常に困難でした。それで、私が手に入れた時、それは標準的なグレーのニンテンドー64ではなく、黒いカートリッジで来ました。黒いカートリッジです。それはすごいゲームでしたよね。そして、私はそれを手に入れて、入れて、1日に10時間、1ヶ月間毎日プレイして、クリアしました。それは信じられないほど素晴らしい経験でした。そして、Turok 2の最後のリーダーはプライモジェンと呼ばれています。だから、私が子供の頃、5年生の頃には、悪役の名前を付けられるのはすごくクールだったんです。だから、長い間、私が前に話したGrail onlineのようなインターネット上のどんなものでも、プライムでした。それは素晴らしかったです。そして、私は最終的に大人になりました。そして、「まあ、私は大人です。私の名前はマイケル・プソンです」というようになりました。インターネットで長い間そうしていました。そして、2017年か2018年頃だったと思います。テクノロジーの世界がどれほど悪くなっていたかを覚えています。それは非常に気取った場所でした。ディック測定ばかり。最悪なものでした。ケン・ウィーラーはサークルゲームでキャンセルされました。そこにいなかった人には説明するのが難しいのですが、それは最悪な場所でした。テクノロジーは非常に面白くなく、非常にひどいものでした。全てが非常に、それは学術的なものではありませんでした。なぜなら、それは研究だったからです。「私たちは最も洗練されたものを構築しており、これは賢い人々のためのものです。そして、他の人は愚かな人々です。心配しないでください。私たちはあなたのために設計します、間抜け。私たちは完璧なアーキテクチャを作る方法をお見せします。」と。そして、私は自分のTwitterのハンドルを変更したことを覚えています。なぜなら、私はとても腹が立って、ビデオゲームの名前に戻ったからです。私は物事を楽しくしたかったのです。私はこれを止めさせたかったのです。だから、私がテクノロジーのストリーミングを始めた時、私の目標は、そのテクノロジーのメンタリティを破壊することになりました。なぜなら、それは誰もを含んでおらず、誰もが自分が賢い人だと考えて、間抜けのために設計するからです。そんなことはありません。私はテクノロジーを、人々が創造的で興奮して、実際に何かを作り出すことができる場所にしたかったのです。あなたが初心者なら、愚かで愚かな質問をするのは大丈夫です。あなたの愚かさから学びましょう。誰もあなたが賢いことを期待していません。好きなものを選びましょう。実際に何かをして、楽しんで、あなたの狂ったアイデアを構築しましょう。あなたは車を再発明するつもりですか?車を再発明しましょう。あなたが何をしているのかを理解しましょう。それを本当に良く学び、やり取りしましょう。それはそこにあったものとは全く違います。アーノルド・シュワルツェネッガーはそのことについて話しています。彼が最初に演技を始めたとき、彼の名前は人々が嫌ったものでした。彼はかつて「あなたは奇妙な声で、奇妙な体で、あなたの名前は発音できません。誰もシュニッツルを覚えません。誰もそれを覚えていません。」と言っていました。ええ、そして彼は「しかし今や、名前は強い部分です」と言いました。私にとって、私は常にそれに似ていると感じてきました。私の名前はそれほどクールではありませんし、アーノルドほど有名ではありませんし、アーノルドほどタフでも、ハンサムでも、成功しているわけでもありません。しかし、それにもかかわらず、それは一種の反文化的な、私の内なる運動を表しています。私はそこにあったものを嫌っていて、それを打ち負かしたいと思っていました。そして、これがずっと続いているのです。そして今、人々は私の名前がいかに奇妙であるかによって、私を非常に良く覚えています。だから、それは、どういうわけか、それはそれ自身のものになったのです。そして、それが今では、私は決してそれを変えません。そして、当時もそれを変えませんでした。なぜなら、それは私の機械に対する怒りでした。ええ、機械に対する怒りの象徴として、そしてその怒りが楽しいものとして、私はそれを大好きです。私は人々が創造的で、再び楽しくなってほしいだけです。大丈夫です。口髭はどうですか?それは壮大な口髭です。それは壮大な隠し場所です。それは自分自身の人生を持っています。起源の話がありますか?それとも、ある時点で互いに発見したのですか?それとも、それはあなたの人生の闘争の暗闇から生まれたのですか?それはどこから来たのですか?ええ、元の、元の口髭は、それがMovemberになる前のNo Shave Novemberでした。昔はNo Shave Novemberでした。No Shave Novemberの後、あなたはたくさんの毛を持っていました。だから、自然なことは何ですか?あなたは1日口髭を蓄える必要がありますよね。だから、私が髭剃りを忘れたり、しばらく髭剃りをせずに、それを本当に大きく伸ばし始めると、「ああ、これはちょっと面白い。口髭を蓄えることにしよう。」と思うのです。だから、ある日、ストリーミングをしていた時、それは私が髭剃りをしなかった時の1つで、そしてそれを伸ばし始め、そして少し髭が生え、そして私はただ口髭だけになったのです。私がそれをした時、人々は「ねえ、口髭の時間だよ」と言いました。そして私は「まあ、それはライフスタイルの決断のようですよね。これは楽しい時間です。」と思いました。それで、突然、口髭を蓄えるのはエキサイティングになりました。そして、私はそれを剃って、「ああ、わかった」と思いました。しかし、あなたは知っているでしょう、私の一部は、口髭を蓄えることから来る奇妙なエネルギーがあることを知っています。それで、私は戻ろうと思いました。妻に許しを請います。彼女は私の長期的な口髭を蓄えるという決断についてあまり喜んでいませんでしたが、私はそれを戻すことにしました。それはただ、正しいことでした。それは、私が持っていたエネルギーの一部が口髭だったようなものです。それは常にありました。それはただ、後でまで目に見えなかっただけです。ええ、私たちはオフラインでチャットしていましたが、成功した関係の要素の1つは犠牲であり、あなたの妻はあなたが口髭を蓄えることを許すという犠牲を払うことを喜んでいました。私は明らかに、口髭を蓄えないという犠牲を払うことを喜んでいませんでした。あなたはストリーミングで、さまざまなプログラミング言語を試すという信じられないほどのことをしました。あなたはRustやGoのような特定のプログラミング言語を徹底的に使い、新しい言語を選び、絶えず実験しています。そこで、質問を1つ尋ねたいのですが、新しいプログラミング言語を学ぶことについて、そしてあなたがその旅を始めた時の新しいプログラミング言語を学ぶためのアドバイスは?私はこの学習プロセスを通して、さまざまな方法を試してきました。そして、私は多くの異なるものを試してきました。明らかに成功しているのは、何かを作り始めることです。キーボードに触れましょう。あなたがすでにプログラミングの方法を知っているなら、「よし、私は今Ziggを使っています。プログラムを実行できるようにするには、メイン関数はどのようにすれば良いでしょうか?よし、ビルドする方法がわかりました。if文はどのようにすれば良いでしょうか?それはどのようなものですか?独自の関数を宣言するにはどうすれば良いですか?モジュールはどうすれば良いですか?」ですよね。あなたは、最終製品に到達し、何かを作るために、いわばGoogleを使ってそれを通して行くのです。それは良い方法です。なぜなら、私は暗記のような反復が、これを行うための最良の方法だと考えているからです。あなたはそれを何度も繰り返す必要があり、それで多くのものを構築することができます。そして、私はその最初のものを好きですが、それをやることで、あなたは落とし穴に陥ることも発見します。あなたはGoogleを使って、あなたの以前の経験に基づいて、その言語で問題を解決しようとします。だから、あなたは、その言語を特別なものにしているものを持ちません。あなたは他の言語を特別なものにしているものを持っています。だから、あなたはそれを非常に効果的に使うことができませんが、確かにそれを学び、上手になることができます。だから、最近私がやっている2番目のアプローチは、Ghostyの創設者であるMitchell Hashimotoから影響を受けているのですが、言語リファレンス全体を読むことから始めることです。だから、最近私はこれらの言語のマニュアル全体を読むことから始めました。Ziggについては、ほぼ終わりました。それは8〜10時間座って読むようなものです。そして、私はコンピュータを取り出して、実際のドキュメントからいくつかのことを実践します。そうすることで、私は全てのことを学ぶことができます。だから、私が再び構築を始めるとき、「よし、ここに何かがあることを知っています。もう一度読み直してみよう」と考えることができます。なぜなら、私はそれを私の脳のどこかに索引付けしているからです。だから、正しいやり方や間違ったやり方があるとは思いません。結局のところ、正しいやり方は常に、最終的には何かを構築しなければならないということです。それについて読むだけではいけません。あなたはキーボードに触れなければなりません。何かを作らなければなりません。そして、あなたがそれをした時、それが辛いものにするか、素晴らしいものにするかを本当に発見します。その言語が提供するものの幅を持っていない場合、単に下手であることで辛いものにするかもしれません。何を正確に読んでいるのですか?言語リファレンス、言語リファレンスです。それは、全ての機能を上から下まで網羅していますよね。説明されている方法、さまざまなもの。Ziggは良いサイズだと思いますが、単に言葉を読むだけではありません。それぞれの概念を内在化することも必要です。だから、時間がかかります。私はゆっくりとした読者です。あなたはAIの用語でバックグラウンドモデルを構築しているようなものです。ええ、なぜなら、読み終わったらすぐに構築を始められないと思うからです。おそらくforループのやり方を忘れたでしょう。ええ、仕様を忘れるでしょう。デザインの選択肢、利用可能な機能のセット、長所と短所など、全てを構築していて、それから構築を始めます。それは本当に興味深いです。おそらく、初心者、つまりプログラミングを始めたばかりの開発者にはお勧めしないでしょう。if文が何かわからないなら、それは学ぶ良い方法ではありません。私にとって、それを学ぶ最良の方法は、本当にキーボードを操作して非常に単純なものを作り、徐々に複雑にしていくことです。なぜなら、クラスとメソッドとインスタンス、設計図であるクラス、関数、モジュールなど、それらを理解するには時間がかかるからです。それは学ぶのに時間がかかるので、それは全く異なる学習スタイルです。私は今、AIが大きな助けになっていることを不思議に思っていますが、私はすでに多くの経験を持っています。あなたがゼロから始めるならば、それが良い考えかどうかはわかりませんが、それでも本当に良い考えだと思います。基本的に、AIを使ってコードを生成し、さまざまな部分を使ってそれが何をしているかを調べます。AIを学習プロセスの一部として使用することについてコメントできますか?私は同時に希望的観測と悲観的な観測を持っています。ええ、そしてそれはGoogleやStack Overflowと同じです。それはすべて同じようなもので、ある意味では物事をより民主化しています。私は、私自身の声と私自身の言葉で、おそらく可能な限り個人的な方法で質問することができます。そして、それは答えを生成し、私を導いてくれるでしょう。エラーや間違いとは別に、最終的にはそれを学習ツールとして使い、私自身の言葉で答えを表現し、読むことができるのは素晴らしいと思います。しかし、私が本当に難しいと思うのは、社会として、もはや物事を覚えることを重要視していないということです。インターネットが登場して以来、私はそれを調べるだけで済みます。それを調べるだけで済みます。九九を暗記する必要はありませんよね。電卓を使えばいいだけです。全てそれだけで済みます。飛行機に座っていて、誰かが携帯電話で最も単純な加減算を10回も繰り返しているのを見たことを覚えています。私は、「なぜあなたはただ、あなたはすでにそれらを知らなければなりません。あなたはそれらをできるはずです」と思いました。そして、私たちは脳をオフロードしていることに気づきました。ああ、私はこれらを覚える必要はありません。なぜなら、私はそれらを調べることができるからです。それはある意味では悪い答えではありません。それは理解できます。すべてのことを覚える必要はありません。しかし、それはまた、新しいエラーが発生すると、私はAIに尋ねるという学習上の無力さを開発していることに気づかせます。AIは「ああ、いいですよ、この行を修正します。この行を修正します」と言います。あなたは何も学んでいません。あなたはそれを何かを出すための迅速な手段として使用し、先に進んだだけです。だから、あなたは知識を速度のために犠牲にします。それはエンジニアリングでは素晴らしいことです。時には、知識を犠牲にして速く動かなければならないこともあります。私は完全に賛成です。しかし、私は私たちが作り出すものが、ある程度のことができる無能なプログラマーの世代になるのではないかと心配しています。しかし、ユニークで特注のもの、または追加のちょっとした努力を必要とするものは、非常に困難になるかもしれません。それはジュニアが永遠にジュニアのままであるような大きな溝を引き起こすかもしれません。私はそれを望んでいません。私は人々が成長するのを見たいのです。私は人々がそれを職人技として実際に取れるのを見たいのです。それで、それが私の希望であり、私の心配でもあります。AIは本当に両方ができると思います。なぜなら、あなたはどんな質問でもすることができますし、その正確な答えを与えてくれる本に頼る必要がないからです。そして、もしその本が間違っていて、それを理解できないなら、「すみません、これが再帰であることを学ぶことはできません」となります。私は誰かが適切な問題を与えてくれるまで、再帰を理解するために非常に長い時間を費やしました。AIはそれをはるかに早く解決できたはずです。なぜなら、AIは適切な問題を与えてくれて、はるかに良く導いてくれたはずです。しかし、もし私が常に彼らに再帰を解決してもらって、自分でそれを学ばない場合はどうでしょうか?もし私がAIに特定のタスクを行うコードを生成するように頼むと、実際にAIが生成するものの大部分は私にとって正しいでしょう。しかし、ある割合の時間、それは根本的に間違っています。そして、私にとって、それらの2つの違いを認識するには、多くの経験が必要です。「いやいや、あなたが提供しているものとは異なる新しい斬新な解決策が必要です。あなたはポイントを見逃しています」とわかるには。それはスキルです。どのようにそれを学びますか?それはゼロから構築することで学びます。両方ともおそらく本当に必要です。しかし、プログラミングの学習の最初のステップとしては、関数やforループなどを生成し、さまざまな行を弄ってプログラムの動作を調整しようとするのは、かなり良いことです。プログラムの動作が調整される方法、バグが作成される方法から、その言語の構文、その言語の動作などについて学びます。だから、それは学ぶための非常に強力な方法だと思いますが、ええ、いつかトレーニングホイールを外す必要があります。なぜなら、あなたが本当に見抜いているのは、コードの読み取りと書き込みの違いだと思います。私は多くの言語を非常にうまく読むことができます。何が起こっているのかを見ることができます。それを理解することができますが、それを書くのは得意ではないでしょう。私はC++について多くのことを理解することができますし、読むこともできますが、私はそれほど得意ではありません。なぜなら、私はそれを長い間やっていないからです。そして、私はすべてのセミコロンやコロン、publicやprivate、命名規則などを覚えていません。それら全てが一緒になり、「ああ、私はそれを書くのが本当に下手だ」と思うのです。しかし、私はそれを読むことができます。だから、それらの2つの間にスキルギャップの溝があります。では、さまざまな言語について話しましょう。チーズのようなばかげた質問ですが、最高のプログラミング言語は何ですか?みんなが学ぶべき最高のプログラミング言語は何でしょうか?トップ5に行きましょう。Stack Overflow開発者調査を引っ張り出してきます。なぜなら、私たちはそれを持っています。それらはあなたのやり方です。あなたはそれらを好きではありません。いいえ、それらはあなたが覚えている必要のあるものではありません。なぜなら、あなたはデータ担当者ですよね。バイアスとデータについて知っています。Stack Overflowは何にバイアスがかかりますか?彼らはプロの開発者、ジュニア開発者などの異なるスライスを持っています。彼らは異なるスライスを持っています。バイアスは何ですか?私はあなたの言うことを聞きますが、Stack Overflowの調査書に記入するのは誰ですか?Stack Overflowに参加している人、Stack Overflowに参加している人。大部分は非常に新しい人々と、質問に答えるのが大好きなその1人です。だから、Stack Overflowがデータを手に入れるのに良い場所かどうかはわかりません。それは非常に偏ったデータセットかもしれません。それは本当に新しい人だけですか?つまり、Stack Overflowを使っているのは誰ですか?ほとんどの場合、最も人気のあるテクノロジーは、JavaScript、HTML、Python、SQL、SQL、SQLです。SQLは、より一般的な種類の1つだと思います。おそらく、彼らは個々のSQLのフレーバーはやっていません。ちなみに、SQLとSQLの発音は?それはスクイールです。スクイールは正しい方法だと思います。私はシーケルと言いました。なぜなら、私は観客が真実を受け止められるかどうか知らなかったからです。どちらですか?歓喜のスクイールはスクイールです。スクイールライト。私のスクイールポストグレススクイール。ちなみに、私は以前、何らかの理由で豚のクソ野郎と言うことで非常に喜びを感じていました。そんなことを言うことについては、信じられますか?それは私が行った実際の会話でした。ええ、それは、Typescript、Bash、Java、C#、C++です。それはあなたが期待する世界と大きく合致していますが、アセンブリは?なぜアセンブリはRubyより人気があるのですか?誰がただアセンブリを書いているのですか?TLS 1.3を開発していて、可能な限り最速のアルゴリズムになるように暗号化アルゴリズムを手作業で作成しているその1人以外には、誰も手作業でアセンブリは書きませんよね?ええ、アセンブリは奇妙です。おそらく学校で書く人もいるでしょう。しかし、今ではオペレーティングシステムのコースやシステムエンジニアリングのために学校でさえ、アセンブリを書いているとは思えません。そうではないと思います。とにかく、そしてSwiftとRubyがアセンブリよりも人気がないのはばかげています。しかし、それにもかかわらず、大丈夫。それで、私の考え方がわかります。しかし、トップの点では、

五つの言語は、多分広すぎますね。だって、ものすごくたくさん挙げられますから。何をしたいかでアーキタイプ化すべきだと思います。ゲーム開発に入りたいなら、C、C++が良い選択でしょう。あるいは、JavaScriptでキャンバスゲームを作るのも良いかもしれませんね。でも、JavaScriptを使うと制限されます。言語が速くないので、それほど多くのことができないんです。覚えておくべき重要な点ですね。

バックエンドの仕事、つまり仕事を探しているなら、C#、Java、JavaScript、Goが良い選択肢でしょう。組込み系をやりたいなら、C、C++が良い選択でしょう。何を本当にしたいかを決める必要があると思います。プログラミングに興味があるだけの人も多いですね。仕事のことについても話しますが、彼らが最初に尋ねる質問は、「最初に学ぶべき言語は何ですか?」「探求すべき言語はいくつかありますか?」といったものです。

多くの人を怒らせるようなことを言っても良いですか?ええ、どうぞ。何も知らない人が最初に学ぶべき言語はJavaScriptだと思います。なぜそれが人を怒らせるのでしょうか?だって、まず第一に、JavaScriptの良いことを言ってはいけないからです。ええ、普通はJavaScriptが嫌いというミームですよね。ええ。いや、JavaScriptは美しい言語で、とても素晴らしい点が沢山あります。その一つは、わずかな労力で何でも表現できることです。初心者にとって、箱を描いて箱を動かすことができるのは本当に素晴らしいことです。視覚的に確認できます。JavaScriptの本当に素晴らしい点の一つだと思います。

それから、「バックエンドについて学びたい。リクエストを作成してみよう」となります。簡単なバックエンドを書いて、プログラミングに少し慣れてきます。「これをデータベースに保存できる。取り出して画面に表示し、アニメーションで動かすことができる。キャンバスに置いて2Dまたは3Dでレンダリングすることもできる」となります。JavaScriptでできることの多様性に驚きます。プログラミングへの入門として素晴らしい方法です。しかし、ある時点で、「この全体についてもっと学ぶ必要がある」となるでしょう。ええ、まさにあなたが言ったように、ゲームを作ったり、Web開発のフロントエンドとバックエンドを作ったりできます。組込み系もできます。実際、West BossはRoombaをJavaScriptとReactでプログラミングしています。組込み系に選ぶ最悪の言語ですが、それでもできます。

アプリケーションの観点から言えば、データや機械学習に関連するものであれば、Pythonがリーダーです。素晴らしい言語ですね。Python、CUDA関連の処理とC++はダイナマイトでしょう。これらのPythonライブラリの多くは、C++を隠しているだけだと思います。Cもそうですね。JavaScript、Pythonも素晴らしいですね。かなり遠くまで行けますが、フロントエンドは書けません。もしフロントエンドが好きだったらどうしますか?本当にデザインが好きで、それが分からなかったとしたら?大丈夫です。そのためにはJavaScriptですが、Pythonも良い選択肢です。JavaScriptでは、MLをそれほど簡単に実行できません。HTMLとCSSをプログラミング言語として数えますか?技術的な定義では、ある特定のCSSとHTMLの組み合わせを使用すると、チューリング完全な言語になるという定義があります。しかし、実際にはHTMLは言語ではありません。

チューリングテストは良いものですが、あまり学問的なことをしたくない人にとっては、関数やif文を書けないなら、それはプログラミング言語ではないと感じます。ループや関数を書けないなら、それはプログラミング言語ではないと感じます。最近のHTMLは多くの機能を持っています。信じられないほど多くの機能がありますが、それは何よりも仕様です。ポップアップを指定し、アクセシビリティ、外観、条件下での外観、変換、移動などを指定します。このリストにある人気のプログラミング言語が好きです。JavaScriptが好きです。Bashが好きですか?ええ、Bashもとても好きです。なぜですか?Bashは、本当に好きかどうか微妙な言語の一つです。配列が必要になるまでしか好きではないですね。プログラミング言語としてはダメですが、コマンドラインが好きです。それだけです。Bashを好きな人はいません。本当にたくさんの人を使っていますか?ええ。コマンドラインに慣れておくのは良いことです。それは一種のスーパーパワーです。TwitterでFFmpegをフォローしています。素晴らしいアカウントです。

本当に素晴らしいTwitterアカウントがいくつかあります。そして、コマンドラインに追加できるさまざまなパラメータがあり、それはごく少数のウィザードだけが理解できる謎めいた言語の一つです。しかし、徐々に理解し始めると、マスターへの旅のほんの始まりですが、各段階で得られる力は指数関数的に増加します。FFmpegは信じられないほどです。ライブラリシステムと呼ぶべきものですが、その背後の人々は、あらゆるコーデック、あらゆるコンテナ、メディアコーデック宇宙の謎、圧縮など、これらすべてに取り組むために、まさに天才的なマスターマインドでなければなりません。圧縮は、私が知らない、非常に魅力的な技術的な問題のセットです。FFmpegの存在に喜びを感じますが、その力を本当に解き放つためには、Bashのような快適さ、コマンドラインの快適さが必要です。FFmpegは、おそらく現代で最も重要なライブラリの1つであり、そのTwitterアカウントはめちゃくちゃです。それは見るのが最も素晴らしいものです。FFmpegは、それが受けるべきだけの愛情を受けていないと思います。すべてのアプリケーション、OBSは恐らくFFmpegを内部で使用しており、すべてのプロはFFmpegを内部で使用しています。それでも、彼らはそれが受けるべきだけの愛情を受けていません。ただ大好きです。最高だと思います。JavaScript、HTML、CSS、Python、SQL。SQLはプログラミング言語です。それは非常に洗練されたプログラミング言語です。SQLは興味深いですね。プログラミング言語として分類できると思います。case文があり、できることはかなりすごいです。関数やその他すべてを行うことができます。ストアドプロシージャは、人生を地獄にする方法です。

トップの言語は、厳密な静的型付け言語ではないので、TypeScriptでも、私はこれが好きではないので、より厳密なものを学ぶ人には、Go、Rust、C++など、型の考え方を変化させるものが役立つと思います。最も人気のある言語リストではそれほど人気がありませんが、非常に素晴らしい言語だと思います。さて、銃を突きつけられて、トップ5の言語を挙げろと言われたら、20歳の目を輝かせた若者が、学ぶべきトップ5の言語を尋ねてきたらどう答えますか?人々が学ぶべきだと思う、あるいは少なくとも探求すべきだと思う5つの言語を選びます。いくつかの言語を挙げ、少なくともその一部を探求すべきだと思います。Lucy言語を探求すべきだと思います。Python/JavaScript、ボックス化された値、つまり内部に異なるタイプを持つ多変量タイプが1つしかない言語です。それをLucy言語と呼びますか?緩い言語ですね。動的言語です。これらの2つのいずれかを探索するのは本当に良いことだと思います。そこで、PythonまたはJavaScriptを挙げます。Luaも追加しましょう。厳密な言語を探求すべきだと思います。RustやGoを選びます。どちらも本当に素晴らしい言語だと思います。C++もできます。C++では型消去ができます。Goでもできますが、ほとんどの場合、それだけです。それを行うための素晴らしい言語です。少しワイルドになるかもしれません。新しいC++は素晴らしいようです。新しいC++は素晴らしいと言われ続けています。欲しい機能と、欲しくない機能がすべて含まれています。スマートポインタ、ダンプポインタ、あらゆる種類のポインタがあります。メモリリークはありません。問題ありません。すべてが揃っています。メモリリークが好きなら、それも可能です。素晴らしいですね。

では、私の好奇心の銀行に保管したい言語はどうでしょう?3つの言語があります。Swift、Elixir、OCamlです。そして、Gingerbellが素晴らしいので、Odinも追加します。ElixirとOCamlには、強力な関数型言語がありません。それは私が本当に欠けているものです。Elixir、Odin、Okamoについて素晴らしい話を聞きました。ご存知のように、私はLispが大好きです。Lispを使ったことはありません。Lispもそのカテゴリに入るかもしれません。Common LispかClojureを学ぶべきだと思います。今のところ、誰もがそう言うようです。Lispに関しては、否定的なことは言いたくありませんが、現代のコミュニティ、コミュニティの様子について重要な点があります。Elixir、Odin、Okamoの周りには、興奮した、おそらく小規模ですが、興奮したコミュニティがあるようです。だから、Twitterに「これを達成しました」と投稿して、みんなが興奮してくれるのは良いことです。良い気分です。Elixirで何かクールなことをすると、Twitterに投稿して1000いいねもらえるかもしれません。これは、ニッチなトピックである投稿にいいねしてくれる人の数としてはかなり多いです。プログラミングはすでにかなり小さなトピックです。関数型プログラミングに入ると、それは小さなトピックの中の小さなトピックです。Emacsについて投稿しても、無視されます。Neovimを使っていると誇らしげに投稿すると、「良い仕事だ」と言ってくれる人がたくさんいます。最高のエディタだからです。ええ、多分それは単なる宣伝です。南北戦争のワックスに戻りましょう。時には犠牲を払って、Emacsという優れたエディタからNeoVimを選んで人気を得る必要があります。人気のために、誠実さ、価値観、品質を犠牲にします。あなたがした選択です。その表現が好きです。さて、何を話していましたか?あなたがこれらをまとめて話しているのが好きです。素晴らしいですね。

今は、私が探求しているサイドハニーです。サイドハニーですね。今はメインではありません。GoはWebアプリを作るのが一番好きな言語です。複雑なロジックのバックエンドを作るなら、Goはとても便利です。しかし、必要なすべてを表現できる能力にとてもイライラします。異種リスト、2つの型を含むリストがある場合、Goではあまり楽しくありません。だから、私が探求しているのはJaiまたはJ、Jonathan Blowが言うように、そしてZigです。どちらも強力な言語です。どちらも非常に興味深いです。間違いなく落とし穴があります。彼らはあなたを簡単に扱いません。Zigは本当に素晴らしい言語のように見えますし、Jaiもそうです。どちらもとてもクールです。実はDave Palmerが約100の言語の速度をテストしているのを見ました。Zigがトップでした。それは間違いでした。間違いと言うとき、Dave Palmerに対する偏見はありません。彼は非常に才能のあるエンジニアです。Zig、C、C++、テストされたこれらの言語はすべてLLVMバックエンドです。それは実行可能ファイルに変換する部分です。速度に変化があるということは、ある言語では、正しく表現できていなかったということです。Twitterでバウンスしている言語ボールテストがあります。Zigは6位か7位でした。どの言語が下だったかは忘れました。例を試してみて、「noalias」という単語を引数に追加しました。つまり、この関数に入ってくるメモリのピースには、グローバルポインタも何もありません。コンパイラは本当にクールな最適化を行うことができます。Cバージョンよりも高速にしました。つまり、正しく指定されていなかったということです。それでも、私にとってはエキサイティングです。Zig、Rust、C++の競争は本当に興味深いです。速度の一部、パフォーマンスの高いコードを書きやすさの一部です。Zigが非常に興味深いと思う理由は、CやRustと比較して、Cが究極の言語であるためです。何でもできます。プリプロセッサマクロがあります。かなり多くのことができます。しかし、それは非常に難しく、非常に簡単でもあります。そして、学ぶことができます。独自のユニークな生き物です。Cを本当にうまく使いこなすと、Cは魔法のような言語になり、人はそれを本当にうまく使いこなせます。人々はそれを高く評価しています。Rustは超安全な言語です。Cでできることは、Rustでは表現できません。Rustは、夜にあなたを抱きしめ、暖かくしてくれる安全な男です。最高の言語でしょう。しかし、Zigは真ん中にあります。Zigにはオプションがあります。オプションに慣れていない人のために説明すると、値があるか、ないかのどちらかです。しかし、最初にそれを確認してから使用しなければなりません。そのため、ヌルポインタ逆参照セグフォールトの問題を防ぎます。Cにはデフォルトではありません。自分で構築する必要があります。Rustでは唯一の選択肢です。しかし、Zigは、「ポインタがある場合、nullとして表現することはできません。nullになるようにマークしない限り」と言います。回避策があります。それを行うことができる他の種類のポインタなどがありますが、ほとんどの場合、Zigは安全性を提供します。安全性の少しだけですが、Cのようなものです。安全なコードと安全ではないコードを表現できる領域で、必要なものをすべて提供します。非常に簡単に書くことができます。とてもきれいです。少なくとも、その背後にあるアイデアはとてもきれいです。言語自体は平凡ですが、すべてに美しさがあります。素晴らしいですね。

あなたはRustをたくさんプログラムしています。Rustの好きな点は?長所と短所は?すでに言及したメモリ管理について話すことができます。これらの言語のいくつかが対処するメモリ管理の課題。ええ、Rustについて好きで、何が長所であり、何が短所かを教えてもらえますか?Rustについて私が好きな点は、使用しているメモリを解放する機能がスタックに直接結び付けられていることです。何かを作成するたびに、スタック変数、またはスタックメモリの量があります。ヒープへのポインタ、ポインタと長さです。スタック上にあるメモリの量とヒープ上のメモリの量です。文字列はすべてスタック上にあるわけではありません。一部はヒープ上に、一部はスタック上にあります。そのスタック変数がスコープ外になり、クリーンアップされると、ヒープ上にあるものもクリーンアップされます。「メモリを解放し忘れた」という問題を簡素化します。ガベージコレクタではありません。後で実行します。Cのように、自分で呼び出す必要はありません。その間にあります。人々は多くの戦略、アリーナなどを使用しており、Cの部分をはるかに簡単にしています。言及していませんが、はるかに簡単にします。Rustはそれを本当に美しく行い、本当にクールなアイデアです。そして、Rustが本当に素晴らしいと思う2つ目の点は、何かが変更可能かどうかを指定する必要があることです。変数を作成して変更するだけではありません。これは単なる変数ではなく、変更可能な変数であると述べる必要があります。そして、私はそれがコードを本当に読みやすく、理解しやすくすると思います。なぜなら、「mute」という単語が隣にないものは、変更できないことが分かっているからです。それに関するいくつかのルールがありますが、一般的な考え方は分かります。ほとんどのプログラミング言語とは異なり、これは変更されると明示的に述べる必要があります。ええ。それは本当に興味深いです。安全です。安全を目指しています。そして、安全性は制限を作成するかもしれません。AIのオーバーロードに相談しましょう。Rustは、パフォーマンス、型安全性、同時実行性を重視した、高速でメモリ効率の高いシステムプログラミング言語です。言語は、ガベージコレクタを使用せずにメモリ安全性を保証します。代わりに、コンパイル時にオブジェクトのライフタイムを追跡する独自の「borrow checker」を使用します。これにより、ヌルポインタ逆参照やメモリリークなどの一般的なプログラミングエラーを防ぎます。

メタプログラミングについても話しました。これらの言語のうち、メタプログラミングにどの言語が好きですか?C++のメタプログラミングが好きですが、それは巨大な混乱です。少なくとも、私がC++をプログラムするときには、C++17標準だと思います。デバッグするのも大変です。メタプログラミングの初心者だと考えています。いくつかの問題しか解決していません。それが今年の目標です。限界はどこまで行けるかを知りたいのです。これについては強い意見はありません。Zigの良い点は、メタプログラミングも言語そのものであることです。代替手段はありません。Rustでは、マクロを作成するときにマクロ構文を使用する必要があります。Zigでは、それ自体です。プログラミングするだけです。コンパイル時のみとする場合は、「comptime」という単語を追加します。コンパイル時に素数のリストを作成できます。これは興味深いユニークなことです。コンパイル時に実行されるコードがあり、その結果をランタイムで利用できます。すごいですね。そうやって見ています。しかし、まだ使いこなせていないので、断言して話すことはできません。

今年はどの言語を使うか迷っています。Goをメインに、2つのサイドハニーとして、チャットと11 Labsに話しかけ、クライアントに情報を送り、WebSocketsで動作するサービスを作成しようとしています。それらの言語がこの分野でどのように動作するかを確認したいのです。JはWebの世界向けに設計されたものではありません。Twitchチャットを読み取る機能を書き終えたばかりですが、Berkeleyソケットを使用する必要がありました。Berkeleyソケットに慣れていない人のために説明すると、それは古い方法です。Cで行う方法です。独自の接続を作成する必要があります。ソケットから読み取る必要があります。IRCを解析する必要があります。最初から構築する必要があります。このサーバへの新しいTCP接続はありません。ソケットを作成し、IPv4ファミリとTCPであることを指定し、アドレスを取得してDNSでアドレスを検索し、TCPで接続する必要があります。まだまだ手動作業が多いです。その分野ではずっと生ですが、楽しいです。ストリームで作成したエピックなプロジェクトで、記憶に残っているものがありますか?私の最も好きなプロジェクトは、昨年行ったものです。誰かがDoomのASIポートを作成しました。ターミナルでDoomをプレイできます。とても楽しく、とてもエキサイティングです。そのDoom ASIをブラウザに送信したので、人々はブラウザでDoom ASIをプレイできました。しかし、TwitchチャットがそのDoom ASIインスタンスを制御できるようにしました。Twitchチャットをパイプライン化し、一定時間内の動きの平均を取り、コントローラとして再生しました。Twitchチャットにスパムさせてレベル1をクリアさせました。楽しい部分は、楽しいエンコーディング技術を使ったことです。クアドツリーを使用して、少ない量を使用し、ランレングスエンコーディングを使用しました。独自の圧縮アルゴリズムを作成しようとしました。大量のアスキー文字を送信すると、色を表現する必要があるため、かなり高価になります。色は安価ではありません。アスキー文字がどのように見えるか、色をどのように表現するかを表現する必要があります。多くのエンジンでは、アスキー文字の形状は、そのピクセルの輝度と比例していることに気付きました。白い場合は8または#を使用しますが、黒い場合はピリオド、コンマ、バーなど、より小さなものを使用します。そこで、大量のデータを、ギガバイト単位のデータからキロバイト単位に変換するためのさまざまな圧縮アルゴリズムを開発しました。何千人もの人々が同時に同じ画像を見て、同時にDoomとやり取りできるようにするために、ギガバイト単位のデータをキロバイト単位に変換しました。できるだけ小さくしてすべてを送信する方法を見つけようとしていたので、とても楽しかったです。とても楽しかったです。

実際、チャットにいるすべての人に送信しています。チャットがDoomを制御できるパイプラインはどこにありますか?Twitchチャットですね。人々はWをスパムします。Wと言うと、その期間の大多数の人がWと言った場合、150ミリ秒間Wを押します。素晴らしいですね。画面上の位置の入力をどのように取得していますか?最初はTwitch経由で送信するつもりでしたが、Twitchは5秒遅れています。そのため、Webサイトにパイプライン化しました。誰もが私のコンピュータからWebサイトまで見ることができました。一般的な遅延は約70ミリ秒でした。彼らは短い時間で何が起こっているかを見ることができました。とてもエキサイティングでした。1000人から400人の人がWを叩き、Fを押して発砲し、回転し、ゾンビを殺しました。レベル1の最後に樽を爆破してインプを殺しました。TwitchチャットからWをどのように取得していますか?APIはありますか?IRCを使用していました。小さなTCPソケットを使用し、IRCを解析するだけです。遅延はほとんどありません。しかし、数100ミリ秒あります。人々はしばしば回転して前進し、ドアを逃し、戻る必要がありました。素晴らしいですね。最高でした。これまでにないほど最高のプロジェクトだと思います。エンコーディングをたくさん行ったことがないからです。エンコーディングは、通常は何をしますか?何かを送信する必要があるとします。gzipします。サーバが処理します。サーバは正しいことをします。考える必要はありません。代わりに、それについて考えます。正しいものを送信します。圧縮について考えなければなりません。そして、それです。FFmpegにもう少し愛情を注ぎましょう。彼らはそれをたくさん考えています。FFmpegと彼らの素晴らしさに最終的に触発されました。チャットコミュニティ全体について話してもらえますか?ストリーミングでしていることの大きな部分は、あなたとリアルタイムでコミュニケーションをとっている人々です。YouTube、Twitch、Xの中で最高のチャットコミュニティについて話してもらえますか?YouTubeについては悪い気分ですが、技術的には最悪だと思いますが、YouTubeのせいではありません。その理由を説明し、なぜあなたが間違っているのかを説明します。あなたはYouTubeが好きだと知っていますが、理由を説明させてください。Twitchに行くと、誰かのチャンネルに行くと、ミームが流れ込むと、Twitch全体が反応して変容するような、文化的ヒューマンセンチピードのようなものがあります。どのチャンネルに行っても、同じような文化があります。似たような絵文字などがあります。非常に緊密です。私がストリームすると、SodapoppinやAsmin Gold、Prate Softwareなどの大物ストリーマーと同じようなジョークが得られます。同じミームが同じパイプラインを通過します。非常に全体的なコミュニティです。ジョークを言うときは、Sodapoppinのような大物ストリーマーで見たようなジョークを言います。Twitterにもそういう傾向があります。Tech Twitterには一連のジョークがあります。それを確認できます。Twitterチャットの問題は、誰もいないことです。現状を説明するために、Twitchには1500人から3000人、YouTubeには800人から2000人、Twitterには50人ほどいます。差は巨大ですが、Twitterにも同じような傾向があります。ミームが絶えず流れており、非常に密接に繋がっています。YouTubeにはそれがありません。ただの人々の集まりです。人々はさまざまな理由でYouTubeにやってきます。私は学ぶためにYouTubeにやってきます。彼らは学びに来ます。ミームに乗っているわけではありません。文化的時代精神の列車に乗っているわけではありません。単に、「この場合、switch文を使うのに、なぜif文を使うのですか?」となります。私はそれをしようとしていないと言います。あなたは、このif文をこの特定の場合のswitch文で使うのはなぜですか?と言います。ええ、それは私がしようとしていることではないと言います。

船長としてミームトレインを操縦したいのか、それともミームトレインに乗りたいのか。はい、それとも単にチャットに文化を作りたいだけなのか。なぜなら、あなたのチャットはTwitchを流れるその時代の精神の一種のバリエーションになるだろうし、それはXとTwitchの間で非常に連続しているからだ。YouTubeとは本当に同期していないように感じる。そしてYouTubeは、特に悪い仕事をしており、ある人々は良い仕事をしていると主張するだろう。なぜなら、あなたは泳げるからだ。「泳ぐ」とは、実際に見る時間スタンプを変更できるという意味だ。突然、「ああ、そうだね、ミニバンでサッカーの練習に行くことについて知ってるよ」と言うようになる。そして20分後にはZiggについて話していて、誰かが「個人的にはサッカーの練習に行くのに何でも使う」と言う。「何を話しているんだ?」という感じだ。だからYouTubeのチャットも非常にまとまりがない。それは、ビデオ内のどの位置にいるかによるからだ。「Swim」は、ちなみにNetflix由来の用語だ。Swimという用語。はい、それは私たちがSwimと言ったことだ。ああ、あなたは泳ぐのが大丈夫なんですね。はい。だから、その用語を作り出しているわけではないんですね。ありがとうございます。すごい。はい。でも、おそらくそれは作り上げられたもので、Netflixでたった10人しか言わなかった用語だろう。だから誰もそれを知らないだろう。「まさか、そんな考えはNetflixでは起こらないだろう」と言うだろう。プロジェクトに戻って、ストリーム上または一般的なプロジェクトについて。YouTubeのチャットが最高のチャットである理由を答える必要があります。まあ、あなたは私を納得させました。YouTubeが最高のチャットである理由。ええと、私は単なるヘイターだと思います。基本的に、それにつきる。私はただ悪口を言っているだけで、おそらく外部から撃っているだけだ。Twitchは非常に楽しいミームの文化だからだ。だから、外部から撃って、Twitchの家を卵で投げるのは楽しい。そして、小さなYouTubeコミュニティと一緒に芝生チェアに座って、悪口を言っているだけだ。あなたは絶対に正しい。Twitchは本当にコミュニティ感がある。しかし、私はYouTubeの開放性が好きだ。世界への開放性において優れている。よりアクセスしやすい。共有しやすい。より確立されたプラットフォームだ。オープンワールド向けにはそれだけです。ビデオゲームのストリーミングやそのようなものを普段見ない人にも送ることができる。Twitchのリンクを送ると、「ビデオゲームは好きじゃない」と言われる。「実はビデオゲームじゃないんだ」と言うことになる。Twitchについて話すたびに、必ずそのような会話が起きる。なぜなら、TwitchにはYouTubeにはない視点があるからだ。私はジョー・ローガンのポッドキャストに出演したことがあり、その話題が出たと思う。「Twitchはまだ存在しているのか?」というようなことを彼は尋ねた。それが例だ。そしてジェイミーは「ああ、ああ、確かにまだ存在するよ。今も成長している」と言った。だから、Twitchの世界に参加しない人間も多い。私はただ悪口を言うのが好きなんだ。それは素晴らしい答えだ。様々なプラットフォームでアクセス可能にしているのは素晴らしいし、Xにも大きな期待をしているが、機能的にはまだ成長の余地が多い。そして、なぜ人々はXを使うのか。通常はテキストベースのやり取りをしたい、見たいと思うからだ。だから、ユーザーの期待の変化が必要だとも思っている。それは時間がかかる。人々がそれに到達するには少し時間がかかるだろう。音声ファーストという彼らの考え方は、人々がそれを聞いて、電話を離しておくことができるという意味で、素晴らしい第一歩だ。Xが成功するには、多くの変化が必要になるだろう。Xは、まるでRedditのような信じられないほどのコメント欄だ。違う。Redditのようなコメント欄ではない。コメント欄。そうだね。信じられないほどダイナミックで活気がある。

技術プラットフォームはどのようなものか?インターフェースとテクノロジーはどのように議論を形作っているのか?興味深いのは、XはRedditとは異なるスタイル、Facebookとは異なるスタイル、Instagramとは異なるスタイルを持っていることだ。そして、それらのコメント欄は技術的に異なる。ソート方法、コミュニティを作りやすいかどうかなど。YouTubeは本当にコミュニティではない。YouTubeのすべてのビデオには独自のミニコミュニティがある。その一つのビデオについて悪口を言っているだけだ。飛び越えることはできない。ねえビル、ねえジョーダン、みたいなことはない。複数のビデオでクロス トークは起こらない。しかし、コミュニティは素晴らしい。コミュニティが大好きだ。コミュニティ感を愛している。それはTwitchが本当に提供しているものだと思う。YouTubeにもある。集約されたコミュニティがある。ビデオには多くの楽しいコメントがあり、多くのいいねがあり、楽しい議論が起こるのを見ることができる。それがコミュニティだ。特定のスライスだけがそれを知っている。ライブストリーミングのYouTubeでは、さらにそうだろう。同じ人々が現れ、悪口を言い、祝う。ミームトレインが到着する。わかった。では、プログラマーとしてのあなたを形作ったプロジェクトは何か?ストリーミングしたものか、オフラインのものか。私にとって、特定のプロジェクトを指摘できるかどうかはわからないが、それが起こったと私が思う特定のポイント、そしてそこから多くを学ぶことができるポイントを指摘できる。私が書く小さなプログラムは、だいたい1000行から5000行のコードになるだろう。私はそれをかなり小さなプロジェクトだと考えている。これは、より大きなシステム内のあらゆる機能にも関連付けることができる。ウェブサイトの特定の機能は、1000行、2000行になる可能性がある。すべての選択が積み重なるポイントがある。通常、私は5000行から10000行のコードあたりでそれを見つける。あなたがした選択は、あなたを重くしたり、解放したりする。だから、私が最も学んでいるのはそのあたりだ。プロジェクトのそのポイント、またはコードベースの一部の小さな部分に到達するのが好きだ。なぜなら、その時点で私は、ソフトウェア設計に関する最初の直感的な判断がどれほど良かったかをテストできるからだ。しかし、bでは、どのようにしてこれをより効果的にテストする必要があるかについて考え直す必要がある。どのようにしてこれを20000行のコードにスケールアップできるか。どのようにして持っているものでこれらすべてを行うことができるか、それとも考え直す必要があるか。そして、それが本当に最高の学習が行われる場所だと私は思う。おそらく誰もが異なる数字を持っているだろう。これらの数字のそれぞれに進むにつれて、またはプロジェクトをどれだけ包括的にしたいかによって、異なる数字が出てくると思う。経験を積むにつれて、その数字は大きくなるべきだと思う。100万行のコードのプロジェクトもあるが、それは確かに包括的ではない。コードベースのあらゆる部分は、ある種のプログラミングスタイルを持つ時間のカプセルにある。機能的なもの、クラスベースのもの、C++のプリプロセッサマクロなら神が助けてくれるだろう。時間を通して見つける様々な種類のものがたくさんある。だから、私はそれを作業している機能やものとして考えるようにしている。通常、5000行くらいになると、良い決断をしたか、悪い決断をしたかということがわかるようになる。そして、そこで私はすべての学習を行う。私は、股関節から撃って20000行を行い、それを気にしないことができるようになるポイントを目指している。まず、あなたが作ったものを楽しむこと。そこでは、すべての部品が一緒に踊っているのを見ることができる。私にとって、デバッグでは、デバッグのしやすさとして、あなたがした選択が具体的に見える。私は熱心な支持者だ。過去にあなたが言及したことがあると思う。私は至る所にアサートを置く。あなたがそうする理由を私は知っている。あなたは最初にそう言った人だ。続けてください。すみません、本当に、わかりました。だから、私にとって、try catchブロックであろうと、アサートであろうと、テストであろうと、私が自分の王国に敷いたアサーションの地雷原の成果を、システムが大きくなるにつれてデバッグの速度として見ることができる。まず、エラーが本当のバグになる前に発見できること、そしてそれらのエラーをどれだけ早く解決できるかだ。それが私に喜びをもたらしてくれる。私にとって、プログラミングの喜びの多くは、壊れない強力なシステムを作成することだ。正しく動作するシステムだ。ほとんどの場合に正しく動作する。システムをストレステストして、システムからのすべての信号を取得し、すべてが正しく動作していることを確認することは、私を満たしてくれるものだ。はい、それは5000行から10000行のコードではない。JavaやC++の場合は数百万行のコードだ。でもPythonだと、10000行のコードだと思う。そこで初めて魔法が見られるようになる。とにかく、あなたはジョン・カーマックとアサートについて会話したと言っていた。プログラムに存在してはならない状態がある場合に、プログラムを効果的にクラッシュさせるアサートを至る所に配置するというアイデアについて話した。そして、あなたはそれを積極的に選択した。うん。だから、私はそれ以前はしたことないし、これは古いテクニックだと知っているし、明らかに若すぎるか、バカすぎてそれが人々がやっていたことだと知らなかった。私はJavaで育ったので、おそらくそれが理由でそれに遭遇しなかったんだ。だから、私はそれを見て、アサートの使用方法について興味を持った。そして、ユロンという人物に出会った。彼はTiger BeetleのCEO兼創設者だ。世界最速で最高の金融データベースだ。それは、多くの金融取引を行う必要があった会社から生まれた。Ziggで書かれている。彼らは決定論的シミュレーションテストを行い、本当に素晴らしいソフトウェアを作成するためのNASAの保証を利用する。だから、サイズを指定しない。至る所に期待するintの正確なサイズを指定する。彼らが非常に具体的になるためにやるようなことだ。そしてその一つは、すべての関数が、正の空間(これらのことが起こるべきだ)、負の空間(このポインタは決してnullであってはならない)のどちらか2つのアサートを含むべきだということだ。通常はそれを指定しない。そんなことは考えないだろう。だから、至る所のすべての関数には、これらのアサートがある。これらのアサートは、本番環境とテストの両方で実行される。常にオンになっている。そして、彼らは決定論的シミュレーションテストを行い、単なるランダムなデータ、システムを通過する完全なスロップを200年間実行し、それがどこまで進むかを見る。アサートが発生すると、「それが原因となった入力はこちらです。起こったあらゆる最後の小さなビットです。そして、ここで間違っていた場所を特定することができます」となる。とてもクールだった。あなた、ジョン・カーマック、そしてユロンの間で、私は「わかった、本当にやってみよう」と思った。NASAにも骨を投げよう。NASAも参加できる。私は「よし、試してみよう」と思って、ゲーム開発の仕事をするために、私にとって大きなリバースプロキシのようなものを構築した。そして、私はアサートをたくさん使った。そして、すべてを決定論的に実行できるシミュレーションテストのものを構築した。だから、リクエストの結果でさえ、すべて特定の順序で来るだろう。そして、私は決して見つけることができなかったバグをたくさん見つけた。そして、私は私が作っていたゲームでそれを行い、カーソルが画面から外れたバグを見つけた。それは、単にテストしたことがないため、様々な問題を引き起こしていた。とても楽しかった。そして、それはプログラミングの本当に素晴らしい方法だ。時間の経過とともに成長するスキルセットだと思います。事前条件、真実でなければならないすべてを指定しなければならないというだけではありません。考えもしないようなことを追加することもあります。本当に奇妙なことを予期する必要があります。アサートを追加すると、特に複雑な関数や複雑なクラスで、本当に奇妙なことをキャッチすることができ、それは多くの頭痛の種を救ってくれ、あなた自身のコードについて学ぶのに役立ちます。これは、私が思うに、あなたとの会話か、プレゼンテーションだったか、ジョナサン・ブローが言っていたことの一つだと思います。プロジェクトの開始時には、通常、実装方法、動作方法がわからないと言っていました。彼は、C++の批判だったかもしれない、プログラミング言語がほしいと言っていました。彼が何をしているのか、どのように実装するのかがわからない状態から、それを理解できる場所に素早く到達できるようにするプログラミング言語。プログラミングの基本的な部分の一つは、次のことを何をするのかを本当に知らずに物を構築することです。あなたは緩い設計、あるいは厳格な設計を持っているかもしれませんが、本当にあなたはパズルを解いていて、それは根本的に暗闇の中にあるのです。そして、あなたは本当にすべてを知らずに、戦争の霧のようなものの中で、出現する可能性のある奇妙さを予期する必要があります。そして、それは本当にスキルです。発生する可能性のある問題を予期し、その上にアサートを置くこと。そして、私にとって精神的に、構築すること、人生を生きることの本当に良い方法です。例えば、「この問題が発生した場合は修正する」という非常に厳格なアサートを持つことです。目をそらすことはできません。警告をエラーとして扱うというアイデア、警告なしでコードがコンパイルされるようにすること。それは私にとって大きな飛躍でした。「でも、それはたくさんある」と言ったのです。「いいえ、警告はありません。」すべての問題、あいまいな問題でさえ真剣に扱うようにしてください。なぜなら、それは長期的に、はるかに扱いやすく、はるかに楽しく、あらゆる種類の奇妙さに対してはるかに堅牢で弾力性のあるコードを作成することになるからです。これは、おそらくWebプログラミングスタイルよりもNASA風の、コードにアプローチする異なる方法です。しかし、それは私にとって個人的にプログラミングをはるかに楽しくしました。なぜなら、プログラミングで最も辛いことの1つは、10000行、20000行を超えたときにバグを見つけることで、そのバグを見つけるのに数時間、数日かかることがあるからです。それは拷問です。システムが十分に大きくなると、これらのバグの中には、非常に難しいものがあります。数百万行のコードベースに取り組んでいる人の魂を祝福します。なぜなら、それは単に、バグの根本原因を突き止めるのに数日を費やした回数を数え切れません。修正ではなく、なぜこれが起こるのかということです。それは難しい。だから私はアサートが好きだ。私はそれらが得意ではない。それは確かに私が常に実践しているスキルではないことがわかります。つまり、筋肉記憶のようなものではないということです。だから、それは私が大好きなものの1つです。それは問題にアプローチする非常に魅力的な方法です。なぜなら、私は「間違っていたらどうするか?このものをクラッシュさせる。ここでクラッシュさせる。なぜなら、私は間違ってはいけないからだ」とは決して思わなかっただろう。しかし、実際は「それは理にかなっている。このものをクラッシュさせるべきだ。私はひどいことをした。なぜこれが存在するんだ?」となるだろう。そして、「これは問題の全体を解決するだろう」となる。そして、特に本番環境の場合は、「ユーザーはこのクラッシュを見るだろう」となる。ええ、ユーザーがクラッシュを見る回数を最小限にするべきです。素敵なブルースクリーンのようなものにするのではなく、実際にすべてを停止することで。そして、それは、それが決して起こらないようにするインセンティブになります。実際に時間をかけて、それが決して起こらないようにするだろう。そして良い点は、Webなどでは、常に何かをポップアップして「大変なことが起こりました。回復できません。」と言うことができること、または彼らに素敵なメッセージを与えてログオフして、それがどれくらいの頻度で行われているかを測定できることです。Webプロジェクトには、ある程度の興味深い点があることは理解しています。サーバーを常にクラッシュさせたいですか?悪いバージョンをリリースしてサーバーを常にクラッシュさせると、受け入れなければならない苦痛があります。これは、ロボットなどの単一システムに適していると思います。あなたはADHDに苦しんでいる。多くの人が、ADHDを抱えながら生産性があり、成功していることに本当に刺激を受けている。どのように克服しましたか?ADHDの影響を受けるものはたくさんあります。だから、最も簡単なものから始めます。直接適用できるもの、そして起こるような付随的な損害から適用できるものがあります。ADHDに本当に役立ったことの1つは、成熟です。それは、誰もがもっと必要とするものだと思います。つまり、座って読書しようとすると、私は非常にぐらぐらして制御不能になり、それを処理できなかったということです。ページを読んで何も読んでいないと感じました。「ああ、もうできない」という部分が私の中にありました。私はそれを聞くのをやめて、「いいえ、私はこのページを読み直します。大学の時に何ページかを18回も読み直したのを覚えています。ただ、私は自分自身にそれを正しく行わせるように強制するのです。だから、成熟の側面があります。ADHDであろうとADHDでなかろうと、どんなことでも、私はそのことを行うだろうし、うまく行うだろう。時間がかかるかもしれないし、それは問題ではありません。重要なのは私がそれをしているということです。だから、それは一般的に役立つものの1つだと思います。そして、ADHDであろうとADHDでなかろうと、感情的な回復力は、本当に重要な側面であり、役立つものです。だから、それは私を本当に助けてくれた大きな部分だと思います。もちろん、私はまだ苦労しているものがあります。私が本当に苦手なところ、そして私が苦手なことをすべて考えようとしているのは、得意なよりも苦手な方が多いからです。そして、プログラミングは、明らかに私が集中したままでいられることを可能にしてくれるものなので、私の強みです。だから、私は少しの間だけできることから始めました。そして、そのような感情的な回復力を通して、私はそれをますます行えるようになりました。だから、今では10時間、12時間、15時間でもできます。そして、私はそれを本当に愛しています。それは、まるで楽器を演奏するようなものです。私はそれに夢中です。でも、もし、自分の歯医者の予約をしなければならない、または子供たちが週を通して必要な食事のために準備を整えておく必要があるなど、他にもやるべきことがあれば、私は歴史的に非常に苦手であり、おそらくこれからも苦手でしょう。だから、私がこれほどまでに成功している理由の一つは、とても良い妻がいて、私の人生で多くのことをクリアにしてくれるからです。それは私を奇妙な場所に巻き込み、気が散って何もできないような状況に陥るのを防いでくれます。だから、彼女は私を本当に助けてくれました。だから、私は一人でADHDを克服したと主張するのは愚かでしょう。しかし、私は自分が本当にコントロールできる場所では非常に良い仕事をしたと思っています。そして、明らかにもっとうまくやる必要があることについては、妻が私をたくさん助けてくれました。だから、私は少しずるをしたのかもしれません。愛する妻というチートコードを見つけたのかもしれませんが、それが私を本当に助けてくれたものです。あなたはたくさんの興味深いことを言いました。読書と、私にとってはオーディオブックの面でも、私は同じことをしていて、ずっと上手になりました。つまり、精神的に気を紛らわして、ページを読んで何も理解できないということです。実際には読んでいませんでした。私はそれを何度も読み直すか、オーディオブックを聞き直すことを強制しました。これは今、私にとってはるかに一般的な問題です。注意を払うことを強制するからです。オーディオブックを聞くスキルは、特に走るときのような他の感覚入力がある場合は、どれほど重要なものかを私は知りませんでした。だから、私はすべての単語に本当に注意を払うことを強制しなければなりません。そして、もし私が気を紛らわして、過去30秒に聞いたことを覚えていないなら、私はそれを聞き直すことを強制します。そして、それは、私がその小さなスキル、ズームインを習得するまで、何度も繰り返し聞くような、自分自身を罰するような意味になります。「ああ、人々は何かをしている。自然は関係ない。すべての言葉に耳を傾け、それをロードし、多くの気が散るものがあっても集中しようとしている」というようなことです。それは間違いなく学習したスキルであり、多くの時間がかかります。そして、私が「ここからここまでできた」と言うとき、私は毎日これをして5年間の話をしているのです。それは小さくはありません。その決定の良い点は、今日その決定を下すことができるということです。今すぐ決めることができます。あなたは「これからは二度とそんな間違いはしない。50ページ読むと言う。座って50ページ読む。そして気が散ったら、最後に覚えている場所に戻って、やり直す」と言うだろう。それは今日できる決断です。それは、成熟した、非感情的な決断です。そして、それはできます。最初の数年は本当に苦痛かもしれませんが、その後は楽になり、楽になり、そして自然に変化していくようになります。そして、すべてのメディア、すべてのプラットフォームで、それは新しいスキルだと思います。私にとって、ソーシャルメディアの使用は、スクロールしまくる結果になるということです。そして、一つの解決策はまったく見ないことであり、それは私が最近主に頼っている方法です。でも、チェックして、読んで、感じて、学んで、そしてそれを置くことができなければならないと思います。ぼんやりとした表情をして、もはや注意を払っておらず、心の奥底で死んでいて、その後ひどい気持ちになるようなことではなく。その後のひどい気持ちは本当に深刻です。私は間違いなく、100%スクロールに費やす時間が多いほど、より不安な人間になることに気づいています。そう、感じることができる。私の中にある何かが、どうやって説明すればいいのかわからないけど、外に出たがっているような感じだ。怒りではないけど、わからない。とても不安だ。朝起きて気分が良く、自然を見て、太陽を見て、鳥がさえずっているのを見るような気分とは正反対だ。ソーシャルメディアをスクロールすると、たとえそれが非常にポジティブなものだったとしても、鳥のさえずりと同じ気持ちにはなりません。Instagramの鳥のさえずりは、現実の鳥のさえずりとは違います。なぜなら、Instagramの鳥のさえずりを見ていると、頭の中で色々な種類の悪魔が戦っているような気がして、色々な不安や不安、何でもいいのですが、混沌の混合物と、現実の鳥のさえずり。それは美しい。しかし、繰り返しますが、オーディオブックと同じです。それは、読書であろうと、オーディオブックであろうと、存在であろうと、落ち着いて意図的に何かに集中することができるということです。呼吸を観察すると、他のすべてを静かにし、焦点から他のすべてを取り除くことができます。それはスキルだ。非常に美しく表現されているのを聞きました。アメリカでは、自由を本当に誤解しているということです。私たちは通常、自由を何でもする自由だと考えていますが、それは何でもする自由ではないという議論がありました。それは、自分がしたいことをする自由であり、どれだけ頻繁に自分が本当にしたいことをするのかということです。自分がこの瞬間にはしたいと思ってしまったことによって、トラップにハマってしまうのです。だから、「私は自由が欲しい。エネルギーをコントロールし、したいことができる能力が欲しい。気が散って破壊されたりしないようにしたい」ということです。私たちの中には、より悪いカードを渡された人もいれば、より良いカードを渡された人もいますが、技術時代には誰もがそれについて苦労しているわけではないとは思いません。それはスキルです。プログラミングにおける集中力を得るスキルについて、何と言えますか?座って問題に取り組む方法について、何かプロセスがありますか?気が散るものだけでなく、プロジェクトの開始、設計の検討、真の集中力の維持といった課題をどう克服していますか?本当に難しい知的な努力だと思います。この時点で私は幸運です。しかし、私が始めた頃は、プログラミングのあらゆる部分を調べなければならず、読まなければならず、常にサイドクエストがありました。これらをレンダリングしようとしているときに、なぜ私の画面が点滅するのか?ダブルバッファリングについて知らなかった。なぜこれが起こるのか?どうやって画面に書き込むんだ?どうやってわかるんだ?すべてが質問でした。答えよりも質問が多かったです。だから、私は常にサイドクエストの問題を抱えていました。そして、それは非常に疲れることだと感じています。しかし、私の楽器を非常に上手に習得するにつれて、サイドクエストは少なくなりました。私がしたいことに集中できるようになりました。そして、それは非常に非常に役に立つものだと感じています。私が「私は幸運だ」と言うのは、人生の多くをこの瞬間のために準備してきたので、何かをする機会があれば、それをできるようになったという意味です。

物事が嫌いで、飛行機の中で何時間もプログラミングできます。何も調べる必要はありません。何もする必要はありません。コードをテストする必要すらありません。飛行機で1000行のコードを書いても、98%は相当良いと確信しています。そして、そのことでとても幸せです。なぜなら、それが問題解決に集中できるからです。脳の能力の100%を問題解決に使えるのです。そのため、タイピングとエディタの習得も勧めています。動作について考える必要すらなくなるほどに。

たとえ下を向くだけでも、それは精神的な処理能力の浪費です。キーの位置が分かっているキーボードを見ているのですから。何千時間もタイピングしていれば、キーの位置は分かっています。下を見るのをやめましょう。すぐに習得できます。あれこれ調べる時間や精神的な労力を無駄にしないということです。覚えるのです。そうすれば、速く作業できますし、気持ちが良いです。それで、私はその問題を克服しました。もう疑問はありません。自分を媒体に表現しているだけで、本当に気持ちが良いのです。

もちろん、好奇心や気を散らすようなもの、例えば「あれはどうなっているんだろう」とか、インターネットにアクセスできる時は、Twitterなどがそうですね。エディタが最適化されていることについて話していますが、大丈夫ですよ。常に改善できます。常に優れたプラグインやマクロを見つけることができます。ちょっとした不便な点を見つけて、「この不便な点を解消するプラグインを5日間かけて作ろう」と思うこともあるでしょう。でも、ただ進めていくべきだったのに、寄り道をしてしまうのです。

だから私はルールを作りました。何か大惨事が起こった時、例えばプラグインがアップデートされて、知らなかったせいでエディタに深刻なエラーが出て、対処せざるを得ない時以外は、私のrcファイル、Neovimのrcファイルなどは編集しません。気になることがあれば、書き留めておきます。「ああ、あれを変えたい」と思います。でも、実際には戻って変更しません。

時折、そのルールを破ることもあります。例えば、「このコマンドを実行するための新しいリマップが欲しい」と思った時など。文字通り13秒で済みます。コピーしてペーストして、修正して完了。新しいリマップができました。その状況では完璧に理にかなっています。でも、プラグインを探したり、すべての問題を解決しようとはしません。完璧なエディタを求めるのは、終わりのない追求です。これは良いチェックポイントだ、もうやらない、と決めます。

先月は、システムの起動方法についてあらゆる可能なことを編集するのに、おそらく100時間費やしました。今では、ほぼ瞬時にコンピュータを起動できます。すべてが私の望む通りの状態です。Neovim、すべてが完璧に設定されています。満足しています。そのシステムにはもう手を加えません。来年、あるいは一年休んでから触るかもしれません。それで十分です。完璧である必要はありません。

0から60まで、完璧な設定について話しましょう。あなたの完璧なプログラミング設定、キーボード、オペレーティングシステム、画面の数、椅子は?さあ、始めましょう。キーボードは、私が愛用しているKinesis Advantageですね。私のキャリアを救ってくれました。素晴らしいキーボードです。凹面とサムクラスタは本当に重要です。特にQWERTY配列を使っている場合、標準的なキーにある記号を押す時は、常にこうなります。バックスペース、エンター、記号など、常にこうなります。これは手首を痛めます。そして、コントロールやシフトを常に押していると、さらに悪化します。Kinesisなら、ずっと快適です。

キーボードは最も重要です。まずそれを手に入れましょう。Kinesisキーボードを知らない人のために言いますが、私が最も感じるのは、まさにあなたが言ったことです。バックスペースがとても押しやすい。普通のキーボードとは違います。バックスペースは、一般的に何かを削除することを意味します。ミスを意味します。ミスをしただけでなく、そのミスを修正するために、物理的に苦痛で面倒な作業をしなければなりません。そして、ほとんどの人は多くのミスをします。Kinesisなら、ミスを修正するのが快適で、速く、簡単です。私にとって、Kinesisの最大の理由はおそらくそれでしょう。他の機能も素晴らしいです。マクロ、配置、凹面など、あなたが言及したものはすべてプラスです。ミスが快適です。私も同感です。だからこそ大好きなんです。だから、最も重要なことの一つだと思います。

次に非常に重要だと思うのは、モニターが一つだけということです。私はシングルモニター派です。本当に?プログラミングやその他の作業をする時はそうです。ストリーミングをする時は、当然ながらストリーミングを実行するセカンドコンピュータがあります。コンピュータがクラッシュして再起動しなければならない時もあるからです。だから、そこにセカンドスクリーンを置いていますが、ほとんどの場合、ストリーミングをしている時でも、ストリーミングチャットチャンネルに切り替えて読む必要があります。なぜなら、私はシングルスクリーンで作業しているからです。

私のナビゲーションスタイルは、StarCraftからヒントを得たものです。一つのキーを押して、行きたい場所に移動するという考え方です。私の設定のすべては、一つのキーを押すことで動作します。Twitchチャットに行きたい時はAlt+2、ブラウザに行きたい時はAlt+1、プログラミングに行きたい時はAlt+3です。これはパワーフィンガーですね。人差し指で叩きつけます。Alt+6はGIMP、GNUイメージ操作プログラムです。絵を描きたい時はそこに行きます。Slackを使っていた時はAlt+5でした。追加のターミナルが必要な時はAlt+4です。すべてが一つのキーに完璧にマッピングされています。

Tmuxを使う時は、すべてのターミナルを一つのターミナルにまとめています。そして、それらの間を簡単に切り替えることができます。プレフィックス1はVimエディタです。どのプロジェクトでも、常に最初のTmuxタブです。セッションというのか、よく分かりませんが、Tmuxに慣れていない人には説明が難しいです。タブ、2つ目は予備のターミナル、3つ目は長時間実行プロセスのターミナル、4つ目も長時間実行プロセスのターミナルです。すべてのプロジェクトで、セッション1のVim、セッション2の予備ターミナル、セッション3も自動的に開くように設定しています。すべて準備万端です。すべてが最適化されています。プロジェクトに行きたい時は、任意のターミナルでFキーを押すと、オペレーティングシステム上のすべてのフォルダのファジーファインドリストが表示され、数回のキーストロークでそこに移動できます。そして、そこにいます。キーボードを介して、可能な限り早く必要な場所を見つけられるように、非常にキーボード指向です。

Vimでは、Harpoonというプラグインを開発しました。ボタンを一つ押すと、ファイルを一時的なバッファにピン留めできます。Emacsのprojectileがこれに近いと思います。projectileの方が、私のセッション化スクリプトに近いと思います。とにかく、4つのファイルをピン留めして、いずれかのファイルにシングルキーストロークで移動できます。通常、機能を開発する時は、主に3つのファイルで作業します。他のファイルはファジーファインドで検索できます。しかし、通常は、常に切り替えているこれら3つの主要なファイルがあります。

ブラウザに行きたい時は1回押すだけ、ワークステーションに行きたい時も1回押すだけ、特定のフォルダに行きたい時はフォルダを変更するだけです。時には、2つの異なるプロジェクト間で作業することもあります。Tmuxでは、プレフィックス大文字Lで、直前の2つのプロジェクト間を切り替えることができます。別のプロジェクト間でも、ほぼ1つのキーで切り替えられます。ただ最適化しようとしているだけです。あまり考えたくないからです。検索疲れは、大きな失敗だと思います。Macを使っている人がこれをして、さまざまなウィンドウを展開するのをみると、不安になります。「なぜ目を使ってやりたいことを探しているんだ?キーストロークにして、二度と考える必要がないようにしろ」と思います。

私のシステムを使えるかどうか、それがより良いかどうか、考えさせられます。少なくとも知的に見ると、より良いように感じます。必ずしも素晴らしいとは限りません。あなたが言ったことには、いくつかの重要なことがあります。プログラミングであろうと、切り替えるウィンドウやタスクの数、作業中のファイルの数は少ないということです。20分程度の時間枠ではそうです。これは重要な真実です。私たちは、「検索の自由がすべて必要だ」と思うかもしれませんが、そうではありません。通常は、非常に小さな範囲で作業します。しかし、トレードオフがあります。旅行中はそうではありませんが、私の幸せな場所は3つのモニターです。本当にそれらすべてが必要でしょうか?頭を動かす必要があります。私のモニターは、2つの縦型モニターです。特定の種類のコンテンツには、縦型の方が優れています。縦に配置されているので、読むことができます。目を使って素早くスキャンできます。

私はそれすらしません。27インチのモニターで、一度に25行程度のコードしか表示しないようにズームインしています。それでいいと思います。もっと見られないと、根本的に制約を感じます。なぜなら、目はジャンプするのが得意だからです。なぜ検索する必要があるのでしょうか?キーストロークをいくつか押して、Control U、Control Dで、半ページ上下にジャンプするだけです。霊長類の視覚システムは、大量の情報をロードするように設計されています。このテーブルを調べたいときはいつでも、キーストロークを押す必要があったとしたら、その情報を統合するスキルセットを開発できたでしょう。しかし、実際には、このように紙一枚を見ていれば、私の目は情報の構造、情報の内容をすばやくロードできます。もっと速くできます。余分なモニターなのでコストは大きいです。しかし、垂直に配置されたコード、コードは微妙なところです。コードは、一度に25行だと思います。もっとたくさんできます。これは、記事、特に視覚情報やドキュメントを含むものに対してです。もっと速くジャンプできます。

あなたが流暢に話している間、私は疑問に思っていました。私は自分を欺いているのでしょうか?すべてをキーボードショートカットにして、シングルモニターで作業できるのでしょうか?試してみるべきです。なぜなら、私はすべてをキーボードで自動化することに賛成だからです。本当に速く移動できます。考える必要はありません。音楽の録音やビデオ編集など、クリエイティブな作業もしています。一部のプログラムでは、キーボードでの操作が簡単ではありません。WindowsではAutoHotkeyでかなり多くのことができますが、キーボードでできることには限界があります。マウスを使わなければならないのは本当につらいです。しかし、本当に考えさせられます。テキストの読み込みについても同じです。根本的には、もっと多くのものを見ることができ、上下に見て、2つのものを見ることができると私は思います。記事やそのようなものであれば、ここに大きなグラフがあり、画面全体とテキストを占めている場合、すべての情報を見ることができるようにズームアウトする方が有益だと思います。しかし、私はせいぜい1平方インチしか見ることができません。本当に、私の目が実際に焦点を合わせることができるのはそれだけです。読書をする時は、ここにいます。それから、情報の見た目をパターンマッチングで理解しようとします。それから、読み始めます。画面にたくさんのものがあることによる実際のメリットは、それほどないと思います。目の疲れを軽減できます。ピントを合わせる必要さえありません。文字が大きいです。私はかなりズームインしてプログラミングをしています。プログラミングをしている時のテキストはこれよりも大きいです。とても快適で、コードを読むために努力する必要さえありません。

空間的にキーを使ってナビゲートできることを脳に訓練する必要があります。ちなみにNeovimは、Neovimにはすべて関係しているかもしれません。そして、Neovimは明らかに次の大きなものです。Neovimが大好きです。どのエディタが最高かについてどんな議論をしても、Vimモーションが優れているという議論はできないと思います。Vimモーションについて説明できますか?それは何ですか?

NeoVim、Vimは旧式のエディタです。NeoVimは、旧式のエディタの現代的な解釈です。EI5とは何ですか?NeoVimを使うには何が必要ですか?Vimモーションについて話していると思っていたのですが。あなたは文字を使ってナビゲートし、編集します。その二つのモードの切り替え方は?挿入モードは、テキストを入力している状態です。ノーマルモードは、カーソルを移動している状態です。挿入モードに移行するには、Iキーを押して現在のカーソル位置の先頭に移動します。Aキーを押して現在のカーソル位置の末尾に移動します。大文字Aキーを押して行末に移動します。大文字Iキーを押して行頭に移動します。Oキーを押して現在の行の下に新しい行を作成し、適切なインデントの位置にカーソルを置きます。Shift+Oキーで現在の行を下にシフトし、新しい行を作成します。見ての通り、Escapeキーを何度も押しています。私はそれをcrにマップしました。ある特殊なケースを除いて。多くの人が嫌がりますが、IntelliJを使っていた時に慣れてしまったからです。Escapeキーを押すのが本当に嫌だったので、Aキーを押すのに慣れてしまいました。

Neovimを使っているなら、Escapeキーを何か他のキーにマップするのは不可欠だと思います。Caps Lockキーが標準的な選択肢でしょう。クールですね。簡単に押せます。しかし、もし学習する意思があれば、モーションは優れていると思います。しかし、学習する意思がなければ、優れていません。やらない方が良いです。苦痛を甘受する意思があれば、良いでしょう。なければ、はるかに悪いです。100倍悪いです。もし苦痛が好きなら、Neovimを使いましょう。まさにそうです。もし喜びが好きなら、Emacsを使いましょう。すみません。Emacsに良いテキストエディタはありますか?素晴らしいオペレーティングシステムだと知っていますが、良いテキストエディタがあるかどうかは知りませんでした。オペレーティングシステム?あなたは誤解していると思いますよ。少なくとも30分間、EmacsとNeovimについてRedditで要求されたことがあります。あなたはEmacsを使ったことがありますか?たくさん悪く言うために?一年間使いました。Doom Emacs、Spacemacs、そして通常のEmacsです。でも、Lispは知りません。本当に使いましたか?まあ、何とかして使いました。「これが設定の方法だ」という感じで何とかやっていきました。

本当にマスターして、深く学ぶことを勧めますが、判断を下す前にEmacsを使うのは良いと思います。その点では同意します。新規に記述されているのはLuaですね。Luaは設定言語ですが、Cで書かれていますが、Lua forが使用されており、Luaは非常に簡単な言語です。誰でもLuaでプログラミングできます。Lispが好きだったからEmacsを選んだのだと思います。道を選んで、その道を歩むだけです。二つのコミュニティの間には非常に激しい戦いが繰り広げられているので、他の人も戦っているから戦っているうちに、ある日、馬に乗った老戦士のように、「これは何だったんだろう」と思うようになります。

私が今日までNeoVimを試していないのは、少し悲しいです。これらのエディタの多くには学習曲線があります。本当に学ぶには、本当に学ぶには学習曲線があります。VS CodeやSublime、Atomのようなエディタに対する批判の一部は、それを学ばずに、中途半端に使ってしまうことが非常に簡単であるということです。学習曲線のあるエディタには大きな利点があります。編集の技術、科学、手順を真剣に受け止められます。それほど長い時間を使っているのですから、使用方法を学ぶべきです。

私の言いたいことは、エディタがプログラマを作るわけではないということです。しかし、エディタの使い方を知らないプログラマの性格について、多くを語っています。プログラミングに人生を捧げ、生涯にわたって文字通り5万時間も費やし、エディタの使い方をじっくりと学ぶ時間を決して取らないというのは、奇妙なことです。他の世界では、何かを構築したり、何かをしたりするのに、それらの仕組みを完全に忘れて、自分の仕事の一部だけに焦点を当てる人は見かけません。だから、私にとって重要なのは、どのように使うかではなく、使い方が上手な人です。問題があれば、その問題が存在する理由を説明し、解決策を見つけることができます。それこそが、まさにそれです。自分の道具を知りました。その道具を使って、前進し、征服しましょう。

特に頻繁に使用するツールは、人生全体、人生全体を考慮する必要があります。あなたが開発者であれば、何を頻繁に行いますか?会議ですか?ええ、すみません、続けてください。続けてください。どうすればもっとうまくできるか質問してください。毎日何時間もこれを行っているのですから。これ以上良くする方法について、または会議自体について考えるのにどれだけの時間を費やしましたか?驚くほど多くの人がこれをやっていません。ブラジリアン柔術に戻ると、ブラジリアン柔術や武道を行い、何度も何度も同じ方法で行い、途方もないエネルギーを投資しながらも、「どのようにすればもっと早く上達できるか」ということを考えない人がたくさんいます。ピアノやギターの練習も同様です。彼らはただ熱心に多くの時間を投資し、上達することから多くの喜びを得ています。彼らは「どうすればもっとうまくできるか」というメタ的な質問をすることが十分ではありません。エディタの場合、驚くほど多くの人がそうしています。タイピングの場合もそうです。あなたが言ったように、彼らは指を叩いたり、下を見たりしています。タッチタイピングを学ぶことで、見ないでタイピングすることで得られる生活の質の向上は計り知れません。人生に多くの喜びをもたらしてくれるでしょう。なぜなら、私たちは皆……

あれ、たくさんタイプしてるね。うん、そして、ええと、うん、つまり、ところで、僕がEmacsで非常に効率的だった理由は、君は冗談はさておき、NeoVimの方が、僕がEmacsで持っていたような効率性、本当に速く移動して編集できるような効率性のための余地がもっとあるように感じると思うよ。本当に楽しいんだ。効率性だけじゃないんだ、それは一種の、うん、本当に良いエディタを使うと得られる自由さなんだ。僕がVS Codeを使うことにした理由は、NeoVimやEmacsが追いつけないような機能の加速があるように感じたからだ。そして、今後5年以内という意味じゃない、今後30年以内という意味だよ。そして、僕は新しいエディタを常に学習し、切り替え、学習するという苦痛を受け入れたいと思ったんだ。EMXでとても快適になっていたから、このキーボード、すべてのショートカット、プログラミングの仕方をすべて知っているから。NeoVimは50年後には存在しないかもしれない、わからないけど、常に異なる技術を学びたいと思ったんだ。Cursorはその好例だよ。主にCursorを使っているけど、VS CodeとCursorを行き来する。AIを使うスキルは、本当にスキルだよ。ショートカットから、タイミング、ウィンドウのレイアウト、いつどのようにAIを使うか、私を邪魔しない、単なる面白さや楽しみのためではなく、生産性の実際の尺度のために私を支援することについて考える方法まで。それはスキルであり、Emacsを使い続けていたら快適さの局所的最適解に囚われていたと思う。そして、おそらく同じことがNeoVimについても言えるだろう。真剣に試してみるべきだ。NeoVimでコパイロットのような状況を設定できるプラグインがあると思う。検討すべきかもしれない。しかし、Cursorは、単なるコード生成やコードの手動編集だけでなく、IDE側で本当に魅力的なことをたくさんやっている。コードを継続的に書き直すことができるんだ。タップタップタップタップとカーソルを動かしながらコードの一部も修正し、違いをきれいに表示する。CursorとVS Codeのどちらが勝つかはわからないけど、本当に効率的で楽しい経験とは異なる経験のように感じるよ。君はNeoVimをそう説明しているけど、明らかにすぐにAIは出てこない。そうだね、完全に同意するよ。Cursorはすごくクールな製品のように見える。本当に素晴らしいものがたくさんあると思うし、NeoVimから変更できると思う。NeoVimを愛しているから使っているわけじゃない。楽器を演奏しているから使っているんだ。だから、Cursorがそのニーズを満たすことができれば、移行できると思う。執着しているわけではない。だけど、AIを使うたびに、スキル不足だと思う。AIを使うことに関して、スキル不足に悩まされている。本当に気に入って使えるようになるには、まだ程遠い。そのことについては後で話そう。それまでに、座るためのボールを忘れていた。座るためのボール、そう、机の高さを適切にする必要がある。モニターは画面の上2/3の高さにあるべきだ。頭を回転させるのは好きじゃない。拳銃のような、ニュートラルな位置に手を置きたい。それでいい。座るためのボール、ヨガボール、ヨガボール。それはどういうこと?ただ姿勢を維持するのに役立つんだ。何かにもたれかかると、こうなるから。何時間もの間座って、あれ?何をしているんだ?ボールに座って、跳ねてるんだ。背中は何かにもたれかかっているのか?違う。何てこった。他にどんな、他にどんな、君は世界で唯一、何時間もプログラミングしながらヨガボールに座っている人だよ。それ、わかってるよね?最高だよ。まあ、問題は、腰が痛くなると、猫背になって、不快になるんだ。「なんでこんなに不快なんだろう」って思う。「肩が凝ってきたな」って思う。ずっと猫背だよ。でも、何時間もヨガボールに座って姿勢を保てるんだね。そう、それをできるんだ。そして、猫背になると、「よし、戻ろう」って思う。すごい背筋力があるとか?違うよ。まあ、姿勢を保ち、まっすぐ座るのにすごい背筋力はいらないと思うよ。それはかなり基本的な人間の機能だと思うよ。僕は強い人間だとは思わない。うん、基本的な人間の機能だね。わからない。事実と論理。いいね。一つの画面、NeoVim、オペレーティングシステムはLinux。良いウィンドウマネージャーが欲しいからだ。ボタン一つでChromeを起動したいだけなんだ。i3を使っているよ。i3より良いものがあるのはわかっているけど、三つの画面を交互に使うだけだから、別に何を使ってもいいんだ。ボタン一つで切り替えできればいいんだよ。僕も同じだよ。半分半分。半分Linux、もう半分Windows。LinuxはWSLという意味だよ。それは何かね?Windows Subsystem for Linux。Weasel。Weasel。もっと肯定的なものがあるはずだ。Weaselは、マイクロソフトのやり方にぴったりだよ。完璧だね。だから、よく誰かの回し者だと言われるんだ。時には独裁者。もし誰かの回し者だとしたら、それはWindowsだよ。そうだよ。毎週Bill Gatesから給料をもらっているんだ。彼はもうマイクロソフトにはいないけどね。Balmer開発者、開発者について。冗談だよ。僕はMacを試すべきだ。iPhoneを使っている人に囲まれているんだ。僕はAndroidを使っている。Androidを使っているよ。ほらね。ああ、一緒に敗者だ。沈む船に乗った敗者。わかった。君の友達Teeについて少し話そう。彼はストリーマーで、僕は彼の配信を購読していて、楽しんでいるよ。僕の忠誠心は君から彼に移りつつある。彼の質は遥かに優れている。見た目、知性、スキルセット、すべてがはるかに優れている。いいよ。彼はNeoVimが好きだって言ってたね。それは彼が嫌いなことをしなくて済むようにしてくれるからだ。君が説明した自動化のプロセスを表現する良い方法だよ。痛みを伴うものへショートカットを割り当てる自動化。その手順について、同意する?完全に同意するよ。NeoVimの使い方、なぜ使うべきか、そういったことについての考え方はとても似ている。彼はたぶんもっと徹底しているよ。自動化に多くの時間を費やしている。僕は完璧なセットアップを得ることから多くの喜びを得ているわけではないけど、彼から学ぶことはたくさんあるよ。彼は本当に上手い。彼は30歳で、プログラミング歴はそれほど長くないけど、間違いなく最も才能のある開発者の一人だ。誰かがどれほど賢いかを見るのは本当に衝撃的だよ。だから、みんな彼の配信をチェックするべきだよ。te ej dv。te ej dv。彼の名字はDere Dise D。開発者じゃないんだ。いいね。TJだね。彼の名前だよ。ちょっと面白い綴り方だね。彼について何が大好きなの?彼がこれらの質問をするためにいくら払ったんだろう?何千ドル?数えきれないほどだよ。数えきれないほどだよ。彼は、特に「ストリーミング」やYouTubeの世界では、信頼が最も重要なことなんだ。何かに関わりたいと思っている人を見つけるのは簡単だよ。人々は物事にしがみつく傾向があり、本当に信頼できる人を見つけるのは難しい。だから、彼は本当に信頼できる人なんだ。彼はいつも真実を語る。彼は良い友達にとって必要なものすべてを持っているよ。良い友達として、彼は僕に質問をくれたんだ。君を裏切るような質問をね。彼を嫌いだよ。彼をどれほど信頼していないか忘れていた。Harpoonの話をして、君はそれを話していたね。彼は、Harpoon 2の移行、開発、リリースに何年または何十年かかるのかを君に尋ねるように言ったんだ。Harpoonとは何か、そしてなぜ君は一つのプロジェクトも終わらせることができないのか説明できる?それは素晴らしい質問だったね。Harpoon 2は実際には完成しているんだ。これは僕が渦巻く数千の質問を避けるためにやったことなんだ。マスターブランチをHarpoon 1のままにして、Harpoon 2をHarpoon 2ブランチとして残しているんだ。READMEを読まない人は、僕がHarpoon 2を使っていると主張する。それは彼らの責任だよ。それだけなんだ。オープンソースに関する何百もの質問に答えるのが本当に嫌なんだ。かつてはオープンソースを愛していたけど、Falor時代には魂を砕かれたんだ。だから、本当にアクティブなメンテナーになることにアレルギーがあるんだと思う。僕は自分のためにすべてを作ったんだ。Harpoonは文字通り自分のために作ったんだ。ファイルの最適なナビゲーションを3ヶ月間かけて考え出した結果なんだ。Harpoonは、オルタネートファイルに基づいたものだよ。オルタネートファイルは、ほとんどのエディタにあるもので、直前に開いていたファイルに戻ることができるものだよ。つまり、効果的に2つのファイルを行き来できるということだ。何度も使ったことがあるだろう。ナビゲーションがとても速くて、とても良いものだよ。僕はオルタネートファイルが欲しいんだけど、3つとか4つ欲しいんだ。だからHarpoonは、ファイルをピン留めできるものなんだ。ファイルに移動するためのボタンが一つ、もう一つ、もう一つ、最大4つまであるんだ。4本の指を使うんだ。Dvorakを使っているから。それはhtnsだ。だから、control+htnかsを押すと、4つのファイルのいずれかに移動するんだ。それだけだよ。それだけなんだ。技術的には、関数を追加して、外部で実行できるものを作ることもできるよ。ターミナルを開いたり、サーバーにリクエストを送信したり、何でもできる。僕は主にファイルを開くために使っているよ。キーボードレイアウトについて話していたね。Dvorakを使っているよね?Dvorakを使っているけど、カスタムバージョンを使っているよ。僕がそれを使った理由は、2017年に2人目の子供が生まれた時、クリスマスだったんだけど、腕がすごく痛くて、すごく焦っていたんだ。「ああ、僕のキャリアは終わったのか?もうプログラミングはできないのか?終わりなのか?」って。だから、自分が経験している痛みを防ぐために最適化された独自のキーボードレイアウトを作ることにしたんだ。Dvorakをベースにして、シンボルを対称的で合理的な方法で配置したんだ。開く、閉じる、開く、閉じる、開く、閉じる。そして、それらはすべてここにある。数字を押すにはShiftを押さなければならない。シンボルが最初に押せるものなんだ。ラップトップキーボードレイアウトにとって最適化されているんだ。ラップトップを非常に効率的で良い方法で使用できるんだ。それでDvorakを始めたんだ。Kinesisの存在を知ってなかったから、お勧めはしないよ。Kinesisの存在を知ったのは2017年だったんだ。「ああ、わかった」って思ったんだ。Kinesisを人に勧める?僕はKinesisのスポンサーなんだ。スポンサーされている人が言うことを信じるのは難しいだろうけど、スポンサーになる前にも使っていたよ。僕が連絡して「スポンサーシップが必要だ。君は鍵なんだ。どうせ使うんだ。断ってもいいけど、本当に気に入っているんだ」と言った唯一のスポンサーだよ。最初の3年間は、Kinesisから無料のKinesisをもらっていたよ。Kissiは僕のスポンサーシップなんだ。Kissiだね。いつも迷うよ。何度も辞めようとしたけど、辞められない。良すぎるんだ。でも、持ち運びが大変なんだ。わかるよ。僕はウクライナの戦場に行く時だって、Kinesisキーボードとラップトップ、そしていくつかの小さなものだけを持っていくんだ。Kinesisキーボードが荷物全体の30%を占めるべきなのか?答えはイエスだよ。本当にそれだけの価値があるのか?僕にとっては精神的なものか心理的なものだと思うよ。故郷のように感じるんだ。快適さがあるんだ。辞めようとするよ。この体験が大好きなんだ。まさにそうだよ。物と持っている関係みたいだよ。でも、それは有害な関係なのかどうかを理解しようとしている。ほとんど愛情だと思うよ。すべての関係と一緒で、押し引きや複雑さがある。距離は心を近づけると言う人もいる。だから、時々Kinesisキーボードを家に置いて、ラップトップキーボードを使うことで、心がもっと惹かれ、その繋がりはもっと深まるんだ。言われたように、すでに恋しいよ。だから、わからない。すべての旅行に連れて行くと思うよ。もし壊れたら、Kinesisが会社として閉鎖するのではないかと心配だったんだ。ビジネスモデルはなんだ?誰がこんなキーボードを使うんだ?でも、どうやらまだ順調みたいだね。君のようにキーボードを使う人は?どこへでも持っていく必要がある。誰がこんなキーボードを使うのかね?僕のファンになったばかりの頃、君がコーヒーとターミナルについて話しているのを聞いたのを覚えてる。今でも理解できないんだ。実際に使ってみないと。君はコーヒー会社も経営しているよね。いい匂いだ。これはダークモード、ダークロースト、ホールコーヒー豆だ。Seg origin-loがある。他にもたくさんある。とてもdevi shop server webみたいだ。SSH経由でコーヒーを本当に注文できるの?今のところ、SSH経由でしかコーヒーを入手できない。それでいいんだ。Origin storyを、うん、うん。ああ、コマンドラインコマンドを使ってリクエストしたり、d-helpとかmanを使ったりしようと思っていたんだ。man coffee、man coffee。TJと僕はまた同じだよ。TJの配信について話そう。すごく素晴らしいデザインだね。David Hillによるデザインだよ。とても良い。基本的なアイデアを説明しよう。約1年半前、TJと僕は話していたんだ。「インターネットで存在感を示している人たちは、何かを売っているけど、僕には売るものがない。マーチャンダイズはやりたくない。あまり好きじゃないんだ」って。テキーラは飲みたくない。そして、売ることについて悪い気にならないものを欲しかった。インターネットでたくさんの製品を紹介している人たちがいる。「ああ、これを使ってみて、これを使ってみて」って。僕がKinesisだけを扱っているのは、これが理由なんだ。「人生で本当にひどいことがあった。すごく怖かったけど、もう大丈夫だ」って。だから「ああ、それは理にかなっている」って。他のものはいつも難しいんだ。だから、長い間話していて、NeoVimが好きだったんだ。「NeoVimから何かできるんじゃないか?」って。それについて笑っていたんだ。NeoVimから注文するなんてばかばかしいって。そして、ある時点で、「ちょっと待って」って。「コーヒーはどうかな?開発者はみんなコーヒーが好きだ。コーヒービジネスを考えられるんじゃないか」って。Daxという良い友達がいるんだ。THDXR Dax、うん、Dax。彼は生きている中で最も生意気な男だよ。生意気だね。うん。彼は生意気だよ。あごひげがあるよ。うん、彼はSSTをやっているよ。たくさんのことをやっているよ。本当に才能のある人だよ。彼とAdam Veganというもう一人、良い男だよ。韓国料理に連れて行っているよ。彼は何も食べない。そしてLiz、彼女はターミナルコーヒー会社にとって非常に重要だった。彼女がいなかったら、ここまでできなかっただろう。そして、David Hill、デザイナー。彼はLaravelのデザインをしている。とても才能のあるデザイナーだよ。だから、僕たちはみんな集まって、どうすればいいか、ばかげたことができるかについて笑っていたんだ。そして、それが思いついたものなんだ。ほらね。ウェブサイトを開くだけだよ。実際には注文できない。注文を許可していないんだ。ウェブサイトはターミナルのような見た目だよ。「以下のコマンドを使って美味しいホールコーヒー豆を注文してください。SSH terminal.shop」。SSHでしか注文できないんだ。コマンドをコピーしてそこに貼り付ける必要がある。既知のホストに小さなterminal shopを追加したい場合は、それを行うことができる。支払いはどう処理する?Stripe経由だよ。モバイルチェックアウトを追加する予定だよ。ターミナルにQRコードが表示され、スマホでチェックアウトできるようになる。今は、資格情報を入力して、すべてのターミナル経由でStripeに行くよ。SSHはセキュアシェルを表す。楕円形、量子セーフアルゴリズムを使って、データが傍受されないようにするんだ。でも、彼はAIを使っているの?DaxはAIを使っていると確信している。量子と言っていたね。量子AI。AIを使っていなければ会社として成り立つのか?量子AIを搭載した暗号チェーンがいくつかある。すごくすごいよ。とにかく、僕たちは、それがMike Tysonの試合からのものだったんだ。よし、Mike、文字通りその夜にMike Tysonはレポーターにキスして出て行ったんだ。服を着ずに。誰かの広告を作ったんだ。いいね。コーヒーショップを作ることにしたんだ。そして、Neovimにするのではなく、SSHにすることにしたんだ。みんなSSHを使っているからね。VS Codeを起動する。VS Codeからコーヒーを注文できる。下のターミナルはSSHにアクセスできるからね。バダビングバダブーン。面白いよね。本当に大好きなんだ。このレベルがない、売ることや買うことに悪い気がしないものを作りたかったんだ。良い倫理的なコーヒーだよ。サプライチェーン全体を開発した。すべてパッケージされている。すべてブティックだよ。本当に高級なコーヒーだよ。とても美味しい。今は他のコーヒーが飲めない。不機嫌になるんだ。美味しくないから。自分のものにはまってしまったのが面白いよ。自分の供給に酔っているよ。ついさっき16袋注文して、家族に試してもらって説得しようとしたんだ。スタートアップに影響を与えるソフトウェア製品を売ったり、キャリアを変えるようなことを説得したりはしなかった。「コーヒーだよ」って言っただけなんだ。楽しい経験だよ。楽しいよ。すべてが。ユーモアもいいね。みんなterminal.shopとsh terminal.shopに行くべきだよ。SSHを知らない人に話しているんだ。コマンドを読んで、SSHの使い方を理解できる。ウェブサイトにある一種のドキュメントだよ。SSHが使えないなら、コーヒーを買うのはやめた方がいいよ。それは全部。学ぶことができるよ。アクティブで、コンピューター好きで、ターミナルを起動してハッカー気分を味わいたいなら、どうぞ。サブスクリプションもあるよ。Cursorの話の中で出てきたことだと思うんだけど、AIエージェント、Anthropicのコンピュータユースとかが、プログラミング中にコーヒーを注文してくれるのが理想的なんだ。「コーヒーを注文して」って言うと、実際に注文処理を全部やってくれるんだ。ダークロースト、コーヒーを注文して。注文処理全体をやってくれる。でも、コーヒーを注文するよう指示するのではなく、何かを依頼し、サイドクエストとしてそれを実行するのがもっと良い。コンピュータユースはそれをするよね。Googleで画像を探したり、一時停止したり、他の作業を続けたりできることを披露していた。とにかく、すごくクールなアイデアだよ。大好きだ。そうだ、AIについて話そう。今のところ、AIの役割について、肯定的でもあり、否定的でもあるよね。AIについてどう考えている?何が得意で、何が苦手?僕の一般的な見解は、かなりシンプルだよ。予測可能なことをしているなら、AIは本当に良いんだ。予測不可能なことをしているなら、AIはあまり良くないよ。最先端のことを使っているなら、AIは使えないか、あまり良くないよ。Zigはあまり得意じゃない。Zigはドキュメントが少ないからね。Typescriptは本当に得意だよ。AIを通して出てくる興味深いことがたくさんあると思うけど、多くの人が準備できていないか、考えていないと思うよ。TJがそのアイデアのきっかけなんだけど、AIによる市場操作が多くなるだろうというアイデアだよ。最高の木工工具について調べたい?誰かが広告枠を買うだろう。プレミアムなトレーニングデータを買うだろう。LLMで大きなブーストを得る人たちは、それらの人たちだ。LLMは直接的な広告ではないから、広告として宣伝する必要はない。トレーニングデータの中で少しプレミアムな位置、少し余分な学習を得ているだけなんだ。AIには懸念していることがたくさんある。それは生産性だけが重要だというトレードオフを人々が学んでいないか、行っていないことによるものだよ。生産性だけが重要だとは思わない。複雑で難しいものを構築したいなら、生産性だけが重要ではない。基礎を超えて、深く学習し、追求しなければならないんだ。だから、AIは本当にクールなものだと思う。魔法のトリックのように感じるよ。初めて使った時を覚えているよ。GitHub Copilotのアーリーアクセスを得たんだ。実際、Nat Friedmanが僕がGitHubにそれを要求しているTwitchのクリップを見て、彼自身がアーリーアクセスを送ってくれたんだ。素晴らしかったよ。使ってみたら、if文を正しく予測したんだ。それまで何もなかったから、本当に驚いたよ。そして、初めてだったんだ。プログラミングは大きく変わるだろうと思ったのを覚えている。そして、使い込むほど、僕はバグを作り続けるようになって、理由がわからなくなったんだ。僕が気づいたのは、僕はうまくコパイロットしていなかったということだ。オートパイロットの方がずっと上手かった。コードを読む能力と、批判的に考えてコードを書く能力は、明らかに異なるスキルレベルだ。コードを読む時と、コードを書く時では、同じように考えていない。だから、そこで苦労したんだ。それはスキルセットだと思うよ。まさにスキル不足だよ。スキル不足を知らない人向けに、時々皮肉を込めて使われるハッシュタグがある。この場合は、いくつかのレイヤーがあるんだ。皮肉なだけでなく、真剣な意味もね。批判は、ある種の根本的な真実ではなく、スキルが不足しているという事実を根拠にしているという意味だよ。僕が実際にCopilotやCursorをたくさん使う理由は、AIの編集スキルを開発するためだよ。そうすることで、AIをより良く活用できるようになると思う。今のところ、それは少しボイラープレートコードのことだけど。すぐに使えるような斬新な設計決定や難しい設計決定をゼロから行うことはできるけど、AIを使ってものを埋め、修正するスキルを学ぶ。個人的には、AIを使ってプログラミングする方が楽しいんだ。コードの多くを削除しても、楽しいんだ。孤独感が少ないんだ。ペアプログラミングのように感じるんだ。やったことはないけど。空っぽのものを見つめている時に感じる摩擦がないんだ。空の関数、空のクラス。もっと楽しくて、孤独感が少ないんだ。簡単なタイプのコーディングでは、APIとのやり取りに本当に役立つと思うよ。Stack Overflowでいつも調べるような基本的なことだよ。それには本当に速いよ。例えば、YouTube APIとのやり取り。YouTube APIのドキュメントは良くないんだけど、それをすべて読み込んで、APIにアクセスする関数セットを生成するように依頼することができるんだ。読み書き操作をすべて行ってくれる。そして、タスクを誤解した箇所を理解するスキルを開発できる。それはどんなスキル?わからないね。AIが何をしているのか、その限界は何なのかについて、共感する必要がある。多くの場合、プロンプトエンジニアリングに関するものだよ。

同時、AIが何を認識しているのか、具体的にどのようなデータを与えたのかを理解する必要があります。コードを生成するために実際にどのようなデータを与えたのか、ということです。多くの場合、私たちは十分な情報を提供していないことに気づいていません。ですから、実際に「よし、わかった」と、共感する必要があります。「これがAIが認識しているコードとファイルです。これがあなたが尋ねた質問の具体的な内容です」と。まるで何も知らない研修生であるかのように想像する必要があります。AIに、口に出されていないものを推測させたいと思うことがよくありますが、AIはそれらを認識できません。それらのことは具体的に指定する必要があります。そのため、指定する内容については、はるかに意図的で厳密である必要があります。つまり、詳細に説明する必要があるのです。

そのため、私は保存しているプロンプトの山を抱えています。そして、様々なプロンプトのテンプレートのライブラリを構築していますが、それはめちゃくちゃです。同じような状況の開発者はたくさんいると思います。そのため、長期的に見て、それを改善するツールが大きく関わってきます。一つは、システムがはるかに高度になり、微妙なニュアンスが不要になることです。もう一つは、それらのことを指定し、正しく読み込み、システムが必要とするすべてのコンテキストを提供できるツールが登場することです。そして、システムがフォローアップの質問をしてくるかもしれません。「ここが明確ではありませんでした」といった具合です。それらの多くは、実際のツールの設計、インターフェースに関わっています。cursorで説明したように、それはますます良くなっていくでしょう。

私の感覚では、開発者は一般的に、置いていかれないように、どのように使用できるのか、超能力として、生産性、効率性、プログラミングの喜びを高めるために学ぶべきです。競合相手として見られるのではなく、ということです。しかし、私にとってすでに、生産性が大きく向上しています。実際に、どれくらいの速さで作業を終えられるかを測定した場合、大きな向上が見られました。分や時間だけでなく、日数単位でもです。重要ではない作業を先延ばしにすることがありますが、AIはそれらを実際に完了させるのに役立ちます。空っぽのページの問題、前に述べたように、AIは私に実際に作業を書き、完了させ、テストし、リリースさせるのに役立ちます。

単にAIと作業するのが寂しくないからかもしれません。それが意味をなすかどうか分かりませんが、すべて完璧に意味をなしていました。「寂しさを解消してくれる」というフレーズが本当に気に入っています。何か興味深いものがあると思います。単なるLSPのオートコンプリートとは異なるレベルのインタラクションがあるということです。「わあ、それは私が取ったアプローチとは全く違うね。それはかなりクールだ。こういうものが好きだ」といった感じです。そして、私はAIに否定的な人ではありません。なぜ人々がAIを本当に気に入っているのか分かります。ただ、私はずっとCopilotを使ってきましたが、Natからアクセスをもらってから約6ヶ月前まで、ずっとそうやって使っていました。そして、本当に使い心地が良かったのです。ただ、私にとっては逆効果でした。私は書くよりもレビューしている方が多く感じ、物事を流したり、あまり深く考えなかったりすることが多く、あまり熱中していませんでした。ですから、「何かが間違っている」と思いました。それは単なる私個人のことです。それが、AIを使うべきか、使うべきではないかの理由として適切ではないことを認識しています。それは正しいとは思いません。なぜなら、私はそれを修正し、より良い方法を見つけることができるからです。

私はもう一回AIを本格的に試そうと思っています。cursorに2週間没頭して、それがどういうものか完全に受け入れてみようと考えています。そして、この新しい能力で何ができるのか。本当に良いレベルにまで改善されたのか。私にとって、というのは、私が取る多くの決定、私が書いている多くの小さな関数、それは私がこの問題を解決するためにこの関数を書いています、というわけではなく、これらの関数、またはこのセットは、単にこの問題を解決するためではなく、今後約2000行のコードで、他の多くのものを構築する際に、この次の活動を開始する必要があることを知っているからです。まるでチェスの駒を動かしているように、物事をより速く進めるにつれて、そのチェスの動きが崩れてしまうのです。そして、再び、私の側のスキル不足です。そして、文字通りの意味で、自分がそれを十分に使っていないために批判しているのです。

プログラミングが上手なほど、AIを使いたくなくなる、AIが邪魔になる、という一般的なルールかどうか分かりません。これは私の経験則に基づいたデータです。上手なプログラマーは、私の知る限りでは、それほどAIを使いたがりません。「これは必要なものとは程遠い」と言うのです。それには何か真実があると思います。それでも、学習のためにAIを使うべきだと思います。なぜなら、AIは賢くなり、良くなっていくからです。Neoimを最適化したり、Emacsを最適化したりするのと同じです。パイプラインにある新しいものは発見できないかもしれません。ですから、常にそのような方法で訓練しておくことは良いことです。

ここで一つ質問させてください。私の理解のためですが。あなたは、LLMのプロンプトを大量に抱えている、つまり、様々なアクションを実行できるテンプレートを持っている、という話をしました。あなたは、AIに自己説明させ、正しいことを行わせるための戦略を持っていると思います。私の知る限りでは、それは多くの人々の心に組み込まれています。しかし、あなたは、「しかし、ある時点でインターフェースは向上し、これらの多くのことをよりうまく行うことができるようになるだろう。そして、それらが必要なくなるだろう」というフレーズを使っています。では、私の質問は、AIを使わないことで、実際に誰かが遅れを取っているのか、ということです。インターフェースが大きく変化し、あなたの習慣を根本的に変える必要があるとしたら、そして、それによってすべてのステートメントを明確化し、それらを作成できるようになったとしたら、私は実際に遅れを取っているのでしょうか。それとも、次世代のAIは現在のものとはそれほど異なっているのでしょうか。まるで、あなたがパンチカードAIを使っている一方で、私はコンパイラタイムAIを使うようなものです。あまりにも違うので、「パンチカードとは何か」といった感じです。

明らかにこれは未解明の質問であり、魅力的な質問です。個人的には、はい、遅れを取っています。あなたではなく、私かもしれません。もしあなたがそれを使っていなければ、遅れを取っています。なぜなら、私がプロンプトで行っていることは、AIがどのように機能するのかについての直感的な理解を構築しているということです。AIの長所と短所を理解しています。現在のバージョンだけでなく、次のバージョン以降についてもです。世界に関するAIシステムを教育すること、効果的な決定を下すためにどのような情報が必要かということです。それはより賢いモデルにも適用できると思います。時間の経過とともに、より厳密で具体的で詳細な指示をする必要は少なくなりますが、それでもそのようなものを持っている必要があります。

私は、それはAIシステムへの共感のようなスキルだと思います。なぜなら、AIは自分が何を知らないのか分からないからです。常識が不足している、長期的な記憶が不足している。私たちが他の人と話すとき、彼らは現実についての基本的な常識を持っていますが、AIシステムはしばしばそのような常識を欠いています。そして、彼らは物事を覚えていません。ですから、常に空っぽの白紙状態であることを認識する必要があります。まるでAIと話すスキルを訓練しているようなものです。それらのプロンプトをすべて書き、やり取りすることで、どのようなプロンプトがうまくいくのか、またはうまくいかないのかについての直感を構築します。そして、他人のコードを読むという生きたスキルでもあります。大規模なチームで働く人にとっては、既に発達しているスキルかもしれません。私にとってはそうではありません。ですから、他人が書いたコードを修正する方法を学ぶことは、まさにスキルです。

そして、もう一つあなたが言及したことは、コードに対する別の視点について考慮することですが、これもスキルです。「そこであなたはこれをしました」ということを理解するスキルです。生成されたコードについて質問をすることで、取られたアプローチについて議論できるようになるスキルです。協調的なプログラミングには、多くの微妙なスキルが関わっていると思います。あなたがTeと28個のキーを1つのキーボードで操作した動画を作った時、まさにスキル不足でした。みんなその動画を見るべきです。明らかに下手くそでした。共同使用は、あなたがやったことでとてもクールなものでした。2つの異なるキーボードから1つの新しいインターフェースを制御していました。そして、私たちはそれぞれ、実行できる特定の文字や動きを許可されていました。ですから、あなたたちは一緒にコミュニケーションを取らなければなりませんでした。それは本物のスキルです。あなたはそれで非常に効率的になれるでしょう。しかし、その種のことを学ぶには時間がかかります。ですから、私はそれには何らかの価値があると信じています。しかし、学習曲線があると思います。

ですから、一つ明確にしておきたいことは、私はAIをかなり使っているということです。しかし、プログラミングには使っていません。ですから、私がしようとしていることは、長いインタビューをして、Twitchチャットが何を言っているのかを理解し、Twitchチャットになり、Twitchチャットのように話すことができるようにすることです。様々な方法でプロンプトする方法を学ぶことです。私にとって、それらは本当に楽しいことだと思います。塔の防衛ゲームをZigで作成し、それを塔の防衛ゲームをプレイさせ、Claude 3.5とOpenAIを戦わせてみました。Claude 3.5は日中に、OpenAIは夜間に優れていました。なぜそうなのか分かりません。何が起きているのか全く分かりませんでしたが、どちらかが勝ち始め、もう一方が負け始めるのです。非常に奇妙でした。ですから、私はうまくプロンプトする方法を学んでいますが、非常に異なる方法で学んでいるのです。プログラミングではまだあまり役に立つとは思っていません。そして、人生のあらゆる面、あらゆる状況で、同じようなプロンプトの探求を使っている、そして学んでいる、と付け加えるべきです。プロンプトエンジニアリング、AIシステムとのインタラクションの方法、それはそれ自体が一つの分野だと思います。投資する価値があると私は思います。それについて話していただけますか?なぜなら、あなたはTwitchチャットから情報を引き出し、LLMに話させているのを見ましたから。私はあなたがそうしているとは気づきませんでした。あなたは正確なチャットメッセージを読んでいるのではなく、ある種の要約をしているのです。

私がやっているのは、OpenAIに8回のクエリを送信することです。最初のものは、デフォルトの人格を設定することです。「あなたはRandallというマネージャーです。ソフトウェアエンジニアリングマネージャーです。あなたの立場、好き嫌いを説明してください。そして、あなたの頭にある考えをリストにしてください。そして、この人と話をし、質問をする必要があります。おそらくあなたが持っている考えで、質問したいと思うものを10個挙げてください」といった感じです。リストを作成するようにします。そして、「よし」と言います。そして、再びプロンプトします。「あなたはRandallです。あなたはこれこれこれです。これら10個の質問が前にあります。今、その中から1つを選択し、エンジニアリングマネージャーであるあなたのように聞こえるように言い換えてください」といった感じです。私は、それを単に一度実行するのではなく、反復させるように常に努力しています。あまりにも多く反復させると、元々は尋ねようとしていたことが失われてしまうことが分かりました。あまり反復させないと、Twitchチャットからあまりにも逸脱してしまうので、このアイデアを改善する必要があります。

明確にするために、Twitchチャットに情報を供給しているのです。これらの考えは、あなたがマネージャーであるというものです。あなたの頭にある考えはこれらです。最も重要な考えをいくつか選び出してください。何をしたいかによって異なります。私はまだより良いシステムに取り組んでおり、どのようにしてTwitchチャットに声を与えることができるのか、Twitchチャットに対して、またはTwitchチャットのために敵対的なキャラクターを作成できるのか、YouTubeを組み込むことができるのか、といったことです。LLMに、その立場をロールプレイするようにどのように説明するのか。そのようなことを考えています。ですから、もしかしたら私はプロンプトスキルを持っているのかもしれませんが、それはまだコーディングの世界ではありません。いつか、その領域に到達するでしょう。あなたが様々な声で遊んでいるのを見ました。セクシーなフランスの声から始まり、11 Labsはフランスの女性の声をうまく出せないことが判明しました。多言語のフランスの女性の声にすると、彼女は話し始めます。私は「何だ?」と思いました。あなたのストリームの一つを視聴したところ、まるで性的にはっきりとした女性の声が出てきました。あまりにも面白かったです。だから、私たちは彼女を「フランスのストーミー・ダニエルズ」と呼んでいます。

しかし、AIと、いくつかの側面に戻りたいと思います。ですから、AIに対する私の大きな不満は、その能力とは関係ありません。それは、人々がプログラミングしたとおりに、その能力どおりに機能します。私が本当に嫌いなことは、終末が近い、AIがここにいる、プログラミングをやめる必要がある、と考えている人々の集団がいることです。私はあなたに伝えることができません。前にPeter Levelsについて言及しましたが、彼は何らかのツイートをし、ある人の回答は、「2025年以降は、誰も高度なスキルを身につけるべきではない。AIにすべてを頼るべきだ」というものでした。これは若い人々にとって非常に危険なアドバイスです。若い人々は、決して何かの専門家になるべきではない、常に外部に委託すべきだ、と言われています。問題は、AIはコードを生成できますが、多くの場合に間違いを犯すということです。コードが大きくなったり、複雑になったり、入力が増えるにつれて、バグの間を行ったり来たりし始めるでしょう。ですから、そのような高度なスキルがなく、最終的にあなたがドライバーではないのであれば、本当に苦労するでしょう。そして、あなたの進歩能力は、LLMの能力に直接縛られることになります。もし、LLMが来年には人間をはるかに凌駕すると信じているのであれば、それは良い賭けかもしれません。しかし、そうではないのであれば、あなたのスキルの上限は、それらの能力に縛られます。

それ以外にも、情報の問題があります。それは、本当に大きな問題を解決できるだけの計算能力があるのか、ということです。たとえそれができたとしても、すべての人が今すぐそれを使い始めたら、すべての人がそれを使うための計算能力があるのでしょうか。多くの境界に関する疑問があります。プライバシーの問題もあります。そして、私は人々が、高度なスキルは必要ない、これらのものは必要ない、私たちは創造的に考えるだけで良い、という一見明らかな選択をすることを望んでいません。私はそうは思いません。高度なスキルは、AIが大幅に改良された後も、かなり長い間存在すると思います。私が分かる限りでは、定期的に介入する必要があるでしょう。しかし、それ以外にも、高度なスキルを身につけること、例えば、プログラミングの文脈ではゼロからプログラミングすること、それはAIの操作をより良くするでしょう。AIを修正するだけでなく、AIを操作するということです。コンピュータの仕組みを知っていれば、Pythonをよりうまくプログラミングできると思います。直感に反するかもしれませんが、低レベルの抽象化を知っていれば、それについての直感があれば、高レベルの抽象化をよりうまく操作できると思います。それが事実のように思えます。もちろん、AIが本当に超知能になり、多くのレベルを凌駕した場合を除いては。しかし、短期的にそれは非常に可能性が低く、長期的に見ても、より良くなっていくにつれて、波に乗っていくことができるようにしていくことが重要です。私はそのチームに非常に強く賛成です。

多くの人が私に手紙を書いてきました。多くの開発者、プログラマーは、急速に進化するAIシステムの文脈において、自分の職業の未来について非常に懸念しています。AIは最終的にプログラマーを置き換えると思いますか?そのフレーズで難しいのは、「最終的に」という言葉を使うことです。5年後、10年後、100年後、という意味です。その言葉が実際に何を意味するのか。私は、もし私たちが拡大することができ、すべてのことが現在の改善率で続くとしたら、ある時点で、高度なスキルとしてのプログラミングが不要になるという地点に到達すると思います。遥か遠い将来の、ある時点で、はい。その地点がどのようなものなのか、いつ起こるのかは分かりません。それについて予測しようとはしません。しかし、社会的に見ても、まだいくつかの飛躍が必要なのです。AIの使用を許可していない企業が数多く存在しています。つまり、実際的な問題が存在するということです。それは、私が直接的に答えようとはしない質問です。もし人類が存続し、すべてのことが良い方向に進み続ければ、ある日、膨大な計算システムのために多くのスキルが失われるでしょう。はい、それについては同意します。しかし、私は短期的にそうは思っていません。今日までのコンピュータの進歩は、すべて雇用を増加させる結果になっています。

もちろんです。プログラミングの定義の仕方にもよると思います。なぜなら、コミュニティがアセンブリからCへ、CからPythonやJavaScriptへと移行したとき、低レベルの言語でのプログラミングに慣れている多くの人にとって、それは非常に苦痛な進化だったからです。ですから、継続的な進化があり、AIによって、ツールチェーンの一部として自然言語がますます使われるようになるでしょう。適切なプロンプトの書き方を学ぶことができるということです。はい、それは、自然言語も言語であるためです。長期的には、プログラミングの大部分は自然言語になる可能性があります。非常に構造化された言語である割合は、おそらく依然として存在するでしょう。現時点では、自然言語が使用可能になるまでには程遠いと思います。なぜなら、曖昧だからです。そして、人々がこれに向かって努力していくにつれて、AIのための疑わしくない言語である、ある種の疑似言語が見られるようになると思います。人々はより曖昧でない状態を目指して努力し続けています。その時点で、あなたはただプログラミングをしているだけです。より高次の言語への進化をプログラミングしているだけです。そして、おそらくそれは人々がよりターゲットを絞った言語を持つ未来です。どれくらいターゲットを絞れるかは分かりません。

はい、私が見ているのは、もしあなたが自然言語をパイプラインで使用できると言うならば、それは多くのプログラマーになることができる人を増やし、それは多くのソフトウェアが最終的に作成されることを意味し、それは維持する必要がある多くのソフトウェアがあることを意味し、それは大きな雪だるま効果になります。しかし、自分の仕事について心配しているプログラマーもいます。完全な代替ではなく、プログラマーであることの定義の急速な進化かもしれません。あなたが言ったように、もし自然言語がコミュニケーションの方法、プログラミングの方法になるのであれば、プログラミングの仕事を得ることができる人のプールは急速に変化します。ですから、彼らはある程度心配しているのです。なぜなら、AIがどれだけ優れていると言っても、バグが存在する地点に到達するからです。非常に大きなソフトウェアが存在し、その変更を説明するには、ページにわたる説明が必要になるほどです。誰かが何かをすぐに作る方がはるかに速く、簡単になる地点です。明確なトレードオフがあるわけではありません。ですから、私はまだ、人々が心配するのをやめて、どのように統合できるかを考え、自分自身で証明しようとするべきだと考えています。彼らは本当に自分自身を無関係なものにしているのでしょうか。そして、あなたが本当に自分自身を無関係なものにしているなら、私はあなたが自動化するには少し複雑すぎることをしているだけだと主張します。もしあなたが、バックエンドからフロントエンドまで、単純なテーブル表示などの単純なCRUDアプリを直接書いていれば、はい、おそらくそれを自動化することはできませんでした。そして、今、それを少しだけうまくできるものがあります。それで自動化されてしまいます。しかし、それはプログラミングではありません。それはレゴブロックを積むようなものです。デザインは既に決まっています。単に袋からピースを正しい位置に動かすだけです。

開発者、プログラマーが、AIによって自動化される状況を避けるために推奨することはありますか?管理できるプロジェクトが大きければ大きいほど、構築できるものが大きければ大きいほど、スタックの上下両方の理解が深まれば深まるほど、価値が高まります。なぜなら、フロントエンドで何かを構築する方法を理解していれば、ある種のLLMタスクを開始し、フロントエンドに変更を加えることができるからです。それが行われている間、CLIツールで何かを開始することができます。他の場所で何かを開始することができます。そして、これらのものが結果を返したら、結果を確認し、それが望むものになっていることを確認し、変更し、コミットし、次のものに移ることができます。私たちは、それが本当にできるようになるという状態に達すると、より生産的になるだけです。そして、AIと協力するためのスキルがあると思います。だから、あなたがそれを続けようとしているのを見るのが楽しみです。AIがどのように適合するのか分かりませんが、AIは生産性を向上させるものだと思います。そして、プログラミングの喜びを高めるものだと思います。多くの人が、それは仕事ですが、意味の源、喜びの源でもあると思います。プログラミングは楽しいです。クールなものを創造しているし、多くの人が使う可能性のあるものも創造しています。

私を本当にイライラのさせることが一つあります。これはDevonの範疇に入るのですが、私は気遣いのあるインターンが欲しいのです。LLMからはそれを入手することはできません。それは気遣いがありません。つまり、私が要求したように、これらのアイコンを表示するUIを作成してほしいだけではありません。私が考えてほしいのです。私に提示してほしいのです。そして、私が「ああ、そうだね。いいね」と言うのです。そして、私が変更を加え、後で「実は、これについて考え直したのですが、変更した方がずっと良いでしょう」と言うのです。彼らは実際にはその仕事のことを気にしていますが、インターンと協力したり、他の人と協力したりするとき、彼らは何かをファクターリングするときに、実際にそれについて考えて、「これは実際にはかなり悪いね。戻ってこれを作るべきだ」と言って、それを終えてから戻ってきて、さらに良くするのです。彼らは実際には物事そのものを気にしています。それは全く異なる経験です。そして、私はただタスクを完了するだけでなく、物事をより良くしたいと願うものも欲しいのです。そして、私はあまりにも多くのことを要求していることを知っています。それは、ブレードランナーレベルのAIに達しています。私は、それが私がプロンプトしたものを理解したレベルまでタスクを完了してくれるだけのもの、それを気にしないだけのもの、が欲しいだけなのです。

気遣いには多くの側面がありますが、その些細なバージョンは、改善し続けたいという落ち着きのなさです。そして、それはAIができて、常に自分に問いかけています。「これをもっと良くできるか?」と。そして、それがそれをし続けるなら、おそらくそれはそれをばかげた状態に持っていくでしょう。実際には、いつやめるべきかを知ることです。私は、いわゆる「センス」を開発することを考えています。それは、非常に努力して、常に改善し続けることで、まさに正しいと感じることです。これだ。そして、私はAIはそれが得意ではないと思います。それは「はい、これだ。3回反復したし、3回目がそれだ。これで終わりだ」という感じです。そして、最終的にそれは人間が得意なことだと思います。何かが正しいと分かること。これは、特に、特定の業界、特定の文脈、アプリケーションにおいて、自分のセンスを開発するにつれて、「これだ」と分かることです。このボタンの丸みを帯びたコーナー。まさにこれだ。美しい。美しさ、機能性、効率性といったセンスです。しかし、人間はAIシステムをその文脈で監督することができます。

あなたはDevonについて完全に怒りを込めて語っていました。まず、Devonを運営している人々は非常に親切です。それを理解してもらいたいのです。私は彼らに対して何らかの不満を持っているわけではありません。第二に、Devonはプログラミングに関しては完全なパッケージのようなものです。タスクとリポジトリを与えると、それは

ご紹介します。レポジトリとタスクを理解しようとします。レポジトリを探って変更を加え、GitHubにコミットして、行ったことを説明します。そうすれば、オフラインでの作業、つまり私が本当に気に入っているAIの部分のもう一つの側面、つまり「これを修正してください」と指示すると、途切れることなく修正して戻ってくれば「十分です。マージ」となるような、作業を完了できる状態を維持できるようになります。理想的な解決策は、小さなバグをいくつか与えて修正してもらい、誰も実行しないバックログチケットに戻って、実際にバックログチケットを処理していくことです。それは本当に素晴らしい経験です。ですから、このアイデアが好きなのです。素晴らしいと思えるのではないでしょうか。しかし、これまで何度も試みてきましたし、問題を絞り込んでいくようにしています。問題が狭いほど、うまくいきます。「単一のアイコンを追加して、クリックしたらこれを実行してください。コンソールにクリックしたことを表示するだけでも構いません。少なくともSVGを作成して、きれいに配置してください」といったように、タスクが狭いほど成功する可能性が高まります。指定しすぎると、できません。指定が少なすぎると、奇妙なことをします。ですから、一種のバランスゲームをする必要があります。これまで、このようなことをするたびに、「Tailwindをもっとうまく使って自分で書いた方が良い」と思ってしまいます。結局は書き直してしまうからです。そして、「なんだ、結局何も節約できていないじゃないか」と感じてしまいます。本当にAIが素晴らしくなってほしいのです。そうすれば、本当に速く、驚くほど速く作業を進められます。しかし、いつも「Tailwindを徹底的に学んで、速くやった方が良い」と思ってしまいます。

デバッグは直感的である場合もあれば、そうでない場合もあります。AIはデバッグが本当に苦手です。これは、人間がどれほど特別な存在で、デバッグという作業がどれほど難しいかを認識させてくれます。些細なデバッグであれば、バグを見つけることができるかもしれません。しかし、真のプログラミングの技術は、論理的なバグ、非常に複雑でまれなバグ、エッジケースを見つけることです。AIは支援できますが、難しいものは、多くのコンテキスト、多くの経験、多くの直感を必要とします。不確実性の中で作業することは困難です。もちろん、AIはログを作成したり、トレースを実行したり、人間には不可能な量のデータをロードしたりできますが、最終的には、デバッグにおけるより優れたアシスタントになるということです。

実際、リードデバッガーになるわけではありません。AIができることは多いほど良いですよね。今のデバッグの状態について、私が間違っていたら訂正してください。コードを見て、バグの問題を見て、最も正確な可能性が高い箇所を予測して、その箇所を修正しようとします。それは、「おそらくこの箇所です」ということです。管理者パネルが少しずれていると言いました。これは、おそらくこの場所でしょう。これは、検索を行う上で非常に優れた方法になる可能性があります。意味論的な検索を行い、「これがどこにあるかを示してください」と依頼することで、巨大なコードベースをナビゲートする優れた方法になる可能性があります。つまり、AIに何かをさせようとするのではなく、問題を指摘してもらうように頼むことです。このようなものがもっと見られることを期待しています。それは私にとってエキサイティングな部分です。curlのクリエイターまたはメンテナによる素晴らしい記事があります。それは、インテリジェンスを意味するIとLLMです。彼はcurlを書き、保守しています。curlはセキュリティ問題で溢れており、すべてLLMが「セキュリティの欠陥を見つけました。コードの詳細をここに示します」と言っているからです。彼は、「それを再現する方法を見せてください」と言っています。コードをここで見てみると、それは実際にはありえない状況なのです。セキュリティは現在、LLMが提出した回答で溢れています。なぜなら、LLMは基本的なテキスト予測以上のコードを分析できないからです。「stir copyは一般的に使用されています。そうです、はい、はい、はい、はい。バグがあります」というように。しかし、実際には、直前のif文によって、文字列が長すぎる場合、関数は終了します。ですから、このケースに遭遇することはありません。あなたが言っていることは不可能なのです。

デバッグは非常に興味深いものです。私にとって、それが大きなポイントです。エージェントか、IDEに統合されたLLMか、それが解決できる、または改善できるならば、それは非常に大きなことです。私は「注意の否定」と呼ぶアイデアがあります。LLMを使って偽のバグレポートや偽のものを生成し、オープンソースのメンテナのモチベーションを下げ、害を与える攻撃ベクトル全体があると考えています。Polykillは、この注意の否定を経験した最初のバグです。アクティブな悪意のあるメンテナがオーナーを執拗に追いかけ、白騎士が現れて、彼らから何かを買ってくれると申し出ました。そして、彼らがそれを購入したとき、彼らはそれを悪意のあるコードに置き換え、それを利用しました。非常に攻撃的な方法でこれらを使用することに関するセキュリティの世界全体が発展しています。私たちは魅力的な世界に入っていると思いますが、人間の開発者がその世界において大きな役割を果たすことに同意します。この仕事は進化するかもしれませんが、存在し続けるでしょう。

このページをよく見ていませんでしたが、あなたと一緒に見ていくのは良いことだと思います。これは、私の好きなStack Overflowの開発者調査で、AIシステムの感情と使用状況について述べています。61%の人が使用しており、25%の人が使用しない、または使用予定がないと答えています。大多数の人が肯定的な感情、肯定的または非常に肯定的、または無関心を持っています。90%以上の人がそうです。こんなに多くの人がAIを検討する予定がないとは驚きです。コーディングに使用するのが好きではありませんが、いつかもっと使えるようになることを願っています。ですから、私は常に次のものを探しています。人々がそれほど頑固だとは驚きです。2番目のAIツールの感情は、最初の1番目の上位2つに「はい」と答えた回答者のみであると推測します。回答者の数から判断すると、「いいえ」と「予定なし」は、試してすぐに直感的に「これは本当にひどい」と感じた人かもしれません。経験豊富なプログラマーは、「これは私の生産性を高めていません」と言っています。81%の人が、生産性の向上は、開発者がAIツールについて認識する最大のメリットであることに同意しています。では、メリットは何でしょうか。生産性の向上、学習速度の向上、効率性の向上、コーディングの精度の向上、ワークロードの管理の容易化、コラボレーションの向上です。楽しみはどこにあるのでしょうか。私にとって、それは一番です。学習速度は、楽しみのサブカテゴリと言えるかもしれません。より多くのことを学び、より良くなれることは、良いことだと思います。分かりません。生産性も楽しみの一部です。軽やかさがあります。コラボレーションの改善など、これらすべての要素は間違いありません。Copilotを使用していたとき、しばらくの間、驚きの連続がありました。それは、驚くべきことです。

AIツールの精度の点では、わずか2.7%の人が非常に信頼していると答えています。AIの出力を非常に信頼すべきだと考えるのは、非常に経験の浅い人でなければならないでしょう。非常に懐疑的であるべきです。私はどこにいるか分かりません。やや不信任だと思います。「非常に不信任」は攻撃的すぎるように思えます。何かが間違っていると常に仮定し、そこから挑戦していくべきです。AIが複雑なタスクを処理できるかどうかについての推定は、ほとんどの人が複雑なタスクを処理できるとは思っていません。人々は、AIが何を処理でき、何を処理できないかをよく理解していると思います。プログラミングにおける複雑さについて、人々は良い理解をしていないと思います。クイックソートを書いてくださいと言えば、一部の人はクイックソートを非常に複雑だと考えます。しかし、それはAIに頼むことができる最も簡単なことだと思います。非常に文書化されていることは、うまく処理します。高レベルの設計上の決定は、現在ではAIに使用されていません。エージェントはそのようなことをするべきです。それはおそらく最も難しいこと、または最も影響力の大きいことです。最も難しいことはバグを見つけることです。AIツールは来年、コード作成などをします。

倫理的な部分については、あなたの意見を聞いてみたいです。倫理的なこと、ヨーロッパが新しい規制を制定するかどうか。アーティストはどうでしょうか。なぜなら、コーディングとアーティストの違いは非常にシンプルだからです。紙一枚を与えれば、カニを描くことができます。はい、カニですね。しかし、コーディングではそれはできません。正しいか間違っているかのどちらかです。カニとは何かについての解釈の変動はありません。「その発言はできません」ということです。表現できるものに非常に制限があります。アーティストが不満に思う理由が分かります。そして、誰が報酬を得るのでしょうか。コーディングとライセンス全体の問題があります。GPLライセンスは、トレーニングデータとしてどれくらいスクレイピングして使用されていると思いますか。GPLはオープンソースを強制します。それについてはどうしますか。つまり、モデルもオープンソースにする必要があるかもしれません。OpenAIはオープンソースになることを強制されるかもしれません。GPLのヒントがあれば、それ以前のすべてのものも同様です。これは本当に奇妙です。なぜなら、これらのモデルのほとんどは、技術的には権利を持っていないデータでトレーニングされているからです。多くの疑問があります。口に出されていないのは、これはワイルドウェストのようなものです。ヨーロッパは、おそらく最も消費者保護の法律を持っている場所なので、私はいつもヨーロッパの例を挙げています。GPLの可能性のあるコードを生成したモデルを使用した場合は、オープンソースにする必要があるという法律が制定されたとしましょう。何社の企業が「大変だ」と言うでしょうか。モデルから取得した可能性のあるGPLソースコードを生成したコードをすべて削除するには、1年かかります。起こるパニックを想像できます。コードのバーゲンセールになるでしょう。

それらを考慮して、若いプログラマーにアドバイスできますか。これはRedditからのもう一つの質問です。20代の若者は、テクノロジー業界でどのように進歩すべきでしょうか。そして、これは興味深い質問の追加です。他の人々の道を歩むことになりますか。この質問に可能な限り答えてみます。テクノロジーの世界に入るとき、私が長い時間かけて学ぶ必要があった最も難しいアドバイスの一つは、夢中になって中毒になったことです。もちろん、そのプログラムについて長すぎる時間話をしました。妻や友人と過ごす時間を取り忘れて、一つの活動に完全に没頭していました。それは私を今の私にしたものの、おそらく不健康な活動であり、賢明な活動ではなかったでしょう。ですから、最高のアドバイスは、AIエージェントを使用するだけか、Zigでプログラミングするか、JavaScriptでプログラミングするか、どんな味であれ、それを愛し、スキルを磨き、欲求を持つことです。それは、プログラミングのジムで毎日レップをすることになります。しかし、何が価値があり、何が価値がないかを理解し、次の最高のスタートアップを作ることに夢中になりすぎて、健康を犠牲にし、人間関係を犠牲にし、あるいはそれ以上に、おそらく取るべきではないような近道をしようとして倫理を犠牲にすることのないようにすることです。お金のために道徳に近道をしていた人々の恐怖の話は何百もあるでしょう。

黄金の手錠、快適さは魂を破壊します。これは本当に重要です。しかし、若い人は、「今、プログラマーになりたいのでしょうか」と考えています。AIがプログラミングでますます良くなっているように思えます。その決定をしようとしているなら、「それが喜びで満たされるものなら」と言うでしょうか。私は自分の子供たちがプログラミングを学ぶことを望んでいます。子供は、今プログラミングを学ぼうとしている若者よりも10歳若いです。私の子供がRobloxで好きなものを作りたいと思っているとすれば、私は彼にChatGPTを見せて、「いいでしょう、質問しましょう。どうすればいいですか」と言います。彼にとってこれらすべてのことを行うのは非常に混乱しています。「これをしましょう。学び、効果的に実行したい」と思っています。いつか、20年後にはこれらのスキルをすべて捨て去らなければならないかもしれません。しかし、捨てなければならなかったスキル、または完全に新しい分野で捨てなければならなかったハードスキルは、私たち誰もが考えていないでしょう。70年代の人にソーシャルネットワークについて尋ねたら、「何を言っているのか分かりません」と言うでしょう。将来には、途方もなく異なる、クレイジーでエキサイティングなものが出てくるでしょう。バーチャルリアリティかもしれません。いずれ私たち全員がビデオゲームを作り、世界の勇敢な新しい世界のために娯楽を提供するようになるかもしれません。

エンターテイメントは、ビデオゲームの目的の矮小化されたバージョンだと思います。人生の目的とは何でしょうか。それは、深く充実したビデオゲームになる可能性があります。ドーパミンラッシュだけではありません。教育的でも、怖いものでも、挑戦的なものでも、冒険への飛躍を強いるような、充実した人生を構成するものです。それはビデオゲームかもしれません。特にバーチャルリアリティでは。私は多くのビデオゲームをしています。ビデオゲームを深く充実したものにする余地はたくさんあります。その可能性はたくさんあります。あなたはたくさんのビデオゲームをしているとは知りませんでした。なぜなら、World of Warcraftをするべきか、Advent of Codeをするべきかと具体的に尋ねたとき、あなたはAdvent of Codeと言ったからです。ああ、それは私がWorld of Warcraftをしたことがないという意味かもしれません。なぜなら、私が避けているゲームがあるからです。例えば、Fortniteは、中毒になることを心配していたからです。ですから、私が中毒にならないことが分かっているゲームがあります。例えば、Civilizationを恐れています。私はCivilizationのゲームをしたことがありません。なぜなら、暗い道に迷い込むことを心配しているからです。一部のゲームは本当に人を引き込んでしまうからです。スカイリムをプレイできるので、これらのゲーム、またはBaldur's Gateをプレイして、プレイ量を調整できます。それらは中毒になるのではなく、生涯の仲間になる可能性があります。朝になって、「人生はどうなっているんだ」と思って、どこかのゴミ箱の後ろで裸になっているのを見つけます。一体何が起きたのかと。だから、私は自分のビデオゲームを選びます。Civilizationを具体的に指摘したのはあなただけではありません。テクノロジー業界の非常に高い地位にいる人から、「Civilizationは私の崩壊です。そのゲームに近づくと、終わりです」と言われたことは一度ではありません。だから、私はそのゲームをしたことがありません。それはまるで、「やってみなければ、それはクレイジーだ」と言っているようです。新しいものは本当に良いと言われています。

何を話していましたか。同じ若い開発者にとって、仕事を通してアドバイスできるキャリアパスはありますか?私はSchedulicityから始めました。それは私の最初のフルタイムの仕事でした。それ以前は政府の契約の仕事をしていましたが、それはフルタイムではありませんでした。C言語を使用し、とても楽しかったです。それから、しばらくの間自分のスタートアップを立ち上げていました。これらのどちらかをフルタイムと数えるならば、それらはフルタイムの仕事です。Schedulicityは正式な仕事でした。他の会社で仕事をして、何が喜びをもたらすのかを理解しようとすることには、価値がありますか。それには多くの価値があると思います。なぜなら、あなたが得る仕事はすべて素晴らしいとは限らないからです。最初の仕事では、プログラミングが嫌いになるかもしれません。私はそういう経験をしました。私は、以前話したヘルスケアや産業輸送についての話の中で、ある場所でインターンシップをしました。C#の職場でした。あまりにもひどかったので、大学で1学期、専攻を機械工学に変えました。プログラミングは嫌いですが、コンピューターサイエンスは好きです。仕事をしたからといって、それが仕事であるとは限りません。しかし、良い点もあります。もしあなたが仕事を得て、それを好きになり、それをしたいと思っており、それがエキサイティングであれば、変更する必要はありません。多くの人は、「2年間もここにいるんだから、次のものを探さなければならない」と考えています。移動しなければならないという考えがあると思います。移動する必要はないと思います。キャリアに害はないと思います。なぜなら、より多くの責任を負うようになり、より多くの権限を持って話すことができるようになるからです。次回の面接では、「この人やこの人に依頼して、これらすべてのことを行ってもらいました」というように、より多くの権限を持って話すことができます。それは私の考えでは利点だけです。恐怖や変化を望まないために、その場所に留まる場合は、それは違います。すでにうまくいっているものがあり、変更したくないのです。「ただ何も考えずに仕事をすることができます」という場合です。何年も何も考えずに過ごすと、何も得られないことに気付くでしょう。特に若い時は、リスクを取って、次のもの、次のものへと飛び込むことです。お金のためではなく、喜びのためです。お金は後で手に入ります。人生を生き甲斐にするものの一つは、一緒に働く人たちです。良いチームです。一般的なことですが、文化は重要です。あなたを幸せにするものです。例えば、9時から5時までで、仕事がエキサイティングであっても、十分に一生懸命働いていない会社があります。私は全力で仕事をするタイプの人間です。熱心な人たちと囲まれているのが好きです。公平を期すために、多くの人は家族がいないか、いません。それは魅力的な選択です。ワークライフバランスについて、どちらについても素晴らしい道だと思います。仕事から喜びをたくさん得ているなら、少なくとも人生のある期間は、全力で情熱を注ぐことは素晴らしいことです。ソーシャルライフなど多くのものを犠牲にするでしょう。それは素晴らしいことだと思います。特に自分のものを構築しているなら。アマゾンのジェフ・ベゾスがアマゾンを構築していた初期の頃は、大変で、多くの時間を費やしていたことは想像できます。しかし、家族か仕事かのトレードオフとして、この文化には独特の側面があると思います。「子供はいらない」ということです。私の唯一の考えは、子供を持つまで、愛の能力を知ることはできないということです。愛犬が好きだと言う人もいますが、私も愛犬が大好きでした。そして子供ができると、犬はまあまあです。家に帰ってIndieを撫で、「Indieだね」と思って、「じゃあね、Indie」と言います。その違いを説明することさえできません。なぜなら、同じではないからです。ですから、あなたがしているトレードオフは、誰も説明できません。現実があり、私の妻とも100%確信しています。今、医学処置を受けて、もしそうすればあなたは死ぬが、あなたの子供は生き残るという知らせを受けたとしましょう。私がそれをしないという疑いは、私の魂の中にありません。将来を見ることができ、今すぐ死ぬ必要があり、子供たちがより良い人生を送ることができる、より幸せになり、より充実し、それらのすべてを知っているとしたら、妻と私のどちらかが必ずそうします。ほとんどのことについてはそうは言えません。それは実際に起こるまで、冗談で言っているだけです。しかし、それはあなたに激しい反応を引き起こすでしょう。だから、それは全く違う世界で、説明するのは難しいことです。若い頃は、それがこんなに大きくなるとは思ってもいませんでした。

それをさらに付け加えると、私が知っている最も成功した人、最も生産性が高い人の中には、子供がいる人もいます。ですから、それはトレードオフではないと思います。感じる愛は、より少ない時間でより良く生産的になるための触媒のように思えます。私の生活や問題への取り組み方など、すべてを非常に異なる方法で変えました。Redditからのランダムな質問をいくつかしてみましょう。10段階評価で、Microsoftがこれまでに作った製品をどれくらい嫌っていますか。理由は10ですか。それは説明しましたね。まだ説明していません。どうぞどうぞ。言えることは、Microsoftが良い人であるふりをしているのが好きではないということです。彼らは本当に、彼らの製品に中毒になり、できるだけ多く使用してもらうようにすることで、できるだけ多くのお金を搾取したいのです。この世界に本当に良い人っているのでしょうか。それは良い点です。Neovimは良い人だと思います。彼らはお金を稼ぐ方法がありません。Justin Keysは慈悲深い独裁者であり、製品について深く考え、それを可能な限り最高の状態にしようとします。一方、Microsoftのようなものは、VS Codeをロスリーダーとして作りました。Copilotはおそらくロスリーダーで運用されています。これらのものはすべて、GitHubリモートワークスペース、CI、Copilotなどにあなたを縛り付けています。そして、その価格が上がると、転換コストが非常に大きくなり、いつか転換できなくなるでしょう。私の唯一の懸念は、Microsoftがかつてeeeで告発されたことであり、彼らが再びeeeしているように感じるということです。良いことを批判することに神経質になります。なぜなら、Gmailのようなお金にならないサービスをすべて作成するGoogleのように、そのような良いことをするインセンティブを見ることができるからです。彼らはあなたをエコシステムに結び付け、基本的に生涯にわたってあなたを維持するためにそれを行っていると皮肉的に言うことができます。しかし、Gmailを作成してくれたのは素晴らしいことです。彼らは素晴らしい製品を作成していますよね。その点ではあなたと同意できます。VS Codeは良い製品です。お尻に置かないでください。彼らは素晴らしい仕事をしました。ですから、これらの企業の背後には、財政的なインセンティブがあるでしょう。ところで、Microsoftについて肯定的なことを言ったり、擁護したりするのは、Primeを悪く言えるようにするためです。私はそれが大好きです。Linuxは私の最初の、そして最後の愛です。Linuxとオープンソースの精神は素晴らしいものです。大企業であっても、良いことをしようとしても、しばしば利益の要求が優先され、自分自身を堕落させることができます。Microsoftはまさにそれを自分自身にしてきた長い歴史を持っています。彼らは、開発者の間で良い人に見せたいという皮肉な理由から、オープンソースをサポートしてきました。Metaも同様です。Metaは途方もないことをしてきました。オープンソースをサポートするために。実際、MetaがLlamaやこのようなものをオープンソース化している理由について、財政的または皮肉な言い訳を立てることさえできません。それは混乱を招いています。それは単に倫理的で、本当に強力な決定のように思えます。多くの現金を持っている企業は、正しいことをすることができます。それは本当に肯定的な見方であり、それは本当に素晴らしいと思います。しかし、

私たちは常に懐疑的であるべきです。ええ、つまり、最終的に企業は良くも悪くもないのです。彼らは道徳的に中立です。悪いことや良いことが起こるのは、企業を運営している人々、つまり彼らが下す決定によるのです。

別の質問で、彼が牛の乳しぼり方を知っているかどうか尋ねられました。私はすでに尋ねました。答えは「いいえ」です。あなたは知りません。私は一度も牛の乳しぼりをしたことがありません。一度も牛の乳しぼりをしたことがありません。牛に殺されかけたことはありますが、一度も乳しぼりをしたことはありません。あなたはブルに乗ったことがありますか?いいえ。わかりました。なぜ男性モデルなのか?では、それを説明しましょう。

「紫の色が本当に嫌いです。なぜなら、紫の色を見ると腹が立つからです。」など、非常に無害なことを言います。しかし、その後すぐに、「なぜ紫の色が好きではないのですか?」と尋ねられるのです。それはまるでデレク・ズーランダーのようです。5分間の説明を終えると、次の質問は「でも、真剣に、なぜですか?」となります。まるで男性モデルのようです。だから、それは長い説明の後にあるズーランダーの参照です。なぜ男性モデルなのか?そして、彼は同意して忘れてしまうのです。はい。

Ligmaとは何ですか?私はLigmaで何度も死にました。Ligma。Ligmaの起源の話は知っていますか?いいえ。Ninjaという有名なストリーマーが、Ligmaで彼をいじりました。「Ligmaについて聞いたことがありますか?」と尋ねると、彼は「いいえ」と言いました。「Ligma balls」と彼は言いました。その後、Ninjaはそのことで非常に傷つき、チャットでLigmaという言葉を使った人を全員BANし始めました。だから、もしあなたがそのミームを受け入れないなら、あなたは破壊されます。もちろん、破壊されます。だから、目標は、人々が私をLigmaでいじれるかどうかです。TJは私をいじりました。「e-girlsがEye Ladiesに改名されたと聞いた?」と言いました。私は全く気づいていませんでした。「何?」と言いました。彼は「Ye ladies nuts on your face」と言いました。「なんてこった」と思いました。そして、海賊版ソフトウェアも私をいじりました。「Google Semaについて聞いたことがありますか?」と。SemaはGoogleの実際の製品です。「ああ、聞いたことがあります。これは何ですか?」と言いました。「SEMA balls、だろ?」と言いました。「くそっ、どうやって回避すれば…」と思いました。だから、私はライブストリームで何度も何度もそれを経験しました。私はLigmaで最も多く死にました。

彼の辞書のサイズについて彼に聞いてください。これは、Pythonにおける辞書です。ディックを愛さない人はいません。それは素晴らしい質問です。Pythonを使うときは、辞書パーティです。私は辞書が大好きです。それはTシャツになるべきです。それは実際にはとても面白いティーザーです。しかし、Stack Overflowでは、どんな質問でもできます。そして、私はある日、Stack Overflowに「辞書の測定方法」という質問を投稿することにしました。そして、私は本当に本気で、文字列のコストや参照について、本当に辞書を両手で掴んで徹底的に調べると、非常に難しいと、いくつかの婉曲表現を織り交ぜました。Stack Overflowチームはその質問を削除し、なぜその質問を削除したのかを説明する手紙を私に手書きで送ってくれ、私がその質問を綿密に、そして思慮深く、婉曲表現を巧みに織り交ぜていたことを褒めてくれました。チーム全体が感銘を受けたが、不適切であるため削除せざるを得ず、二度とやらないように、さもなければアカウントをBANすると書かれていました。それはとても面白い出来事でした。「面白いな」と思いました。

それは約6年前のことです。昨年、私は会議に参加していて、Stack Overflowの名札をつけた男がいました。「Stack Overflowで働いているのですか?」と尋ねました。「はい、そうです」と言いました。「あなたに話したいことがあります」と言いました。「ちょっと待って、あなたは辞書の男ですか?」それが彼の唯一の質問でした。そして私は「いきましょう」と言いました。私は自分のことを何も言っていませんでしたが、彼はすぐに私が辞書の男だと知っていました。

真剣に言いますが、Pythonの世界で、このデータ構造の名前を言わなければならない会話を何度も経験していて、毎回不快に感じています。dictという言葉の非常に不幸な短縮形です。私が金物屋に行ってコークを頼むと、いつも親切なお年寄りがいて、どこにあるのか尋ねると、とても気まずいです。できるだけ強くLの発音をして、明確に伝え、ずっと視線を合わせないようにしています。

あなたは、神があなたの生活の大きな部分を占めていたと言いました。もう少し詳しく話していただけますか?神とは誰ですか?そして、神はあなたの生活の中でどのような役割を果たしましたか?

私は、ある重要な夜に、何らかの理由で良心を得たことを話しました。私は機能的な無神論者として育ちました。教会に行ったのは数回だけです。家族で教会に行ったことをあまり覚えていません。だから、それに強い結びつきはありませんでした。90年代にアメリカで育ったほとんどの人と同じように、人生のある時点で教会と何らかの関わりを持っていました。それはごく普通のことでした。だから、それが起きた時、私はかなり驚きました。私はその方向に行こうとか、そうしようとは思っていませんでした。だから、私にとってそれは明らかに人生の転換点でした。それなしで今自分がどうなるかについては話すことができませんが、私はそのドライブを持っていなかったでしょう。おそらく大学を卒業していなかったでしょう。妻と出会ったり、子供を授かったりしていなかったでしょう。それなしでは人々の価値観の仕方を知らなかったでしょう。私の人の価値観は非常に小さかったでしょう。なぜなら、私は自分がしていたように物事を客観視し続けていただろうからです。

そして、おそらく最も重要なことは、どこに書かれているのか分かりませんが、「私たちは彼が最初に私たちを愛したから愛する」という聖句があることです。私にとって、それなしで幸せな人生を送れたとは思えません。そして、私はそれが選択肢であることさえ知りませんでした。私の何年間かは非常に厳しく、私は非常に悲しくて、常に自分を満たしてくれる何かを探していました。だから、私は自信も喜びもありませんでした。私は非常に悲しく感じていました。だから、それは初めて、突然、基準を満たす必要がないと感じた瞬間でした。私の基準はすでに満たされています。すべてが既にそうなのです。それは無料の贈り物です。それは交換です。だから、初めて、クールな男である必要も、正しい言葉を選ぶ必要も、自分を満たすための性的征服をする必要もありませんでした。それは非常に解放的でした。

神とは誰ですか?それはおそらく、より教義的な質問です。「人間とは何か」「神とは誰なのか」のような、ずっとずっと難しい質問です。神について深く説明しようとすると、通常はキリスト教の異端へと陥ると信じています。

あなたのために、彼はあなたに幸せになる機会を与えてくれました。彼は私に幸せになる機会を与えてくれただけでなく、初めて許されたと感じ、私を傷つけた人々を許すことができたのです。長い間、私は高校で嫌っていたことなどから、重荷を背負っていました。その経験を通して、私はすべての人の名前を書き留め、かなり長い間、それらを自分のそばに置いていました。これは私が許した人々のリストです。私はそれを何度も読みました。なぜなら、私は怒りやそのようなものに心を奪われることはしたくなかったからです。憎しみは非常に粘着性があるからです。それは一生続きます。憎しみに対する唯一の治療法は、許しです。それなしでは、それを取り除くことはできないと思います。だから、私は彼らを許し、前に進むことを選びました。それは本当に私を解放しました。もし私が最初にそれを経験していなければ、私は許しをそのような変化の手段として考えたことは決してなかったでしょう。

人間の状況における愛の役割は何ですか?哲学的な話をして、あなたの人生における愛の役割は何ですか?

すべての人が愛を望んだり、欲しがっていることは明らかです。私の妻は最近、私を「ラブ・イズ・ブラインド」を見るように説得しました。もしあなたがそれをご存知ないなら、それはクレイジーな撮影を引き起こすための、災害のような実験のように感じます。とにかく、その考えは、もしあなたが誰かを直接見ないならば、10日間とか非常に短い期間で誰かに恋をして、結婚したいと思うことができるということです。そして、あなたが本当に見ているのは、実際に愛を求めている人々です。私は妻に、「愛の闘士たちだ」と言いました。私たちは人々がドラマのために戦い合うのを見ていますが、彼らが本当に望んでいるのは愛であり、彼らは文字通り死闘を繰り広げているのです。そして、それを見るのは少し悲しい側面があります。

だから、私は、それが人間の経験における役割を言うのは難しいと思います。なぜなら、私はそれが私たちすべてが自然に望んでいるだけでなく、必要としているものだと思います。そして、私はそれが本当に進歩できるとは思いません。そして、「愛」という言葉を使うとき、私はそれをもう少し絞り込みたいと思います。セクシーな愛という意味のギリシャ語のエロースのことではありません。私は父性的愛と友情の愛は非常に重要だと思います。そして、アガペーのような神の愛も非常に重要だと思います。アガペーの愛はそれらすべての中で優れていますが、明らかに異なっており、父性的愛などとも共存しています。ですから、あなたはこれらのすべてを混ぜ合わせる必要があります。それぞれは異なる理由と適用場所によって異なります。ですから、私は、非常に基本的な部分としてそれなしでは、どんな種類の善も存在する世界を見ることができません。なぜなら、私は聖書を引用しようとしてここに来たわけではありませんが、「彼らをそこで吊るしたのは釘ではなく、愛である」と書いてあるからです。それがこれらのことが起こる理由です。ですから、もし許しは憎しみをある意味で償うための条件であるならば、愛は許しの動機でなければなりません。

それは人生の悲劇的な側面だと思います。私たちは皆、深い孤独と、より大きなものの一部になりたいという切望を抱いています。そして、その切望は愛であり、多くの名前を持っています。しかし、その愛の側面は、人生の美しい側面です。悲劇、孤独、不幸な苦しみは、人生の根本的な部分であり、美しい側面は愛です。

私はRedditについてもっと言及するべきだと思います。永遠の肯定性と愛の場所です。誰かが「彼の永遠の肯定性に感謝し、私から大きなハグを伝えてください」と書いていました。カメラの前で大きなハグはしません。勃起してしまい、非常に不幸な事態になるからです。ディックの話はこれ以上やめましょう。それは私のお気に入りのデータ構造です。言ったように、私はディックが大好きです。あらゆる種類のディック。順序付きディック、順序なしディック。私はそれが何を必要とするか知っています。私は差別しません。

しかし、それはただ、大きな感謝の気持ちを表したいということです。私はあなたをよく聞いています。そして、私は本当に楽しんでいます。私もたくさんの苦労をしていますが、たとえあなたが最も愚かなものを作っているときでも、あなたからは肯定性が発せられ、あなたは私を良い人になるように促してくれています。あなたは物を作るように私を刺激してくれます。ありがとう。そして、あなたと同じ理由であなたを聞いている人はたくさんいると思います。あなたの肯定性、多くの人々の生活の光であること、そして今日話してくれたことに感謝します。兄貴、ありがとう。

それは非常に親切でした。Redditからの非常に素敵な言葉にも本当に感謝しています。それは非常に驚くべきことですが、ありがとうございます。多くの人々の生活を知っていて、あなたが言ったことやしたことによって変化した手紙を受け取っていることは確かです。だから、これをすることの最高の部分の1つは、誰かの生活を改善する可能性があるということです。そして、あなたは多くの人をインタビューしています。多くの人がクリス・ラトナーの話を聞いて、Swiftへの彼の興奮を見て、おそらくSwiftを学び、素晴らしい仕事を得ました。そして、それはあなたとあなたが行ったインタビューにまで遡ることができます。それらは驚くべきことなので、あなたにも同じことが言えます。あなたは多くの良いことをしました。

兄貴、あなたもありがとう。今日話してくれたことに感謝します。マイケル・ポールソン(別名プリマジェン)とのこの会話を聞いていただきありがとうございました。このポッドキャストをサポートするには、説明欄にあるスポンサーをご覧ください。そして最後に、パウロ・コエーリョの言葉を贈ります。「私たちが自分自身より優れた人間になろうと努力するとき、私たちの周りのすべても良くなります。」聞いていただきありがとうございました。次回お会いできるのを楽しみにしています。