ThePrimeagen (Michael Paulson)
👤 PersonPodcast Appearances
So I opened 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 a, Maybe I'm not a programmer. Maybe I'm not worthy enough to enter into this circle of people who can figure out what the heck recursion means. And so Dytel and Dytel is like, I still remember this.
So I opened 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 a, Maybe I'm not a programmer. Maybe I'm not worthy enough to enter into this circle of people who can figure out what the heck recursion means. And so Dytel and Dytel is like, I still remember this.
I think FFmpeg is probably one of the most consequential libraries of our day. And the Twitter account is so unhinged. It's the most amazing thing to see because I think FFmpeg does not get the love it deserves. Every single application, OBS, probably FFmpeg underneath the hood. All the, everything, FFmpeg underneath the hood. And then, and yet, you know, they do not get the love they deserve.
I think FFmpeg is probably one of the most consequential libraries of our day. And the Twitter account is so unhinged. It's the most amazing thing to see because I think FFmpeg does not get the love it deserves. Every single application, OBS, probably FFmpeg underneath the hood. All the, everything, FFmpeg underneath the hood. And then, and yet, you know, they do not get the love they deserve.
I just love it. I just think they're the best.
I just love it. I just think they're the best.
It's an incredibly sophisticated programming language, yeah? SQL is interesting. I would have... I believe you can classify it as a programming language. It does have like, if you have case statements and it's pretty crazy what you can do with it. You could do functions. You could do all that.
It's an incredibly sophisticated programming language, yeah? SQL is interesting. I would have... I believe you can classify it as a programming language. It does have like, if you have case statements and it's pretty crazy what you can do with it. You could do functions. You could do all that.
You shouldn't. Restored procedures. That's how you make your life hell. I will say that all the top languages right there are, none of them are like strict languages. static typed languages. And so even TypeScript, you can, you know, I don't like this any. And so for people that are learning, doing something that's much more strict would be great.
You shouldn't. Restored procedures. That's how you make your life hell. I will say that all the top languages right there are, none of them are like strict languages. static typed languages. And so even TypeScript, you can, you know, I don't like this any. And so for people that are learning, doing something that's much more strict would be great.
Something like Go, Rust, even, I mean, even C Sharp, C++, like anything that kind of changes your perspective of types, I think is really helpful to kind of go through. They're not getting nearly as much love on this most popular language list, but I think they're very fantastic.
Something like Go, Rust, even, I mean, even C Sharp, C++, like anything that kind of changes your perspective of types, I think is really helpful to kind of go through. They're not getting nearly as much love on this most popular language list, but I think they're very fantastic.
Um, if I were to pick five languages that I think people should learn, or at least how, let's restate it this way. I'm going to say a couple languages and you should at least explore some of them. I think you should explore, explore a Lucy language.
Um, if I were to pick five languages that I think people should learn, or at least how, let's restate it this way. I'm going to say a couple languages and you should at least explore some of them. I think you should explore, explore a Lucy language.
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 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 eight hours, 10 hours doing these things.
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 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 eight hours, 10 hours doing these things.
So, uh, Python slash JavaScript, where there is truly only one type, which is a boxed value, which is a multivariate different types underneath the hood, right?
So, uh, Python slash JavaScript, where there is truly only one type, which is a boxed value, which is a multivariate different types underneath the hood, right?
A loosey-goosey language, right? It's a dynamic language. Okay. And so I think it's really good to explore one of those two. So I'd put Python or JavaScript right there. Even Lua. Throw Lua in the bunch. I think you should explore a strict language. So I'd do something like Rust, Go... I think those are both really, really great. C++? You can do C++. You can do some type erasure in C++.
A loosey-goosey language, right? It's a dynamic language. Okay. And so I think it's really good to explore one of those two. So I'd put Python or JavaScript right there. Even Lua. Throw Lua in the bunch. I think you should explore a strict language. So I'd do something like Rust, Go... I think those are both really, really great. C++? You can do C++. You can do some type erasure in C++.
You can do it with Go as well, but for the most part, it's a great language to do that in. It can get a little wild. New C++ seems great. Everyone keeps telling me new C++ is great. It has every feature you've ever wanted and all the features you don't want.
You can do it with Go as well, but for the most part, it's a great language to do that in. It can get a little wild. New C++ seems great. Everyone keeps telling me new C++ is great. It has every feature you've ever wanted and all the features you don't want.
Face guns, soft beds. There's everything in there.
Face guns, soft beds. There's everything in there.
Languages that I actually want to really learn. That at least sit in my curiosity bank. There's three languages, which is going to be Swift, Elixir, OCaml, and then I'm going to throw Odin in there just because Gingerbill is great. But Elixir and OCaml, I don't have a strong functional language underneath my belt. That's something that I just genuinely lack.
Languages that I actually want to really learn. That at least sit in my curiosity bank. There's three languages, which is going to be Swift, Elixir, OCaml, and then I'm going to throw Odin in there just because Gingerbill is great. But Elixir and OCaml, I don't have a strong functional language underneath my belt. That's something that I just genuinely lack.
I have never done Lisp. Lisp could be in that category too, just like learn or closure. I think at this point is what everyone tells you to use.
I have never done Lisp. Lisp could be in that category too, just like learn or closure. I think at this point is what everyone tells you to use.
It's a good feeling. You can post like something on Twitter and you'll get like a thousand likes if you do something cool on Elixir. Yeah. Okay. Like, which is a pretty big, that's like a pretty big amount of people to like a post for such a niche topic.
It's a good feeling. You can post like something on Twitter and you'll get like a thousand likes if you do something cool on Elixir. Yeah. Okay. Like, which is a pretty big, that's like a pretty big amount of people to like a post for such a niche topic.
Programming is already a pretty small topic. Then you get into functional program. That's a small topic in a small topic. Yeah.
Programming is already a pretty small topic. Then you get into functional program. That's a small topic in a small topic. Yeah.
Come back to the Civil War, Wax.
Come back to the Civil War, Wax.
Absolutely.
Absolutely.
I like how you're doing this in bunches. That's great. Right now, my kind of side honeys that I'm exploring is... Side honey. Yeah, side honeys. They're not my mainstay. Right now, Go is kind of my favorite one to build a web app in. If I'm going to build some sort of backend with a lot of complicated logic, Go is just so convenient.
I like how you're doing this in bunches. That's great. Right now, my kind of side honeys that I'm exploring is... Side honey. Yeah, side honeys. They're not my mainstay. Right now, Go is kind of my favorite one to build a web app in. If I'm going to build some sort of backend with a lot of complicated logic, Go is just so convenient.
But I get really frustrated with its ability to express everything that I need. If you have a list, a heterogeneous list, a list that contains two types... Go is just really not that fun to use. And so I could see, so the ones I'm exploring is Jai or J or the language as Jonathan Blow says, and Zig. And both of them have a lot of power to them. They're both very interesting.
But I get really frustrated with its ability to express everything that I need. If you have a list, a heterogeneous list, a list that contains two types... Go is just really not that fun to use. And so I could see, so the ones I'm exploring is Jai or J or the language as Jonathan Blow says, and Zig. And both of them have a lot of power to them. They're both very interesting.
They definitely have foot guns in them. They're definitely more, you know, they don't take it easy on you. Zig seems like it's a really amazing language and so does Jai. They're both very cool.
They definitely have foot guns in them. They're definitely more, you know, they don't take it easy on you. Zig seems like it's a really amazing language and so does Jai. They're both very cool.
I mean, when I say mistake, nothing against Dave Plummer. He's an extremely talented engineer. It's just that Zig, C, C++, all those languages that were being tested, they're all LLVM backends, right? That's the one that actually turns the thing into the executable part. And if there's a variation in speed, it just means in one language, you didn't quite express what you're supposed to correctly.
I mean, when I say mistake, nothing against Dave Plummer. He's an extremely talented engineer. It's just that Zig, C, C++, all those languages that were being tested, they're all LLVM backends, right? That's the one that actually turns the thing into the executable part. And if there's a variation in speed, it just means in one language, you didn't quite express what you're supposed to correctly.
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. And then, because I always, my big problem was like, okay, do factorial. Why not just use a for loop? Okay, what about Fibonacci sequence? Why not use a for loop? Or like, I don't understand. What's the purpose of recursion?
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. And then, because I always, my big problem was like, okay, do factorial. Why not just use a for loop? Okay, what about Fibonacci sequence? Why not use a for loop? Or like, I don't understand. What's the purpose of recursion?
Like there's the language ball test that's been bouncing around on Twitter.
Like there's the language ball test that's been bouncing around on Twitter.
zig was like sixth or seventh below i forget what language is um i played around with the example added the word uh no alias to the argument which means that the p the piece of memory that's coming into this function there's no global pointers there's nothing to it and so the compiler can make these really cool uh optimizations and i made it faster than the c version so it just means that just it's just not correctly specified is all that means
zig was like sixth or seventh below i forget what language is um i played around with the example added the word uh no alias to the argument which means that the p the piece of memory that's coming into this function there's no global pointers there's nothing to it and so the compiler can make these really cool uh optimizations and i made it faster than the c version so it just means that just it's just not correctly specified is all that means
I'll say something that's... The reason why I think Zig is so interesting, comparatively to, say, C or Rust, C is like the ultimate language. It can do anything. You have preprocessor macros. You can do quite a bit with it, but it's also really difficult. And it's also really simple and you can learn it. So it's kind of, it's like own unique beast.
I'll say something that's... The reason why I think Zig is so interesting, comparatively to, say, C or Rust, C is like the ultimate language. It can do anything. You have preprocessor macros. You can do quite a bit with it, but it's also really difficult. And it's also really simple and you can learn it. So it's kind of, it's like own unique beast.
And when you get really good at C, C is a magical language and people are really great at it. And people speak very highly of it. Rust is like this ultra safe language. What you can do in C, you just can't even express in Rust. Rust is gonna be the safe man that holds you at night, keeping you warm, right? It's gonna be just the greatest. But somewhere in the middle lies Zig. Zig has optionals.
And when you get really good at C, C is a magical language and people are really great at it. And people speak very highly of it. Rust is like this ultra safe language. What you can do in C, you just can't even express in Rust. Rust is gonna be the safe man that holds you at night, keeping you warm, right? It's gonna be just the greatest. But somewhere in the middle lies Zig. Zig has optionals.
If you're not familiar with optionals, that just simply means there's a value here or there's not, but you first have to check that before you can use it. Thank you.
If you're not familiar with optionals, that just simply means there's a value here or there's not, but you first have to check that before you can use it. Thank you.
It is. to be, to be.
It is. to be, to be.
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 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 and I'm like, okay, well, I guess I can just go up and I can create like a visited grid that so I know not to visit these places anymore. And then all of a sudden just started clicking. I'm like, well, wait a second.
I want you to find me a path through the maze. And so I just sat there and I'm like, okay, well, I guess I can just go up and I can create like a visited grid that so I know not to visit these places anymore. And then all of a sudden 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, I've understood recursion this whole time. I just never had a problem in which it actually made sense to use.
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, I've understood recursion this whole time. I just never had a problem in which it actually made sense to use.
you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you,
you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you,
And that was like my big downfall is that 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.
And that was like my big downfall is that 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.
YouTube just doesn't seem to have that. They're just a bunch of people and people go to YouTube for various reasons. I'm going to YouTube to learn. They come in and they want to learn. So they're not like on the meme train. They're not in this like cultural zeitgeist train. They're just like, but why would you use this if statement when a switch statement in this one particular case?
YouTube just doesn't seem to have that. They're just a bunch of people and people go to YouTube for various reasons. I'm going to YouTube to learn. They come in and they want to learn. So they're not like on the meme train. They're not in this like cultural zeitgeist train. They're just like, but why would you use this if statement when a switch statement in this one particular case?
Yeah. Or you just want to be able to like create a culture on your chat because your chat's going to be some variation of that kind of zeitgeist that's flowing through Twitch. And it kind of is very contiguous between X and Twitch. It just feels really out of sync with YouTube. And then YouTube particularly does a bad job. And some people would argue a good job because you can swim.
Yeah. Or you just want to be able to like create a culture on your chat because your chat's going to be some variation of that kind of zeitgeist that's flowing through Twitch. And it kind of is very contiguous between X and Twitch. It just feels really out of sync with YouTube. And then YouTube particularly does a bad job. And some people would argue a good job because you can swim.
Swim being you can actually change what timestamp you're at. So all of a sudden you'll be like... Oh, yeah, you know, I, you know, something about like driving to soccer in my minivan. And then 20 minutes later, you'll be talking about Zig. And someone's like, I personally use whatever to drive to soccer. And you're like, what are we talking about?
Swim being you can actually change what timestamp you're at. So all of a sudden you'll be like... Oh, yeah, you know, I, you know, something about like driving to soccer in my minivan. And then 20 minutes later, you'll be talking about Zig. And someone's like, I personally use whatever to drive to soccer. And you're like, what are we talking about?
Like, so YouTube is a very disjointed chat as well, because it depends on where they're at within the video. Swim comes from Netflix, by the way. Called Swim. Swim.
Like, so YouTube is a very disjointed chat as well, because it depends on where they're at within the video. Swim comes from Netflix, by the way. Called Swim. Swim.
Fully on that theme.
Fully on that theme.
Yeah. If you send a Twitch link, they're like, I don't like video games. And you're like... Well, actually, it's not video. That talk happens every single time you mention Twitch, because Twitch does have a perspective about it that YouTube does not.
Yeah. If you send a Twitch link, they're like, I don't like video games. And you're like... Well, actually, it's not video. That talk happens every single time you mention Twitch, because Twitch does have a perspective about it that YouTube does not.
You typically are going there for like a text-based interaction you want to look through. So I also think they just have like a user expectation change that needs to happen. And that just takes a while. You know, that's going to take a little bit before people get to it. I think their idea of audio first is a great first step where people can kind of listen to it and have the phone away maybe.
You typically are going there for like a text-based interaction you want to look through. So I also think they just have like a user expectation change that needs to happen. And that just takes a while. You know, that's going to take a little bit before people get to it. I think their idea of audio first is a great first step where people can kind of listen to it and have the phone away maybe.
There's a lot of like changes that have to happen before X can be successful in that.
There's a lot of like changes that have to happen before X can be successful in that.
You said incredible. That's not Reddit. Comment section, correct. Comment, yeah.
You said incredible. That's not Reddit. Comment section, correct. Comment, yeah.
There's no like, hey, Bill. Hey, George. There's no crosstalk that happens in multiple videos.
There's no like, hey, Bill. Hey, George. There's no crosstalk that happens in multiple videos.
YouTube also does have it, though. Like they have an aggregate community. You know, there's a lot of fun comments and all that on the videos and a lot of thumbs up. And then you see the fun discourse that happens. And it's like that's the community. It's just only a certain slice sees it.
YouTube also does have it, though. Like they have an aggregate community. You know, there's a lot of fun comments and all that on the videos and a lot of thumbs up. And then you see the fun discourse that happens. And it's like that's the community. It's just only a certain slice sees it.
For me, I don't know if there's like a one project I can point to, but I can point to a specific spot where I think it happens and where I think you can learn a lot from. Any small program you write will be somewhere between like 1,000 to 5,000 lines of code. I consider like a pretty dang small project. You can kind of correlate this to any feature within a larger system as well.
For me, I don't know if there's like a one project I can point to, but I can point to a specific spot where I think it happens and where I think you can learn a lot from. Any small program you write will be somewhere between like 1,000 to 5,000 lines of code. I consider like a pretty dang small project. You can kind of correlate this to any feature within a larger system as well.
You know, a specific feature on a website could be 1000 lines, a couple 1000 lines, there's a point in which all of your choices add up. And that's, I typically find that right around five to 10,000 lines of code, the choices you've made either weigh you down or kind of free you up.
You know, a specific feature on a website could be 1000 lines, a couple 1000 lines, there's a point in which all of your choices add up. And that's, I typically find that right around five to 10,000 lines of code, the choices you've made either weigh you down or kind of free you up.
And so it's right in that that I feel like I learned the most is because I love getting to that point in a project or in some small part of the code base, because at that point I get a test, A, how good were my initial gut decisions about how I design software? But B, now I need to go back and think about like, how am I going to do testing across this in a more effective way?
And so it's right in that that I feel like I learned the most is because I love getting to that point in a project or in some small part of the code base, because at that point I get a test, A, how good were my initial gut decisions about how I design software? But B, now I need to go back and think about like, how am I going to do testing across this in a more effective way?
How can I scale this out to 20,000 lines of code? How can I do all these things? with what I've got, or do I need to kind of rethink it? And I find that that's really where the best learning happens is that everybody has probably a different number that exists.
How can I scale this out to 20,000 lines of code? How can I do all these things? with what I've got, or do I need to kind of rethink it? And I find that that's really where the best learning happens is that everybody has probably a different number that exists.
And as you go to each one of these numbers or how well or holistic you want your project to be, I think that you'll come up with different numbers. And I think that number should just get bigger as you get more experienced. Cause you know, there's like, there's projects that are a million lines of code, but they're most certainly not holistic, right?
And as you go to each one of these numbers or how well or holistic you want your project to be, I think that you'll come up with different numbers. And I think that number should just get bigger as you get more experienced. Cause you know, there's like, there's projects that are a million lines of code, but they're most certainly not holistic, right?
Like every part of the code base is some age at some capsule of time with some sort of programming style. Some is more functional, more class-based, more God help your soul if it's pre-processor macros and C++, right? Like there's like all these different kind of things you'll find throughout time. And so that's why I kind of try to think about it as like the feature or the thing you're working on.
Like every part of the code base is some age at some capsule of time with some sort of programming style. Some is more functional, more class-based, more God help your soul if it's pre-processor macros and C++, right? Like there's like all these different kind of things you'll find throughout time. And so that's why I kind of try to think about it as like the feature or the thing you're working on.
It's usually about 5,000 lines is where I find that things get kind of, did I make good or bad decisions? And that's where I do all my learning is right on that phase. I'm trying to get it to the point where I should be able to shoot from the hip and do 20,000 lines and not be upset about it.
It's usually about 5,000 lines is where I find that things get kind of, did I make good or bad decisions? And that's where I do all my learning is right on that phase. I'm trying to get it to the point where I should be able to shoot from the hip and do 20,000 lines and not be upset about it.
No, you are the reason why I do that.
No, you are the reason why I do that.
You're like the first one. Keep on going. Sorry.
You're like the first one. Keep on going. Sorry.
But anyway, you were saying, okay, so you and john Carmack had a conversation about asserts. Yes. You talked about this idea of putting asserts everywhere that effectively crashed the program. when you have some state in your program that should not be represented and you have made this choice actively. And so I've never done that before.
But anyway, you were saying, okay, so you and john Carmack had a conversation about asserts. Yes. You talked about this idea of putting asserts everywhere that effectively crashed the program. when you have some state in your program that should not be represented and you have made this choice actively. And so I've never done that before.
And I know this is like an old technique and I obviously must be too young or too dumb to know that this was a thing people did. I grew up in Java and I think that's probably why I didn't run into this. So I saw that and I was like, I'm curious about how to use Asserts more. And then I ran into a person named Yoran. He's the CEO and creator of Tiger Beetle.
And I know this is like an old technique and I obviously must be too young or too dumb to know that this was a thing people did. I grew up in Java and I think that's probably why I didn't run into this. So I saw that and I was like, I'm curious about how to use Asserts more. And then I ran into a person named Yoran. He's the CEO and creator of Tiger Beetle.
It's like the world's fastest, greatest financial database. And it was spawned out of a company that needed to do a bunch of financial transactions. And it's written in Zig. And what they do is they do deterministic simulation testing. And they just use NASA's kind of guarantee for creating really great software.
It's like the world's fastest, greatest financial database. And it was spawned out of a company that needed to do a bunch of financial transactions. And it's written in Zig. And what they do is they do deterministic simulation testing. And they just use NASA's kind of guarantee for creating really great software.
So like, don't use you size, specify your exact size of into you expect everywhere, all these kind of like, things they do to be very specific. And one of them is that every function should contain two asserts, whether it's positive space, like, you know, these things should happen or negative space, like this pointer should never be null. You're programming into things that should never happen.
So like, don't use you size, specify your exact size of into you expect everywhere, all these kind of like, things they do to be very specific. And one of them is that every function should contain two asserts, whether it's positive space, like, you know, these things should happen or negative space, like this pointer should never be null. You're programming into things that should never happen.
Normally, you just never specify that. You'd never think about that. So every single function everywhere has all these asserts, and these asserts run both in production and in testing. They're always on, and then they take deterministic simulation testing, and run like 200 years of just random data, just complete slop going through the system, and seeing how far it goes.
Normally, you just never specify that. You'd never think about that. So every single function everywhere has all these asserts, and these asserts run both in production and in testing. They're always on, and then they take deterministic simulation testing, and run like 200 years of just random data, just complete slop going through the system, and seeing how far it goes.
And when an assert happens, they're like, here's the input that caused it. Here's every last little bit that happened. And now you can identify where this went wrong. And it was so cool. So between you, john Carmack, and you're on, that's where I like, okay, I got a real and NASA. I'll throw NASA a bonus while NASA can join in on that one. I was like, okay, I want to try this. And I did try it.
And when an assert happens, they're like, here's the input that caused it. Here's every last little bit that happened. And now you can identify where this went wrong. And it was so cool. So between you, john Carmack, and you're on, that's where I like, okay, I got a real and NASA. I'll throw NASA a bonus while NASA can join in on that one. I was like, okay, I want to try this. And I did try it.
I built kind of like this big reverse proxy for me trying to do some game development stuff. And I just went ham on the asserts. And then I built a whole simulation testing thing that could do everything deterministically. So... you know, even the result of requests would all come in specific orders. And I found a bunch of bugs that I just would never have found.
I built kind of like this big reverse proxy for me trying to do some game development stuff. And I just went ham on the asserts. And then I built a whole simulation testing thing that could do everything deterministically. So... you know, even the result of requests would all come in specific orders. And I found a bunch of bugs that I just would never have found.
And then I did it for a game I was making. I found some bugs where my cursor went off screen. It would cause all these different problems because I just never tested them. And it's super fun. And it's like a really great way to program.
And then I did it for a game I was making. I found some bugs where my cursor went off screen. It would cause all these different problems because I just never tested them. And it's super fun. And it's like a really great way to program.
Yeah, when your system gets sufficiently large, some of these bugs are just, they're very difficult. I, you know, bless anyone's soul that's working on million line code bases, because it does. It just, I can't tell you how many times I've spent multiple days just trying to figure out the root cause of the bug, not even the fix, just like, why does this happen? And that's hard. So I love it.
Yeah, when your system gets sufficiently large, some of these bugs are just, they're very difficult. I, you know, bless anyone's soul that's working on million line code bases, because it does. It just, I can't tell you how many times I've spent multiple days just trying to figure out the root cause of the bug, not even the fix, just like, why does this happen? And that's hard. So I love it.
I just love the asserts because I'm not good at them. I can see it's definitely a skill that I don't, I don't put into practice constantly, which means it's just not like a muscle memory type thing. And so it's just one of those things I just love. It's just, it's such a fascinating way to approach a problem because I would have never thought, you know what I'm going to do?
I just love the asserts because I'm not good at them. I can see it's definitely a skill that I don't, I don't put into practice constantly, which means it's just not like a muscle memory type thing. And so it's just one of those things I just love. It's just, it's such a fascinating way to approach a problem because I would have never thought, you know what I'm going to do?
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? I'm not sure if they're even operating still at this point, but they're in both. There's something funny about the name. I'm sorry. Oh, Schedulicity. Yeah. They actually...
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? I'm not sure if they're even operating still at this point, but they're in both. There's something funny about the name. I'm sorry. Oh, Schedulicity. Yeah. They actually...
If I'm wrong, I'm going to crash this thing. I'm going to crash it right here because I should never be wrong. But instead you're like, oh, actually that makes perfect sense. I should crash this thing. I've done something terribly wrong here. Why would this ever exist? And then you're like, this is going to solve a whole class of problems.
If I'm wrong, I'm going to crash this thing. I'm going to crash it right here because I should never be wrong. But instead you're like, oh, actually that makes perfect sense. I should crash this thing. I've done something terribly wrong here. Why would this ever exist? And then you're like, this is going to solve a whole class of problems.
And the nice part is like with the web and all that you can always pop up something and say hey things have gone very very wrong we're unable to recover you can like give them a nice message and then log it off so you can see it and then measure how often are you doing it you know I understand that there's a bit of interestingness to a to a web project like do you want to always crash a server.
And the nice part is like with the web and all that you can always pop up something and say hey things have gone very very wrong we're unable to recover you can like give them a nice message and then log it off so you can see it and then measure how often are you doing it you know I understand that there's a bit of interestingness to a to a web project like do you want to always crash a server.
There's a bit of a gamble if you release a bad version and you crash all your servers constantly. That's a pain you're going to have to accept.
There's a bit of a gamble if you release a bad version and you crash all your servers constantly. That's a pain you're going to have to accept.
Well, there's a lot of things that ADHD affects. And so I'll start with some of the easiest things because there's like directly applicable than like these kind of collateral damage applicable things that happen. So one thing that has really helped me with ADHD is maturity.
Well, there's a lot of things that ADHD affects. And so I'll start with some of the easiest things because there's like directly applicable than like these kind of collateral damage applicable things that happen. So one thing that has really helped me with ADHD is maturity.
I think that's just like just a thing that everyone needs more of, meaning that I found myself getting so wiggly and so out of control when I would try to sit down and read. And I just couldn't handle it. I just felt like I'd read a page and didn't read anything. The part of me that just went, oh man, gosh, I just can't even do this.
I think that's just like just a thing that everyone needs more of, meaning that I found myself getting so wiggly and so out of control when I would try to sit down and read. And I just couldn't handle it. I just felt like I'd read a page and didn't read anything. The part of me that just went, oh man, gosh, I just can't even do this.
I had to just simply quit listening to it and said, nope, I'm rereading this page. I remember reading some pages in college like 18 times in a row, just like I'm going to force myself to just do this the correct way. And so there's an aspect of maturity that really helps no matter what. I will do the thing I'm going to do and I'm going to do it well.
I had to just simply quit listening to it and said, nope, I'm rereading this page. I remember reading some pages in college like 18 times in a row, just like I'm going to force myself to just do this the correct way. And so there's an aspect of maturity that really helps no matter what. I will do the thing I'm going to do and I'm going to do it well.
And maybe it takes me a lot longer and that's okay. That's not the point of it. It's that I'm doing it. And that's the point. And so that's kind of like one thing that I think just generally helps and ADHD, no ADHD, you know, the resilience, emotional resilience is just like a really important aspect that just helps. And so I think that has been a large part that really helps me.
And maybe it takes me a lot longer and that's okay. That's not the point of it. It's that I'm doing it. And that's the point. And so that's kind of like one thing that I think just generally helps and ADHD, no ADHD, you know, the resilience, emotional resilience is just like a really important aspect that just helps. And so I think that has been a large part that really helps me.
There's things that I still obviously struggle with, like, it's clear where I'm really bad at stuff. And just trying to like think through all the different things that I'm bad at. There's more things I'm bad at than I'm good at. And so programming obviously has something that just allows me to remain focused. And it's like a strength of mine.
There's things that I still obviously struggle with, like, it's clear where I'm really bad at stuff. And just trying to like think through all the different things that I'm bad at. There's more things I'm bad at than I'm good at. And so programming obviously has something that just allows me to remain focused. And it's like a strength of mine.
And so I started off where I could just do it for a little bit. And then just through kind of that emotional resilience, I was able to start doing it more and more. And so now I can just do it for like 10, 12, 15 hours at a time. And I absolutely love it. And so it's, it's become kind of like a joy. It's like playing a musical instrument. I'm really into it, but then it,
And so I started off where I could just do it for a little bit. And then just through kind of that emotional resilience, I was able to start doing it more and more. And so now I can just do it for like 10, 12, 15 hours at a time. And I absolutely love it. And so it's, it's become kind of like a joy. It's like playing a musical instrument. I'm really into it, but then it,
if it came down to, Hey, you need to go schedule your own, you know, dentistry and go do all these other things or make sure the kids have this type of stuff ready for, you know, the meals you need to pack throughout the week. I'm,
if it came down to, Hey, you need to go schedule your own, you know, dentistry and go do all these other things or make sure the kids have this type of stuff ready for, you know, the meals you need to pack throughout the week. I'm,
historically very bad at that and will probably continue to be very bad at that and so I must say that one of the reasons why I excel so much is because I also have a wife who is so good to me and she helps clear out a lot of the things in my life that cause a lot of like me kind of getting snowballed into a weird spot where I'm just like distracted getting nothing done and so she's really helped me so it'd be foolish of me to claim that I've defeated ADHD by myself but instead I
historically very bad at that and will probably continue to be very bad at that and so I must say that one of the reasons why I excel so much is because I also have a wife who is so good to me and she helps clear out a lot of the things in my life that cause a lot of like me kind of getting snowballed into a weird spot where I'm just like distracted getting nothing done and so she's really helped me so it'd be foolish of me to claim that I've defeated ADHD by myself but instead I
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 because no one knew how to spell the word schedulicity. And so it was just like the Google optimizing for that is just hilarious. But okay, go back to the thing.
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 because no one knew how to spell the word schedulicity. And so it was just like the Google optimizing for that is just hilarious. But okay, go back to the thing.
I find that the places that I can really control, I've done a very good job at, and the things that I obviously need to do much better at, my wife has helped me a whole bunch. And so I've kind of cheated. Maybe I found a cheat code, loving wife, but that has been the thing that has really helped.
I find that the places that I can really control, I've done a very good job at, and the things that I obviously need to do much better at, my wife has helped me a whole bunch. And so I've kind of cheated. Maybe I found a cheat code, loving wife, but that has been the thing that has really helped.
It's definitely a learned skill and it takes a lot of time. And when I say, you know, oh, I was able to do from here to here, I'm speaking over the course of like five years of doing this every day. Like it's not some small, there's no, you could, the nice part about that decision though is you can make that decision today. You can make it right now.
It's definitely a learned skill and it takes a lot of time. And when I say, you know, oh, I was able to do from here to here, I'm speaking over the course of like five years of doing this every day. Like it's not some small, there's no, you could, the nice part about that decision though is you can make that decision today. You can make it right now.
You're gonna be like, from here on out, I'll never make that mistake again. I will say I'm gonna read 50 pages. I will sit down and read 50 pages. And when I get distracted, I'll go back to the last place I remember and I'll start again. And like, that's a decision you can make. That's a mature, you know, non-emotional decision to make. And you can do that.
You're gonna be like, from here on out, I'll never make that mistake again. I will say I'm gonna read 50 pages. I will sit down and read 50 pages. And when I get distracted, I'll go back to the last place I remember and I'll start again. And like, that's a decision you can make. That's a mature, you know, non-emotional decision to make. And you can do that.
It just may be really painful for the first couple years of making said decisions. And then it gets easier and then it gets easier. And then it just, it becomes more natural to change yourself.
It just may be really painful for the first couple years of making said decisions. And then it gets easier and then it gets easier. And then it just, it becomes more natural to change yourself.
And 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 code base. Sure, that's fair.
And 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 code base. Sure, that's fair.
The horrible afterwards is real serious. I've definitely, I can 100% notice that I am a more anxious person the more time I spend scrolling. Yeah. Yeah. I can just feel it. It's like something inside of me that's kind of, I don't know how to say it other than it like wants to get out, but I don't really know what that is. It's not anger, but it's not, you know, it's very anxious.
The horrible afterwards is real serious. I've definitely, I can 100% notice that I am a more anxious person the more time I spend scrolling. Yeah. Yeah. I can just feel it. It's like something inside of me that's kind of, I don't know how to say it other than it like wants to get out, but I don't really know what that is. It's not anger, but it's not, you know, it's very anxious.
I heard it put really beautifully, which is that, uh, we in America really have misunderstood Liberty, uh, Because we typically have liberty as just the freedom to do whatever you want. And the argument was that it's not the freedom to do whatever you want. It's the freedom to be able to do what you will.
I heard it put really beautifully, which is that, uh, we in America really have misunderstood Liberty, uh, Because we typically have liberty as just the freedom to do whatever you want. And the argument was that it's not the freedom to do whatever you want. It's the freedom to be able to do what you will.
And how often is what you actually want to do, you don't do because you get trapped doing something that you've convinced yourself in this quick moment you want to do. And so it's like, I want liberty. I want the ability to control freedom. my energy and to be able to like, do the thing I want to do not to get distracted and destroyed in all the millions of distractions.
And how often is what you actually want to do, you don't do because you get trapped doing something that you've convinced yourself in this quick moment you want to do. And so it's like, I want liberty. I want the ability to control freedom. my energy and to be able to like, do the thing I want to do not to get distracted and destroyed in all the millions of distractions.
And some of us get, you know, handed a worse deck of cards, some of us get a better deck of cards, but I don't think there's anybody that doesn't struggle with it in the technological age.
And some of us get, you know, handed a worse deck of cards, some of us get a better deck of cards, but I don't think there's anybody that doesn't struggle with it in the technological age.
I didn't understand all the things about the code base, 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 webpage. There's no creativity. There's nothing to it. It's very like almost factory line kind of work.
I didn't understand all the things about the code base, 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 webpage. There's no creativity. There's nothing to it. It's very like almost factory line kind of work.
I guess at this point, I'm lucky. But when I first started, I can remember that every last part of programming, I had to go look up. I had to go read. I had side quests at all time. Every step was a side quest. Why is my screen blinking when I'm trying to render this thing out? Oh, I didn't know about double buffering. Why is this happening? How do I even write to the screen?
I guess at this point, I'm lucky. But when I first started, I can remember that every last part of programming, I had to go look up. I had to go read. I had side quests at all time. Every step was a side quest. Why is my screen blinking when I'm trying to render this thing out? Oh, I didn't know about double buffering. Why is this happening? How do I even write to the screen?
Everything was a question. I had more questions than answers. And so I constantly had this, like the problem of side quests. And I find that to be a very exhausting thing. But as I learned my instrument very, very well, I don't have as many side quests, I become more and more able to just focus on the thing I want to do. And I find that to be something that is just super, super useful.
Everything was a question. I had more questions than answers. And so I constantly had this, like the problem of side quests. And I find that to be a very exhausting thing. But as I learned my instrument very, very well, I don't have as many side quests, I become more and more able to just focus on the thing I want to do. And I find that to be something that is just super, super useful.
So when I say I'm kind of lucky, meaning that I've spent so much of my life preparing for this moment, that now when I have the opportunity to do something, I can just do that thing. And I don't like I can be just on an airplane, and I can just program for hours, I don't have to look up a single thing, I don't have to do anything, I don't even have to test the code, I can write a
So when I say I'm kind of lucky, meaning that I've spent so much of my life preparing for this moment, that now when I have the opportunity to do something, I can just do that thing. And I don't like I can be just on an airplane, and I can just program for hours, I don't have to look up a single thing, I don't have to do anything, I don't even have to test the code, I can write a
1000 lines of code on an airplane, and I'm very confident that it's going to be 98% pretty dang good. And I'm very happy about that, because that allows me just to be in the moment solving the problem I'm trying to solve, then I have 100% of my brainpower, solving a problem.
1000 lines of code on an airplane, and I'm very confident that it's going to be 98% pretty dang good. And I'm very happy about that, because that allows me just to be in the moment solving the problem I'm trying to solve, then I have 100% of my brainpower, solving a problem.
And this is why I also it's the same reason why I recommend learning how to type and learning your editor so well, you don't even have to think about the action because the people that have to even if you just look down, That's still mental processing power. You have to spend looking at a keyboard in which you already know where the key is.
And this is why I also it's the same reason why I recommend learning how to type and learning your editor so well, you don't even have to think about the action because the people that have to even if you just look down, That's still mental processing power. You have to spend looking at a keyboard in which you already know where the key is.
Like you do, you know, at this point, if you've been typing for thousands of hours, you know where the key is. Just stop looking down. You'll learn really quickly. And so it's like this thing where it's like, I'm not going to spend all that time and all that mental effort, like looking up the thing. I'm going to just memorize, you know, I'm just going to get it in me and then I can go fast.
Like you do, you know, at this point, if you've been typing for thousands of hours, you know where the key is. Just stop looking down. You'll learn really quickly. And so it's like this thing where it's like, I'm not going to spend all that time and all that mental effort, like looking up the thing. I'm going to just memorize, you know, I'm just going to get it in me and then I can go fast.
And it feels good. And so that's how I kind of defeat that is because now I get to do something where it's like, there's no more questions. It's now me just expressing myself into this medium. And it feels really good.
And it feels good. And so that's how I kind of defeat that is because now I get to do something where it's like, there's no more questions. It's now me just expressing myself into this medium. And it feels really good.
And that was a very kind of difficult moment for me, which is I didn't enjoy programming because 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... at all times.
And that was a very kind of difficult moment for me, which is I didn't enjoy programming because 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... at all times.
So I have a rule. Yeah. Which is I do not edit my RC other than some kind of cataclysmic thing. Like someone updates a plugin. I didn't know they updated it. Now there's like a hard error in my editor and I have to like move forward. Um, but I have a rule where I will edit my RC, my NeoVim RC or anything once a year, something that bothers me. I'll write it down. I'll remember it.
So I have a rule. Yeah. Which is I do not edit my RC other than some kind of cataclysmic thing. Like someone updates a plugin. I didn't know they updated it. Now there's like a hard error in my editor and I have to like move forward. Um, but I have a rule where I will edit my RC, my NeoVim RC or anything once a year, something that bothers me. I'll write it down. I'll remember it.
I'll be like, okay, I want to change that. But I will just not go back to it. Now every now and then I'll break that rule if I know it's like, oh, I want a new remap to be able to do this one command. And that takes like literally 13 seconds. Like copy, paste, do this, done. Okay, I have this new remap. It made perfect sense in this situation. But I don't go plug and exploring.
I'll be like, okay, I want to change that. But I will just not go back to it. Now every now and then I'll break that rule if I know it's like, oh, I want a new remap to be able to do this one command. And that takes like literally 13 seconds. Like copy, paste, do this, done. Okay, I have this new remap. It made perfect sense in this situation. But I don't go plug and exploring.
I don't try to solve every problem. I don't want a perfect editor because that is a pursuit that will never stop. I just go, this is good. Good break point. I won't do it again. So I spent... Last month, I probably spent 100 hours just like editing every possible thing I could about how I start up my system. And I can have a computer from zero to 60 in almost no time now.
I don't try to solve every problem. I don't want a perfect editor because that is a pursuit that will never stop. I just go, this is good. Good break point. I won't do it again. So I spent... Last month, I probably spent 100 hours just like editing every possible thing I could about how I start up my system. And I can have a computer from zero to 60 in almost no time now.
Everything the way I exactly want it. NeoVim, everything all perfectly set up. Happy enough. I'm not going to touch that system again. Maybe I'll touch it next year. Maybe I'll take a year off. You know, it's just I'm fine with that. I'm fine with not being perfect.
Everything the way I exactly want it. NeoVim, everything all perfectly set up. Happy enough. I'm not going to touch that system again. Maybe I'll touch it next year. Maybe I'll take a year off. You know, it's just I'm fine with that. I'm fine with not being perfect.
So keyboard, you're using my favorite keyboard right there. The Kinesis Advantage. Saved my career. Beautiful keyboard. Concavity and thumb clusters are just so important because if you really think about it,
So keyboard, you're using my favorite keyboard right there. The Kinesis Advantage. Saved my career. Beautiful keyboard. Concavity and thumb clusters are just so important because if you really think about it,
especially if you're using QWERTY, when you're pressing the symbols, like on a standard keyboard, you're just doing this the whole time, backspace, enter, symbols, like you're just doing this and just screws up your wrist constantly doing this. And this one, you're constantly doing like control and shift. And it's just as like messing you up. So it's just like right here.
especially if you're using QWERTY, when you're pressing the symbols, like on a standard keyboard, you're just doing this the whole time, backspace, enter, symbols, like you're just doing this and just screws up your wrist constantly doing this. And this one, you're constantly doing like control and shift. And it's just as like messing you up. So it's just like right here.
That's so much nicer in life. So keyboard, most important, I'd say, get that one done.
That's so much nicer in life. So keyboard, most important, I'd say, get that one done.
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.
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.
Yeah, I'm on that team. That's why, so that's why I love that. So that's, I would say that's one of the most important things. The next thing that I find to be very, very important is that one monitor. I'm a one monitor kind of guy. What? Really?
Yeah, I'm on that team. That's why, so that's why I love that. So that's, I would say that's one of the most important things. The next thing that I find to be very, very important is that one monitor. I'm a one monitor kind of guy. What? Really?
So when I program, when I do anything, now when I stream, I obviously have a second computer that runs the stream because, you know, I sometimes crash my computer at the restart or whatever. So I do have a second screen there that I put stuff up. But most of the time, you'll notice that even when I'm streaming, you've been there, I have to physically switch to the streaming chat
So when I program, when I do anything, now when I stream, I obviously have a second computer that runs the stream because, you know, I sometimes crash my computer at the restart or whatever. So I do have a second screen there that I put stuff up. But most of the time, you'll notice that even when I'm streaming, you've been there, I have to physically switch to the streaming chat
channel for me to read it and that's because i'm operating off of one screen and so i have this whole style in which i like to navigate inspired by starcraft is that i believe in the press one key go where you want to be mentality and so everything about my setup is press one key so when i want to go to twitch chat alt two
channel for me to read it and that's because i'm operating off of one screen and so i have this whole style in which i like to navigate inspired by starcraft is that i believe in the press one key go where you want to be mentality and so everything about my setup is press one key so when i want to go to twitch chat alt two
twitch chat when i go on to go to my browser alt one that's my browser alt three that's where i go to my programming that's power finger obviously a big middle finger right there just smash it down uh alt six is going to be gimp so my gnu image manipulation program so if i want to draw i go there when i used to have slack it was all five if i have a spare terminal where i need to run some extra things that's all four i had all these kind of everything is perfectly mapped out to single key
twitch chat when i go on to go to my browser alt one that's my browser alt three that's where i go to my programming that's power finger obviously a big middle finger right there just smash it down uh alt six is going to be gimp so my gnu image manipulation program so if i want to draw i go there when i used to have slack it was all five if i have a spare terminal where i need to run some extra things that's all four i had all these kind of everything is perfectly mapped out to single key
And then when it comes down to using, say, TMUX, I have all my terminals into one single terminal, and now I'm able to kind of switch between there. Prefix one goes to my Vim editor, whatever project I'm in. It's always the first TMUX tab, if you will. They call it a session, but I'm not sure how to describe it if you're not familiar with TMUX, a tab. Second one is like my spare terminal.
And then when it comes down to using, say, TMUX, I have all my terminals into one single terminal, and now I'm able to kind of switch between there. Prefix one goes to my Vim editor, whatever project I'm in. It's always the first TMUX tab, if you will. They call it a session, but I'm not sure how to describe it if you're not familiar with TMUX, a tab. Second one is like my spare terminal.
Third one is my long running process terminal. My fourth one is a long running process terminal. So I have it all set up. So every project I go to automatically spawns session one, Vim, session two, spare terminal, session three. We'll also open it. So it's like, everything's just ready to rock. Everything has been optimized to where I do that. If I want to go to a project,
Third one is my long running process terminal. My fourth one is a long running process terminal. So I have it all set up. So every project I go to automatically spawns session one, Vim, session two, spare terminal, session three. We'll also open it. So it's like, everything's just ready to rock. Everything has been optimized to where I do that. If I want to go to a project,
It's control F and any terminal will bring up a fuzzy find list of every one of my folders on my operating system in which I can go to with just a couple keystrokes and boom, I'm in that one now. And so it's like very oriented to find where I need to be as quickly as possible. Via keyboard. Via keyboard. Then in Vim, I developed a plugin called Harpoon, which is I press one button and I can pin...
It's control F and any terminal will bring up a fuzzy find list of every one of my folders on my operating system in which I can go to with just a couple keystrokes and boom, I'm in that one now. And so it's like very oriented to find where I need to be as quickly as possible. Via keyboard. Via keyboard. Then in Vim, I developed a plugin called Harpoon, which is I press one button and I can pin...
Yeah.
Yeah.
one of the files to like a temporary buffer. I think projectile is potentially close to this in Emacs. I can't remember project. I think projectile is closer to my sessionizing script. Anyways, so now I can I have four pinned files in which I can go to any of those pinned files with just a single keystroke.
one of the files to like a temporary buffer. I think projectile is potentially close to this in Emacs. I can't remember project. I think projectile is closer to my sessionizing script. Anyways, so now I can I have four pinned files in which I can go to any of those pinned files with just a single keystroke.
And so now it's just like, because every time you develop a feature, usually you have like three files you're kind of primarily working in. And I can fuzzy fine for the other files. And that's that. But usually I just have like these three power files that I'm always swapping in between. And so it's like now everything is just I want to go to the browser. That's one press.
And so now it's just like, because every time you develop a feature, usually you have like three files you're kind of primarily working in. And I can fuzzy fine for the other files. And that's that. But usually I just have like these three power files that I'm always swapping in between. And so it's like now everything is just I want to go to the browser. That's one press.
I'm more than just good looks.
I'm more than just good looks.
I want to go to my workstation. That's one press. I want to go to a specific folder. I need to change folders. Sometimes you work between two different projects. So in Tmux, that's prefix capital L will swap between your last two. So I have alternate projects. I can even swap between projects and pretty much one key. So it's just like do do do just trying to optimize it.
I want to go to my workstation. That's one press. I want to go to a specific folder. I need to change folders. Sometimes you work between two different projects. So in Tmux, that's prefix capital L will swap between your last two. So I have alternate projects. I can even swap between projects and pretty much one key. So it's just like do do do just trying to optimize it.
So I don't think as much because I think search fatigue is a massive fail. where you have to look for it. Like when I see people on a Mac do this and then explode all the different ones, that gives me anxiety. I'm like, why are you using your eyeballs to search for what you want to do? Like make it into a key press and never think about it again, ever.
So I don't think as much because I think search fatigue is a massive fail. where you have to look for it. Like when I see people on a Mac do this and then explode all the different ones, that gives me anxiety. I'm like, why are you using your eyeballs to search for what you want to do? Like make it into a key press and never think about it again, ever.
It at least intellectually feels better. It may not be great for some people.
It at least intellectually feels better. It may not be great for some people.
Interesting. So I don't even do that. I even have it so zoomed in that I probably only have like maybe 25 lines of code at any one time on my 27 inch monitor.
Interesting. So I don't even do that. I even have it so zoomed in that I probably only have like maybe 25 lines of code at any one time on my 27 inch monitor.
Husband of beautiful wife. Okay.
Husband of beautiful wife. Okay.
Why not press a couple of keystrokes? Thank you.
Why not press a couple of keystrokes? Thank you.
Thank you. Thank you.
Thank you. Thank you.
Yeah, I can get it. We can put it all in there. Plus, I mean, obviously, those two are very, very tightly coupled.
Yeah, I can get it. We can put it all in there. Plus, I mean, obviously, those two are very, very tightly coupled.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Okay, so first, let's do the previous or the 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.
Okay, so first, let's do the previous or the 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.
Thank you. Thank you. Thank you. ,,,,,,
Thank you. Thank you. Thank you. ,,,,,,
And maybe there's some other stuff, yeah, like game programming, but you'd be 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.
And maybe there's some other stuff, yeah, like game programming, but you'd be 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.
You said what contains the most amount of repos, how many percentage of repos on GitHub are web based, they 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.
You said what contains the most amount of repos, how many percentage of repos on GitHub are web based, they 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.
My big takeaway really like what I'm trying to say with all these words is that I honestly don't actually think that the editor obviously does not make the programmer. But I think it says a lot about your character as a programmer if you don't know how to use your editor well.
My big takeaway really like what I'm trying to say with all these words is that I honestly don't actually think that the editor obviously does not make the programmer. But I think it says a lot about your character as a programmer if you don't know how to use your editor well.
There's something about a person who's willing to commit their life to programming and spending literally 50,000 hours doing an activity over the course of their lifetime and never take the time to learn their editor through and through. It just seems strange, like, right?
There's something about a person who's willing to commit their life to programming and spending literally 50,000 hours doing an activity over the course of their lifetime and never take the time to learn their editor through and through. It just seems strange, like, right?
You'd never see that in another world where people would be able to build something or do something and just completely forget how these things work and only just focus on one part of like their craft. And so to me, it's just like, it doesn't matter how you use it. I want to see the person that just knows how to use it and they know how to use it well.
You'd never see that in another world where people would be able to build something or do something and just completely forget how these things work and only just focus on one part of like their craft. And so to me, it's just like, it doesn't matter how you use it. I want to see the person that just knows how to use it and they know how to use it well.
When there's a problem, they can say why the problem exists and then go and fix the problem. To me, that's like, there you go, you've done it. You now know your tool, go forth and conquer with said tool.
When there's a problem, they can say why the problem exists and then go and fix the problem. To me, that's like, there you go, you've done it. You now know your tool, go forth and conquer with said tool.
Meetings.
Meetings.
There's just huge amounts of 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 the entire kind of programming world out there.
There's just huge amounts of 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 the entire kind of programming world out there.
I would have 100% agree that. Cursor seems like such a cool product. Like I actually think there's like a lot of really neat things coming down with all that. And I could, you know, I could change from NeoVim. I don't use NeoVim because I love NeoVim. I use NeoVim because I love the instrument I play. And so it's like if Cursor can meet those needs, I could see myself moving over.
I would have 100% agree that. Cursor seems like such a cool product. Like I actually think there's like a lot of really neat things coming down with all that. And I could, you know, I could change from NeoVim. I don't use NeoVim because I love NeoVim. I use NeoVim because I love the instrument I play. And so it's like if Cursor can meet those needs, I could see myself moving over.
I don't have some sort of obsessed attachment with it. I am curious, though, that, you know, every time I use AI, I think I just have skill issues. I think I'm just so riddled with skill issues when it comes to using AI. I've yet to be able to use it in a way that I really love it. We'll talk about it before then. Oh, ball to sit on. I forgot to say that. Ball to sit on. Yeah.
I don't have some sort of obsessed attachment with it. I am curious, though, that, you know, every time I use AI, I think I just have skill issues. I think I'm just so riddled with skill issues when it comes to using AI. I've yet to be able to use it in a way that I really love it. We'll talk about it before then. Oh, ball to sit on. I forgot to say that. Ball to sit on. Yeah.
Desk needs to be properly hided. One monitor. I should be two thirds way up the screen. I don't like to turn my head. I prefer my hands in kind of like a pistol neutral position. And there you go. A ball to sit on, yoga ball. Yoga ball. What's that about? It just helps just maintain good posture because when I have something to lean against, I do this.
Desk needs to be properly hided. One monitor. I should be two thirds way up the screen. I don't like to turn my head. I prefer my hands in kind of like a pistol neutral position. And there you go. A ball to sit on, yoga ball. Yoga ball. What's that about? It just helps just maintain good posture because when I have something to lean against, I do this.
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, I've always looked at myself as a tools engineer.
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, I've always looked at myself as a tools engineer.
I sit on the ball and then I bounce.
I sit on the ball and then I bounce.
Well, how else do you like the problem?
Well, how else do you like the problem?
It feels great. I mean, the problem is, is whenever I get a back, I just slouch. And I find myself just getting uncomfortable. And I'm like, why am I uncomfortable? Like my shoulders are kind of getting goofed up. I just like, I'm chicken necking, like constantly like, you know, it's just like.
It feels great. I mean, the problem is, is whenever I get a back, I just slouch. And I find myself just getting uncomfortable. And I'm like, why am I uncomfortable? Like my shoulders are kind of getting goofed up. I just like, I'm chicken necking, like constantly like, you know, it's just like.
Yeah. And so I can just do that. And then I find myself, if I slouch, I'm like, okay, nope, got to get back.
Yeah. And so I can just do that. And then I find myself, if I slouch, I'm like, okay, nope, got to get back.
No, I don't think it takes incredible back muscles to remain upright. Yeah. I think that's a pretty basic human function. I would not consider myself a strong person. Yeah.
No, I don't think it takes incredible back muscles to remain upright. Yeah. I think that's a pretty basic human function. I would not consider myself a strong person. Yeah.
Facts and logic.
Facts and logic.
neo vim with operating system linux uh just because i i want a good window manager That's the whole press one button, bring up Chrome. I just use i3. I'm sure I could use something better than i3. People always tell me all these window managers are really great, but I just want, I just have like those three screens I switched between.
neo vim with operating system linux uh just because i i want a good window manager That's the whole press one button, bring up Chrome. I just use i3. I'm sure I could use something better than i3. People always tell me all these window managers are really great, but I just want, I just have like those three screens I switched between.
So it doesn't really, I don't really care what I use, just as long as I can press one button and go.
So it doesn't really, I don't really care what I use, just as long as I can press one button and go.
That seems perfect.
That seems perfect.
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 webpage because we didn't have any of that stuff back then.
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 webpage because we didn't have any of that stuff back then.
You know you're making his day.
You know you're making his day.
Fully agree. We have very similar mentalities when it comes to usage of NeoVim, why people should use it, all that kind of stuff and how to even use it. Well, he definitely takes it probably to a further degree. He spends more time automating and all that. Um, I don't necessarily derive a lot of joy from getting the perfect setup. And so, but a lot to learn from.
Fully agree. We have very similar mentalities when it comes to usage of NeoVim, why people should use it, all that kind of stuff and how to even use it. Well, he definitely takes it probably to a further degree. He spends more time automating and all that. Um, I don't necessarily derive a lot of joy from getting the perfect setup. And so, but a lot to learn from.
He's very, very good at what he does. He is by far probably one of these, he's 30 years old, been programming for not too many years, and he is one of the most talented developers for sure. It's very shocking to see how smart someone can be. So people should check him out at T-E-E-J underscore D-V. Yep. Teej.com. DV. His last name is DeVries. DeVries. Oh, it's not a developer. Okay, cool.
He's very, very good at what he does. He is by far probably one of these, he's 30 years old, been programming for not too many years, and he is one of the most talented developers for sure. It's very shocking to see how smart someone can be. So people should check him out at T-E-E-J underscore D-V. Yep. Teej.com. DV. His last name is DeVries. DeVries. Oh, it's not a developer. Okay, cool.
Yeah, yeah. So it's just TJ. That's just his name. Just spelled kind of fun. What do you love about him? Wow. How much did he pay you to ask these questions? Thousands of dollars. Just so many dollars. I can't even count that many dollars. He is trust. Obviously, trust is the biggest thing, especially in the quote unquote streaming YouTube kind of world, if you will.
Yeah, yeah. So it's just TJ. That's just his name. Just spelled kind of fun. What do you love about him? Wow. How much did he pay you to ask these questions? Thousands of dollars. Just so many dollars. I can't even count that many dollars. He is trust. Obviously, trust is the biggest thing, especially in the quote unquote streaming YouTube kind of world, if you will.
It's very easy to find people that will want to like be a part of stuff. People tend to latch on to things and it's very hard to find someone that you can really, really trust. And so he's just somebody whom I can genuinely trust. He'll always tell the truth. He's all he's all the right things for a good friend in this kind of endeavor.
It's very easy to find people that will want to like be a part of stuff. People tend to latch on to things and it's very hard to find someone that you can really, really trust. And so he's just somebody whom I can genuinely trust. He'll always tell the truth. He's all he's all the right things for a good friend in this kind of endeavor.
So as a good friend, he told me questions I could backstab you with.
So as a good friend, he told me questions I could backstab you with.
I forgot how much I don't trust him.
I forgot how much I don't trust him.
That was a lovely framed question. So Harpoon 2 is actually done. This is what I did to avoid the swirl and the thousands of questions I will inevitably get. I kept the master branch as Harpoon 1 and I've kept Harpoon 2 as Harpoon 2 branch. And people that don't read the readme to say that I just use Harpoon 2 now. That's their fault. That's it.
That was a lovely framed question. So Harpoon 2 is actually done. This is what I did to avoid the swirl and the thousands of questions I will inevitably get. I kept the master branch as Harpoon 1 and I've kept Harpoon 2 as Harpoon 2 branch. And people that don't read the readme to say that I just use Harpoon 2 now. That's their fault. That's it.
I really don't like answering hundreds of questions about open source stuff. I used to love doing open source and all that, but I kind of got my soul crushed during the Falcor years. And so I guess I'm just kind of allergic to... being a really active maintainer, I build everything just for me. Like Harpoon's just literally just built for me.
I really don't like answering hundreds of questions about open source stuff. I used to love doing open source and all that, but I kind of got my soul crushed during the Falcor years. And so I guess I'm just kind of allergic to... being a really active maintainer, I build everything just for me. Like Harpoon's just literally just built for me.
It's just what I spent three months trying to figure out the most optimal navigation for files. And that's what I came up with. So Harpoon, it's a take on alternate file. If you're familiar with alternate file, typically you'll have this in all editors where you can go back to the file you were just in. And so that means you can have effectively two files you swap back and forth.
It's just what I spent three months trying to figure out the most optimal navigation for files. And that's what I came up with. So Harpoon, it's a take on alternate file. If you're familiar with alternate file, typically you'll have this in all editors where you can go back to the file you were just in. And so that means you can have effectively two files you swap back and forth.
It was a canvas, had to do all the like matricy 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 two, 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?
It was a canvas, had to do all the like matricy 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 two, 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?
And you probably used it a bunch, really fast way to navigate. Pretty nice thing to do. I want something with, I want alternate file, but like three of them or four of them. And so that's all Harpoon is, is just being able to pin a file. And so I have one button to press to go to a file, another for another, another for another. And so I can have up to four.
And you probably used it a bunch, really fast way to navigate. Pretty nice thing to do. I want something with, I want alternate file, but like three of them or four of them. And so that's all Harpoon is, is just being able to pin a file. And so I have one button to press to go to a file, another for another, another for another. And so I can have up to four.
So I just had my four power fingers for Dvorak. What is that? That's H T N S. So if I go control H T N or S, it goes to one of the four files and that's it. That's all it is. And you could technically make it so you can add in functions and be able to execute things externally. So you can open up terminals. You can send requests off to servers. You can do anything you want with it.
So I just had my four power fingers for Dvorak. What is that? That's H T N S. So if I go control H T N or S, it goes to one of the four files and that's it. That's all it is. And you could technically make it so you can add in functions and be able to execute things externally. So you can open up terminals. You can send requests off to servers. You can do anything you want with it.
I just have it primarily designed for opening files.
I just have it primarily designed for opening files.
I used Dvorak, but I used a custom version of Dvorak. The reason why I used it is in 2017, we were just having my second kid. It was Christmas and I'm having so much pain in my arm and I'm sitting there freaking out like, oh my gosh, is this the end of my career? Am I done programming? Is this all over?
I used Dvorak, but I used a custom version of Dvorak. The reason why I used it is in 2017, we were just having my second kid. It was Christmas and I'm having so much pain in my arm and I'm sitting there freaking out like, oh my gosh, is this the end of my career? Am I done programming? Is this all over?
And so I decided that I was going to create my own keyboard layout optimized to prevent the pain that I'm experiencing. So I used a Dvorak as the base and then laid out the symbols in a symmetrical, reasonable way. so that it's opening, closing, opening, closing, opening, closing, right? And they all are right here. I actually have to hold shift to press a number.
And so I decided that I was going to create my own keyboard layout optimized to prevent the pain that I'm experiencing. So I used a Dvorak as the base and then laid out the symbols in a symmetrical, reasonable way. so that it's opening, closing, opening, closing, opening, closing, right? And they all are right here. I actually have to hold shift to press a number.
So symbols are actually my first thing I get to press. And so it's very optimized for a laptop keyboard layout. So I can use my laptop in a very efficient, nice way. That's how I got started on Dvorak and all that. I wouldn't actually recommend it if you, because I didn't have a kinesis at the time. I didn't even know kinesis existed at that time.
So symbols are actually my first thing I get to press. And so it's very optimized for a laptop keyboard layout. So I can use my laptop in a very efficient, nice way. That's how I got started on Dvorak and all that. I wouldn't actually recommend it if you, because I didn't have a kinesis at the time. I didn't even know kinesis existed at that time.
And so when I discovered kinesis in also 2017, that's when I was like, oh, okay. Would you recommend kinesis to people? I am technically sponsored by Kinesis. So people, you know, it's hard for someone to believe someone that's sponsored by it, but I did use it before I ever became sponsored. They're the only sponsor that I reached out to and said, I need a sponsorship from you. You are the key.
And so when I discovered kinesis in also 2017, that's when I was like, oh, okay. Would you recommend kinesis to people? I am technically sponsored by Kinesis. So people, you know, it's hard for someone to believe someone that's sponsored by it, but I did use it before I ever became sponsored. They're the only sponsor that I reached out to and said, I need a sponsorship from you. You are the key.
I'm going to use you either way. Yeah. You can say no, but I really love it. And for the first three years of using Kinesis, they gave me free Kinesis, Kinesi, as my sponsorship. Kinesi.
I'm going to use you either way. Yeah. You can say no, but I really love it. And for the first three years of using Kinesis, they gave me free Kinesis, Kinesi, as my sponsorship. Kinesi.
I relate.
I relate.
Yeah.
Yeah.
And I love this experience. It's like a relationship you have with the thing.
And I love this experience. It's like a relationship you have with the thing.
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.
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.
They say that distance makes the heart grow fonder. So maybe sometimes the Kinesis keyboard needs to stay at home and the laptop keyboard can be the one so that your heart grows even more fond and that connection grows even deeper.
They say that distance makes the heart grow fonder. So maybe sometimes the Kinesis keyboard needs to stay at home and the laptop keyboard can be the one so that your heart grows even more fond and that connection grows even deeper.
Who uses these keyboards as you use the keyboard? I have to take it with me everywhere. I wonder who uses these keyboards.
Who uses these keyboards as you use the keyboard? I have to take it with me everywhere. I wonder who uses these keyboards.
There's a bunch of stuff on there.
There's a bunch of stuff on there.
So as of right now, it's the only way you can get the coffee is via SSH. That was kind of, okay. So can I just origin story you?
So as of right now, it's the only way you can get the coffee is via SSH. That was kind of, okay. So can I just origin story you?
Yeah. Man coffee.
Yeah. Man coffee.
Okay. So TJ and I, again, same teach, teach TV about, by the way, very amazing designs done by David Hill. They're very, very good. Yeah. So let me kind of give the basic ideas.
Okay. So TJ and I, again, same teach, teach TV about, by the way, very amazing designs done by David Hill. They're very, very good. Yeah. So let me kind of give the basic ideas.
Like, it must have been about a year, a year and a half ago, TJ and I were talking like, hey, you know, every one of these people that have like some sort of following some sort of online presence, they're always like selling a thing. I got nothing to sell. I don't really want to do merch. I've never really enjoyed doing merch. I just find that. I don't know. It's just not as much fun for me.
Like, it must have been about a year, a year and a half ago, TJ and I were talking like, hey, you know, every one of these people that have like some sort of following some sort of online presence, they're always like selling a thing. I got nothing to sell. I don't really want to do merch. I've never really enjoyed doing merch. I just find that. I don't know. It's just not as much fun for me.
Don't want to have a tequila. I don't want a tequila. I want something.
Don't want to have a tequila. I don't want a tequila. I want something.
So as I went on to say Netflix, 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've always really enjoyed that aspect because your stakeholders and the people that use your program understand programming and they're gonna say like, hey, I need this.
So as I went on to say Netflix, 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've always really enjoyed that aspect because your stakeholders and the people that use your program understand programming and they're gonna say like, hey, I need this.
That and I also want something that I really don't feel bad about selling. You know, there's like a lot of people that will go on the internet, and they'll show for a whole bunch of products like, okay, try this, try this. And this is why I've only ever really done kinesis is because it's like, well, I can point to something that was really bad in my life.
That and I also want something that I really don't feel bad about selling. You know, there's like a lot of people that will go on the internet, and they'll show for a whole bunch of products like, okay, try this, try this. And this is why I've only ever really done kinesis is because it's like, well, I can point to something that was really bad in my life.
I was very scared and now it's not bad anymore. So it's like, okay, that one made sense. But everything else always has been, you know, it's harder for me. And so we just talked for so long and we love NeoVim. So we're just like, oh, why don't we could do something from NeoVim? And we're kind of like laughing about that. Like ordering from NeoVim is just so ridiculous.
I was very scared and now it's not bad anymore. So it's like, okay, that one made sense. But everything else always has been, you know, it's harder for me. And so we just talked for so long and we love NeoVim. So we're just like, oh, why don't we could do something from NeoVim? And we're kind of like laughing about that. Like ordering from NeoVim is just so ridiculous.
And then at some point we're just like, well, wait a second. And maybe we could do like coffee. Like every developer loves coffee. Maybe we could figure out this coffee business. And so I have a good friend named Dax, T-H-D-X-R. Dax, yeah, Dax. He, the most sassiest man alive. Sassiest? Oh, yeah, he has a lot of sass. Beard? Yep, he has a beard. Very, he does SST. He does a lot of stuff.
And then at some point we're just like, well, wait a second. And maybe we could do like coffee. Like every developer loves coffee. Maybe we could figure out this coffee business. And so I have a good friend named Dax, T-H-D-X-R. Dax, yeah, Dax. He, the most sassiest man alive. Sassiest? Oh, yeah, he has a lot of sass. Beard? Yep, he has a beard. Very, he does SST. He does a lot of stuff.
Very, very talented. We'll call him DevOps engineer. He's more than that. But very talented guy. Him and another person named Adam.Dev, vegan, by the way. Great guy. We take him to Korean barbecue all the time. He eats nothing. That's great. And Liz, she has been super important to the Terminal Coffee Company. I think without her, we would not have been able to do what we have done.
Very, very talented. We'll call him DevOps engineer. He's more than that. But very talented guy. Him and another person named Adam.Dev, vegan, by the way. Great guy. We take him to Korean barbecue all the time. He eats nothing. That's great. And Liz, she has been super important to the Terminal Coffee Company. I think without her, we would not have been able to do what we have done.
And then also David Hill, designer. He does Laravel. He designs for Laravel. Very talented designer. And so we all kind of came together and we were just laughing about how can we like, could we do something that's just ridiculous? And that's kind of what we came up with. Yeah, you like, there you go. You just open the website. You actually, you literally cannot order.
And then also David Hill, designer. He does Laravel. He designs for Laravel. Very talented designer. And so we all kind of came together and we were just laughing about how can we like, could we do something that's just ridiculous? And that's kind of what we came up with. Yeah, you like, there you go. You just open the website. You actually, you literally cannot order.
We actually do not allow you to order.
We actually do not allow you to order.
Yeah. So you can only SSH into it. So you have to copy that command and throw it in there. If you want to add it in the little terminal shop for your known host, you could do that. How do you handle payment? Through Stripe. And so one of the things we'll be adding a mobile checkout to where I'll show a QR code in the terminal and you can just like check out on your phone.
Yeah. So you can only SSH into it. So you have to copy that command and throw it in there. If you want to add it in the little terminal shop for your known host, you could do that. How do you handle payment? Through Stripe. And so one of the things we'll be adding a mobile checkout to where I'll show a QR code in the terminal and you can just like check out on your phone.
But right now you enter in your credentials. It goes to Stripe via all terminal. Yeah. SSH is obviously it stands for secure shell. It uses elliptical, you know, quantum safe algorithms to ensure that your data is not being intercepted. Yeah. But does he use AI? I'm pretty sure Dax uses AI.
But right now you enter in your credentials. It goes to Stripe via all terminal. Yeah. SSH is obviously it stands for secure shell. It uses elliptical, you know, quantum safe algorithms to ensure that your data is not being intercepted. Yeah. But does he use AI? I'm pretty sure Dax uses AI.
Quantum AI?
Quantum AI?
Can this even be a company if it's not using AI? We have some crypto chains with some quantum AI that's powered by fusion, so it's pretty wild. Anyway, so yeah, we just kind of came together where we thought, that was from the Mike Tyson fight. It was literally that night Mike Tyson kissed the reporter and then walked out.
Can this even be a company if it's not using AI? We have some crypto chains with some quantum AI that's powered by fusion, so it's pretty wild. Anyway, so yeah, we just kind of came together where we thought, that was from the Mike Tyson fight. It was literally that night Mike Tyson kissed the reporter and then walked out.
Without any clothes, we did an ad for somebody. But we decided to make a coffee shop. And then we thought, instead of just making it NeoVim, what if we made it from SSH? Because everybody has SSH. You have VS Code, launch VS Code, you can order coffee from within VS Code. Right? Because your little bottom terminal has access to SSH. Bada bing, bada boom. It's kind of fun.
Without any clothes, we did an ad for somebody. But we decided to make a coffee shop. And then we thought, instead of just making it NeoVim, what if we made it from SSH? Because everybody has SSH. You have VS Code, launch VS Code, you can order coffee from within VS Code. Right? Because your little bottom terminal has access to SSH. Bada bing, bada boom. It's kind of fun.
And so we kind of really... We just wanted to do something where there's no level and there's no world that makes me feel bad about selling this and people buying it. It's good, ethical coffee. We developed the entire supply chain and everything. It's all packaged. It's all boutique. It's all really like it's pretty high end coffee. It tastes really, really good.
And so we kind of really... We just wanted to do something where there's no level and there's no world that makes me feel bad about selling this and people buying it. It's good, ethical coffee. We developed the entire supply chain and everything. It's all packaged. It's all boutique. It's all really like it's pretty high end coffee. It tastes really, really good.
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 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.
At this point, I don't like drinking other coffee. I get kind of upset about it because it's not as good. And so it's kind of funny that I've fallen for my own stuff. I'm high on my own supply pretty hard right now. I just got done ordering 16 bags and gave it out to my family to try to convince them. But it's just something where it's like...
At this point, I don't like drinking other coffee. I get kind of upset about it because it's not as good. And so it's kind of funny that I've fallen for my own stuff. I'm high on my own supply pretty hard right now. I just got done ordering 16 bags and gave it out to my family to try to convince them. But it's just something where it's like...
I didn't sell you a software product that's going to influence your startup that could potentially lead to disaster. I didn't convince you to do a bunch of stuff that's going to change your career. I just said, hey, here's some coffee. And it's like a fun experience.
I didn't sell you a software product that's going to influence your startup that could potentially lead to disaster. I didn't convince you to do a bunch of stuff that's going to change your career. I just said, hey, here's some coffee. And it's like a fun experience.
If you can't use SSH, you probably should just not worry about buying our coffee. Like that's the way you can learn. You can learn if you are active and you're a computer person, you'd like to launch the terminal and feel like a hacker. Go for it. We even have subscriptions.
If you can't use SSH, you probably should just not worry about buying our coffee. Like that's the way you can learn. You can learn if you are active and you're a computer person, you'd like to launch the terminal and feel like a hacker. Go for it. We even have subscriptions.
Yeah, like, hey, order me some coffee, and it'd actually go off. Give me dark roast, order coffee, and it could actually go through the whole flow of ordering.
Yeah, like, hey, order me some coffee, and it'd actually go off. Give me dark roast, order coffee, and it could actually go through the whole flow of ordering.
Okay, so my general view is it comes down to something that's pretty simple, which is that if you're doing something in which is very predictable, AI is really nice. when you're doing something that is just not predictable, AI is not very nice to use. If you're using anything that's more cutting edge, AI will not be using it, or AI won't be very good at doing stuff with it.
Okay, so my general view is it comes down to something that's pretty simple, which is that if you're doing something in which is very predictable, AI is really nice. when you're doing something that is just not predictable, AI is not very nice to use. If you're using anything that's more cutting edge, AI will not be using it, or AI won't be very good at doing stuff with it.
Like it's not great at Zig, because Zig is just like, say, less documented. It's really great at TypeScript. I think there's a lot of There's a lot of interesting things that are going to come down through AI that I think a lot of people aren't really prepared for or thinking through.
Like it's not great at Zig, because Zig is just like, say, less documented. It's really great at TypeScript. I think there's a lot of There's a lot of interesting things that are going to come down through AI that I think a lot of people aren't really prepared for or thinking through.
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.
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.
TJ is kind of the genesis of this idea, but the idea that I think there's going to be a lot of kind of market manipulation, if you will, through AI, meaning like, hey, you want to research... Say, best woodworking tools. Someone's going to be buying an ad spot. Someone's going to be buying premium training data.
TJ is kind of the genesis of this idea, but the idea that I think there's going to be a lot of kind of market manipulation, if you will, through AI, meaning like, hey, you want to research... Say, best woodworking tools. Someone's going to be buying an ad spot. Someone's going to be buying premium training data.
They're the ones that get the big boosts in the LLMs, but LLMs don't really have to market as an advertisement because it's not really... directly an advertisement. They just had a more premium spot per se in the training data. A little bit extra learning to it. You know, it's like there's a lot of things about AI that I fear upcoming.
They're the ones that get the big boosts in the LLMs, but LLMs don't really have to market as an advertisement because it's not really... directly an advertisement. They just had a more premium spot per se in the training data. A little bit extra learning to it. You know, it's like there's a lot of things about AI that I fear upcoming.
A lot of it just comes down to people not learning or making the trade-off where productivity is the only thing that matters. Yeah. And I don't think productivity is the only thing that matters. If you want to build something complex and difficult, productivity is not the only thing. You actually are going to have to do deep learning and kind of pursue it beyond the basics.
A lot of it just comes down to people not learning or making the trade-off where productivity is the only thing that matters. Yeah. And I don't think productivity is the only thing that matters. If you want to build something complex and difficult, productivity is not the only thing. You actually are going to have to do deep learning and kind of pursue it beyond the basics.
And so I see AI as kind of like this really cool thing. It feels like a magic trick. I remember the first time I used it, I got early access to GitHub Copilot. In fact, Nat Friedman saw my Twitch clip of me asking GitHub for it, and he sent me early access himself. It was awesome.
And so I see AI as kind of like this really cool thing. It feels like a magic trick. I remember the first time I used it, I got early access to GitHub Copilot. In fact, Nat Friedman saw my Twitch clip of me asking GitHub for it, and he sent me early access himself. It was awesome.
And when I used it, it predicted an if statement correct, and my mind was just absolutely blown because I had nothing before then. And now it's just like first time ever. And I just remember thinking, man, this is going to change programming so much. And then the more I used it, the more I just, for me personally, I kept introducing bugs. And I couldn't figure out why.
And when I used it, it predicted an if statement correct, and my mind was just absolutely blown because I had nothing before then. And now it's just like first time ever. And I just remember thinking, man, this is going to change programming so much. And then the more I used it, the more I just, for me personally, I kept introducing bugs. And I couldn't figure out why.
And what I realized is that I kind of developed, I wasn't co-piloting well, I was autopiloting much better. And my ability to read code versus my ability to critically think and write code, they're definitely different sets of skill levels. I don't consider as well when I just read code as opposed to when I write code. And so I struggled there. I do think that's a skill set. Yeah.
And what I realized is that I kind of developed, I wasn't co-piloting well, I was autopiloting much better. And my ability to read code versus my ability to critically think and write code, they're definitely different sets of skill levels. I don't consider as well when I just read code as opposed to when I write code. And so I struggled there. I do think that's a skill set. Yeah.
Skill issue for sure.
Skill issue for sure.
It all made perfect sense. I really do like that phrase, it makes it less lonely. I think there's something to that that's kind of interesting, having just some level of interaction that's not just like an LSP autocomplete.
It all made perfect sense. I really do like that phrase, it makes it less lonely. I think there's something to that that's kind of interesting, having just some level of interaction that's not just like an LSP autocomplete.
Like having something that's actually a little bit more than just that, where it actually is kind of thinking through and you can see a different thought and you're like, oh, wow, that's a way different approach than I would have taken. Hey, that's kind of cool. I like these kind of things. And the thing is, I'm not like an AI negative person. I... I can see why people really, really like it.
Like having something that's actually a little bit more than just that, where it actually is kind of thinking through and you can see a different thought and you're like, oh, wow, that's a way different approach than I would have taken. Hey, that's kind of cool. I like these kind of things. And the thing is, I'm not like an AI negative person. I... I can see why people really, really like it.
I just haven't like I just every time I used Copilot for from when Nat gave me the access all the way up until about six months ago, like that's how I used it for quite some time. And I really, I really did enjoy the things I used out of it. It just never, it kind of did the opposite for me, I felt like I was more reviewing than writing. And I felt like I was more
I just haven't like I just every time I used Copilot for from when Nat gave me the access all the way up until about six months ago, like that's how I used it for quite some time. And I really, I really did enjoy the things I used out of it. It just never, it kind of did the opposite for me, I felt like I was more reviewing than writing. And I felt like I was more
kind of just letting things slide, or I just didn't really think too heavily about stuff. And it just I wasn't as engaged. And so I'm like, Okay, so something's kind of wrong here. And that's just like a me personal thing. So I recognize that is not how someone should approach these things. That's not a good reason for why you should or should not use AI.
kind of just letting things slide, or I just didn't really think too heavily about stuff. And it just I wasn't as engaged. And so I'm like, Okay, so something's kind of wrong here. And that's just like a me personal thing. So I recognize that is not how someone should approach these things. That's not a good reason for why you should or should not use AI.
Like, I just don't think that that's right, because I could probably correct that and figure out a better way to do it. I've been meaning to have another AI round. And so I've been thinking about like, maybe I just need to spend like two weeks in cursor, and just like fully embrace what does it mean to be somebody like this? And, and what can I do with this, like, these new powers?
Like, I just don't think that that's right, because I could probably correct that and figure out a better way to do it. I've been meaning to have another AI round. And so I've been thinking about like, maybe I just need to spend like two weeks in cursor, and just like fully embrace what does it mean to be somebody like this? And, and what can I do with this, like, these new powers?
Have they improved to the point where they're actually good? And I mean, for me, cause like a lot of the decisions I make, a lot of the little functions I'm writing, it's not cause I'm trying to write this function to solve this problem.
Have they improved to the point where they're actually good? And I mean, for me, cause like a lot of the decisions I make, a lot of the little functions I'm writing, it's not cause I'm trying to write this function to solve this problem.
It's cause I'm writing these functions or this set, not just to solve this problem, but because I know in about another 2000 lines of code of building all these other things, I'm gonna need to start doing this next activity So it's like I'm trying to like really try to chess move myself into the exact things that as I let things go faster, I kind of fall apart on that chess move.
It's cause I'm writing these functions or this set, not just to solve this problem, but because I know in about another 2000 lines of code of building all these other things, I'm gonna need to start doing this next activity So it's like I'm trying to like really try to chess move myself into the exact things that as I let things go faster, I kind of fall apart on that chess move.
And again, skill issues for on my behalf. And I mean, in the truest sense of the word, where it's like I'm making a critique because I don't use it well enough.
And again, skill issues for on my behalf. And I mean, in the truest sense of the word, where it's like I'm making a critique because I don't use it well enough.
Thank you. Thank you.
Thank you. Thank you.
And so I 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 much. 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.
And so I 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 much. 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.
Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you.
But if I had to go learn Kubernetes, I'd go learn it in...
But if I had to go learn Kubernetes, I'd go learn it in...
Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you.
Thank you. Thank you.
Thank you. Thank you.
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 of that, it doesn't just disappear, right? It's all the kind of backbone of being able to operate something at scale.
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 of that, it doesn't just disappear, right? It's all the kind of backbone of being able to operate something at scale.
,,,,,,, So, yeah, I'll give you that one. But it's just like, I don't think it has anything in the near term. There's been no computer improvement up to this date that did not result in more jobs.
,,,,,,, So, yeah, I'll give you that one. But it's just like, I don't think it has anything in the near term. There's been no computer improvement up to this date that did not result in more jobs.
Right now, I don't think we are anywhere near natural language being possible because it's ambiguous. And I think what we'll end up seeing as people push really hard into this, you're going to see some sort of like pseudo-lang, which is going to be a language for AIs in which you prompt, which is going to be less ambiguous, right? People keep striving towards the less ambiguous state.
Right now, I don't think we are anywhere near natural language being possible because it's ambiguous. And I think what we'll end up seeing as people push really hard into this, you're going to see some sort of like pseudo-lang, which is going to be a language for AIs in which you prompt, which is going to be less ambiguous, right? People keep striving towards the less ambiguous state.
Like you really don't, if you think about it, if you're just writing a mom and pa like website, people that do PHP that are doing WordPress and all that, they're gonna build something, they're gonna hand it off to, I don't know, Linode, DigitalOcean, some company, they don't really need a really complicated build, deployment, all this.
Like you really don't, if you think about it, if you're just writing a mom and pa like website, people that do PHP that are doing WordPress and all that, they're gonna build something, they're gonna hand it off to, I don't know, Linode, DigitalOcean, some company, they don't really need a really complicated build, deployment, all this.
And at that point, you're just programming. You're just programming yet another evolution into a higher order language. And perhaps that is a future in which people will have a more terse, language, I'm just not sure how much more terse it can get.
And at that point, you're just programming. You're just programming yet another evolution into a higher order language. And perhaps that is a future in which people will have a more terse, language, I'm just not sure how much more terse it can get.
Yeah, I mean, all I see is that if you say natural language can be used in the pipeline, you've just made that many more people can become programmers, which means that much more software will eventually be created, which means there's that much more software that will need to be maintained, and just becomes a real big snowballing effect.
Yeah, I mean, all I see is that if you say natural language can be used in the pipeline, you've just made that many more people can become programmers, which means that much more software will eventually be created, which means there's that much more software that will need to be maintained, and just becomes a real big snowballing effect.
To some extent, right? Because no matter how much we want to say how good AI is, there comes a point where there exists a bug, there exists a large piece of software in which to describe the change requires just like pages and pages of description to the point where it is significantly just faster or easier for someone to just whip something out. Like there's definitely a balance there.
To some extent, right? Because no matter how much we want to say how good AI is, there comes a point where there exists a bug, there exists a large piece of software in which to describe the change requires just like pages and pages of description to the point where it is significantly just faster or easier for someone to just whip something out. Like there's definitely a balance there.
It's not like a perfect trade-off. And so I still don't, I think people need to quit worrying and think about how they can integrate it and try, like prove it to themselves. Do they actually make themselves irrelevant? And if you truly make yourself irrelevant, I would challenge you that you're already, like you're just doing something that, was just slightly too complicated to automate.
It's not like a perfect trade-off. And so I still don't, I think people need to quit worrying and think about how they can integrate it and try, like prove it to themselves. Do they actually make themselves irrelevant? And if you truly make yourself irrelevant, I would challenge you that you're already, like you're just doing something that, was just slightly too complicated to automate.
If you're only writing just straight up crud apps from back end to front end and like simple table displays, like, yeah, maybe we just couldn't quite automate that away. And now we just have something that can just do that a little bit better. So now that's automated the way, but that's not really programming. That's almost like building Legos at that point where the design's already set.
If you're only writing just straight up crud apps from back end to front end and like simple table displays, like, yeah, maybe we just couldn't quite automate that away. And now we just have something that can just do that a little bit better. So now that's automated the way, but that's not really programming. That's almost like building Legos at that point where the design's already set.
You just simply have to move piece from bag into correct position.
You just simply have to move piece from bag into correct position.
I think that the bigger the project you can manage, the bigger the thing you can build, the more understanding both down and up the stack you can go, the more valuable you become. Because if you understand how to build something in the front end, okay, well now you kick off some LLM task of some sort that's gonna go off and make a change to the front end.
I think that the bigger the project you can manage, the bigger the thing you can build, the more understanding both down and up the stack you can go, the more valuable you become. Because if you understand how to build something in the front end, okay, well now you kick off some LLM task of some sort that's gonna go off and make a change to the front end.
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.
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.
Okay, while it's doing that, you can go and kick off something in the CLI tool. You can go and you can go kick off something somewhere else. And as these things come back with results, you can review the results, make sure it's the way you want it, Change it, commit it, go to the next.
Okay, while it's doing that, you can go and kick off something in the CLI tool. You can go and you can go kick off something somewhere else. And as these things come back with results, you can review the results, make sure it's the way you want it, Change it, commit it, go to the next.
Like you only become more, you know, as you said in the end, more productive if we reach this state where it's truly able to do that.
Like you only become more, you know, as you said in the end, more productive if we reach this state where it's truly able to do that.
And also potentially that a lot of people use. There's this one thing that just really frustrates me, and this is kind of going into the Devin category, which is that I want an intern that cares. Yeah. You don't get that out of an LLM. It does not care. Meaning that I don't want it just to make a UI for me that displays these icons like I asked. I want it to care. I want it to think about it.
And also potentially that a lot of people use. There's this one thing that just really frustrates me, and this is kind of going into the Devin category, which is that I want an intern that cares. Yeah. You don't get that out of an LLM. It does not care. Meaning that I don't want it just to make a UI for me that displays these icons like I asked. I want it to care. I want it to think about it.
I want it to present to me and be like, oh, yeah, yeah, that's great. And then me to make changes. And then later on, it's like, actually, you know what? I really rethought about this. And actually, it'd be way better if we change. You know, like it doesn't actually care about the craft. You know, but when you work with an intern or you work with somebody else, they care.
I want it to present to me and be like, oh, yeah, yeah, that's great. And then me to make changes. And then later on, it's like, actually, you know what? I really rethought about this. And actually, it'd be way better if we change. You know, like it doesn't actually care about the craft. You know, but when you work with an intern or you work with somebody else, they care.
When they factor something, they actually go over and go, oh, yeah, this is actually kind of bad. I'm going to come back to that. They finish this, they go back over and they make this even better, right? They like actually care about the thing itself. It's a completely different experience.
When they factor something, they actually go over and go, oh, yeah, this is actually kind of bad. I'm going to come back to that. They finish this, they go back over and they make this even better, right? They like actually care about the thing itself. It's a completely different experience.
I just want something that also cares, that wants to make the thing better, not just simply accomplish the task. And I know I'm asking way too much. That's not, you know, now we're getting into like Blade Runner level AI. I just want something that's, it just feels like I'm missing that. Where it's just like, it will complete the task automatically.
I just want something that also cares, that wants to make the thing better, not just simply accomplish the task. And I know I'm asking way too much. That's not, you know, now we're getting into like Blade Runner level AI. I just want something that's, it just feels like I'm missing that. Where it's just like, it will complete the task automatically.
to whatever level it understood what I was prompting, but it just doesn't, it doesn't actually care about it.
to whatever level it understood what I was prompting, but it just doesn't, it doesn't actually care about it.
I mean, first off, the people that run Devin are extremely nice. I want that to be understood. I don't have some sort of upsetness against them or anything like that. Second, Devin is just, it's kind of like the full, it's like the full package when it comes to programming.
I mean, first off, the people that run Devin are extremely nice. I want that to be understood. I don't have some sort of upsetness against them or anything like that. Second, Devin is just, it's kind of like the full, it's like the full package when it comes to programming.
So it's going to have, you're going to give it a task and a repo, and it's going to go through, it's going to try to understand the repo and the task,
So it's going to have, you're going to give it a task and a repo, and it's going to go through, it's going to try to understand the repo and the task,
make the change to the repo by exploring it, then actually make a commit to GitHub and explain what it did so that you can have like, you know, so hopefully you have this whole offline thing, which is the other part of this AI part that I actually really like, where it's just like,
make the change to the repo by exploring it, then actually make a commit to GitHub and explain what it did so that you can have like, you know, so hopefully you have this whole offline thing, which is the other part of this AI part that I actually really like, where it's just like,
go fix this thing, then I can just go and unbroken fix this one thing and come back and go, okay, good enough merge, boom. You know, like I want that kind of running, being able to complete things.
go fix this thing, then I can just go and unbroken fix this one thing and come back and go, okay, good enough merge, boom. You know, like I want that kind of running, being able to complete things.
I think the ideal solution is that you can start giving it small bugs and it goes and fixes these bugs and you can just come back to these backlog tickets that no one ever does and it actually starts going through these backlog tickets and it's actually a really amazing experience. So I love the idea. Right, I think we can all agree that that sounds great. Yeah.
I think the ideal solution is that you can start giving it small bugs and it goes and fixes these bugs and you can just come back to these backlog tickets that no one ever does and it actually starts going through these backlog tickets and it's actually a really amazing experience. So I love the idea. Right, I think we can all agree that that sounds great. Yeah.
But every time I've done it, and I've asked it for many, and I try to keep narrowing down the problems, the more narrow the problem, the better it does. So if I'm like, just add one singular icon, and when it gets clicked, I want you to do this, just console, click me. Like, just at least create me an SVG and place it so it's nicely placed.
But every time I've done it, and I've asked it for many, and I try to keep narrowing down the problems, the more narrow the problem, the better it does. So if I'm like, just add one singular icon, and when it gets clicked, I want you to do this, just console, click me. Like, just at least create me an SVG and place it so it's nicely placed.
And they're essential. It's a very incredible, like, vertical of job. And obviously, I'm using a very broad term to describe it. I'm sure like a bunch, you know, because making sure stuff doesn't go down, you could also say that's like an SRE term. right? Site reliability engineer, whatever, you know, the ones that wear the bomber jackets at Google.
And they're essential. It's a very incredible, like, vertical of job. And obviously, I'm using a very broad term to describe it. I'm sure like a bunch, you know, because making sure stuff doesn't go down, you could also say that's like an SRE term. right? Site reliability engineer, whatever, you know, the ones that wear the bomber jackets at Google.
The more narrow the task, the more likely it's to be successful. Mm-hmm. Um, there's like a certain level of specifying where you specify too much. It just like, can't do it. If you specify too little, it just does weird things. So it's kind of like this very kind of fun, unique way you have to play the balance game.
The more narrow the task, the more likely it's to be successful. Mm-hmm. Um, there's like a certain level of specifying where you specify too much. It just like, can't do it. If you specify too little, it just does weird things. So it's kind of like this very kind of fun, unique way you have to play the balance game.
But so far, every time I do these things, I always end up going, gosh, you know what? I should just get better at tailwind and write it myself. Because I always go back and I just rewrite it. And then it's just like, dang it, what am I saving at the end? I feel like I'm not saving anything yet. And, you know, it's just like this. I want it so bad.
But so far, every time I do these things, I always end up going, gosh, you know what? I should just get better at tailwind and write it myself. Because I always go back and I just rewrite it. And then it's just like, dang it, what am I saving at the end? I feel like I'm not saving anything yet. And, you know, it's just like this. I want it so bad.
Like, I actually want AI to be great because then I can really go fast. I mean, I can go amazing fast. But then I always just go, gosh, I should just learn Tailwind myself to, like, the nth degree and just go fast.
Like, I actually want AI to be great because then I can really go fast. I mean, I can go amazing fast. But then I always just go, gosh, I should just learn Tailwind myself to, like, the nth degree and just go fast.
Yeah.
Yeah.
Yeah. I mean, it'd be great if they could. I mean, the more it can do that, the better, right? Because as far as I can tell, I mean, correct me where I'm wrong on this, current state debugging is really, it looks at the code, it looks at the bug problem, and just kind of tries to text predict where it's most likely accurate, and then just tries to fix that spot.
Yeah. I mean, it'd be great if they could. I mean, the more it can do that, the better, right? Because as far as I can tell, I mean, correct me where I'm wrong on this, current state debugging is really, it looks at the code, it looks at the bug problem, and just kind of tries to text predict where it's most likely accurate, and then just tries to fix that spot.
And so it's like, it's likely this spot, you said admin panel, it's slightly off, this, this, this, it's probably this location, which could actually be a really great way to do search, right?
And so it's like, it's likely this spot, you said admin panel, it's slightly off, this, this, this, it's probably this location, which could actually be a really great way to do search, right?
Let me do semantic searching, point to me where this is, because maybe that is a really great way to navigate large code bases is like smart, intelligent search, as opposed to trying to make it do the thing, ask it to just help you do the thing in like pinpointing problems. I'd love to see more of that because that's for me is like the exciting part.
Let me do semantic searching, point to me where this is, because maybe that is a really great way to navigate large code bases is like smart, intelligent search, as opposed to trying to make it do the thing, ask it to just help you do the thing in like pinpointing problems. I'd love to see more of that because that's for me is like the exciting part.
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 engineers, 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.
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 engineers, 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.
And there's this really great article by creator or maintainer of curl. It's the I and LLM stands for intelligence. And he writes curl and maintains curl. Curl has been inundated with security problems and all this. And it's all from LLMs being like, oh, I found a security flaw. here's the security flaw, details it out in the code. And he's just like, okay, how did you reproduce that?
And there's this really great article by creator or maintainer of curl. It's the I and LLM stands for intelligence. And he writes curl and maintains curl. Curl has been inundated with security problems and all this. And it's all from LLMs being like, oh, I found a security flaw. here's the security flaw, details it out in the code. And he's just like, okay, how did you reproduce that?
Show me, because if you look at the code right here, that's actually an impossible situation you're speaking of. And it's just like going in these circles and security right now is being inundated. These bug bounty programs are being inundated by LLM submitted responses because they can't actually, you know, analyze the code beyond... Just like basic text prediction.
Show me, because if you look at the code right here, that's actually an impossible situation you're speaking of. And it's just like going in these circles and security right now is being inundated. These bug bounty programs are being inundated by LLM submitted responses because they can't actually, you know, analyze the code beyond... Just like basic text prediction.
Oh, this is a stir copy stir copies commonly referred, you know, blah, blah, blah, blah, boom, there you go. Here's the bug. And it's just like, no, that's actually impossible, because the if statement right beforehand, leaves the function if the string is too long. So it's like, we don't even run into this case, it's impossible what you're saying. So debugging is very interesting.
Oh, this is a stir copy stir copies commonly referred, you know, blah, blah, blah, blah, boom, there you go. Here's the bug. And it's just like, no, that's actually impossible, because the if statement right beforehand, leaves the function if the string is too long. So it's like, we don't even run into this case, it's impossible what you're saying. So debugging is very interesting.
I think there's this whole idea I call a denial of attention. I think there's an entire attack vector that's going to be happening. We're using LLMs to generate fake bug reports, fake all these things to just actually... Effectively to demotivate and hurt open source maintainers.
I think there's this whole idea I call a denial of attention. I think there's an entire attack vector that's going to be happening. We're using LLMs to generate fake bug reports, fake all these things to just actually... Effectively to demotivate and hurt open source maintainers.
Polykill was the first bug that kind of had this experience, is this denial of attention where an active malicious maintainer just hounded the owner.
Polykill was the first bug that kind of had this experience, is this denial of attention where an active malicious maintainer just hounded the owner.
And then a white knight came out and offered to buy some stuff from under them. And when they bought it, they actually replaced it with a malicious piece of code and then used it. So there's like this whole security world that's developing around using these in a very aggressive format.
And then a white knight came out and offered to buy some stuff from under them. And when they bought it, they actually replaced it with a malicious piece of code and then used it. So there's like this whole security world that's developing around using these in a very aggressive format.
That's really surprising that that many people just have no plan in looking into AI. Like as much as I don't like using it for coding, I hope one day I can use it more, right? And so it's like, to me, I'm always looking for the next thing. I'm just surprised that people are that, I guess, obstinate for it.
That's really surprising that that many people just have no plan in looking into AI. Like as much as I don't like using it for coding, I hope one day I can use it more, right? And so it's like, to me, I'm always looking for the next thing. I'm just surprised that people are that, I guess, obstinate for it.
There's DevOps. Is it real? I'm not sure. Okay. Did Vercel kill DevOps?
There's DevOps. Is it real? I'm not sure. Okay. Did Vercel kill DevOps?
Obviously, the second one, the AI tool sentiment, it must be only the users who responded to the top two of that first one, just given the amount of respondents.
Obviously, the second one, the AI tool sentiment, it must be only the users who responded to the top two of that first one, just given the amount of respondents.
Maybe speed up learning is like a subcategory of fun, right? If you're able to learn more and be able to become better, to me, that sounds good.
Maybe speed up learning is like a subcategory of fun, right? If you're able to learn more and be able to become better, to me, that sounds good.
My time using Copilot, there was certainly a level of wonder that would happen for quite some time where it's just amazing what it can do.
My time using Copilot, there was certainly a level of wonder that would happen for quite some time where it's just amazing what it can do.
I'm just super impressed by what it can do, even though I don't use it. It's amazing to me that we have something that can even get that close. Yeah.
I'm just super impressed by what it can do, even though I don't use it. It's amazing to me that we have something that can even get that close. Yeah.
I would say that you have to be very green to think that you should highly trust an AI output. You should be very skeptical.
I would say that you have to be very green to think that you should highly trust an AI output. You should be very skeptical.
It does seem a little distrust. You should definitely be in the somewhat. You should always assume that there's something wrong, and then from there you can go and challenge it.
It does seem a little distrust. You should definitely be in the somewhat. You should always assume that there's something wrong, and then from there you can go and challenge it.
I would argue that people don't have a good grasp of what complex is in programming.
I would argue that people don't have a good grasp of what complex is in programming.
If you say write to me, you know, write me Quicksort, some people think Quicksort's super complex. But I would argue that that's actually probably the simplest thing you could ask an AI to do, right? Things that are so well documented. It's going to do a great job at that.
If you say write to me, you know, write me Quicksort, some people think Quicksort's super complex. But I would argue that that's actually probably the simplest thing you could ask an AI to do, right? Things that are so well documented. It's going to do a great job at that.
Yeah.
Yeah.
You've... Oh, I worked at Netflix, by the way.
You've... Oh, I worked at Netflix, by the way.
But you can't do that with coding. It's like, it's right or it's wrong. There's not a variation of interpretation for what a crab is. It's like, no, that statement's just, you cannot make that statement. You know, it's very bounded in what it can express. And I could see why artists, like that's a very frustrating point. And then who gets rewarded for all that?
But you can't do that with coding. It's like, it's right or it's wrong. There's not a variation of interpretation for what a crab is. It's like, no, that statement's just, you cannot make that statement. You know, it's very bounded in what it can express. And I could see why artists, like that's a very frustrating point. And then who gets rewarded for all that?
You know, obviously, and then there's like the whole thing with coding and licenses. How much of it is GPL licenses do you think they've scraped and used as training data? GPL forces open source. What are you going to do with that one? That means your model might need to be open source. Open AI may have to get forced open all their previous stuff if there's any hint of GPL.
You know, obviously, and then there's like the whole thing with coding and licenses. How much of it is GPL licenses do you think they've scraped and used as training data? GPL forces open source. What are you going to do with that one? That means your model might need to be open source. Open AI may have to get forced open all their previous stuff if there's any hint of GPL.
There's an unspoken, it's a real wild west. Cause like you could imagine that weapon if, you know, I always use Europe because they tend to have like maybe the most consumer protection laws out there. You could imagine what happened if a law came down that said that if you used a model that produced GPL potential code, you have to open source.
There's an unspoken, it's a real wild west. Cause like you could imagine that weapon if, you know, I always use Europe because they tend to have like maybe the most consumer protection laws out there. You could imagine what happened if a law came down that said that if you used a model that produced GPL potential code, you have to open source.
Like how many companies are going to be like, oh my gosh, right? Like you have one year to get rid of all code that was generated. That's potentially GPL source from a model like that could, you could imagine just the sheer panic that's going to happen, right? It'd be a fire sale of code.
Like how many companies are going to be like, oh my gosh, right? Like you have one year to get rid of all code that was generated. That's potentially GPL source from a model like that could, you could imagine just the sheer panic that's going to happen, right? It'd be a fire sale of code.
I am going to try to answer that question, I guess the best I can. Which I think that if you're entering into the tech world, One of the hardest pieces of advice that I took a long time to learn was I became enamored and addicted. Obviously, we talked about that program for way too many hours.
I am going to try to answer that question, I guess the best I can. Which I think that if you're entering into the tech world, One of the hardest pieces of advice that I took a long time to learn was I became enamored and addicted. Obviously, we talked about that program for way too many hours.
Forgetting to spend the time I needed with my wife, with my friends, all that stuff, like totally wrapping myself up into one activity. I think... though it made me who I am, was probably an unhealthy activity and probably not a wise activity.
Forgetting to spend the time I needed with my wife, with my friends, all that stuff, like totally wrapping myself up into one activity. I think... though it made me who I am, was probably an unhealthy activity and probably not a wise activity.
And so the best advice I can give is that you've got to develop the love, the skill, the desire for whether that's just only using AI agents, programming yourself, using Zig or programming JavaScript, whatever, you know, that flavor is that's going to get you coming back every single day.
And so the best advice I can give is that you've got to develop the love, the skill, the desire for whether that's just only using AI agents, programming yourself, using Zig or programming JavaScript, whatever, you know, that flavor is that's going to get you coming back every single day.
Correct. Almost as much as I mentioned Neovim.
Correct. Almost as much as I mentioned Neovim.
getting the reps in the gym, if you will, for programming, but also knowing how to value what is valuable and not getting lost in the sauce where you're just so stuck on trying to make the next greatest startup that you sacrifice your health, you sacrifice your relationships, or even worse, you sacrifice your own morals to take certain shortcuts that you probably shouldn't be taking in life to be able to achieve these things.
getting the reps in the gym, if you will, for programming, but also knowing how to value what is valuable and not getting lost in the sauce where you're just so stuck on trying to make the next greatest startup that you sacrifice your health, you sacrifice your relationships, or even worse, you sacrifice your own morals to take certain shortcuts that you probably shouldn't be taking in life to be able to achieve these things.
Because, you know, I'm sure there's hundreds of horror stories you could hear where people definitely shortcutted their morals for
Because, you know, I'm sure there's hundreds of horror stories you could hear where people definitely shortcutted their morals for
I still want my kids to learn how to program, if I can answer that, if that's a good enough answer. Yeah, that's a really powerful answer, yeah. are a decade younger than a young person trying to learn how to program right now. And so if I want, you know, I'm hoping that my kid can run and build whatever he wants in Roblox. I'm showing him Chad Gippity and be like, all right, let's ask questions.
I still want my kids to learn how to program, if I can answer that, if that's a good enough answer. Yeah, that's a really powerful answer, yeah. are a decade younger than a young person trying to learn how to program right now. And so if I want, you know, I'm hoping that my kid can run and build whatever he wants in Roblox. I'm showing him Chad Gippity and be like, all right, let's ask questions.
How do we do this? It's still extremely confusing for him to do all these things. And so it's like, Let's do this. I want him to learn and be effective. And maybe one day he has to throw away all those skills in 20 years. But I bet you that whatever skills he threw away or whatever hard skills he had to throw away an entirely new field that none of us have thought about.
How do we do this? It's still extremely confusing for him to do all these things. And so it's like, Let's do this. I want him to learn and be effective. And maybe one day he has to throw away all those skills in 20 years. But I bet you that whatever skills he threw away or whatever hard skills he had to throw away an entirely new field that none of us have thought about.
Just like if you would have asked somebody in the 70s, you know, about social networks, they'd be like, what the heck are you even talking about? Like things will exist in the future that are going to be massively different and crazy and exciting.
Just like if you would have asked somebody in the 70s, you know, about social networks, they'd be like, what the heck are you even talking about? Like things will exist in the future that are going to be massively different and crazy and exciting.
Just entertainment for all. The brave new world of our world. Well, I think entertainment...
Just entertainment for all. The brave new world of our world. Well, I think entertainment...
I didn't know you played a lot of video games. Because when I asked you specifically, should I play World of Warcraft or do Advent of Code, you're like, Advent of Code. Advent of Code.
I didn't know you played a lot of video games. Because when I asked you specifically, should I play World of Warcraft or do Advent of Code, you're like, Advent of Code. Advent of Code.
Yeah. Yeah.
Yeah. Yeah.
You're not the first person who has specifically called out Civilization. Yeah. I've had more than one person also very high up in the tech world be like, Civilization is my downfall. If I get near that game, I'm done. Yep. I've never even played the game now. It makes me be like, dude, I gotta give this a try. That sounds crazy.
You're not the first person who has specifically called out Civilization. Yeah. I've had more than one person also very high up in the tech world be like, Civilization is my downfall. If I get near that game, I'm done. Yep. I've never even played the game now. It makes me be like, dude, I gotta give this a try. That sounds crazy.
that you could give advice on so you started out with schedulicity yeah that was my first uh full-time when i had the government contracting one before that that wasn't quite full-time it was in c it was a lot of fun and then building my own startup for quite some time so if you count either those as full-time then those would be the full-time but schedulicity was the official on the docks so is there some value to jumping around like
that you could give advice on so you started out with schedulicity yeah that was my first uh full-time when i had the government contracting one before that that wasn't quite full-time it was in c it was a lot of fun and then building my own startup for quite some time so if you count either those as full-time then those would be the full-time but schedulicity was the official on the docks so is there some value to jumping around like
I think there's a lot to that because not every job you're going to get is going to be great. Now, your first job you could get could make you think you hate programming. It happened. I did an internship at a place. I keep on, like, surprising you with more kind of things I did in the past. Did an internship at a... Fuck. You did so many things. It's incredible.
I think there's a lot to that because not every job you're going to get is going to be great. Now, your first job you could get could make you think you hate programming. It happened. I did an internship at a place. I keep on, like, surprising you with more kind of things I did in the past. Did an internship at a... Fuck. You did so many things. It's incredible.
At a place called, like, Total Information Management System. Remember when I talked about that hours ago about healthcare and that and industrial shipping and all that? It was a C-sharp shop. It was so bad that after I did that, I went and changed my major to mechanical engineering for a semester in college. Oh, boy.
At a place called, like, Total Information Management System. Remember when I talked about that hours ago about healthcare and that and industrial shipping and all that? It was a C-sharp shop. It was so bad that after I did that, I went and changed my major to mechanical engineering for a semester in college. Oh, boy.
I thought I... Okay, actually, I like computer science. I hate programming. So, you know, just because you've had a job doesn't mean it's going to be the one. And the thing is, here's the best part, though. If you get a job and you like it and you want to do it and it's exciting, you don't need to change. Right? I think a lot of people are like, Oh, I got to find the next thing.
I thought I... Okay, actually, I like computer science. I hate programming. So, you know, just because you've had a job doesn't mean it's going to be the one. And the thing is, here's the best part, though. If you get a job and you like it and you want to do it and it's exciting, you don't need to change. Right? I think a lot of people are like, Oh, I got to find the next thing.
I've been here for two years, like this kind of this, like, you got to move around mindset. I don't think you have to move around. I don't think it hurts your career. Because if anything, you'll gain more responsibility. And you'll be able to talk with way more authority.
I've been here for two years, like this kind of this, like, you got to move around mindset. I don't think you have to move around. I don't think it hurts your career. Because if anything, you'll gain more responsibility. And you'll be able to talk with way more authority.
And the next time you interview, you're going to be way more into like, oh, yeah, I had to get these x people and these x people to be able to do all this stuff. And it's like, you can talk with much more authority if you stay at a place longer. And that's nothing but benefits in my book.
And the next time you interview, you're going to be way more into like, oh, yeah, I had to get these x people and these x people to be able to do all this stuff. And it's like, you can talk with much more authority if you stay at a place longer. And that's nothing but benefits in my book.
It's only if you stay at a place because you're afraid or you don't want to, you know, you already have something that works for you and you just never want to change. And you're just like, I get to go in and just be completely mindless. I think if you go mindless for a couple of years, you'll find yourself. That's like the only real danger. You just come out with nothing at all.
It's only if you stay at a place because you're afraid or you don't want to, you know, you already have something that works for you and you just never want to change. And you're just like, I get to go in and just be completely mindless. I think if you go mindless for a couple of years, you'll find yourself. That's like the only real danger. You just come out with nothing at all.
Yeah, and money could get at the end. That's the best part is when you don't strive for the money, sometimes the money just shows up anyways.
Yeah, and money could get at the end. That's the best part is when you don't strive for the money, sometimes the money just shows up anyways.
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. And it's kind of just earwormed me for a large portion of my life.
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. And it's kind of just earwormed me for a large portion of my life.
There could be something very, very exciting about that in some sense, especially if you're building your own thing. I can imagine that would be very exciting. Like if I was Amazon, Jeff Bezos building Amazon, one could imagine that those early years were probably very rough. and the amount of hours he probably put in were very, very rough.
There could be something very, very exciting about that in some sense, especially if you're building your own thing. I can imagine that would be very exciting. Like if I was Amazon, Jeff Bezos building Amazon, one could imagine that those early years were probably very rough. and the amount of hours he probably put in were very, very rough.
But I will say that there's this kind of unique aspect in our culture where we kind of make this as an equal trade-off between family or work. Like, oh, you do or you don't have to have kids. And my only kind of real notion with that one is that you will never know your capacity for love until you have kids. Like, you just don't know. And some people are like, oh, yeah, but I love my dog.
But I will say that there's this kind of unique aspect in our culture where we kind of make this as an equal trade-off between family or work. Like, oh, you do or you don't have to have kids. And my only kind of real notion with that one is that you will never know your capacity for love until you have kids. Like, you just don't know. And some people are like, oh, yeah, but I love my dog.
It's just like, I loved my dogs too. And then I had kids and now my dogs are, they're all right. Like I like them. Yeah. I could come home and I pet Indy and I'm like, Indy. And then I'm just like, okay, bye Indy. Right? Like it just, I can't even describe the difference between the two. Yeah. Cause they're not, it's not even the same.
It's just like, I loved my dogs too. And then I had kids and now my dogs are, they're all right. Like I like them. Yeah. I could come home and I pet Indy and I'm like, Indy. And then I'm just like, okay, bye Indy. Right? Like it just, I can't even describe the difference between the two. Yeah. Cause they're not, it's not even the same.
And so it's very, that trade-off you're making is no one can tell you what it's like. Cause there's a real reality that's right now. And I'm sure I'm 100% positive. This is with my wife as well, where if right now we got news that said, You have some medical procedure where if we do this, you will die, but your kid will live. There's not a question in my soul that I wouldn't do that.
And so it's very, that trade-off you're making is no one can tell you what it's like. Cause there's a real reality that's right now. And I'm sure I'm 100% positive. This is with my wife as well, where if right now we got news that said, You have some medical procedure where if we do this, you will die, but your kid will live. There's not a question in my soul that I wouldn't do that.
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 the 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 starting at a very young age.
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 the 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 starting at a very young age.
If I could look into the future and if I had to die right now knowing that my kids would have a better life, they would be happier, they'd be more fulfilled and all those things. I guarantee you either my wife or I would take that every single time. It's just like you will never be able to say that about most things. People will jokingly say that until it's actually on the line.
If I could look into the future and if I had to die right now knowing that my kids would have a better life, they would be happier, they'd be more fulfilled and all those things. I guarantee you either my wife or I would take that every single time. It's just like you will never be able to say that about most things. People will jokingly say that until it's actually on the line.
But it's like with that, you just have this ferociousness. I can break out in sweat thinking about somebody fictionally pushing my kid to the ground. Like actually get, you know, real adrenal responses flowing through my body. So it's just like such a different world and it's hard to explain. And you could never have convinced me when I was young that it'd be this big. Yeah. Yeah.
But it's like with that, you just have this ferociousness. I can break out in sweat thinking about somebody fictionally pushing my kid to the ground. Like actually get, you know, real adrenal responses flowing through my body. So it's just like such a different world and it's hard to explain. And you could never have convinced me when I was young that it'd be this big. Yeah. Yeah.
I thought I knew. I didn't know. Yeah.
I thought I knew. I didn't know. Yeah.
I would argue that it definitely changed a lot of my life and how I approach problems and everything in a very different way.
I would argue that it definitely changed a lot of my life and how I approach problems and everything in a very different way.
We haven't technically covered it.
We haven't technically covered it.
All right, go ahead. Go ahead. Okay, the only thing I'll say is that I don't like that Microsoft pretends to be the good guy when what they really wanted to get you addicted to their products to get you to use their products as much as possible so they can extract as much money out of you. Well, in this world, are there really good guys? That's a great point. I would argue NeoVim is a great guy.
All right, go ahead. Go ahead. Okay, the only thing I'll say is that I don't like that Microsoft pretends to be the good guy when what they really wanted to get you addicted to their products to get you to use their products as much as possible so they can extract as much money out of you. Well, in this world, are there really good guys? That's a great point. I would argue NeoVim is a great guy.
There's no way they can make money. Justin Keyes is the benevolent dictator, and he thinks deeply about the product and tries to make it the best as possible. Whereas something like Microsoft, they made VS Code as a loss leader. Copilot's probably operating on a loss leader. These things are all getting you so tied into GitHub, remote workspaces, CI, Copilot.
There's no way they can make money. Justin Keyes is the benevolent dictator, and he thinks deeply about the product and tries to make it the best as possible. Whereas something like Microsoft, they made VS Code as a loss leader. Copilot's probably operating on a loss leader. These things are all getting you so tied into GitHub, remote workspaces, CI, Copilot.
Like you've become this trapped in permanent person. And if that price rises, the switching cost is so great at some point that you'll never be able to switch. That's my only fear is that Microsoft was once accused of EEE and it feels like they're EEEing again.
Like you've become this trapped in permanent person. And if that price rises, the switching cost is so great at some point that you'll never be able to switch. That's my only fear is that Microsoft was once accused of EEE and it feels like they're EEEing again.
I can side with you on that one. It is a good product. VS Code is a good product.
I can side with you on that one. It is a good product. VS Code is a good product.
Don't put that on the, but it was fine. You know, they did a great job.
Don't put that on the, but it was fine. You know, they did a great job.
I love that, by the way.
I love that, by the way.
When I was seven years old, my dad died. That was kind of a really tough period of life. 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.
When I was seven years old, my dad died. That was kind of a really tough period of life. 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.
Yeah, that one's confusing. It just seems great.
Yeah, that one's confusing. It just seems great.
really powerful decision and sometimes these companies because they have a lot of cash can make the right do the right thing yeah it's a really positive way to look at it and i think that's that's really nice but we should always be skeptical yeah i mean because at the end of the day companies they're not good they're not bad right they're they're morally neutral it's the people that are running them the decisions those people make that are really where the bad or the good comes from
really powerful decision and sometimes these companies because they have a lot of cash can make the right do the right thing yeah it's a really positive way to look at it and i think that's that's really nice but we should always be skeptical yeah i mean because at the end of the day companies they're not good they're not bad right they're they're morally neutral it's the people that are running them the decisions those people make that are really where the bad or the good comes from
Oh, no, you don't know. I've never milked a cow.
Oh, no, you don't know. I've never milked a cow.
Almost been killed by a cow, but never milked a cow. Did you ever ride a bull?
Almost been killed by a cow, but never milked a cow. Did you ever ride a bull?
All right. Why male models? Okay, so I can explain that one. I will say something like, I really dislike the color purple because the color purple makes me upset. I don't know, just something very benign. But then someone right afterwards will be like, but why don't you?
All right. Why male models? Okay, so I can explain that one. I will say something like, I really dislike the color purple because the color purple makes me upset. I don't know, just something very benign. But then someone right afterwards will be like, but why don't you?
like the color purple right and it's just be like it's just like derek zoolander it's just like i get done on a five minute talk about it and then the next question is like but seriously why though it's just like why male models yeah so that's the zoolander reference when there's a long explanation why male models and uh he he agrees and then forgets yeah uh what is ligma
like the color purple right and it's just be like it's just like derek zoolander it's just like i get done on a five minute talk about it and then the next question is like but seriously why though it's just like why male models yeah so that's the zoolander reference when there's a long explanation why male models and uh he he agrees and then forgets yeah uh what is ligma
You know, I've died by Ligma quite a few times. Ligma, so do you know the origin story of Ligma? No. So Ninja, famous streamer, someone got him with Ligma, said like, oh, something like, have you heard about Ligma? And he was like, no. And he's like, oh, Ligma balls, right? And then after that, Ninja got like so hurt
You know, I've died by Ligma quite a few times. Ligma, so do you know the origin story of Ligma? No. So Ninja, famous streamer, someone got him with Ligma, said like, oh, something like, have you heard about Ligma? And he was like, no. And he's like, oh, Ligma balls, right? And then after that, Ninja got like so hurt
by getting had by that, that he started banning anyone in chat who said the word Ligma or something like that. And so then it'd be, you know, if you don't embrace the meme, you get destroyed. No, of course, gets destroyed. And so then the whole goal is that can people get me with Ligma? TJ did iLadies. He's like, oh, did you hear that eGirls got renamed to iLadies?
by getting had by that, that he started banning anyone in chat who said the word Ligma or something like that. And so then it'd be, you know, if you don't embrace the meme, you get destroyed. No, of course, gets destroyed. And so then the whole goal is that can people get me with Ligma? TJ did iLadies. He's like, oh, did you hear that eGirls got renamed to iLadies?
And I just didn't even see it coming. And I was just like, what? And he's like, iLadies, nuts on your face. And then it's just like, oh my gosh. And then a pirate software has also got me like, oh, have you heard about Google SEMA? Which SEMA is a real product by Google. Oh, my God. Thank you very much. Thank you.
And I just didn't even see it coming. And I was just like, what? And he's like, iLadies, nuts on your face. And then it's just like, oh my gosh. And then a pirate software has also got me like, oh, have you heard about Google SEMA? Which SEMA is a real product by Google. Oh, my God. Thank you very much. Thank you.
It was like the first time I said that word in like 17 years or something. I 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, played video games on the Internet.
It was like the first time I said that word in like 17 years or something. I 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, played video games on the Internet.
Thank you. Thank you. Thank you very much. Thank you very much. Thank you. I don't know. Thank you very much. Thank you. Thank you very much.
Thank you. Thank you. Thank you very much. Thank you very much. Thank you. I don't know. Thank you very much. Thank you. Thank you very much.
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 C-like language.
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 C-like language.
Thank you very much. Thank you very much.
Thank you very much. Thank you very much.
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, 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.
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, 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. I wouldn't say I had a great time during high school. 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.
High school was brutal. Got made fun of a lot. I wouldn't say I had a great time during high school. 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 and I started getting into drugs. And along with that, he exposed me to pot. So at eight years old, I was smoking some marijuana 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.
My brother, older brother, he got and I started getting into drugs. And along with that, he exposed me to pot. So at eight years old, I was smoking some marijuana 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. 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.
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. 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
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 you 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 quindalar ran if you will for those that know will of time will appreciate all that uh
coming out of the hospital and at like that moment it's kind of like something broken you 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 quindalar ran if you will for those that know will of time will appreciate all that uh
For those that don't, very confusing, I understand. Not the Amazon movie show. 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 broken 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.
For those that don't, very confusing, I understand. Not the Amazon movie show. 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 broken 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 squigglies on the side of my eyes whenever I'd walk by, high contrast objects.
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 squigglies 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 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 on a razor where it's like, if I go either way, I'm going to fall off.
And so it's just like that whole period of life was just kind of marked by 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 on a razor where it's like, if I go either way, I'm going to fall off.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you.
Thank you. Thank you.
Thank you. desire or your own want. It's not something that is deeply needed. There's no need for porn. It's purely a want-based activity or a lust, however you want, whatever word you can fill in there. And it is purely an objectifying activity. Someone else is on display for your own enjoyment. And so I think you carry this around.
Thank you. desire or your own want. It's not something that is deeply needed. There's no need for porn. It's purely a want-based activity or a lust, however you want, whatever word you can fill in there. And it is purely an objectifying activity. Someone else is on display for your own enjoyment. And so I think you carry this around.
I do think that the women that I dated during high school or the women after high school and college, I looked at them as a means to an end. I think porn greatly kind of shifted that kind of perspective in my head that I did not give the value that was desired to another person. It really devalues humanity just in general is my perspective of it. And that makes people into commodities.
I do think that the women that I dated during high school or the women after high school and college, I looked at them as a means to an end. I think porn greatly kind of shifted that kind of perspective in my head that I did not give the value that was desired to another person. It really devalues humanity just in general is my perspective of it. And that makes people into commodities.
And I don't think people are commodities. I think everyone has value. And so during that, for me, that's kind of like the great effect of porn. is that, you know, it's just consumerism gone wild or materialism, maybe you could ask, argue gone wild. And it's extremely hard to quit, just like you said, because I can look at porn and then I can go out to lunch. You know, no one's going to know.
And I don't think people are commodities. I think everyone has value. And so during that, for me, that's kind of like the great effect of porn. is that, you know, it's just consumerism gone wild or materialism, maybe you could ask, argue gone wild. And it's extremely hard to quit, just like you said, because I can look at porn and then I can go out to lunch. You know, no one's going to know.
No one's going to have any ideas. Like it's a very private, it can be very short session. It doesn't have to be something that takes like, you know, you can't take acid and go out to lunch, right? You're going to be, you're going to, your whole day is going to be a very different day. And so there's, it's very quick, easy, accessible.
No one's going to have any ideas. Like it's a very private, it can be very short session. It doesn't have to be something that takes like, you know, you can't take acid and go out to lunch, right? You're going to be, you're going to, your whole day is going to be a very different day. And so there's, it's very quick, easy, accessible.
And then obviously there's like all the, like the science and stuff.
And then obviously there's like all the, like the science and stuff.
you know statistics like men make worse decisions for some period of time after looking or being exposed to sexualized images there's the whole dopamine effect that's just like you constantly need more and more dopamine that's why people typically don't just watch five minutes of porn and call it a day that's like you know the hundred tab joke that's always made on the internet it's because you it's just this this constant dopamine cycle you're constantly doing and
you know statistics like men make worse decisions for some period of time after looking or being exposed to sexualized images there's the whole dopamine effect that's just like you constantly need more and more dopamine that's why people typically don't just watch five minutes of porn and call it a day that's like you know the hundred tab joke that's always made on the internet it's because you it's just this this constant dopamine cycle you're constantly doing and
All that stuff is great to say. And I'm sure statistics and science and all that stuff is really great arguments for some amount of people. But for me, it just comes down to like, is it really a good thing to do? Like, is it really actually something we want is to value people in such a profane or kind of just like disregarding way?
All that stuff is great to say. And I'm sure statistics and science and all that stuff is really great arguments for some amount of people. But for me, it just comes down to like, is it really a good thing to do? Like, is it really actually something we want is to value people in such a profane or kind of just like disregarding way?
Like, I just really think it's just bad for the soul, even if all the stats said it was great for you. I still say it's actually bad.
Like, I just really think it's just bad for the soul, even if all the stats said it was great for you. I still say it's actually bad.
And both of those are great. It's objectively better to have, like, I would say that there's no universe that exists or there should be no argument possible that exists that a guy who has meaningless sex has a better or a more meaningful life than say me and my wife who've been together for 15 years. We have a very, like I can depend on her in all circumstances.
And both of those are great. It's objectively better to have, like, I would say that there's no universe that exists or there should be no argument possible that exists that a guy who has meaningless sex has a better or a more meaningful life than say me and my wife who've been together for 15 years. We have a very, like I can depend on her in all circumstances.
Whereas if you live that other life, it, Sure, it could feel great, but there's no meaning to it. There's no actual real value to it.
Whereas if you live that other life, it, Sure, it could feel great, but there's no meaning to it. There's no actual real value to it.
I mean, I think you're right that our society puts a lot of emphasis on getting laid. And I'm sure that's true among any group of males throughout any point in history. I'm sure that's a very common joke that's never actually, like, never stopped at any point. So I'm sure that exists, but... And there's probably some truth to the sense that after you've, you know, who was it?
I mean, I think you're right that our society puts a lot of emphasis on getting laid. And I'm sure that's true among any group of males throughout any point in history. I'm sure that's a very common joke that's never actually, like, never stopped at any point. So I'm sure that exists, but... And there's probably some truth to the sense that after you've, you know, who was it?
Jim Carrey, I hope that everyone can get rich so they realize that money solves none of your problems. Yeah. Like the realization that this thing that society told you is hyper important is actually not the important part. Like it is a very important, it's a great sign that your relationship is healthy.
Jim Carrey, I hope that everyone can get rich so they realize that money solves none of your problems. Yeah. Like the realization that this thing that society told you is hyper important is actually not the important part. Like it is a very important, it's a great sign that your relationship is healthy.
Like if me and my wife were to have no sex at all for months on end, like something's gone wrong.
Like if me and my wife were to have no sex at all for months on end, like something's gone wrong.
which means what you know we are no longer like on the same plane something you know but it's not also a good identifier just because you're having a lot of sex doesn't mean you're having a good relationship and so it's kind of like a unique kind of um i forget the the right term here but it's a unique way at looking at the problems and our society puts so much emphasis and maybe that's why porn was so hard to quit but i my guess is just all the dopamine effect that it is uh
which means what you know we are no longer like on the same plane something you know but it's not also a good identifier just because you're having a lot of sex doesn't mean you're having a good relationship and so it's kind of like a unique kind of um i forget the the right term here but it's a unique way at looking at the problems and our society puts so much emphasis and maybe that's why porn was so hard to quit but i my guess is just all the dopamine effect that it is uh
But for me, the most important part and the thing that actually has real reward is having just my wife. I do not look at... I desperately try not to look at any other woman. I'm hopefully not going to get caught Mark Zuckerberg at the White House like that. I don't look at porn.
But for me, the most important part and the thing that actually has real reward is having just my wife. I do not look at... I desperately try not to look at any other woman. I'm hopefully not going to get caught Mark Zuckerberg at the White House like that. I don't look at porn.
My wife has complete confidence in me that there is not going to be a situation in which she has to question me in any kind of sense. And that builds a much more deeply... I would argue a very deep relationship because the trust is that much bigger. I think the deepness of the relationship is probably proportional to the trust you have in each other.
My wife has complete confidence in me that there is not going to be a situation in which she has to question me in any kind of sense. And that builds a much more deeply... I would argue a very deep relationship because the trust is that much bigger. I think the deepness of the relationship is probably proportional to the trust you have in each other.
It's very hard to have a deep relationship with no trust.
It's very hard to have a deep relationship with no trust.
It's always worth it. The risk is always worth it in some sense. Obviously, everyone has a different kind of life they have to filter through their actions with, right? Because the person that has no, say, social following or anything, their risk-reward profile could just be local impact, which could be just as damning or harming to them.
It's always worth it. The risk is always worth it in some sense. Obviously, everyone has a different kind of life they have to filter through their actions with, right? Because the person that has no, say, social following or anything, their risk-reward profile could just be local impact, which could be just as damning or harming to them.
And so it's always worth the risk, though, in my personal opinion, because finding my wife has been... Obviously the most impactful or changing thing in my life. So, or second most, I'd argue that one night with God would probably be the most impactful thing that led to everything else. But then the wife would be the next most impactful. I mean, I'm like cleaning up after myself and stuff now.
And so it's always worth the risk, though, in my personal opinion, because finding my wife has been... Obviously the most impactful or changing thing in my life. So, or second most, I'd argue that one night with God would probably be the most impactful thing that led to everything else. But then the wife would be the next most impactful. I mean, I'm like cleaning up after myself and stuff now.
Changed man. I'm a changed man.
Changed man. I'm a changed man.
I think it just felt like I just, there was no line that I wasn't willing to cross. Like everything was fine. And just like, it just all of a sudden, just in that moment, it's just like I had a, I guess, some sort of deep fear and understanding like, I am going down a path. Is this really the path you want to go down? And I don't know what the result of that path would be or anything like that.
I think it just felt like I just, there was no line that I wasn't willing to cross. Like everything was fine. And just like, it just all of a sudden, just in that moment, it's just like I had a, I guess, some sort of deep fear and understanding like, I am going down a path. Is this really the path you want to go down? And I don't know what the result of that path would be or anything like that.
I don't tend to speculate on things I don't understand. I just know that in that moment, I had the option. And I just chose, I didn't want it anymore, right? It's kind of mixed in this whole thing where it's just like, I had no value. I wrapped up all my meaning or value in having sex or getting laid.
I don't tend to speculate on things I don't understand. I just know that in that moment, I had the option. And I just chose, I didn't want it anymore, right? It's kind of mixed in this whole thing where it's just like, I had no value. I wrapped up all my meaning or value in having sex or getting laid.
I had, you know, all that stuff, all the things we just talked about, like that was where all my worth was. And that is just such a, like a terrible place to have your worth. And, It's just I kind of all came to a point. And I can't tell you the day of the week. I can't tell you anything other than it was nighttime. And I was in South Hedges in Montana State University. Go Bobcats.
I had, you know, all that stuff, all the things we just talked about, like that was where all my worth was. And that is just such a, like a terrible place to have your worth. And, It's just I kind of all came to a point. And I can't tell you the day of the week. I can't tell you anything other than it was nighttime. And I was in South Hedges in Montana State University. Go Bobcats.
That's the sign that we do at football games. Don't worry about it. But that's all I can really tell you. Because that night was no more or less special than some other night. It's just the specialness was... I got at least... a chance to make a choice.
That's the sign that we do at football games. Don't worry about it. But that's all I can really tell you. Because that night was no more or less special than some other night. It's just the specialness was... I got at least... a chance to make a choice.
For me to overcome it, I had to realize that I was taking something away from my future wife. Some people would be like, oh, well, you just, you know, once you get a girlfriend, then you can stop. And it's just like, no, because you never stopped the problem. You don't stop a problem by replacing it. And so I didn't have a girlfriend, didn't have all that.
For me to overcome it, I had to realize that I was taking something away from my future wife. Some people would be like, oh, well, you just, you know, once you get a girlfriend, then you can stop. And it's just like, no, because you never stopped the problem. You don't stop a problem by replacing it. And so I didn't have a girlfriend, didn't have all that.
I just realized that I was truly taking away from something from my future wife. And I didn't even know my current wife at that time. I didn't, she was not in the picture. I'm not even sure if she was at Montana State University at that point. And so it's just, that's, once I made that realization, I think it went from my head to my heart, which they say is the greatest distance in the universe.
I just realized that I was truly taking away from something from my future wife. And I didn't even know my current wife at that time. I didn't, she was not in the picture. I'm not even sure if she was at Montana State University at that point. And so it's just, that's, once I made that realization, I think it went from my head to my heart, which they say is the greatest distance in the universe.
I finally like got it. And that's really where things change. So if The ability to say what's going to help you change and all that, I don't think there's silver bullets.
I finally like got it. And that's really where things change. So if The ability to say what's going to help you change and all that, I don't think there's silver bullets.
If someone could offer you a drug, I forget who says this phrase, but there's this really interesting phrase that goes something like, he was a very depressed man, and he was struggling with suicide, and he kind of writes about this in this memoir. And he goes to these doctors, and the doctors effectively say, well, here's antidepressants. It's going to help you.
If someone could offer you a drug, I forget who says this phrase, but there's this really interesting phrase that goes something like, he was a very depressed man, and he was struggling with suicide, and he kind of writes about this in this memoir. And he goes to these doctors, and the doctors effectively say, well, here's antidepressants. It's going to help you.
And he says that, well, the problem was is that scientists told me that I could just touch my brain and make myself happy. And that's it. Like they could reach in, they could configure some stuff and I'll be happy. He's like, for me, it was a lot like going out into a field and being able to take a drug to see the rain. I could look out, see the rain. It would fall down. It'd be silvery.
And he says that, well, the problem was is that scientists told me that I could just touch my brain and make myself happy. And that's it. Like they could reach in, they could configure some stuff and I'll be happy. He's like, for me, it was a lot like going out into a field and being able to take a drug to see the rain. I could look out, see the rain. It would fall down. It'd be silvery.
It'd be beautiful. But all the crop would still die because there's not actually any rain. I had to discover how to be happy myself. And so for me, it's like the reason why I look at porn is because I was unhappy. I was trying to find meaning. I was trying to find value in something, right? Something that was supposed to finally give me this ultimate satisfaction. And it just does not.
It'd be beautiful. But all the crop would still die because there's not actually any rain. I had to discover how to be happy myself. And so for me, it's like the reason why I look at porn is because I was unhappy. I was trying to find meaning. I was trying to find value in something, right? Something that was supposed to finally give me this ultimate satisfaction. And it just does not.
No matter how hard and no matter how much you think it will, there is no escapade. There is no pornography that will ever give you that satisfaction you're looking for. That's the reason why it's addicting. And that's kind of like my call to why you shouldn't do it, but how to get out of it. I only got out of it by realizing.
No matter how hard and no matter how much you think it will, there is no escapade. There is no pornography that will ever give you that satisfaction you're looking for. That's the reason why it's addicting. And that's kind of like my call to why you shouldn't do it, but how to get out of it. I only got out of it by realizing.
Yeah. I definitely can't say how long it will take a better life, but for me, there's no way in the universe I could have had the relationship that I have without first making those steps. Cause I couldn't value, uh, like I couldn't value my wife in the way that was proper for who she was. I would have valued her through the index or the lens that I currently was looking through. So. Gotta ask.
Yeah. I definitely can't say how long it will take a better life, but for me, there's no way in the universe I could have had the relationship that I have without first making those steps. Cause I couldn't value, uh, like I couldn't value my wife in the way that was proper for who she was. I would have valued her through the index or the lens that I currently was looking through. So. Gotta ask.
What an intro to this topic.
What an intro to this topic.
What's meth like? That's a great intro. You are very correct in the sense that there is, at least when it comes to hallucinogens, there is a wild variance to what you're going to experience. And there is no guarantee. There's no, you know, just because you buy the product doesn't mean you're going to have a good time, right? There's a lot of... Personally, I find that stuff to be very...
What's meth like? That's a great intro. You are very correct in the sense that there is, at least when it comes to hallucinogens, there is a wild variance to what you're going to experience. And there is no guarantee. There's no, you know, just because you buy the product doesn't mean you're going to have a good time, right? There's a lot of... Personally, I find that stuff to be very...
I believe in the spiritual realm, right? Like I believe demons and angels exist. I believe God exists. And that kind of whole realm is like, I don't know what it opens you up to, but it's much, much different experience. Now, some people will be like, oh, it's just a bunch of chemicals in your brain. They all get mixed up.
I believe in the spiritual realm, right? Like I believe demons and angels exist. I believe God exists. And that kind of whole realm is like, I don't know what it opens you up to, but it's much, much different experience. Now, some people will be like, oh, it's just a bunch of chemicals in your brain. They all get mixed up.
LSD just takes all of your pathways and they all go, you know, they all get kind of scrambled up in your brain. And it's just like, yeah, the experiences are profound. I had some really bizarre experiences very cool, very awful. I've had all the experiences in the mall. I can just tell you that I personally always say the same thing. It's like choices that I made, I can never take back.
LSD just takes all of your pathways and they all go, you know, they all get kind of scrambled up in your brain. And it's just like, yeah, the experiences are profound. I had some really bizarre experiences very cool, very awful. I've had all the experiences in the mall. I can just tell you that I personally always say the same thing. It's like choices that I made, I can never take back.
I would never take that away from myself because I don't know if I would be who I am today without all those experiences going up to it. But if you have not had that experience, I'm on your team, or at least partially on your team, maybe more severely. I don't think you need those experiences. I don't think they're going to... You don't have to put yourself through that
I would never take that away from myself because I don't know if I would be who I am today without all those experiences going up to it. But if you have not had that experience, I'm on your team, or at least partially on your team, maybe more severely. I don't think you need those experiences. I don't think they're going to... You don't have to put yourself through that
to make good decisions or to realize that people have value, right? you can, you don't have to do that. So as far as like, what is meth like? Meth is like, if you've ever done cocaine, cocaine starts off with like a 15 minute dance party. Just like, it's just so intense. It's like so great. And then it just followed up with like, like a five hour, like just feeling wiggly. Right.
to make good decisions or to realize that people have value, right? you can, you don't have to do that. So as far as like, what is meth like? Meth is like, if you've ever done cocaine, cocaine starts off with like a 15 minute dance party. Just like, it's just so intense. It's like so great. And then it just followed up with like, like a five hour, like just feeling wiggly. Right.
I don't know how else to describe it. A meth is like that, except for I didn't get as much dance party or any dance party, but instead I just got that part for like 12 hours. Yeah. So did a lot of skateboarding. Did a lot of, you know, running around.
I don't know how else to describe it. A meth is like that, except for I didn't get as much dance party or any dance party, but instead I just got that part for like 12 hours. Yeah. So did a lot of skateboarding. Did a lot of, you know, running around.
So, I mean, this is just like a very interesting kind of area, which is that not... Universally, you can't say that. Often you'll find that there's kind of these two...
So, I mean, this is just like a very interesting kind of area, which is that not... Universally, you can't say that. Often you'll find that there's kind of these two...
groups of drug addicts there's those that like the the opioids and those that like the uppers they typically don't like there's there's very few people in the drug world that do both they're really just kind of like find their side and they go for it so will is meth a thing that everybody's going to enjoy well categorically as you can see and just like how people experience drug addiction no uh
groups of drug addicts there's those that like the the opioids and those that like the uppers they typically don't like there's there's very few people in the drug world that do both they're really just kind of like find their side and they go for it so will is meth a thing that everybody's going to enjoy well categorically as you can see and just like how people experience drug addiction no uh
But for me, it's just like I had a really it kind of like feeds into like the ADHD nature of like this, like, because, you know, you kind of high energy, you're kind of like always in the moment. So it's just like, you're in the moment, but it's just like, oh, I'm in the moment, you know, like, it's like, everything's just so intense, you know, like, you just want to really be in the moment.
But for me, it's just like I had a really it kind of like feeds into like the ADHD nature of like this, like, because, you know, you kind of high energy, you're kind of like always in the moment. So it's just like, you're in the moment, but it's just like, oh, I'm in the moment, you know, like, it's like, everything's just so intense, you know, like, you just want to really be in the moment.
And so it's just experiencing that constantly. Yeah. And so was that great? Well, some people, you know, my wife always tells me this, like being like nervous or I forget the anxiety of a situation can also be the same thing as like thrill. I forget the exact way. She's probably super disappointed that I messed this up.
And so it's just experiencing that constantly. Yeah. And so was that great? Well, some people, you know, my wife always tells me this, like being like nervous or I forget the anxiety of a situation can also be the same thing as like thrill. I forget the exact way. She's probably super disappointed that I messed this up.
But it's like you could perceive those two experiences in very different lights. Some people, you know, get in front of a crowd. It's like thrilling. Some people get in front of it and it's just like the worst experience of their lifetime. They would actually literally rather die, which is a crazy thing to think about. then stand up and speak and so for me meth was that kind of thrilling side
But it's like you could perceive those two experiences in very different lights. Some people, you know, get in front of a crowd. It's like thrilling. Some people get in front of it and it's just like the worst experience of their lifetime. They would actually literally rather die, which is a crazy thing to think about. then stand up and speak and so for me meth was that kind of thrilling side
But at the same time, it still didn't quite give me that thing I wanted. Whatever I was looking for, I'd use it to help try to get that thing I want. But it was never giving me that thing I wanted.
But at the same time, it still didn't quite give me that thing I wanted. Whatever I was looking for, I'd use it to help try to get that thing I want. But it was never giving me that thing I wanted.
That's like a YouTube policy, by the way, that you have to say. By the way, whatever you do, do not do illegal activity. But I had great experience. But whatever you do, don't do it.
That's like a YouTube policy, by the way, that you have to say. By the way, whatever you do, do not do illegal activity. But I had great experience. But whatever you do, don't do it.
Diet Coke is great. That's his funniest line, which is you would hate me if I drank, which I just like to me that tickles me like to no end. Just like, oh, my gosh, that is such a funny line.
Diet Coke is great. That's his funniest line, which is you would hate me if I drank, which I just like to me that tickles me like to no end. Just like, oh, my gosh, that is such a funny line.
I am on your team. All of the reasons why I used drugs and all that was some level of escapism. I'm sure that would be the archetype or the box I'd put that into. Or the pursuit of trying to feel something that cannot come from them. It's like trying to find meaning in your job. You can find satisfaction in what you do. Like that is a very good thing.
I am on your team. All of the reasons why I used drugs and all that was some level of escapism. I'm sure that would be the archetype or the box I'd put that into. Or the pursuit of trying to feel something that cannot come from them. It's like trying to find meaning in your job. You can find satisfaction in what you do. Like that is a very good thing.
You can find satisfaction and be happy with what you've created. You can be thrilled by the experience, but you cannot find, I doubt you can find purpose. You know, maybe some people in specific jobs, you know, like this obviously have very broad strokes I'm painting with. Like if you're an EMT and you save someone's life, maybe, you know, there could be purpose in that whole experience, right?
You can find satisfaction and be happy with what you've created. You can be thrilled by the experience, but you cannot find, I doubt you can find purpose. You know, maybe some people in specific jobs, you know, like this obviously have very broad strokes I'm painting with. Like if you're an EMT and you save someone's life, maybe, you know, there could be purpose in that whole experience, right?
So I'm not saying all things, but like as programming goes, most programmers, you cannot just simply find your purpose. And same with drugs, like you cannot find that thing you're looking for, but they are a very great distraction. Mm-hmm. And then at some point, that distraction comes with a heavy cost. I think Dr. Faust would probably know the best about the heavy cost.
So I'm not saying all things, but like as programming goes, most programmers, you cannot just simply find your purpose. And same with drugs, like you cannot find that thing you're looking for, but they are a very great distraction. Mm-hmm. And then at some point, that distraction comes with a heavy cost. I think Dr. Faust would probably know the best about the heavy cost.
But it's just you're making one trade for another. And at some point, the bill comes due. And that bill can be very, very large.
But it's just you're making one trade for another. And at some point, the bill comes due. And that bill can be very, very large.
I'll paint it in kind of a more clear picture, a very fast speed run of it, is that I took pre-calculus, failed. I took pre-calculus again, failed. Took pre-calculus again and got a C. So I took it three times. Then I took calc over the summer. So calc one. In that one, At the end, the final, the final was a two-hour final.
I'll paint it in kind of a more clear picture, a very fast speed run of it, is that I took pre-calculus, failed. I took pre-calculus again, failed. Took pre-calculus again and got a C. So I took it three times. Then I took calc over the summer. So calc one. In that one, At the end, the final, the final was a two-hour final.
I finished it in 30 minutes, and that is the highest score in all of the school. And I proceeded to be the highest score in all calculus and Diffie Q. I was the only person out of 400 people to finish the Diffie Q final, and I got the highest grade. And so I was like, I got really good. So I somehow went from really bad to really good. And so my only, the thing that I did is that I had to win.
I finished it in 30 minutes, and that is the highest score in all of the school. And I proceeded to be the highest score in all calculus and Diffie Q. I was the only person out of 400 people to finish the Diffie Q final, and I got the highest grade. And so I was like, I got really good. So I somehow went from really bad to really good. And so my only, the thing that I did is that I had to win.
It was not a option. It was not like, oh, you know, this would be really great. It's like, I will not graduate. I will not finish my stuff if I cannot do this. And so every single day I got up, I went to my, however many hour class it was. Right after that, I went straight to the math learning center, did those problems. When I got home, I just got the book and it had the odd answers in the back.
It was not a option. It was not like, oh, you know, this would be really great. It's like, I will not graduate. I will not finish my stuff if I cannot do this. And so every single day I got up, I went to my, however many hour class it was. Right after that, I went straight to the math learning center, did those problems. When I got home, I just got the book and it had the odd answers in the back.
And I would try to walk through the problems over and over and over and over again until I absolutely got it. And it just became this thing where I just simple rote memory took over.
And I would try to walk through the problems over and over and over and over again until I absolutely got it. And it just became this thing where I just simple rote memory took over.
And the ability to just effectively have the times table, but for calculus, all stuck in my head, inverse trig substitution, trig substitution, doing Taylor-McClaren series, like all those things kind of just over and over and over and over again. Eventually, they became easy. It became very easy. It's just that I had to cram it in there.
And the ability to just effectively have the times table, but for calculus, all stuck in my head, inverse trig substitution, trig substitution, doing Taylor-McClaren series, like all those things kind of just over and over and over and over again. Eventually, they became easy. It became very easy. It's just that I had to cram it in there.
And some people, you know, you hear these stories where they barely show up to class and they get A's. I've never been that person. I've always been the person that has to sit down, read through everything. And I'm bad at abstract concepts. I like the concrete into the abstract, not the abstract into the concrete. Very bad at talking about things theoretically, then trying to apply them.
And some people, you know, you hear these stories where they barely show up to class and they get A's. I've never been that person. I've always been the person that has to sit down, read through everything. And I'm bad at abstract concepts. I like the concrete into the abstract, not the abstract into the concrete. Very bad at talking about things theoretically, then trying to apply them.
But if I can do it once... literally, then it's really easy for me to go into the abstract. And so it's just like, for me, it just, I had, there's no substitute for the hours. So if you, if I were to give advice, it's just that you have to have time in the saddle. Hour after hour will make you slowly better. And at first it's crushing, it's defeating, and it's not fun because you are bad at it.
But if I can do it once... literally, then it's really easy for me to go into the abstract. And so it's just like, for me, it just, I had, there's no substitute for the hours. So if you, if I were to give advice, it's just that you have to have time in the saddle. Hour after hour will make you slowly better. And at first it's crushing, it's defeating, and it's not fun because you are bad at it.
But then at some point, you're just not bad at it if you can just do it long enough. And you'll start getting okay at it. And then at some point, you might even get good at it. And when you get good at something, it feels amazing. There's like an exploratory thing.
But then at some point, you're just not bad at it if you can just do it long enough. And you'll start getting okay at it. And then at some point, you might even get good at it. And when you get good at something, it feels amazing. There's like an exploratory thing.
Like if you've ever played a musical instrument, you stop having to think about all the little teeny things you have to do to be able to play something correctly. And you start thinking about how you can explore that space. It's like a completely different problem. Same with programming. Programming has an identical kind of feel to it.
Like if you've ever played a musical instrument, you stop having to think about all the little teeny things you have to do to be able to play something correctly. And you start thinking about how you can explore that space. It's like a completely different problem. Same with programming. Programming has an identical kind of feel to it.
It's just like you'll cross that barrier and it becomes magical as opposed to a chore.
It's just like you'll cross that barrier and it becomes magical as opposed to a chore.
Everything's come really hard. Yeah. I do not. I've had no free lunches. Everything's just been a lot of pain and struggle.
Everything's come really hard. Yeah. I do not. I've had no free lunches. Everything's just been a lot of pain and struggle.
Yeah, I don't just dislike it. I hate that phrase.
Yeah, I don't just dislike it. I hate that phrase.
The reason why I dislike that is that there is a kind of a hidden suggestion there, which is that you already know what smarter is. So just do that, that actually things should be easy. You should just not have to like try that hard. You should just do the quick, easy, obvious path and boom, it's done. It's like, I've never experienced that in anything I've done.
The reason why I dislike that is that there is a kind of a hidden suggestion there, which is that you already know what smarter is. So just do that, that actually things should be easy. You should just not have to like try that hard. You should just do the quick, easy, obvious path and boom, it's done. It's like, I've never experienced that in anything I've done.
Everything is actually really hard. And most of the time, I don't even know what I'm doing. So therefore, I don't even know what smart looks like. And so for me, the only way I can learn how to work smart is by working very, very hard and knowing that there's no shortcuts. And then when I finally figure out what smart is, when I work smart and work hard, it is that much better.
Everything is actually really hard. And most of the time, I don't even know what I'm doing. So therefore, I don't even know what smart looks like. And so for me, the only way I can learn how to work smart is by working very, very hard and knowing that there's no shortcuts. And then when I finally figure out what smart is, when I work smart and work hard, it is that much better.
There's a lot of these phrases that just drive me nuts in our society.
There's a lot of these phrases that just drive me nuts in our society.
Just work smart, dog. Why are you putting in all those hours? Yeah.
Just work smart, dog. Why are you putting in all those hours? Yeah.
I think I should make an addendum to the phrase. I think the phrase should be, work hard, get smart. Nice.
I think I should make an addendum to the phrase. I think the phrase should be, work hard, get smart. Nice.
That's what it should be. Yeah. Agreed. Okay. That was a tangent of a tangent. Can I say one more phrase, cultural phrase that I absolutely hate? Yes. The journey is better than the destination. Right? Everyone's heard this, right? Just take one second to apply what that means. That means forever, starting from now, you are only going towards a place that's worse.
That's what it should be. Yeah. Agreed. Okay. That was a tangent of a tangent. Can I say one more phrase, cultural phrase that I absolutely hate? Yes. The journey is better than the destination. Right? Everyone's heard this, right? Just take one second to apply what that means. That means forever, starting from now, you are only going towards a place that's worse.
Like that literally is what it means. Enjoy the journey. Celebrate the destination. That's like that should be what it would be. But no, people say these phrases are everywhere. There's these very shallow phrases that have no logical bounds to them. You're just like, what does that? Why would the journey ever be better than the destination? Because you're always this.
Like that literally is what it means. Enjoy the journey. Celebrate the destination. That's like that should be what it would be. But no, people say these phrases are everywhere. There's these very shallow phrases that have no logical bounds to them. You're just like, what does that? Why would the journey ever be better than the destination? Because you're always this.
I think this might even be a C.S. Lewis quote is that C.S. Lewis was like, no, this is terrible. The journey is not, in fact, better than the destination.
I think this might even be a C.S. Lewis quote is that C.S. Lewis was like, no, this is terrible. The journey is not, in fact, better than the destination.
I feel that one so, so much being in California for a few years. That is painful.
I feel that one so, so much being in California for a few years. That is painful.
Oh my gosh, I want that.
Oh my gosh, I want that.
Hey, hi, this is the primogen. You know, one thing that I forgot to mention in this podcast, which feels just so foolish to me for forgetting, is just what a big role my mom played in my life. She had to work 18 hours a day after my dad died. She really made our house be able to survive. I always looked up to her and I always thought her amazing.
Hey, hi, this is the primogen. You know, one thing that I forgot to mention in this podcast, which feels just so foolish to me for forgetting, is just what a big role my mom played in my life. She had to work 18 hours a day after my dad died. She really made our house be able to survive. I always looked up to her and I always thought her amazing.
And she really was the reason why when I decided to get my butt kicked back in gear, She's just someone who I looked to as like an internal kind of inspiration for me to continue to keep on going because I really wanted to make her proud. And all those years of just high energy effort, I really wanted to make sure that she knew that I was just so dang appreciative for it.
And she really was the reason why when I decided to get my butt kicked back in gear, She's just someone who I looked to as like an internal kind of inspiration for me to continue to keep on going because I really wanted to make her proud. And all those years of just high energy effort, I really wanted to make sure that she knew that I was just so dang appreciative for it.
So, hey, I just wanted to say thank you. Love you, mom.
So, hey, I just wanted to say thank you. Love you, mom.
By the way.
By the way.
Yeah, so I kind of alluded to it earlier that I wanted to do my own startup. So for, I forget how long it was, one or two years or two and a half years, built a startup, PHP, jQuery, everyone's favorite languages all put together. You can solve math stuff with jQuery. So I just was like totally into just nonstop doing that. This is like the height of Stack Overflow.
Yeah, so I kind of alluded to it earlier that I wanted to do my own startup. So for, I forget how long it was, one or two years or two and a half years, built a startup, PHP, jQuery, everyone's favorite languages all put together. You can solve math stuff with jQuery. So I just was like totally into just nonstop doing that. This is like the height of Stack Overflow.
I was asking really dumb questions on Stack Overflow, like what is more Pythonic? And then you get a bunch of upvotes and try to steal a bunch of karma away. Like all the fun stuff to do. Good times. And I was just like so into it, breathing. And I just breathe it in, breathe it out. And that's what I do all day, every day. And so it's just like nonstop building of a startup.
I was asking really dumb questions on Stack Overflow, like what is more Pythonic? And then you get a bunch of upvotes and try to steal a bunch of karma away. Like all the fun stuff to do. Good times. And I was just like so into it, breathing. And I just breathe it in, breathe it out. And that's what I do all day, every day. And so it's just like nonstop building of a startup.
Ultimately, that startup failed. And so I had to go get a real job. Can you say what the startup was? Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Ultimately, that startup failed. And so I had to go get a real job. Can you say what the startup was? Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. They gave me my PlayStation 3. My boss said, go learn some code. Come back to me in a couple of days and tell me what you've learned. Then I'm going to start giving you bugs to fix. Wait, wait. PlayStation 3, what are you talking about? Well, I was on the TV team.
Thank you. They gave me my PlayStation 3. My boss said, go learn some code. Come back to me in a couple of days and tell me what you've learned. Then I'm going to start giving you bugs to fix. Wait, wait. PlayStation 3, what are you talking about? Well, I was on the TV team.
I had to go plug in a PlayStation and start launching programs onto the PlayStation 3 and figure out how to work Netflix on a television device.
I had to go plug in a PlayStation and start launching programs onto the PlayStation 3 and figure out how to work Netflix on a television device.
Yeah, not as many TVs had Netflix, let alone what they called their Darwin app, which is their new application. So if you bought a Vizio earlier... earlier that year, you'd get their older one there. It's called Plus UI. You get their older version. And so not many had the newer version. We no longer supported Plus or we never actively developed on Plus. We only did stuff on Darwin.
Yeah, not as many TVs had Netflix, let alone what they called their Darwin app, which is their new application. So if you bought a Vizio earlier... earlier that year, you'd get their older one there. It's called Plus UI. You get their older version. And so not many had the newer version. We no longer supported Plus or we never actively developed on Plus. We only did stuff on Darwin.
And so I had to learn that whole stack. The back end or the middle end, the middle layer between the actual back end and the front end was written in Groovy. And as I went around, Groovy is, if you're not familiar with Jenkins, then you've probably never interacted with Groovy. But Groovy is a JVM language. It's a very interesting language, but here's how it got started at Netflix.
And so I had to learn that whole stack. The back end or the middle end, the middle layer between the actual back end and the front end was written in Groovy. And as I went around, Groovy is, if you're not familiar with Jenkins, then you've probably never interacted with Groovy. But Groovy is a JVM language. It's a very interesting language, but here's how it got started at Netflix.
All right, so the AI is kind of lying to you. Groovy is not a powerful, great language. That statement makes it seem way cooler than it actually is. You will meet one out of 100 people that have touched Groovy that said, oh, yeah, Groovy's great.
All right, so the AI is kind of lying to you. Groovy is not a powerful, great language. That statement makes it seem way cooler than it actually is. You will meet one out of 100 people that have touched Groovy that said, oh, yeah, Groovy's great.
The other 99 will be like, heavens forbid you ever have to touch that language.
The other 99 will be like, heavens forbid you ever have to touch that language.
So when I got there, nobody, not a single soul at Netflix, there's 40 some engineers, had any idea how Groovy pretty much worked. Somehow people just hacked together these scripts and put them all on there and it worked. And it was all, this was before there was a Groovy arcs, port. We wrote our own version called WX. It was a nightmare. Observables, all these things.
So when I got there, nobody, not a single soul at Netflix, there's 40 some engineers, had any idea how Groovy pretty much worked. Somehow people just hacked together these scripts and put them all on there and it worked. And it was all, this was before there was a Groovy arcs, port. We wrote our own version called WX. It was a nightmare. Observables, all these things.
I remember one time they told me that, oh yeah, you know, with RX, it's really easy. You just say what you need to do. It maps out and boom, boom, boom, boom. Everything will run multi-thread and all that. And I was like, oh wow, really? So all I did was go like observable.sleep1.com. because I just wanted to see it sleep and then do the next thing.
I remember one time they told me that, oh yeah, you know, with RX, it's really easy. You just say what you need to do. It maps out and boom, boom, boom, boom. Everything will run multi-thread and all that. And I was like, oh wow, really? So all I did was go like observable.sleep1.com. because I just wanted to see it sleep and then do the next thing.
And it turns out when a thread sleeps itself, no thread can wake it up. And I just turned off all of staging because I ran it like 10 times like, oh, it's not responding. Oh, it's not responding. Oh, now it's not even coming back. Broke all of staging for everybody.
And it turns out when a thread sleeps itself, no thread can wake it up. And I just turned off all of staging because I ran it like 10 times like, oh, it's not responding. Oh, it's not responding. Oh, now it's not even coming back. Broke all of staging for everybody.
So no developer could work for the rest of the afternoon because I locked up all the instances because it turns out, no, it was in fact not multi-threaded. Every assumption we've been told is a lie. No one had any idea what they were doing. It was a wild time. And so I just simply naturally gravitated towards that because I'm good at printf debugging. I'm good at doing those things.
So no developer could work for the rest of the afternoon because I locked up all the instances because it turns out, no, it was in fact not multi-threaded. Every assumption we've been told is a lie. No one had any idea what they were doing. It was a wild time. And so I just simply naturally gravitated towards that because I'm good at printf debugging. I'm good at doing those things.
So I was like, here, I'll just figure this out here. I will do this. So I had to rewrite how we do the data structure on the front end for the TV. from what is called a lolomo, list of list of movies, into loloromo, which is a list of list of recommendation objects for a movie. Why would we need to do that? Think about this. You have two lists.
So I was like, here, I'll just figure this out here. I will do this. So I had to rewrite how we do the data structure on the front end for the TV. from what is called a lolomo, list of list of movies, into loloromo, which is a list of list of recommendation objects for a movie. Why would we need to do that? Think about this. You have two lists.
One has live free, die hard Bruce Willis because you love Bruce Willis. The other one has live free, die hard because you want tough men doing tough jobs. Well, during those days, we'd only have one way we could show evidence why you wanted it. So we couldn't say, oh, because you liked this other movie. You'd go to that one and say the same thing.
One has live free, die hard Bruce Willis because you love Bruce Willis. The other one has live free, die hard because you want tough men doing tough jobs. Well, during those days, we'd only have one way we could show evidence why you wanted it. So we couldn't say, oh, because you liked this other movie. You'd go to that one and say the same thing.
So we had to kind of add one level of indirection where we could decorate the video with the recommendation information.
So we had to kind of add one level of indirection where we could decorate the video with the recommendation information.
Yeah, so you can't hang it off the video because obviously then it would be the same for everything that shows that same video. That's amazing. I had to do all this, and I wrote it in Groovy, and I just did it. And people were like, how did you write this in Groovy? And I was just like, well, I read the language reference for a day and then programmed it well. What do you mean?
Yeah, so you can't hang it off the video because obviously then it would be the same for everything that shows that same video. That's amazing. I had to do all this, and I wrote it in Groovy, and I just did it. And people were like, how did you write this in Groovy? And I was just like, well, I read the language reference for a day and then programmed it well. What do you mean?
It was a very radical language, shall we say. And so I just simply became the person that knew these things. They just give me more and more jobs with that. And so that's kind of how I excelled, being the person that was willing to do the thing that no one else was.
It was a very radical language, shall we say. And so I just simply became the person that knew these things. They just give me more and more jobs with that. And so that's kind of how I excelled, being the person that was willing to do the thing that no one else was.
The reason why I've always just been good at print dev debugging, because one of my first kind of side quest jobs that I got was writing robots for the government when I was still at school. And so I'd kind of do this contractually for so many hours. so many hours a week. And my boss, Hunter Lloyd, great professor, by the way, he just said, hey, here's your computer. Here's the robot.
The reason why I've always just been good at print dev debugging, because one of my first kind of side quest jobs that I got was writing robots for the government when I was still at school. And so I'd kind of do this contractually for so many hours. so many hours a week. And my boss, Hunter Lloyd, great professor, by the way, he just said, hey, here's your computer. Here's the robot.
Here's how you plug it in. Here's how you run the code. Can you write the flash driver, the ethernet driver? Can you write the planetary pancake motor? Here's some manuals. I'm missing some. Just figure it out. I'll be back. So that was government work for me. So I was like, okay, I'll figure all these things out. And I figured them all out.
Here's how you plug it in. Here's how you run the code. Can you write the flash driver, the ethernet driver? Can you write the planetary pancake motor? Here's some manuals. I'm missing some. Just figure it out. I'll be back. So that was government work for me. So I was like, okay, I'll figure all these things out. And I figured them all out.
And the only way to really get anything out of the machine was to print. And so it's like, I had to become really good at printing my way through problems. And so that kind of became this like skill, I guess I adopted is that I can just kind of print after bug. my way through a lot of these problems.
And the only way to really get anything out of the machine was to print. And so it's like, I had to become really good at printing my way through problems. And so that kind of became this like skill, I guess I adopted is that I can just kind of print after bug. my way through a lot of these problems.
Obviously, I'm not a game developer, probably a different world, probably should use... I think John Carmack was on here and talked how great the debugger is. Different world. Because when I was at Netflix, there's machines that exist somewhere where on AWS, I'm not logged into them. I don't even know how to log into them. I'm not even sure if I have credentials to log into them.
Obviously, I'm not a game developer, probably a different world, probably should use... I think John Carmack was on here and talked how great the debugger is. Different world. Because when I was at Netflix, there's machines that exist somewhere where on AWS, I'm not logged into them. I don't even know how to log into them. I'm not even sure if I have credentials to log into them.
They run once somewhere, and I have to figure out what happened and why it's happening. So it's like, I'm going to become... This is like, this is what I've trained for. I'm a print after bugging champion. So it's just like, I could just run through these things really quickly and figure out why they're happening the way they're happening.
They run once somewhere, and I have to figure out what happened and why it's happening. So it's like, I'm going to become... This is like, this is what I've trained for. I'm a print after bugging champion. So it's just like, I could just run through these things really quickly and figure out why they're happening the way they're happening.
Well, I had the code, so it's like I can kind of blueprint what's happening. Like, I don't understand the services or anything that's happening, but you can start guessing pretty quick as to what's going wrong.
Well, I had the code, so it's like I can kind of blueprint what's happening. Like, I don't understand the services or anything that's happening, but you can start guessing pretty quick as to what's going wrong.
I have a very great story about that. This is what I think has shaped me the most about my perspective of other devs. There's this dev, and he always just wrote things in just what I thought was such a bizarre and weird way. And this had to do with Falcor, so our data fetching library for Netflix. This would run on mobile, so I had to write in Objective-C.
I have a very great story about that. This is what I think has shaped me the most about my perspective of other devs. There's this dev, and he always just wrote things in just what I thought was such a bizarre and weird way. And this had to do with Falcor, so our data fetching library for Netflix. This would run on mobile, so I had to write in Objective-C.
It had to run on television, and it had to also run on web. So it ran on everything. And me and one other person were responsible for this thing working. And the request side where we'd had to de-dupe the information that we already have, the requests that were pending, and the new data.
It had to run on television, and it had to also run on web. So it ran on everything. And me and one other person were responsible for this thing working. And the request side where we'd had to de-dupe the information that we already have, the requests that were pending, and the new data.
So I had to figure all that out based on what someone's requesting and then just only optimally request the stuff that we don't have. He wrote it in such a goofy way. And I'm thinking, man, this guy is just, what a goofball. So I delete it all. And I start writing. And I'm like, look at how much nicer this is. It's looking so good. I'm like, ooh. There's that one edge case.
So I had to figure all that out based on what someone's requesting and then just only optimally request the stuff that we don't have. He wrote it in such a goofy way. And I'm thinking, man, this guy is just, what a goofball. So I delete it all. And I start writing. And I'm like, look at how much nicer this is. It's looking so good. I'm like, ooh. There's that one edge case.
Okay, I can see why he wrote it this one way. That's not a big deal, though. The rest of my code is really great. By the end of it, I'm like, I literally almost line for line just reproduced what he already wrote. It's like slightly different towards my style, but I just wrote the same code. I'm like, I'm an idiot. I am the idiot in this situation because it was already a solved problem.
Okay, I can see why he wrote it this one way. That's not a big deal, though. The rest of my code is really great. By the end of it, I'm like, I literally almost line for line just reproduced what he already wrote. It's like slightly different towards my style, but I just wrote the same code. I'm like, I'm an idiot. I am the idiot in this situation because it was already a solved problem.
I just didn't take the time to learn what he did. Instead, I relearned what he did by rewriting the entire thing.
I just didn't take the time to learn what he did. Instead, I relearned what he did by rewriting the entire thing.
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 data structures. And the teacher that was teaching, Ray Babcock, he was talking about linked lists. Now, you have to learn Java at Montana State University when I went. And so...
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 data structures. And the teacher that was teaching, Ray Babcock, he was talking about linked lists. Now, you have to learn Java at Montana State University when I went. And so...
I highly recommend starting from scratch if you want to understand a concept. You don't know how an HTTP server works? Create a TCP socket, learn how to parse HTTP. It'll become very easy and you'll go, this is the reason why whenever I get a request, I have to await the text. I now understand why the text is for whatever reason not there. I get it. I now understand it.
I highly recommend starting from scratch if you want to understand a concept. You don't know how an HTTP server works? Create a TCP socket, learn how to parse HTTP. It'll become very easy and you'll go, this is the reason why whenever I get a request, I have to await the text. I now understand why the text is for whatever reason not there. I get it. I now understand it.
And so you kind of gain these new perspectives just by simply parsing something out.
And so you kind of gain these new perspectives just by simply parsing something out.
Yeah, yeah.
Yeah, yeah.
I'd be glad to. So this Falcor. So there's this Falcor business, right? And I kind of, I did discover the bug before anybody else. And I did report it to security. And, and it was so bad. It actually got its own name, repulsive grizzly attack.
I'd be glad to. So this Falcor. So there's this Falcor business, right? And I kind of, I did discover the bug before anybody else. And I did report it to security. And, and it was so bad. It actually got its own name, repulsive grizzly attack.
And they even give examples of how to do it. Effectively, what it means is that there is a request that targets both memory and CPU and will destroy. There you go. Look at how Netflix, the next one down was the article that was actually written. I don't get mentioned, which is a little bit upsetting considering I was the one that discovered it and told everybody how bad it was.
And they even give examples of how to do it. Effectively, what it means is that there is a request that targets both memory and CPU and will destroy. There you go. Look at how Netflix, the next one down was the article that was actually written. I don't get mentioned, which is a little bit upsetting considering I was the one that discovered it and told everybody how bad it was.
Anyways, and had the right to fix for it or the first fix. So this is how it works. is that you can do something pretty similar, I believe with GraphQL as well, it has the same kind of danger, any of these kind of RPC request as much or as little of the data as you would like frameworks, are vulnerable to this kind of attack. So with Falcor, what you do is you give it an array.
Anyways, and had the right to fix for it or the first fix. So this is how it works. is that you can do something pretty similar, I believe with GraphQL as well, it has the same kind of danger, any of these kind of RPC request as much or as little of the data as you would like frameworks, are vulnerable to this kind of attack. So with Falcor, what you do is you give it an array.
An array is called a path, and that's the path to the data. But sometimes you don't want to have to write out, I want row zero or list zero or row zero, column zero, title. I want row zero, column zero, description. You don't want to have to write out all that. So instead, you could just be like, I want rows zero through 10, columns zero through 10 titles and descriptions.
An array is called a path, and that's the path to the data. But sometimes you don't want to have to write out, I want row zero or list zero or row zero, column zero, title. I want row zero, column zero, description. You don't want to have to write out all that. So instead, you could just be like, I want rows zero through 10, columns zero through 10 titles and descriptions.
So you can write in a very compact, nice little format and it'll give you all that data. It'll go to the server, the server will fill that all in and give it to you. Oh, dang it. List three, it only had three videos in it. So what happens when I try to re-request the data? Well, I need a way to be able to tell my system that you'd have requested the data and there's nothing there.
So you can write in a very compact, nice little format and it'll give you all that data. It'll go to the server, the server will fill that all in and give it to you. Oh, dang it. List three, it only had three videos in it. So what happens when I try to re-request the data? Well, I need a way to be able to tell my system that you'd have requested the data and there's nothing there.
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.
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.
So this is called like a, call this like a boxed value. So it's gonna be like type something, value, there's nothing there. We've already requested it and there's nothing there. It's like a Sentinel value, if you will, a boxed value.
So this is called like a, call this like a boxed value. So it's gonna be like type something, value, there's nothing there. We've already requested it and there's nothing there. It's like a Sentinel value, if you will, a boxed value.
We have this little special flag we'd pass called materialize, meaning that when you ask for a path, we will make sure we fill it out so we don't actually erase anything. And at the very end, we'll say, okay, the thing does, the request you've made has already been made and there's nothing there.
We have this little special flag we'd pass called materialize, meaning that when you ask for a path, we will make sure we fill it out so we don't actually erase anything. And at the very end, we'll say, okay, the thing does, the request you've made has already been made and there's nothing there.
Well, what happens if I request rows zero through 10,000, columns through 10,000, one more item through 10,000, and then a whole bunch of properties, and then ask it to materialize? Well, I'm about to go create billions of objects in the JVM. And what happens to the machine? It stops running. And then if we try to JSON, even if it could create them all, we then ask it that JSON serialize.
Well, what happens if I request rows zero through 10,000, columns through 10,000, one more item through 10,000, and then a whole bunch of properties, and then ask it to materialize? Well, I'm about to go create billions of objects in the JVM. And what happens to the machine? It stops running. And then if we try to JSON, even if it could create them all, we then ask it that JSON serialize.
It's not going to do it. Like it's impossible. And so that was the attack vector is a simple while loop would have taken down and held down Netflix. for a very long time, because one request would kill one machine on AWS. And so that means it would just turn it all off. And this was on the website, this was on TV, this was on mobile, like this was profound.
It's not going to do it. Like it's impossible. And so that was the attack vector is a simple while loop would have taken down and held down Netflix. for a very long time, because one request would kill one machine on AWS. And so that means it would just turn it all off. And this was on the website, this was on TV, this was on mobile, like this was profound.
And here's the worst part, it was in production for years. So we couldn't even roll it back. There was no like, oh, crap, let's just roll back to two weeks ago. And we'll kind of fix for and figure out no, it's like we could roll back to 2011. Like, that's our option. It's 2011 and that's it. So we had to figure out a way forward and all that.
And here's the worst part, it was in production for years. So we couldn't even roll it back. There was no like, oh, crap, let's just roll back to two weeks ago. And we'll kind of fix for and figure out no, it's like we could roll back to 2011. Like, that's our option. It's 2011 and that's it. So we had to figure out a way forward and all that.
And so it was like, the amount of problems that would have happened if someone would have discovered this is unstatable.
And so it was like, the amount of problems that would have happened if someone would have discovered this is unstatable.
Yeah, the UI, like you couldn't perform any actions in the UI, you'd surprisingly could still stream video, but you would never be able to get to a video to stream because every action you would take would be completely shut down. And so it wasn't a DDoS because you didn't need a bunch of computers to try to overwhelm the system by making a bunch of requests, one request, one machine.
Yeah, the UI, like you couldn't perform any actions in the UI, you'd surprisingly could still stream video, but you would never be able to get to a video to stream because every action you would take would be completely shut down. And so it wasn't a DDoS because you didn't need a bunch of computers to try to overwhelm the system by making a bunch of requests, one request, one machine.
If we had 50 machines serving the millions of requests, it only take 50 requests to shut down the entire UI.
If we had 50 machines serving the millions of requests, it only take 50 requests to shut down the entire UI.
Yeah, it's, I mean, this is why people use Cloudflare. I think DHH said it best, which is like, we have our website, and we have a strong bodyguard on the outside. So Cloudflare has a bunch of utilities all built in.
Yeah, it's, I mean, this is why people use Cloudflare. I think DHH said it best, which is like, we have our website, and we have a strong bodyguard on the outside. So Cloudflare has a bunch of utilities all built in.
Because, you know, obviously, this is why everyone hates all these Bluetooth devices that connect to the internet, because they just turn into attack vectors where people use those to DOS. or DDoS other sites. And so you don't need something sophisticated. You just need a bunch of requests to come in and you can take down websites.
Because, you know, obviously, this is why everyone hates all these Bluetooth devices that connect to the internet, because they just turn into attack vectors where people use those to DOS. or DDoS other sites. And so you don't need something sophisticated. You just need a bunch of requests to come in and you can take down websites.
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, 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 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, 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 so that's why these fronts are really good at kind of discovering where these problems are. But DDoS is a bit different because it doesn't have to be overwhelming by using resources with a whole bunch of requests. It really just means simply that there's a denial of service attack.
And so that's why these fronts are really good at kind of discovering where these problems are. But DDoS is a bit different because it doesn't have to be overwhelming by using resources with a whole bunch of requests. It really just means simply that there's a denial of service attack.
One of them could be there's a regex attack that existed where Cloudflare actually did it to itself and shut itself down, which is there's a regex expansion attack where given the right kind of regex, if you know someone's running a specific regex, you can actually provide input that is maximally bad. And that thing goes to like super processing. It takes 10 seconds to process a single request.
One of them could be there's a regex attack that existed where Cloudflare actually did it to itself and shut itself down, which is there's a regex expansion attack where given the right kind of regex, if you know someone's running a specific regex, you can actually provide input that is maximally bad. And that thing goes to like super processing. It takes 10 seconds to process a single request.
Then you only need to make hundreds of requests and you shut down the whole service. It's not like you need some giant machinery to make 1 trillion requests. You only need just some small amount to completely destroy a service. And so there's, the web is an extremely difficult place to do it correct. This is super fascinating.
Then you only need to make hundreds of requests and you shut down the whole service. It's not like you need some giant machinery to make 1 trillion requests. You only need just some small amount to completely destroy a service. And so there's, the web is an extremely difficult place to do it correct. This is super fascinating.
I assume there's probably a huge number of just really simple ones, script kitties, right? Just people trying to just do things. And then there's a huge amount of like social engineering that just goes in where hacking is done, not with a computer, but just by, you know, one of the classic ones, Kevin Mitnick had this one in his book, which was,
I assume there's probably a huge number of just really simple ones, script kitties, right? Just people trying to just do things. And then there's a huge amount of like social engineering that just goes in where hacking is done, not with a computer, but just by, you know, one of the classic ones, Kevin Mitnick had this one in his book, which was,
You'd call up somebody pretending to be like, Charlene, we're doing some auditing, and I think your PIN's out of date on file. Is it 2323 still? And they're like, no, it's 4747. You're like, oh, thanks, Sharon. You know, boom, you just hacked them, right? Like the classic. People love correcting bad information. This is like a standard. So there's all these ways people hack. And so...
You'd call up somebody pretending to be like, Charlene, we're doing some auditing, and I think your PIN's out of date on file. Is it 2323 still? And they're like, no, it's 4747. You're like, oh, thanks, Sharon. You know, boom, you just hacked them, right? Like the classic. People love correcting bad information. This is like a standard. So there's all these ways people hack. And so...
My assumption is that there are really great white hat hackers. There's really great black hat hackers. But the vulnerability space, the harp, the thing is, is that
My assumption is that there are really great white hat hackers. There's really great black hat hackers. But the vulnerability space, the harp, the thing is, is that
discovering a vulnerability and you don't let anyone know the white hat hacker still has to make that same discovery yeah and that's where i think the real thing is that black hat hacking in some sense has a fundamentally easier job or at least a job in which they can take advantage of for much longer periods of time one's the process of discovering who's breaking the system the other one's trying to figure out how to break the system and it seems like most software is held together by toothpicks and glue yeah and there is a lot of dangers in every piece
discovering a vulnerability and you don't let anyone know the white hat hacker still has to make that same discovery yeah and that's where i think the real thing is that black hat hacking in some sense has a fundamentally easier job or at least a job in which they can take advantage of for much longer periods of time one's the process of discovering who's breaking the system the other one's trying to figure out how to break the system and it seems like most software is held together by toothpicks and glue yeah and there is a lot of dangers in every piece
We're back to a beautiful mind, aren't we?
We're back to a beautiful mind, aren't we?
You're not wrong though with the attack factor, especially in the day of AI. Like one thing that I don't think a lot of people are talking about as we integrate more and more AI is that prompt injection is like an extremely hard thing to defend against because it's not really clear how you defend against it. If it's just a, you know, at the end of the day, word calculator make word come out,
You're not wrong though with the attack factor, especially in the day of AI. Like one thing that I don't think a lot of people are talking about as we integrate more and more AI is that prompt injection is like an extremely hard thing to defend against because it's not really clear how you defend against it. If it's just a, you know, at the end of the day, word calculator make word come out,
And I just remember being just so blown away because 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.
And I just remember being just so blown away because 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.
If you can figure out the proper word calculator input, it might just break its bounds and start doing something it's not supposed to do. And there's a whole future where there's all these products that are going to be vulnerable to things they never thought about. It's one thing where you forget an edge case while you're programming.
If you can figure out the proper word calculator input, it might just break its bounds and start doing something it's not supposed to do. And there's a whole future where there's all these products that are going to be vulnerable to things they never thought about. It's one thing where you forget an edge case while you're programming.
Now you have to guess what people might be able to think of making something that has access to a system be able to do. And you don't have a way to reason about it. Its reasoning came from Reddit and other words that it's read and how to put things together. Like this is a very, it's a massive space that's going to be happening. It's why I'm personally thinking, don't give too many powers yet.
Now you have to guess what people might be able to think of making something that has access to a system be able to do. And you don't have a way to reason about it. Its reasoning came from Reddit and other words that it's read and how to put things together. Like this is a very, it's a massive space that's going to be happening. It's why I'm personally thinking, don't give too many powers yet.
Like we don't know the attacks that are about to happen.
Like we don't know the attacks that are about to happen.
I broke production quite a few times. I've broken productions for so many stupid reasons. One time I broke production because... I came up in the PHP and PHP static means static for the lifetime of the PHP and PHP was the lifetime of every request, right? That's why PHP was so inefficient, was that every request was its own like instance, and therefore static memory was for the lifetime.
I broke production quite a few times. I've broken productions for so many stupid reasons. One time I broke production because... I came up in the PHP and PHP static means static for the lifetime of the PHP and PHP was the lifetime of every request, right? That's why PHP was so inefficient, was that every request was its own like instance, and therefore static memory was for the lifetime.
I guess I never put that together. And so I had some objects that I made static because I was like, oh, I just need this for the lifetime of the request. And lo and behold, those weren't lifetime requests. a whole bunch of bad data got all over the place.
I guess I never put that together. And so I had some objects that I made static because I was like, oh, I just need this for the lifetime of the request. And lo and behold, those weren't lifetime requests. a whole bunch of bad data got all over the place.
People were showing up saying they were from all these different countries and everything was all wrong because I just, whoopsie daisies, I just made a whole conundrum with that. So that was one time I did it.
People were showing up saying they were from all these different countries and everything was all wrong because I just, whoopsie daisies, I just made a whole conundrum with that. So that was one time I did it.
Another time is I took down, if you were on the homepage on the website waiting for Lady Gaga's video to come out and you were watching the countdown go down, if it reached zero, the billboard would freeze and it wouldn't work. If you refreshed, it would work, but the reveal...
Another time is I took down, if you were on the homepage on the website waiting for Lady Gaga's video to come out and you were watching the countdown go down, if it reached zero, the billboard would freeze and it wouldn't work. If you refreshed, it would work, but the reveal...
The big reveal, I screwed that up and my boss got real upset and so did other people in Hollywood got upset about that one. That was like a my bad. Sorry, Jeff Wagner again. I remember that one. I remember that one specifically one time I released a bug where again on the billboard, if you pressed add to my list, I accidentally programmed in an infinite loop.
The big reveal, I screwed that up and my boss got real upset and so did other people in Hollywood got upset about that one. That was like a my bad. Sorry, Jeff Wagner again. I remember that one. I remember that one specifically one time I released a bug where again on the billboard, if you pressed add to my list, I accidentally programmed in an infinite loop.
And it just, your whole webpage would just freeze.
And it just, your whole webpage would just freeze.
That one seems really easy looking back on it. And there was, we actually, during those days, we had manual QA that are supposed to go through everything. So I didn't feel as bad because my manual QA counterpart also missed it. Like we all missed it, but it was just so simple. Just press that button. Boom. It just completely freezes the website.
That one seems really easy looking back on it. And there was, we actually, during those days, we had manual QA that are supposed to go through everything. So I didn't feel as bad because my manual QA counterpart also missed it. Like we all missed it, but it was just so simple. Just press that button. Boom. It just completely freezes the website.
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.
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 I just didn't understand, like, in my head, static was like, oh, this is for the life. Like, I was just so locked into the PHP world at that time that I didn't. I just made a, just a, just such a, like looking back on it, it's so obvious, but during the time it was, it's hard.
And I just didn't understand, like, in my head, static was like, oh, this is for the life. Like, I was just so locked into the PHP world at that time that I didn't. I just made a, just a, just such a, like looking back on it, it's so obvious, but during the time it was, it's hard.
It's obviously much easier the smaller your organization is. I think no one would argue that sentiment. If it's just you working on a singular project, it is obviously much easier for you to push directly to production because you are the only one working. You know all the ins and outs. And if something were to break, you would discover it. So to me, that makes sense.
It's obviously much easier the smaller your organization is. I think no one would argue that sentiment. If it's just you working on a singular project, it is obviously much easier for you to push directly to production because you are the only one working. You know all the ins and outs. And if something were to break, you would discover it. So to me, that makes sense.
I think the way he operates is perfect for what he does. You couldn't take what he does and move it to, say, Microsoft or Netflix or Google, because that would obviously it would just be a disaster just due to the amount of people all pushing to production. And so I mean, I personally love that.
I think the way he operates is perfect for what he does. You couldn't take what he does and move it to, say, Microsoft or Netflix or Google, because that would obviously it would just be a disaster just due to the amount of people all pushing to production. And so I mean, I personally love that.
And so I just sat there and I watched, I had the exact same experience in Heaven's Forbid by a 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 so I just sat there and I watched, I had the exact same experience in Heaven's Forbid by a 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.
I think that you have to you have to gauge both the application you're building and its complexity and what you're pushing and how many people are working on it. I think those all go into how you can kind of do that. Because not all applications are created equal either.
I think that you have to you have to gauge both the application you're building and its complexity and what you're pushing and how many people are working on it. I think those all go into how you can kind of do that. Because not all applications are created equal either.
Like that application I was making with zooming and scrolling where we had all of our own everything, it was a very deep, like heavy logic app. And that was regardless of what was happening on the website. Most of the code was library code. And that becomes way harder if you don't have a good test suite and stuff to kind of run before you push it out.
Like that application I was making with zooming and scrolling where we had all of our own everything, it was a very deep, like heavy logic app. And that was regardless of what was happening on the website. Most of the code was library code. And that becomes way harder if you don't have a good test suite and stuff to kind of run before you push it out.
Because when you squeeze that ball, you know, different things come popping out in different areas. And that's like, that's very, that's a very harder problem than, say, if you're doing more of like a heavy visual one, because a heavy visual one, you're affecting just this one area's visual stuff, and you can test it. And like, that's normally the end of it.
Because when you squeeze that ball, you know, different things come popping out in different areas. And that's like, that's very, that's a very harder problem than, say, if you're doing more of like a heavy visual one, because a heavy visual one, you're affecting just this one area's visual stuff, and you can test it. And like, that's normally the end of it.
Whereas, you know, so it depends on like the coupling and everything. So I mean, I love his approach, by the way, I have such mad respect for anyone that operates that way, because it I think is a great way. It just is so good. Because it kind of breaks this notion that tech Twitter has that, oh, we got to use all these expensive services, you need to use all these kind of things.
Whereas, you know, so it depends on like the coupling and everything. So I mean, I love his approach, by the way, I have such mad respect for anyone that operates that way, because it I think is a great way. It just is so good. Because it kind of breaks this notion that tech Twitter has that, oh, we got to use all these expensive services, you need to use all these kind of things.
Because if you don't use all this kind of stuff, if you're not using the latest version of react, if you're not using the latest version of this, you're going to simply, you know, you're simply not going to make it as a startup, it's impossible. And it's just like, No, no, that's not software. Like most of software isn't the new stuff.
Because if you don't use all this kind of stuff, if you're not using the latest version of react, if you're not using the latest version of this, you're going to simply, you know, you're simply not going to make it as a startup, it's impossible. And it's just like, No, no, that's not software. Like most of software isn't the new stuff.
Most of software is old, crappy software that someone has to maintain. And it actually is really, really great and has lots of really hard problems. And if you look at it differently, it's actually fantastic.
Most of software is old, crappy software that someone has to maintain. And it actually is really, really great and has lots of really hard problems. And if you look at it differently, it's actually fantastic.
All great stuff. I'm just surprised he still uses jQuery, just given the fact that at this point on the modern web, everything is, I mean, you have document query selector and add event listener click, right? It pretty much has everything you already need. It has DOM content load. Like all the reasons I used jQuery back in the day was adding a click on a button was like hard.
All great stuff. I'm just surprised he still uses jQuery, just given the fact that at this point on the modern web, everything is, I mean, you have document query selector and add event listener click, right? It pretty much has everything you already need. It has DOM content load. Like all the reasons I used jQuery back in the day was adding a click on a button was like hard.
You had to deal with IE7, IE8, IE9, right? Like those are hard differences. Whereas now it's just so easy. I'm just surprised it's even that.
You had to deal with IE7, IE8, IE9, right? Like those are hard differences. Whereas now it's just so easy. I'm just surprised it's even that.
Not all tools are great at solving all problems. And so what you think is really... The problem is you run into this kind of trade-off, which is you have some tool belt that you're very adept with. You know all the ins and outs. There's no unknown unknowns, but there's no surprises in this. You know what you're building. You know what you're getting into. You will go through...
Not all tools are great at solving all problems. And so what you think is really... The problem is you run into this kind of trade-off, which is you have some tool belt that you're very adept with. You know all the ins and outs. There's no unknown unknowns, but there's no surprises in this. You know what you're building. You know what you're getting into. You will go through...
And you'll be able to solve the problem. But if you ever use a different language or a different experience, you can find that some things are able to represent states way easier in a way more efficient way. And you can solve problems really efficiently in some versus the other. And so it's like, if you don't take the time to explore as well,
And you'll be able to solve the problem. But if you ever use a different language or a different experience, you can find that some things are able to represent states way easier in a way more efficient way. And you can solve problems really efficiently in some versus the other. And so it's like, if you don't take the time to explore as well,
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.
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.
You could be missing out on something that makes you twice as good on this one specific problem, like subset. And so I kind of value being able to look at all problems. And so I don't want to get stuck on one thing, though I see why people do, which is for the efficiency sake.
You could be missing out on something that makes you twice as good on this one specific problem, like subset. And so I kind of value being able to look at all problems. And so I don't want to get stuck on one thing, though I see why people do, which is for the efficiency sake.
For me, the thing that I find vastly complicated and I can't imagine the engineering hours is how do you even create an edge in that situation? And what I mean by an edge, I mean like... When people say this phrase, if you're unexperienced, an edge is where you deliver data to be you want that edge to be as close to the customer as possible, because that's where the data lives.
For me, the thing that I find vastly complicated and I can't imagine the engineering hours is how do you even create an edge in that situation? And what I mean by an edge, I mean like... When people say this phrase, if you're unexperienced, an edge is where you deliver data to be you want that edge to be as close to the customer as possible, because that's where the data lives.
And then the communication between the customer and what you're doing is really, really small. Obviously, the speed of light adds up the amount of hops adds up the amount of services that you have to remotely call adds up, they all add up and they all add inefficiencies to the system. So something like YouTube, they want to be able to serve that data as quick as possible.
And then the communication between the customer and what you're doing is really, really small. Obviously, the speed of light adds up the amount of hops adds up the amount of services that you have to remotely call adds up, they all add up and they all add inefficiencies to the system. So something like YouTube, they want to be able to serve that data as quick as possible.
But their data changes constantly. And relevance is almost directly tied with the newness of the item. So it's like, how do you even cash these things out? How are you doing this? So they must have such an incredible caching network that I can't even, I can't even fathom what it takes to do that. That just to me, it's just so impressive. A million view hours in how many different
But their data changes constantly. And relevance is almost directly tied with the newness of the item. So it's like, how do you even cash these things out? How are you doing this? So they must have such an incredible caching network that I can't even, I can't even fathom what it takes to do that. That just to me, it's just so impressive. A million view hours in how many different
resolutions with how much data, what is a million view hours? Is it 4K million view hours along with 1080p, along with 720p, along with 1440p? Like that number is an insane number.
resolutions with how much data, what is a million view hours? Is it 4K million view hours along with 1080p, along with 720p, along with 1440p? Like that number is an insane number.
it's a really tough problem because you have to think like, what is the cash hit rate on this? Because there's so much, because the problem now actually comes down to space. Like space actually becomes a real problem. Like how many hundreds of petabytes do they have that they have to like, okay, what do we cash? And where do we cash this? Right?
it's a really tough problem because you have to think like, what is the cash hit rate on this? Because there's so much, because the problem now actually comes down to space. Like space actually becomes a real problem. Like how many hundreds of petabytes do they have that they have to like, okay, what do we cash? And where do we cash this? Right?
Like the number, I mean, I think in the terms of like gigabytes, like, or maybe megabytes. Like they have to think in probably versions of bytes I don't even know the name for, right? It's like such a different problem. And that's why I said Netflix. Netflix has a much easier job when it comes to caching. So if you've never looked it up, it's called OCA.
Like the number, I mean, I think in the terms of like gigabytes, like, or maybe megabytes. Like they have to think in probably versions of bytes I don't even know the name for, right? It's like such a different problem. And that's why I said Netflix. Netflix has a much easier job when it comes to caching. So if you've never looked it up, it's called OCA.
And that, we know what videos we're releasing. We know what videos are hot in specific areas. It's a very limited set. We're not going to all of a sudden get, oopsies, we got a million new view hours, right? We don't even have to worry about that as a problem. And so it's like, okay, we know Stranger Things season five is about to drop.
And that, we know what videos we're releasing. We know what videos are hot in specific areas. It's a very limited set. We're not going to all of a sudden get, oopsies, we got a million new view hours, right? We don't even have to worry about that as a problem. And so it's like, okay, we know Stranger Things season five is about to drop.
We're going to pre-cash Stranger Things season five in every single OCA across the world because that thing's about to get hammered, right? And so it's like, it's able to do such a different kind of decision-making than what you have to do with something like YouTube.
We're going to pre-cash Stranger Things season five in every single OCA across the world because that thing's about to get hammered, right? And so it's like, it's able to do such a different kind of decision-making than what you have to do with something like YouTube.
And then Twitch is even more wild because now you're actually ingesting video and trying to make it go out all at the exact same time for all video. And you have to transform that video from whatever format and whatever the bit rate is into something that's more efficient in a system like that. Hats off to Twitch engineering because that's some serious work.
And then Twitch is even more wild because now you're actually ingesting video and trying to make it go out all at the exact same time for all video. And you have to transform that video from whatever format and whatever the bit rate is into something that's more efficient in a system like that. Hats off to Twitch engineering because that's some serious work.
It's the large team, right? That's the fundamental problem. When you get into YouTube size, there is the team slash organization that deals with data warehousing. There's the team slash organization that deals with delivery. There's a team slash organization that's like the middle layer, how you even, you know, they're going to be like the little microsurfaces to talk to these places.
It's the large team, right? That's the fundamental problem. When you get into YouTube size, there is the team slash organization that deals with data warehousing. There's the team slash organization that deals with delivery. There's a team slash organization that's like the middle layer, how you even, you know, they're going to be like the little microsurfaces to talk to these places.
Then you have this front-end engineer. So like for a small feature... You have to get middle team. You have to get back end team. You have to get all these things. Quick example, Netflix. Are you familiar with the dystopian Black Mirror?
Then you have this front-end engineer. So like for a small feature... You have to get middle team. You have to get back end team. You have to get all these things. Quick example, Netflix. Are you familiar with the dystopian Black Mirror?
Okay. Season one, episode one. Do you know season one, episode one? Everyone who watches Black Mirror typically knows this episode.
Okay. Season one, episode one. Do you know season one, episode one? Everyone who watches Black Mirror typically knows this episode.
Forgive my language, but they call it the pig fucker episode. Oh, yeah, of course. Once you've seen the episode, you will then know this episode. Well, when Netflix adopted it, I got pulled into a room. There's like a VP, a VP, a product designer, a VP, and they said, hey, we're about to release our own version of Black Mirror, season three, I think, at that time.
Forgive my language, but they call it the pig fucker episode. Oh, yeah, of course. Once you've seen the episode, you will then know this episode. Well, when Netflix adopted it, I got pulled into a room. There's like a VP, a VP, a product designer, a VP, and they said, hey, we're about to release our own version of Black Mirror, season three, I think, at that time.
We need episode one, season one to not be the first thing people see. So let's just reverse the season order. That required me, I had like 20 engineers I had to gather together to be able to have this happen. And that's just the problem of big companies is that eventually every little thing has to become its own team. And so even small, there's no such thing as a small feature.
We need episode one, season one to not be the first thing people see. So let's just reverse the season order. That required me, I had like 20 engineers I had to gather together to be able to have this happen. And that's just the problem of big companies is that eventually every little thing has to become its own team. And so even small, there's no such thing as a small feature.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you.
Thank you. Thank you.
Thank you.
Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
What was the thing? What was the one that taught you? Because I think we all probably, you probably did factorial, where you just do a quick factorial of it. It just doesn't hit home. What was the thing that kind of made it hit home?
What was the thing? What was the one that taught you? Because I think we all probably, you probably did factorial, where you just do a quick factorial of it. It just doesn't hit home. What was the thing that kind of made it hit home?
How do you not remember your first? It was magic.
How do you not remember your first? It was magic.
You're probably pretty used to the recursion.
You're probably pretty used to the recursion.
Yeah, multiple things there. One, hey, we love you, Lex. So don't let the things get you down. Thank you. Thank you. I love you too. Thank you. Hey, a little bonding moment here going on. But, you know, one thing I really miss.
Yeah, multiple things there. One, hey, we love you, Lex. So don't let the things get you down. Thank you. Thank you. I love you too. Thank you. Hey, a little bonding moment here going on. But, you know, one thing I really miss.
The tension is a little tense here.
The tension is a little tense here.
It's just the one thing I really miss is just even when I hated how people did it, just seeing how other people solved things. Right. Like, it's really amazing. Just just like the raw creative power so many people have. And just being like, oh, wow, like I would have never done it this way. Crazy. Right. Like, wow, I just this is awesome.
It's just the one thing I really miss is just even when I hated how people did it, just seeing how other people solved things. Right. Like, it's really amazing. Just just like the raw creative power so many people have. And just being like, oh, wow, like I would have never done it this way. Crazy. Right. Like, wow, I just this is awesome.
And you kind of internally process this and you're like, oh, I now have a new little tool in my tool belt. You know, because at some point it's really hard to find a mentor. When you're first young and you're just starting out programming, I mean, anyone with a couple years of experience will be not just a little bit better than you, but like infinitely better than you.
And you kind of internally process this and you're like, oh, I now have a new little tool in my tool belt. You know, because at some point it's really hard to find a mentor. When you're first young and you're just starting out programming, I mean, anyone with a couple years of experience will be not just a little bit better than you, but like infinitely better than you.
It's like it feels like crazy how much better people are. And so you have to like get mentors and you learn from people. And then as you get better, that amount of availability gets really small. And so it's something that I really do miss is the kind of like forced hard problem solving together.
It's like it feels like crazy how much better people are. And so you have to like get mentors and you learn from people. And then as you get better, that amount of availability gets really small. And so it's something that I really do miss is the kind of like forced hard problem solving together.
It just also makes everything much nicer. You know, it's really it really stinks to work with someone that's combative and negative. Like, I don't mind combativeness if it's like I'm trying to figure out what's like what's best to do right now versus combativeness just because you're a negative person and things have to be this one particular way.
It just also makes everything much nicer. You know, it's really it really stinks to work with someone that's combative and negative. Like, I don't mind combativeness if it's like I'm trying to figure out what's like what's best to do right now versus combativeness just because you're a negative person and things have to be this one particular way.
Because if they're not this one particular way, it's the end of the world. And like, that's actually really hard for me to work with. Yeah.
Because if they're not this one particular way, it's the end of the world. And like, that's actually really hard for me to work with. Yeah.
The origin story of the Primogen name was... Are you familiar with a video game called Turok? Nintendo 64. So Turok had Turok 1 and then Turok 2. Turok 2 was a brutally hard game. This is back when first-person shooters, they would only give you a certain amount of health and you had to go discover health and get that health. And you had to beat the whole game without effectively dying.
The origin story of the Primogen name was... Are you familiar with a video game called Turok? Nintendo 64. So Turok had Turok 1 and then Turok 2. Turok 2 was a brutally hard game. This is back when first-person shooters, they would only give you a certain amount of health and you had to go discover health and get that health. And you had to beat the whole game without effectively dying.
That's like the first version right there. That's like Turok 1. And Turok 2.
That's like the first version right there. That's like Turok 1. And Turok 2.
So in 1998. There, you can see it right there.
So in 1998. There, you can see it right there.
The notable difficulty, it was very, very, very difficult. Okay. And so I spent, when I got it, it came in a black box.
The notable difficulty, it was very, very, very difficult. Okay. And so I spent, when I got it, it came in a black box.
cartridge not like your standard gray nintendo 64 the black cartridge is badass game right and i got it and i put it in and i played and i played every day for like 10 hours a day for a month straight and i beat it and it was like such an incredible great experience and the last leader of turak 2 is called the primogen
cartridge not like your standard gray nintendo 64 the black cartridge is badass game right and i got it and i put it in and i played and i played every day for like 10 hours a day for a month straight and i beat it and it was like such an incredible great experience and the last leader of turak 2 is called the primogen
And so when I was a kid, when you're in like fifth grade, that's like super cool. Like named after the bad guy. And so like for a long time on any internet thing, like grail online that I mentioned earlier, then it was the primogen. It was great. And then, you know, I became an adult eventually. And it's just like, okay, you know, I'm an adult.
And so when I was a kid, when you're in like fifth grade, that's like super cool. Like named after the bad guy. And so like for a long time on any internet thing, like grail online that I mentioned earlier, then it was the primogen. It was great. And then, you know, I became an adult eventually. And it's just like, okay, you know, I'm an adult.
My name is Michael Paulson underscore, you know, that's what I was on the internet for a long time was that. And I remember it was like 2017, 2018, somewhere in there, um, I remember just how bad the tech world had kind of become. It was just like this super pretentious place, tons of dick measuring, just everything that just was the worst. Ken Wheeler got canceled over playing the circle game.
My name is Michael Paulson underscore, you know, that's what I was on the internet for a long time was that. And I remember it was like 2017, 2018, somewhere in there, um, I remember just how bad the tech world had kind of become. It was just like this super pretentious place, tons of dick measuring, just everything that just was the worst. Ken Wheeler got canceled over playing the circle game.
It was just like, it... It's so hard to describe to people that weren't there, but it was just the worst place to be. Tech was extremely unfun. It was extremely awful. Everything was just so... It wasn't academic because it was research. It was like... We're building the most sophisticated things and this is for the smart people and everyone else is the dumb people.
It was just like, it... It's so hard to describe to people that weren't there, but it was just the worst place to be. Tech was extremely unfun. It was extremely awful. Everything was just so... It wasn't academic because it was research. It was like... We're building the most sophisticated things and this is for the smart people and everyone else is the dumb people.
Don't worry, we'll design for you, dummy. We'll show you how to make the perfect architecture. And I remember changing my Twitter handle because I got so upset and just went back to my video game name because I was like, I want things to be fun. I want this to stop. And so when I started streaming tech, my goal became to destroy whatever that tech mentality was because it includes nobody.
Don't worry, we'll design for you, dummy. We'll show you how to make the perfect architecture. And I remember changing my Twitter handle because I got so upset and just went back to my video game name because I was like, I want things to be fun. I want this to stop. And so when I started streaming tech, my goal became to destroy whatever that tech mentality was because it includes nobody.
Everyone thinks that they're the smart people and they design for the dummies. And it's just like, no. I want tech to be this place where people feel like they can be creative and excited and actually build something. And if you're new, it's okay to be dumb and ask dumb questions. Learn from your dumbness. No one's expecting you to be smart. Pick whatever you want.
Everyone thinks that they're the smart people and they design for the dummies. And it's just like, no. I want tech to be this place where people feel like they can be creative and excited and actually build something. And if you're new, it's okay to be dumb and ask dumb questions. Learn from your dumbness. No one's expecting you to be smart. Pick whatever you want.
actually do something and have fun and build like your crazy ideas. Oh, you're going to reinvent the wheel, reinvent the wheel, understand what you're doing, learn it really good and like interact and stuff. And it's just so different than what was out there.
actually do something and have fun and build like your crazy ideas. Oh, you're going to reinvent the wheel, reinvent the wheel, understand what you're doing, learn it really good and like interact and stuff. And it's just so different than what was out there.
And that the name Arnold Schwarzenegger talks about this thing where when he first started acting, his name was like the thing that people hated. As he once said, you have a strange voice, you have a strange body, and your name, your name's unpronounceable. No one's going to schnitzel, no one's going to remember that. And he said, but now the name is the strong part.
And that the name Arnold Schwarzenegger talks about this thing where when he first started acting, his name was like the thing that people hated. As he once said, you have a strange voice, you have a strange body, and your name, your name's unpronounceable. No one's going to schnitzel, no one's going to remember that. And he said, but now the name is the strong part.
And for me, I've always felt akin to that, though my name's not nearly as cool, nor am I as popular as Arnold, nor am I as tough or good-looking or successful. But nonetheless, it's just the name represented this counterculture-like movement within myself in which I just...
And for me, I've always felt akin to that, though my name's not nearly as cool, nor am I as popular as Arnold, nor am I as tough or good-looking or successful. But nonetheless, it's just the name represented this counterculture-like movement within myself in which I just...
hated what was there and i wanted to defeat it and so this has like been the thing and now people remember me so well because of how weird my name is and so it's just like i for whatever reason it became its own thing and so that's kind of the now i would never change it and back then i would never change it because it was my rage against the machine moment if you will yeah i love that as a symbol of rage against the machine and the rage being fun yeah
hated what was there and i wanted to defeat it and so this has like been the thing and now people remember me so well because of how weird my name is and so it's just like i for whatever reason it became its own thing and so that's kind of the now i would never change it and back then i would never change it because it was my rage against the machine moment if you will yeah i love that as a symbol of rage against the machine and the rage being fun yeah
I just want people to be creative and have fun again. It's okay.
I just want people to be creative and have fun again. It's okay.
Well, the original, original mustache is that it was no shave November back before it became Movember. It was no shave November back in the day. And after no shave November, you had all this hair. And so what's the natural thing you got to do? You got to sport a mustache for a day, right?
Well, the original, original mustache is that it was no shave November back before it became Movember. It was no shave November back in the day. And after no shave November, you had all this hair. And so what's the natural thing you got to do? You got to sport a mustache for a day, right?
So whenever I'd forget to, you know, not shave for a long time, and then I'd let it start growing out really big, I just... go oh this is kind of funny i'll have a mustache and so one day when i was streaming it's just one of those times i just didn't shave and then i started just letting it go and then i got kind of a beard and then i just had a mustache and when i did it
So whenever I'd forget to, you know, not shave for a long time, and then I'd let it start growing out really big, I just... go oh this is kind of funny i'll have a mustache and so one day when i was streaming it's just one of those times i just didn't shave and then i started just letting it go and then i got kind of a beard and then i just had a mustache and when i did it
People were just like, okay, it's mustache time. And I was just like, okay, it feels like it's like a lifestyle decision, right? It's like, this is the fun times. And so all of a sudden it was just like exciting to have a mustache. And I shaved it off and I was like, oh, okay. But then, you know, part of me is like, you know, there's this weird energy that comes from just having a mustache.
People were just like, okay, it's mustache time. And I was just like, okay, it feels like it's like a lifestyle decision, right? It's like, this is the fun times. And so all of a sudden it was just like exciting to have a mustache. And I shaved it off and I was like, oh, okay. But then, you know, part of me is like, you know, there's this weird energy that comes from just having a mustache.
So I was like, I'm going back. Told my wife, forgive her. She was very not as thrilled about my decisions to have a mustache long term, but I just decided to have it back. And it's just like it was the right thing. It's always been the energy that I had with the mustache. It was always been there. It just never was visible until later on, it feels like.
So I was like, I'm going back. Told my wife, forgive her. She was very not as thrilled about my decisions to have a mustache long term, but I just decided to have it back. And it's just like it was the right thing. It's always been the energy that I had with the mustache. It was always been there. It just never was visible until later on, it feels like.
I clearly was not willing to sacrifice not having one, so.
I clearly was not willing to sacrifice not having one, so.
So I've kind of done a bunch of different ways to go through this learning process. And I've tried a lot of different ones. Something that is obviously successful is just start building something. Just put your hands on the keyboard. You know, like, especially if you already know how to program, you're like, okay, I'm now using Zig. How do I do a main function so I can just run the program?
So I've kind of done a bunch of different ways to go through this learning process. And I've tried a lot of different ones. Something that is obviously successful is just start building something. Just put your hands on the keyboard. You know, like, especially if you already know how to program, you're like, okay, I'm now using Zig. How do I do a main function so I can just run the program?
Okay, now I know how to build. Okay, how do I do an if statement? What does it look like? Okay, how do I do declare my own functions? How do I do modules, right? You just kind of like Google your way through it, if you will, to get to the end product and build something. It's a great way to do things because I find that repetition, like rote learning is obviously the best way to do this.
Okay, now I know how to build. Okay, how do I do an if statement? What does it look like? Okay, how do I do declare my own functions? How do I do modules, right? You just kind of like Google your way through it, if you will, to get to the end product and build something. It's a great way to do things because I find that repetition, like rote learning is obviously the best way to do this.
You have to kind of go over it a bunch and you can definitely get out and build a lot of stuff with that. I like that initial kind of get used to things. But on top of it, I find that By doing that, you also fall into like traps. You kind of Google and you try to solve a problem in the language based on all of your previous experience. And so you don't have what makes that language special.
You have to kind of go over it a bunch and you can definitely get out and build a lot of stuff with that. I like that initial kind of get used to things. But on top of it, I find that By doing that, you also fall into like traps. You kind of Google and you try to solve a problem in the language based on all of your previous experience. And so you don't have what makes that language special.
You kind of have what all the other languages make special. And so you end up kind of not really being able to use it very effectively, but you can certainly kind of learn it and get kind of good at it. And so the second approach I've been doing lately, and this has been inspired by the creator of Ghosty, Mitchell Hashimoto, is to just start by reading the language reference, the whole thing.
You kind of have what all the other languages make special. And so you end up kind of not really being able to use it very effectively, but you can certainly kind of learn it and get kind of good at it. And so the second approach I've been doing lately, and this has been inspired by the creator of Ghosty, Mitchell Hashimoto, is to just start by reading the language reference, the whole thing.
And so lately I've been just kind of going through and just reading the entire manual for these languages. Like Zig, I'm almost done with that one. You know, it's like eight to 10 hours of just sitting down reading and I'll whip out my computer and kind of practice a couple of the things from the actual docs. And that way I can learn all the things.
And so lately I've been just kind of going through and just reading the entire manual for these languages. Like Zig, I'm almost done with that one. You know, it's like eight to 10 hours of just sitting down reading and I'll whip out my computer and kind of practice a couple of the things from the actual docs. And that way I can learn all the things.
So then when I start building again, I remember, okay, I know there's a thing over here. Let me go reread about it because now I have it indexed in my brain somewhere that it will kind of remember. And so I don't think there's like a right or wrong way. I mean, at the end of the day, the right way is always that you have to build something eventually. You cannot just read about it.
So then when I start building again, I remember, okay, I know there's a thing over here. Let me go reread about it because now I have it indexed in my brain somewhere that it will kind of remember. And so I don't think there's like a right or wrong way. I mean, at the end of the day, the right way is always that you have to build something eventually. You cannot just read about it.
You have to put your hands on the keyboard. You have to build something out. And then once you do that, that's where you really discover what makes it painful or what makes it great. And if you don't have the breadth of what the language offers, you just may make it painful by simply being bad at it. What exactly are you reading? Language reference. Language reference.
You have to put your hands on the keyboard. You have to build something out. And then once you do that, that's where you really discover what makes it painful or what makes it great. And if you don't have the breadth of what the language offers, you just may make it painful by simply being bad at it. What exactly are you reading? Language reference. Language reference.
So it just goes through every feature top to bottom, right? Yeah. Every way it's described, all the different things. I think Zigs is, you know, it's a decent size, but it's not just simply read the words. You want to internalize each concept as well. So it takes a long time. So I'm a slow reader.
So it just goes through every feature top to bottom, right? Yeah. Every way it's described, all the different things. I think Zigs is, you know, it's a decent size, but it's not just simply read the words. You want to internalize each concept as well. So it takes a long time. So I'm a slow reader.
If you don't know what an if statement is, that's not a good way to learn. To me, the best way to learn that is really hands on the keyboard and building extremely simple things and slowly growing in complexity. Because understanding what a class and methods and instances versus the blueprint, which is the class versus functions versus modules versus all that stuff. That just takes time to learn.
If you don't know what an if statement is, that's not a good way to learn. To me, the best way to learn that is really hands on the keyboard and building extremely simple things and slowly growing in complexity. Because understanding what a class and methods and instances versus the blueprint, which is the class versus functions versus modules versus all that stuff. That just takes time to learn.
And so that's a completely different style of learning.
And so that's a completely different style of learning.
This is where I have both the hopeful and the doomer take at the exact same time. Yeah. And it's the same thing with Google or Stack Overflow. It's all the same kind of take, which is it's just making things more democratized in some sense.
This is where I have both the hopeful and the doomer take at the exact same time. Yeah. And it's the same thing with Google or Stack Overflow. It's all the same kind of take, which is it's just making things more democratized in some sense.
I get to ask questions in probably the most personal possible way with my own voice and my own words, and it's able to produce out answers and kind of hopefully help guide me. Now, regardless of just say the errors and the incorrectnesses of it, like ultimately just using it as a learning tool and being able to just... formulate and read answers in your own voice, I think is super powerful.
I get to ask questions in probably the most personal possible way with my own voice and my own words, and it's able to produce out answers and kind of hopefully help guide me. Now, regardless of just say the errors and the incorrectnesses of it, like ultimately just using it as a learning tool and being able to just... formulate and read answers in your own voice, I think is super powerful.
And I think it's super amazing. But the part that I think is going to be really difficult is that we don't value remembering things anymore as a society. Like since the internet came about, I can just look that up. I can just look that up. No need to like, you don't need to memorize your times tables, right? You can just use a calculator. You can just do all that.
And I think it's super amazing. But the part that I think is going to be really difficult is that we don't value remembering things anymore as a society. Like since the internet came about, I can just look that up. I can just look that up. No need to like, you don't need to memorize your times tables, right? You can just use a calculator. You can just do all that.
I remember I just was sitting on the airplane and I watched someone do the world's most simple addition and subtraction like 10 times on their phone. And like, why are you not just... Like, you should already know these, you should be able to do these things. And I realized that we kind of offload our brains, right? Oh, I don't need to know these things, because I can look them up.
I remember I just was sitting on the airplane and I watched someone do the world's most simple addition and subtraction like 10 times on their phone. And like, why are you not just... Like, you should already know these, you should be able to do these things. And I realized that we kind of offload our brains, right? Oh, I don't need to know these things, because I can look them up.
And that's not a bad answer. In some sense, I can understand that, like, I don't need to remember every last thing. But then it also makes me realize that you kind of develop this learned helplessness. that a new error comes up. I'll just ask the AI. AI says, oh, okay, I got to fix this line. I fixed the line. You didn't actually learn anything.
And that's not a bad answer. In some sense, I can understand that, like, I don't need to remember every last thing. But then it also makes me realize that you kind of develop this learned helplessness. that a new error comes up. I'll just ask the AI. AI says, oh, okay, I got to fix this line. I fixed the line. You didn't actually learn anything.
You kind of just used it as a quick means to get something out and move on. And so you sacrifice knowledge for speed, which is a great thing in some, like we have to make those trade-offs all the time in engineering. Sometimes you have to move fast at the sacrifice of knowledge, and I'm totally on board for that.
You kind of just used it as a quick means to get something out and move on. And so you sacrifice knowledge for speed, which is a great thing in some, like we have to make those trade-offs all the time in engineering. Sometimes you have to move fast at the sacrifice of knowledge, and I'm totally on board for that.
But I worry that what we'll create is an entire generation of incompetent programmers who can do some amount of things well, but anything that is unique, bespoke, or requires some extra little elbow grease might become very difficult. It might cause a whole chasm where juniors remain juniors forever. And I don't want to see that. I want to see people grow.
But I worry that what we'll create is an entire generation of incompetent programmers who can do some amount of things well, but anything that is unique, bespoke, or requires some extra little elbow grease might become very difficult. It might cause a whole chasm where juniors remain juniors forever. And I don't want to see that. I want to see people grow.
I want to see people, you know, actually be able to take this as a craftsmanship thing. And so that's kind of what I, that's like both my hope and my worry is, is that AI, I think, can do both, really.
I want to see people, you know, actually be able to take this as a craftsmanship thing. And so that's kind of what I, that's like both my hope and my worry is, is that AI, I think, can do both, really.
Because if you could ask whatever question you want and you don't have to rely on, say, a book to give you that exact answer, and if the book just said it wrong and you can't understand it, it's just like, sorry, you don't get to learn what this is, like recursion for me. I spent way too much time until someone gave me the right problem to understand recursion.
Because if you could ask whatever question you want and you don't have to rely on, say, a book to give you that exact answer, and if the book just said it wrong and you can't understand it, it's just like, sorry, you don't get to learn what this is, like recursion for me. I spent way too much time until someone gave me the right problem to understand recursion.
You could imagine AI could have solved that for me way faster because it could have gave me the right problem and walked me through much better. But what happened if I just always have recursion solved by them and not actually learn it myself?
You could imagine AI could have solved that for me way faster because it could have gave me the right problem and walked me through much better. But what happened if I just always have recursion solved by them and not actually learn it myself?
At some point, you have to take off the training wheels. Because I think what you're really spotting is the difference between reading and writing code. Like I can read a lot of languages very well. I can see what's happening. I can understand it. But like, I would not be very good at writing it.
At some point, you have to take off the training wheels. Because I think what you're really spotting is the difference between reading and writing code. Like I can read a lot of languages very well. I can see what's happening. I can understand it. But like, I would not be very good at writing it.
I can understand a lot of things about C++ and I can read it, but I'm just not that, because I just don't, I haven't done it in so long. I can't remember all, or all the semicolons and colons and like, you know, you do public and private and how should you name and convey, like, you know, all those things kind of,
I can understand a lot of things about C++ and I can read it, but I'm just not that, because I just don't, I haven't done it in so long. I can't remember all, or all the semicolons and colons and like, you know, you do public and private and how should you name and convey, like, you know, all those things kind of,
Oh, man, mine is I have. Well, first off, mine was in Java. So 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 fresh maker. Yeah. And so it's just like I'm in this very cold. That's nice. Thank you.
Oh, man, mine is I have. Well, first off, mine was in Java. So 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 fresh maker. Yeah. And so it's just like I'm in this very cold. That's nice. Thank you.
add all together and then you're just like oh i'm really bad at writing it though i can read it and so there's like this there's a skill gap chasm that exists between those two all right well let me talk about the various languages
add all together and then you're just like oh i'm really bad at writing it though i can read it and so there's like this there's a skill gap chasm that exists between those two all right well let me talk about the various languages
You don't like them? No, no. You got to remember because, I mean, you're a data guy. You know about biases in data. What does Stack Overflow naturally bias towards?
You don't like them? No, no. You got to remember because, I mean, you're a data guy. You know about biases in data. What does Stack Overflow naturally bias towards?
I hear you, but who fills out a Stack Overflow survey? Someone who participates on Stack Overflow. Who's participating on Stack Overflow? Largely very, very new people and that one guy that loves answering questions. And so I'm not sure if Stack Overflow is a great place to get data. It could be a very biased set of data.
I hear you, but who fills out a Stack Overflow survey? Someone who participates on Stack Overflow. Who's participating on Stack Overflow? Largely very, very new people and that one guy that loves answering questions. And so I'm not sure if Stack Overflow is a great place to get data. It could be a very biased set of data.
I mean, that's who's using Stack Overflow.
I mean, that's who's using Stack Overflow.
JavaScript, HTML, Python, SQL.
JavaScript, HTML, Python, SQL.
Squeal, I think is the correct way. Squeal. I did sequel because I didn't, you know, I didn't know the audience. I don't know if they can handle the truth. Okay. Which is it squeal. Squeal of joy, squeal. Squeal light, my squeal, Postgres squeal.
Squeal, I think is the correct way. Squeal. I did sequel because I didn't, you know, I didn't know the audience. I don't know if they can handle the truth. Okay. Which is it squeal. Squeal of joy, squeal. Squeal light, my squeal, Postgres squeal.
It's such a ridiculous, I mean, can you believe that that was a real conversation that I had?
It's such a ridiculous, I mean, can you believe that that was a real conversation that I had?
It largely kind of aligns with the world you'd expect, but like assembly. Why is assembly more popular than Ruby? Who is writing just assembly by – no one writes assembly by hand other than, like, maybe that one guy that's developing TLS 1.3 and hand-rolling a cryptography algorithm to be the fastest possible algorithm.
It largely kind of aligns with the world you'd expect, but like assembly. Why is assembly more popular than Ruby? Who is writing just assembly by – no one writes assembly by hand other than, like, maybe that one guy that's developing TLS 1.3 and hand-rolling a cryptography algorithm to be the fastest possible algorithm.
Yeah. And Swift and Ruby being less popular than assembly seems ridiculous. But nonetheless, okay, so you get my ideas behind that. But as far as top five languages go, that's probably too broad because you could just name so many. I think you should probably archetype it by what do you want to do.
Yeah. And Swift and Ruby being less popular than assembly seems ridiculous. But nonetheless, okay, so you get my ideas behind that. But as far as top five languages go, that's probably too broad because you could just name so many. I think you should probably archetype it by what do you want to do.
So if you want to get into game development, perhaps C sharp C plus plus could be good choices, or JavaScript and doing canvas games. I could see that also working. But you know, you got to, you're limited by doing JavaScript, obviously, because you can't do as much because the language is just not fast enough to do as much. So it's like a good thing to remember.
So if you want to get into game development, perhaps C sharp C plus plus could be good choices, or JavaScript and doing canvas games. I could see that also working. But you know, you got to, you're limited by doing JavaScript, obviously, because you can't do as much because the language is just not fast enough to do as much. So it's like a good thing to remember.
If you're going to be doing back end stuff, you know, if you want a job, if you're looking for a job, maybe C sharp slash Java is or JavaScript, or Go would be great choices. If you're looking to do embedded, you probably want to do C, C++, like that would probably be a good choice. And so you kind of have to, I think you have to first determine what do you really want to get out.
If you're going to be doing back end stuff, you know, if you want a job, if you're looking for a job, maybe C sharp slash Java is or JavaScript, or Go would be great choices. If you're looking to do embedded, you probably want to do C, C++, like that would probably be a good choice. And so you kind of have to, I think you have to first determine what do you really want to get out.
I'm in this cold, rigid environment with my Microsoft keyboard programming away in Java, and 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 die, tell and die, tell learn Java. And it has a section recursion.
I'm in this cold, rigid environment with my Microsoft keyboard programming away in Java, and 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 die, tell and die, tell learn Java. And it has a section recursion.
Can I say something that's going to make a lot of people angry? Yeah, sure. I think the first language people should learn if they have no idea about anything is JavaScript.
Can I say something that's going to make a lot of people angry? Yeah, sure. I think the first language people should learn if they have no idea about anything is JavaScript.
Oh, because people just, I'm, first off, I'm not supposed to say anything nice about JavaScript.
Oh, because people just, I'm, first off, I'm not supposed to say anything nice about JavaScript.
Yeah. No, JavaScript's a beautiful language and it has a lot of things that are very great for it. And one of them is that you can express anything with very little effort. And so someone that's new, I think it's really great to be able to draw a box and move a box. Like that's great. You get to see it visually.
Yeah. No, JavaScript's a beautiful language and it has a lot of things that are very great for it. And one of them is that you can express anything with very little effort. And so someone that's new, I think it's really great to be able to draw a box and move a box. Like that's great. You get to see it visually.
I think that's one thing that's really great about JavaScript is that you can do that. Then you can go, okay, I want to learn about the backend. I'm going to make a request. Now you can write a quick backend in it. Now you're starting to get familiar with programming a little bit. I can save this to a database. I can bring it down. I can put it on a screen and I can animate it all around.
I think that's one thing that's really great about JavaScript is that you can do that. Then you can go, okay, I want to learn about the backend. I'm going to make a request. Now you can write a quick backend in it. Now you're starting to get familiar with programming a little bit. I can save this to a database. I can bring it down. I can put it on a screen and I can animate it all around.
And I can even put it on a canvas and render it in 2d or 3d. So it's like, there's so much variety of what you can do with JavaScript. It's a great way to get introduced into programming. But then at some point you have to go, okay, I now need to learn more about this whole thing.
And I can even put it on a canvas and render it in 2d or 3d. So it's like, there's so much variety of what you can do with JavaScript. It's a great way to get introduced into programming. But then at some point you have to go, okay, I now need to learn more about this whole thing.
You can even do embedded. They actually have, like there's, Wes Boss is building his Roomba or something and programming it with JavaScript and React, which is just the world's worst language to choose for embedded, but you can still do it. Yeah.
You can even do embedded. They actually have, like there's, Wes Boss is building his Roomba or something and programming it with JavaScript and React, which is just the world's worst language to choose for embedded, but you can still do it. Yeah.
So that's a great one. It seems like Python, CUDA stuff, and C++ would be a dynamite in that because a lot of these Python libraries I assumed are just, you're just smuggling in C++ underneath the hood or C. Okay, so JavaScript...
So that's a great one. It seems like Python, CUDA stuff, and C++ would be a dynamite in that because a lot of these Python libraries I assumed are just, you're just smuggling in C++ underneath the hood or C. Okay, so JavaScript...
Python's a great one too. You can get quite far with it, but you can't write the front end. So what happened if you love the front end, right? What happened if you really just want to design things and you just didn't know that? Well, it's okay. So for that, JavaScript. But Python's a good choice because you can't do the ML stuff in JavaScript nearly as easy.
Python's a great one too. You can get quite far with it, but you can't write the front end. So what happened if you love the front end, right? What happened if you really just want to design things and you just didn't know that? Well, it's okay. So for that, JavaScript. But Python's a good choice because you can't do the ML stuff in JavaScript nearly as easy.
Do we call HTML and CSS as programming languages? I think there's like some technical definition that it is if you put it up. If you use this certain amalgamation of CSS plus HTML, it actually has like it can be a Turing complete language. Yeah. But I mean, for practical purposes, no. HTML is not a language. Yeah. you know, I for me less, yes, the Turing test is a good one.
Do we call HTML and CSS as programming languages? I think there's like some technical definition that it is if you put it up. If you use this certain amalgamation of CSS plus HTML, it actually has like it can be a Turing complete language. Yeah. But I mean, for practical purposes, no. HTML is not a language. Yeah. you know, I for me less, yes, the Turing test is a good one.
But for those that are just not wanting to be as academic, if I can't write a function in an if statement, I don't feel like that's I don't, if I can't loop if and function, I don't feel like that's a good, that's a programming language. Although modern HTML has a lot of features, it's crazy how much it has, but it's more of a specification than anything else.
But for those that are just not wanting to be as academic, if I can't write a function in an if statement, I don't feel like that's I don't, if I can't loop if and function, I don't feel like that's a good, that's a programming language. Although modern HTML has a lot of features, it's crazy how much it has, but it's more of a specification than anything else.
I specify it to be a pop up, I specified to have this kind of like accessibility, this kind of look, this kind of, you know, Under these conditions, look like this, transform like this, move down here.
I specify it to be a pop up, I specified to have this kind of like accessibility, this kind of look, this kind of, you know, Under these conditions, look like this, transform like this, move down here.
Okay. Bash is kind of one of those ones where it's like, do you really like it? I like it up until I need an array. Oh, as a programming language, no.
Okay. Bash is kind of one of those ones where it's like, do you really like it? I like it up until I need an array. Oh, as a programming language, no.
So I opened 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 a, Maybe I'm not a programmer. Maybe I'm not worthy enough to enter into this circle of people who can figure out what the heck recursion means. And so Dytel and Dytel is like, I still remember this.
I think FFmpeg is probably one of the most consequential libraries of our day. And the Twitter account is so unhinged. It's the most amazing thing to see because I think FFmpeg does not get the love it deserves. Every single application, OBS, probably FFmpeg underneath the hood. All the, everything, FFmpeg underneath the hood. And then, and yet, you know, they do not get the love they deserve.
I just love it. I just think they're the best.
It's an incredibly sophisticated programming language, yeah? SQL is interesting. I would have... I believe you can classify it as a programming language. It does have like, if you have case statements and it's pretty crazy what you can do with it. You could do functions. You could do all that.
You shouldn't. Restored procedures. That's how you make your life hell. I will say that all the top languages right there are, none of them are like strict languages. static typed languages. And so even TypeScript, you can, you know, I don't like this any. And so for people that are learning, doing something that's much more strict would be great.
Something like Go, Rust, even, I mean, even C Sharp, C++, like anything that kind of changes your perspective of types, I think is really helpful to kind of go through. They're not getting nearly as much love on this most popular language list, but I think they're very fantastic.
Um, if I were to pick five languages that I think people should learn, or at least how, let's restate it this way. I'm going to say a couple languages and you should at least explore some of them. I think you should explore, explore a Lucy language.
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 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 eight hours, 10 hours doing these things.
So, uh, Python slash JavaScript, where there is truly only one type, which is a boxed value, which is a multivariate different types underneath the hood, right?
A loosey-goosey language, right? It's a dynamic language. Okay. And so I think it's really good to explore one of those two. So I'd put Python or JavaScript right there. Even Lua. Throw Lua in the bunch. I think you should explore a strict language. So I'd do something like Rust, Go... I think those are both really, really great. C++? You can do C++. You can do some type erasure in C++.
You can do it with Go as well, but for the most part, it's a great language to do that in. It can get a little wild. New C++ seems great. Everyone keeps telling me new C++ is great. It has every feature you've ever wanted and all the features you don't want.
Face guns, soft beds. There's everything in there.
Languages that I actually want to really learn. That at least sit in my curiosity bank. There's three languages, which is going to be Swift, Elixir, OCaml, and then I'm going to throw Odin in there just because Gingerbill is great. But Elixir and OCaml, I don't have a strong functional language underneath my belt. That's something that I just genuinely lack.
I have never done Lisp. Lisp could be in that category too, just like learn or closure. I think at this point is what everyone tells you to use.
It's a good feeling. You can post like something on Twitter and you'll get like a thousand likes if you do something cool on Elixir. Yeah. Okay. Like, which is a pretty big, that's like a pretty big amount of people to like a post for such a niche topic.
Programming is already a pretty small topic. Then you get into functional program. That's a small topic in a small topic. Yeah.
Come back to the Civil War, Wax.
Absolutely.
I like how you're doing this in bunches. That's great. Right now, my kind of side honeys that I'm exploring is... Side honey. Yeah, side honeys. They're not my mainstay. Right now, Go is kind of my favorite one to build a web app in. If I'm going to build some sort of backend with a lot of complicated logic, Go is just so convenient.
But I get really frustrated with its ability to express everything that I need. If you have a list, a heterogeneous list, a list that contains two types... Go is just really not that fun to use. And so I could see, so the ones I'm exploring is Jai or J or the language as Jonathan Blow says, and Zig. And both of them have a lot of power to them. They're both very interesting.
They definitely have foot guns in them. They're definitely more, you know, they don't take it easy on you. Zig seems like it's a really amazing language and so does Jai. They're both very cool.
I mean, when I say mistake, nothing against Dave Plummer. He's an extremely talented engineer. It's just that Zig, C, C++, all those languages that were being tested, they're all LLVM backends, right? That's the one that actually turns the thing into the executable part. And if there's a variation in speed, it just means in one language, you didn't quite express what you're supposed to correctly.
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. And then, because I always, my big problem was like, okay, do factorial. Why not just use a for loop? Okay, what about Fibonacci sequence? Why not use a for loop? Or like, I don't understand. What's the purpose of recursion?
Like there's the language ball test that's been bouncing around on Twitter.
zig was like sixth or seventh below i forget what language is um i played around with the example added the word uh no alias to the argument which means that the p the piece of memory that's coming into this function there's no global pointers there's nothing to it and so the compiler can make these really cool uh optimizations and i made it faster than the c version so it just means that just it's just not correctly specified is all that means
I'll say something that's... The reason why I think Zig is so interesting, comparatively to, say, C or Rust, C is like the ultimate language. It can do anything. You have preprocessor macros. You can do quite a bit with it, but it's also really difficult. And it's also really simple and you can learn it. So it's kind of, it's like own unique beast.
And when you get really good at C, C is a magical language and people are really great at it. And people speak very highly of it. Rust is like this ultra safe language. What you can do in C, you just can't even express in Rust. Rust is gonna be the safe man that holds you at night, keeping you warm, right? It's gonna be just the greatest. But somewhere in the middle lies Zig. Zig has optionals.
If you're not familiar with optionals, that just simply means there's a value here or there's not, but you first have to check that before you can use it. Thank you.
It is. to be, to be.
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 and I'm like, okay, well, I guess I can just go up and I can create like a visited grid that so I know not to visit these places anymore. And then all of a sudden 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, I've understood recursion this whole time. I just never had a problem in which it actually made sense to use.
you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you, you,
And that was like my big downfall is that 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.
YouTube just doesn't seem to have that. They're just a bunch of people and people go to YouTube for various reasons. I'm going to YouTube to learn. They come in and they want to learn. So they're not like on the meme train. They're not in this like cultural zeitgeist train. They're just like, but why would you use this if statement when a switch statement in this one particular case?
Yeah. Or you just want to be able to like create a culture on your chat because your chat's going to be some variation of that kind of zeitgeist that's flowing through Twitch. And it kind of is very contiguous between X and Twitch. It just feels really out of sync with YouTube. And then YouTube particularly does a bad job. And some people would argue a good job because you can swim.
Swim being you can actually change what timestamp you're at. So all of a sudden you'll be like... Oh, yeah, you know, I, you know, something about like driving to soccer in my minivan. And then 20 minutes later, you'll be talking about Zig. And someone's like, I personally use whatever to drive to soccer. And you're like, what are we talking about?
Like, so YouTube is a very disjointed chat as well, because it depends on where they're at within the video. Swim comes from Netflix, by the way. Called Swim. Swim.
Fully on that theme.
Yeah. If you send a Twitch link, they're like, I don't like video games. And you're like... Well, actually, it's not video. That talk happens every single time you mention Twitch, because Twitch does have a perspective about it that YouTube does not.
You typically are going there for like a text-based interaction you want to look through. So I also think they just have like a user expectation change that needs to happen. And that just takes a while. You know, that's going to take a little bit before people get to it. I think their idea of audio first is a great first step where people can kind of listen to it and have the phone away maybe.
There's a lot of like changes that have to happen before X can be successful in that.
You said incredible. That's not Reddit. Comment section, correct. Comment, yeah.
There's no like, hey, Bill. Hey, George. There's no crosstalk that happens in multiple videos.
YouTube also does have it, though. Like they have an aggregate community. You know, there's a lot of fun comments and all that on the videos and a lot of thumbs up. And then you see the fun discourse that happens. And it's like that's the community. It's just only a certain slice sees it.
For me, I don't know if there's like a one project I can point to, but I can point to a specific spot where I think it happens and where I think you can learn a lot from. Any small program you write will be somewhere between like 1,000 to 5,000 lines of code. I consider like a pretty dang small project. You can kind of correlate this to any feature within a larger system as well.
You know, a specific feature on a website could be 1000 lines, a couple 1000 lines, there's a point in which all of your choices add up. And that's, I typically find that right around five to 10,000 lines of code, the choices you've made either weigh you down or kind of free you up.
And so it's right in that that I feel like I learned the most is because I love getting to that point in a project or in some small part of the code base, because at that point I get a test, A, how good were my initial gut decisions about how I design software? But B, now I need to go back and think about like, how am I going to do testing across this in a more effective way?
How can I scale this out to 20,000 lines of code? How can I do all these things? with what I've got, or do I need to kind of rethink it? And I find that that's really where the best learning happens is that everybody has probably a different number that exists.
And as you go to each one of these numbers or how well or holistic you want your project to be, I think that you'll come up with different numbers. And I think that number should just get bigger as you get more experienced. Cause you know, there's like, there's projects that are a million lines of code, but they're most certainly not holistic, right?
Like every part of the code base is some age at some capsule of time with some sort of programming style. Some is more functional, more class-based, more God help your soul if it's pre-processor macros and C++, right? Like there's like all these different kind of things you'll find throughout time. And so that's why I kind of try to think about it as like the feature or the thing you're working on.
It's usually about 5,000 lines is where I find that things get kind of, did I make good or bad decisions? And that's where I do all my learning is right on that phase. I'm trying to get it to the point where I should be able to shoot from the hip and do 20,000 lines and not be upset about it.
No, you are the reason why I do that.
You're like the first one. Keep on going. Sorry.
But anyway, you were saying, okay, so you and john Carmack had a conversation about asserts. Yes. You talked about this idea of putting asserts everywhere that effectively crashed the program. when you have some state in your program that should not be represented and you have made this choice actively. And so I've never done that before.
And I know this is like an old technique and I obviously must be too young or too dumb to know that this was a thing people did. I grew up in Java and I think that's probably why I didn't run into this. So I saw that and I was like, I'm curious about how to use Asserts more. And then I ran into a person named Yoran. He's the CEO and creator of Tiger Beetle.
It's like the world's fastest, greatest financial database. And it was spawned out of a company that needed to do a bunch of financial transactions. And it's written in Zig. And what they do is they do deterministic simulation testing. And they just use NASA's kind of guarantee for creating really great software.
So like, don't use you size, specify your exact size of into you expect everywhere, all these kind of like, things they do to be very specific. And one of them is that every function should contain two asserts, whether it's positive space, like, you know, these things should happen or negative space, like this pointer should never be null. You're programming into things that should never happen.
Normally, you just never specify that. You'd never think about that. So every single function everywhere has all these asserts, and these asserts run both in production and in testing. They're always on, and then they take deterministic simulation testing, and run like 200 years of just random data, just complete slop going through the system, and seeing how far it goes.
And when an assert happens, they're like, here's the input that caused it. Here's every last little bit that happened. And now you can identify where this went wrong. And it was so cool. So between you, john Carmack, and you're on, that's where I like, okay, I got a real and NASA. I'll throw NASA a bonus while NASA can join in on that one. I was like, okay, I want to try this. And I did try it.
I built kind of like this big reverse proxy for me trying to do some game development stuff. And I just went ham on the asserts. And then I built a whole simulation testing thing that could do everything deterministically. So... you know, even the result of requests would all come in specific orders. And I found a bunch of bugs that I just would never have found.
And then I did it for a game I was making. I found some bugs where my cursor went off screen. It would cause all these different problems because I just never tested them. And it's super fun. And it's like a really great way to program.
Yeah, when your system gets sufficiently large, some of these bugs are just, they're very difficult. I, you know, bless anyone's soul that's working on million line code bases, because it does. It just, I can't tell you how many times I've spent multiple days just trying to figure out the root cause of the bug, not even the fix, just like, why does this happen? And that's hard. So I love it.
I just love the asserts because I'm not good at them. I can see it's definitely a skill that I don't, I don't put into practice constantly, which means it's just not like a muscle memory type thing. And so it's just one of those things I just love. It's just, it's such a fascinating way to approach a problem because I would have never thought, you know what I'm going to do?
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? I'm not sure if they're even operating still at this point, but they're in both. There's something funny about the name. I'm sorry. Oh, Schedulicity. Yeah. They actually...
If I'm wrong, I'm going to crash this thing. I'm going to crash it right here because I should never be wrong. But instead you're like, oh, actually that makes perfect sense. I should crash this thing. I've done something terribly wrong here. Why would this ever exist? And then you're like, this is going to solve a whole class of problems.
And the nice part is like with the web and all that you can always pop up something and say hey things have gone very very wrong we're unable to recover you can like give them a nice message and then log it off so you can see it and then measure how often are you doing it you know I understand that there's a bit of interestingness to a to a web project like do you want to always crash a server.
There's a bit of a gamble if you release a bad version and you crash all your servers constantly. That's a pain you're going to have to accept.
Well, there's a lot of things that ADHD affects. And so I'll start with some of the easiest things because there's like directly applicable than like these kind of collateral damage applicable things that happen. So one thing that has really helped me with ADHD is maturity.
I think that's just like just a thing that everyone needs more of, meaning that I found myself getting so wiggly and so out of control when I would try to sit down and read. And I just couldn't handle it. I just felt like I'd read a page and didn't read anything. The part of me that just went, oh man, gosh, I just can't even do this.
I had to just simply quit listening to it and said, nope, I'm rereading this page. I remember reading some pages in college like 18 times in a row, just like I'm going to force myself to just do this the correct way. And so there's an aspect of maturity that really helps no matter what. I will do the thing I'm going to do and I'm going to do it well.
And maybe it takes me a lot longer and that's okay. That's not the point of it. It's that I'm doing it. And that's the point. And so that's kind of like one thing that I think just generally helps and ADHD, no ADHD, you know, the resilience, emotional resilience is just like a really important aspect that just helps. And so I think that has been a large part that really helps me.
There's things that I still obviously struggle with, like, it's clear where I'm really bad at stuff. And just trying to like think through all the different things that I'm bad at. There's more things I'm bad at than I'm good at. And so programming obviously has something that just allows me to remain focused. And it's like a strength of mine.
And so I started off where I could just do it for a little bit. And then just through kind of that emotional resilience, I was able to start doing it more and more. And so now I can just do it for like 10, 12, 15 hours at a time. And I absolutely love it. And so it's, it's become kind of like a joy. It's like playing a musical instrument. I'm really into it, but then it,
if it came down to, Hey, you need to go schedule your own, you know, dentistry and go do all these other things or make sure the kids have this type of stuff ready for, you know, the meals you need to pack throughout the week. I'm,
historically very bad at that and will probably continue to be very bad at that and so I must say that one of the reasons why I excel so much is because I also have a wife who is so good to me and she helps clear out a lot of the things in my life that cause a lot of like me kind of getting snowballed into a weird spot where I'm just like distracted getting nothing done and so she's really helped me so it'd be foolish of me to claim that I've defeated ADHD by myself but instead I
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 because no one knew how to spell the word schedulicity. And so it was just like the Google optimizing for that is just hilarious. But okay, go back to the thing.
I find that the places that I can really control, I've done a very good job at, and the things that I obviously need to do much better at, my wife has helped me a whole bunch. And so I've kind of cheated. Maybe I found a cheat code, loving wife, but that has been the thing that has really helped.
It's definitely a learned skill and it takes a lot of time. And when I say, you know, oh, I was able to do from here to here, I'm speaking over the course of like five years of doing this every day. Like it's not some small, there's no, you could, the nice part about that decision though is you can make that decision today. You can make it right now.
You're gonna be like, from here on out, I'll never make that mistake again. I will say I'm gonna read 50 pages. I will sit down and read 50 pages. And when I get distracted, I'll go back to the last place I remember and I'll start again. And like, that's a decision you can make. That's a mature, you know, non-emotional decision to make. And you can do that.
It just may be really painful for the first couple years of making said decisions. And then it gets easier and then it gets easier. And then it just, it becomes more natural to change yourself.
And 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 code base. Sure, that's fair.
The horrible afterwards is real serious. I've definitely, I can 100% notice that I am a more anxious person the more time I spend scrolling. Yeah. Yeah. I can just feel it. It's like something inside of me that's kind of, I don't know how to say it other than it like wants to get out, but I don't really know what that is. It's not anger, but it's not, you know, it's very anxious.
I heard it put really beautifully, which is that, uh, we in America really have misunderstood Liberty, uh, Because we typically have liberty as just the freedom to do whatever you want. And the argument was that it's not the freedom to do whatever you want. It's the freedom to be able to do what you will.
And how often is what you actually want to do, you don't do because you get trapped doing something that you've convinced yourself in this quick moment you want to do. And so it's like, I want liberty. I want the ability to control freedom. my energy and to be able to like, do the thing I want to do not to get distracted and destroyed in all the millions of distractions.
And some of us get, you know, handed a worse deck of cards, some of us get a better deck of cards, but I don't think there's anybody that doesn't struggle with it in the technological age.
I didn't understand all the things about the code base, 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 webpage. There's no creativity. There's nothing to it. It's very like almost factory line kind of work.
I guess at this point, I'm lucky. But when I first started, I can remember that every last part of programming, I had to go look up. I had to go read. I had side quests at all time. Every step was a side quest. Why is my screen blinking when I'm trying to render this thing out? Oh, I didn't know about double buffering. Why is this happening? How do I even write to the screen?
Everything was a question. I had more questions than answers. And so I constantly had this, like the problem of side quests. And I find that to be a very exhausting thing. But as I learned my instrument very, very well, I don't have as many side quests, I become more and more able to just focus on the thing I want to do. And I find that to be something that is just super, super useful.
So when I say I'm kind of lucky, meaning that I've spent so much of my life preparing for this moment, that now when I have the opportunity to do something, I can just do that thing. And I don't like I can be just on an airplane, and I can just program for hours, I don't have to look up a single thing, I don't have to do anything, I don't even have to test the code, I can write a
1000 lines of code on an airplane, and I'm very confident that it's going to be 98% pretty dang good. And I'm very happy about that, because that allows me just to be in the moment solving the problem I'm trying to solve, then I have 100% of my brainpower, solving a problem.
And this is why I also it's the same reason why I recommend learning how to type and learning your editor so well, you don't even have to think about the action because the people that have to even if you just look down, That's still mental processing power. You have to spend looking at a keyboard in which you already know where the key is.
Like you do, you know, at this point, if you've been typing for thousands of hours, you know where the key is. Just stop looking down. You'll learn really quickly. And so it's like this thing where it's like, I'm not going to spend all that time and all that mental effort, like looking up the thing. I'm going to just memorize, you know, I'm just going to get it in me and then I can go fast.
And it feels good. And so that's how I kind of defeat that is because now I get to do something where it's like, there's no more questions. It's now me just expressing myself into this medium. And it feels really good.
And that was a very kind of difficult moment for me, which is I didn't enjoy programming because 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... at all times.
So I have a rule. Yeah. Which is I do not edit my RC other than some kind of cataclysmic thing. Like someone updates a plugin. I didn't know they updated it. Now there's like a hard error in my editor and I have to like move forward. Um, but I have a rule where I will edit my RC, my NeoVim RC or anything once a year, something that bothers me. I'll write it down. I'll remember it.
I'll be like, okay, I want to change that. But I will just not go back to it. Now every now and then I'll break that rule if I know it's like, oh, I want a new remap to be able to do this one command. And that takes like literally 13 seconds. Like copy, paste, do this, done. Okay, I have this new remap. It made perfect sense in this situation. But I don't go plug and exploring.
I don't try to solve every problem. I don't want a perfect editor because that is a pursuit that will never stop. I just go, this is good. Good break point. I won't do it again. So I spent... Last month, I probably spent 100 hours just like editing every possible thing I could about how I start up my system. And I can have a computer from zero to 60 in almost no time now.
Everything the way I exactly want it. NeoVim, everything all perfectly set up. Happy enough. I'm not going to touch that system again. Maybe I'll touch it next year. Maybe I'll take a year off. You know, it's just I'm fine with that. I'm fine with not being perfect.
So keyboard, you're using my favorite keyboard right there. The Kinesis Advantage. Saved my career. Beautiful keyboard. Concavity and thumb clusters are just so important because if you really think about it,
especially if you're using QWERTY, when you're pressing the symbols, like on a standard keyboard, you're just doing this the whole time, backspace, enter, symbols, like you're just doing this and just screws up your wrist constantly doing this. And this one, you're constantly doing like control and shift. And it's just as like messing you up. So it's just like right here.
That's so much nicer in life. So keyboard, most important, I'd say, get that one done.
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.
Yeah, I'm on that team. That's why, so that's why I love that. So that's, I would say that's one of the most important things. The next thing that I find to be very, very important is that one monitor. I'm a one monitor kind of guy. What? Really?
So when I program, when I do anything, now when I stream, I obviously have a second computer that runs the stream because, you know, I sometimes crash my computer at the restart or whatever. So I do have a second screen there that I put stuff up. But most of the time, you'll notice that even when I'm streaming, you've been there, I have to physically switch to the streaming chat
channel for me to read it and that's because i'm operating off of one screen and so i have this whole style in which i like to navigate inspired by starcraft is that i believe in the press one key go where you want to be mentality and so everything about my setup is press one key so when i want to go to twitch chat alt two
twitch chat when i go on to go to my browser alt one that's my browser alt three that's where i go to my programming that's power finger obviously a big middle finger right there just smash it down uh alt six is going to be gimp so my gnu image manipulation program so if i want to draw i go there when i used to have slack it was all five if i have a spare terminal where i need to run some extra things that's all four i had all these kind of everything is perfectly mapped out to single key
And then when it comes down to using, say, TMUX, I have all my terminals into one single terminal, and now I'm able to kind of switch between there. Prefix one goes to my Vim editor, whatever project I'm in. It's always the first TMUX tab, if you will. They call it a session, but I'm not sure how to describe it if you're not familiar with TMUX, a tab. Second one is like my spare terminal.
Third one is my long running process terminal. My fourth one is a long running process terminal. So I have it all set up. So every project I go to automatically spawns session one, Vim, session two, spare terminal, session three. We'll also open it. So it's like, everything's just ready to rock. Everything has been optimized to where I do that. If I want to go to a project,
It's control F and any terminal will bring up a fuzzy find list of every one of my folders on my operating system in which I can go to with just a couple keystrokes and boom, I'm in that one now. And so it's like very oriented to find where I need to be as quickly as possible. Via keyboard. Via keyboard. Then in Vim, I developed a plugin called Harpoon, which is I press one button and I can pin...
Yeah.
one of the files to like a temporary buffer. I think projectile is potentially close to this in Emacs. I can't remember project. I think projectile is closer to my sessionizing script. Anyways, so now I can I have four pinned files in which I can go to any of those pinned files with just a single keystroke.
And so now it's just like, because every time you develop a feature, usually you have like three files you're kind of primarily working in. And I can fuzzy fine for the other files. And that's that. But usually I just have like these three power files that I'm always swapping in between. And so it's like now everything is just I want to go to the browser. That's one press.
I'm more than just good looks.
I want to go to my workstation. That's one press. I want to go to a specific folder. I need to change folders. Sometimes you work between two different projects. So in Tmux, that's prefix capital L will swap between your last two. So I have alternate projects. I can even swap between projects and pretty much one key. So it's just like do do do just trying to optimize it.
So I don't think as much because I think search fatigue is a massive fail. where you have to look for it. Like when I see people on a Mac do this and then explode all the different ones, that gives me anxiety. I'm like, why are you using your eyeballs to search for what you want to do? Like make it into a key press and never think about it again, ever.
It at least intellectually feels better. It may not be great for some people.
Interesting. So I don't even do that. I even have it so zoomed in that I probably only have like maybe 25 lines of code at any one time on my 27 inch monitor.
Husband of beautiful wife. Okay.
Why not press a couple of keystrokes? Thank you.
Thank you. Thank you.
Yeah, I can get it. We can put it all in there. Plus, I mean, obviously, those two are very, very tightly coupled.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Okay, so first, let's do the previous or the 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.
Thank you. Thank you. Thank you. ,,,,,,
And maybe there's some other stuff, yeah, like game programming, but you'd be 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.
You said what contains the most amount of repos, how many percentage of repos on GitHub are web based, they 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.
My big takeaway really like what I'm trying to say with all these words is that I honestly don't actually think that the editor obviously does not make the programmer. But I think it says a lot about your character as a programmer if you don't know how to use your editor well.
There's something about a person who's willing to commit their life to programming and spending literally 50,000 hours doing an activity over the course of their lifetime and never take the time to learn their editor through and through. It just seems strange, like, right?
You'd never see that in another world where people would be able to build something or do something and just completely forget how these things work and only just focus on one part of like their craft. And so to me, it's just like, it doesn't matter how you use it. I want to see the person that just knows how to use it and they know how to use it well.
When there's a problem, they can say why the problem exists and then go and fix the problem. To me, that's like, there you go, you've done it. You now know your tool, go forth and conquer with said tool.
Meetings.
There's just huge amounts of 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 the entire kind of programming world out there.
I would have 100% agree that. Cursor seems like such a cool product. Like I actually think there's like a lot of really neat things coming down with all that. And I could, you know, I could change from NeoVim. I don't use NeoVim because I love NeoVim. I use NeoVim because I love the instrument I play. And so it's like if Cursor can meet those needs, I could see myself moving over.
I don't have some sort of obsessed attachment with it. I am curious, though, that, you know, every time I use AI, I think I just have skill issues. I think I'm just so riddled with skill issues when it comes to using AI. I've yet to be able to use it in a way that I really love it. We'll talk about it before then. Oh, ball to sit on. I forgot to say that. Ball to sit on. Yeah.
Desk needs to be properly hided. One monitor. I should be two thirds way up the screen. I don't like to turn my head. I prefer my hands in kind of like a pistol neutral position. And there you go. A ball to sit on, yoga ball. Yoga ball. What's that about? It just helps just maintain good posture because when I have something to lean against, I do this.
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, I've always looked at myself as a tools engineer.
I sit on the ball and then I bounce.
Well, how else do you like the problem?
It feels great. I mean, the problem is, is whenever I get a back, I just slouch. And I find myself just getting uncomfortable. And I'm like, why am I uncomfortable? Like my shoulders are kind of getting goofed up. I just like, I'm chicken necking, like constantly like, you know, it's just like.
Yeah. And so I can just do that. And then I find myself, if I slouch, I'm like, okay, nope, got to get back.
No, I don't think it takes incredible back muscles to remain upright. Yeah. I think that's a pretty basic human function. I would not consider myself a strong person. Yeah.
Facts and logic.
neo vim with operating system linux uh just because i i want a good window manager That's the whole press one button, bring up Chrome. I just use i3. I'm sure I could use something better than i3. People always tell me all these window managers are really great, but I just want, I just have like those three screens I switched between.
So it doesn't really, I don't really care what I use, just as long as I can press one button and go.
That seems perfect.
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 webpage because we didn't have any of that stuff back then.
You know you're making his day.
Fully agree. We have very similar mentalities when it comes to usage of NeoVim, why people should use it, all that kind of stuff and how to even use it. Well, he definitely takes it probably to a further degree. He spends more time automating and all that. Um, I don't necessarily derive a lot of joy from getting the perfect setup. And so, but a lot to learn from.
He's very, very good at what he does. He is by far probably one of these, he's 30 years old, been programming for not too many years, and he is one of the most talented developers for sure. It's very shocking to see how smart someone can be. So people should check him out at T-E-E-J underscore D-V. Yep. Teej.com. DV. His last name is DeVries. DeVries. Oh, it's not a developer. Okay, cool.
Yeah, yeah. So it's just TJ. That's just his name. Just spelled kind of fun. What do you love about him? Wow. How much did he pay you to ask these questions? Thousands of dollars. Just so many dollars. I can't even count that many dollars. He is trust. Obviously, trust is the biggest thing, especially in the quote unquote streaming YouTube kind of world, if you will.
It's very easy to find people that will want to like be a part of stuff. People tend to latch on to things and it's very hard to find someone that you can really, really trust. And so he's just somebody whom I can genuinely trust. He'll always tell the truth. He's all he's all the right things for a good friend in this kind of endeavor.
So as a good friend, he told me questions I could backstab you with.
I forgot how much I don't trust him.
That was a lovely framed question. So Harpoon 2 is actually done. This is what I did to avoid the swirl and the thousands of questions I will inevitably get. I kept the master branch as Harpoon 1 and I've kept Harpoon 2 as Harpoon 2 branch. And people that don't read the readme to say that I just use Harpoon 2 now. That's their fault. That's it.
I really don't like answering hundreds of questions about open source stuff. I used to love doing open source and all that, but I kind of got my soul crushed during the Falcor years. And so I guess I'm just kind of allergic to... being a really active maintainer, I build everything just for me. Like Harpoon's just literally just built for me.
It's just what I spent three months trying to figure out the most optimal navigation for files. And that's what I came up with. So Harpoon, it's a take on alternate file. If you're familiar with alternate file, typically you'll have this in all editors where you can go back to the file you were just in. And so that means you can have effectively two files you swap back and forth.
It was a canvas, had to do all the like matricy 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 two, 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?
And you probably used it a bunch, really fast way to navigate. Pretty nice thing to do. I want something with, I want alternate file, but like three of them or four of them. And so that's all Harpoon is, is just being able to pin a file. And so I have one button to press to go to a file, another for another, another for another. And so I can have up to four.
So I just had my four power fingers for Dvorak. What is that? That's H T N S. So if I go control H T N or S, it goes to one of the four files and that's it. That's all it is. And you could technically make it so you can add in functions and be able to execute things externally. So you can open up terminals. You can send requests off to servers. You can do anything you want with it.
I just have it primarily designed for opening files.
I used Dvorak, but I used a custom version of Dvorak. The reason why I used it is in 2017, we were just having my second kid. It was Christmas and I'm having so much pain in my arm and I'm sitting there freaking out like, oh my gosh, is this the end of my career? Am I done programming? Is this all over?
And so I decided that I was going to create my own keyboard layout optimized to prevent the pain that I'm experiencing. So I used a Dvorak as the base and then laid out the symbols in a symmetrical, reasonable way. so that it's opening, closing, opening, closing, opening, closing, right? And they all are right here. I actually have to hold shift to press a number.
So symbols are actually my first thing I get to press. And so it's very optimized for a laptop keyboard layout. So I can use my laptop in a very efficient, nice way. That's how I got started on Dvorak and all that. I wouldn't actually recommend it if you, because I didn't have a kinesis at the time. I didn't even know kinesis existed at that time.
And so when I discovered kinesis in also 2017, that's when I was like, oh, okay. Would you recommend kinesis to people? I am technically sponsored by Kinesis. So people, you know, it's hard for someone to believe someone that's sponsored by it, but I did use it before I ever became sponsored. They're the only sponsor that I reached out to and said, I need a sponsorship from you. You are the key.
I'm going to use you either way. Yeah. You can say no, but I really love it. And for the first three years of using Kinesis, they gave me free Kinesis, Kinesi, as my sponsorship. Kinesi.
I relate.
Yeah.
And I love this experience. It's like a relationship you have with the thing.
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.
They say that distance makes the heart grow fonder. So maybe sometimes the Kinesis keyboard needs to stay at home and the laptop keyboard can be the one so that your heart grows even more fond and that connection grows even deeper.
Who uses these keyboards as you use the keyboard? I have to take it with me everywhere. I wonder who uses these keyboards.
There's a bunch of stuff on there.
So as of right now, it's the only way you can get the coffee is via SSH. That was kind of, okay. So can I just origin story you?
Yeah. Man coffee.
Okay. So TJ and I, again, same teach, teach TV about, by the way, very amazing designs done by David Hill. They're very, very good. Yeah. So let me kind of give the basic ideas.
Like, it must have been about a year, a year and a half ago, TJ and I were talking like, hey, you know, every one of these people that have like some sort of following some sort of online presence, they're always like selling a thing. I got nothing to sell. I don't really want to do merch. I've never really enjoyed doing merch. I just find that. I don't know. It's just not as much fun for me.
Don't want to have a tequila. I don't want a tequila. I want something.
So as I went on to say Netflix, 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've always really enjoyed that aspect because your stakeholders and the people that use your program understand programming and they're gonna say like, hey, I need this.
That and I also want something that I really don't feel bad about selling. You know, there's like a lot of people that will go on the internet, and they'll show for a whole bunch of products like, okay, try this, try this. And this is why I've only ever really done kinesis is because it's like, well, I can point to something that was really bad in my life.
I was very scared and now it's not bad anymore. So it's like, okay, that one made sense. But everything else always has been, you know, it's harder for me. And so we just talked for so long and we love NeoVim. So we're just like, oh, why don't we could do something from NeoVim? And we're kind of like laughing about that. Like ordering from NeoVim is just so ridiculous.
And then at some point we're just like, well, wait a second. And maybe we could do like coffee. Like every developer loves coffee. Maybe we could figure out this coffee business. And so I have a good friend named Dax, T-H-D-X-R. Dax, yeah, Dax. He, the most sassiest man alive. Sassiest? Oh, yeah, he has a lot of sass. Beard? Yep, he has a beard. Very, he does SST. He does a lot of stuff.
Very, very talented. We'll call him DevOps engineer. He's more than that. But very talented guy. Him and another person named Adam.Dev, vegan, by the way. Great guy. We take him to Korean barbecue all the time. He eats nothing. That's great. And Liz, she has been super important to the Terminal Coffee Company. I think without her, we would not have been able to do what we have done.
And then also David Hill, designer. He does Laravel. He designs for Laravel. Very talented designer. And so we all kind of came together and we were just laughing about how can we like, could we do something that's just ridiculous? And that's kind of what we came up with. Yeah, you like, there you go. You just open the website. You actually, you literally cannot order.
We actually do not allow you to order.
Yeah. So you can only SSH into it. So you have to copy that command and throw it in there. If you want to add it in the little terminal shop for your known host, you could do that. How do you handle payment? Through Stripe. And so one of the things we'll be adding a mobile checkout to where I'll show a QR code in the terminal and you can just like check out on your phone.
But right now you enter in your credentials. It goes to Stripe via all terminal. Yeah. SSH is obviously it stands for secure shell. It uses elliptical, you know, quantum safe algorithms to ensure that your data is not being intercepted. Yeah. But does he use AI? I'm pretty sure Dax uses AI.
Quantum AI?
Can this even be a company if it's not using AI? We have some crypto chains with some quantum AI that's powered by fusion, so it's pretty wild. Anyway, so yeah, we just kind of came together where we thought, that was from the Mike Tyson fight. It was literally that night Mike Tyson kissed the reporter and then walked out.
Without any clothes, we did an ad for somebody. But we decided to make a coffee shop. And then we thought, instead of just making it NeoVim, what if we made it from SSH? Because everybody has SSH. You have VS Code, launch VS Code, you can order coffee from within VS Code. Right? Because your little bottom terminal has access to SSH. Bada bing, bada boom. It's kind of fun.
And so we kind of really... We just wanted to do something where there's no level and there's no world that makes me feel bad about selling this and people buying it. It's good, ethical coffee. We developed the entire supply chain and everything. It's all packaged. It's all boutique. It's all really like it's pretty high end coffee. It tastes really, really good.
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.
At this point, I don't like drinking other coffee. I get kind of upset about it because it's not as good. And so it's kind of funny that I've fallen for my own stuff. I'm high on my own supply pretty hard right now. I just got done ordering 16 bags and gave it out to my family to try to convince them. But it's just something where it's like...
I didn't sell you a software product that's going to influence your startup that could potentially lead to disaster. I didn't convince you to do a bunch of stuff that's going to change your career. I just said, hey, here's some coffee. And it's like a fun experience.
If you can't use SSH, you probably should just not worry about buying our coffee. Like that's the way you can learn. You can learn if you are active and you're a computer person, you'd like to launch the terminal and feel like a hacker. Go for it. We even have subscriptions.
Yeah, like, hey, order me some coffee, and it'd actually go off. Give me dark roast, order coffee, and it could actually go through the whole flow of ordering.
Okay, so my general view is it comes down to something that's pretty simple, which is that if you're doing something in which is very predictable, AI is really nice. when you're doing something that is just not predictable, AI is not very nice to use. If you're using anything that's more cutting edge, AI will not be using it, or AI won't be very good at doing stuff with it.
Like it's not great at Zig, because Zig is just like, say, less documented. It's really great at TypeScript. I think there's a lot of There's a lot of interesting things that are going to come down through AI that I think a lot of people aren't really prepared for or thinking through.
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.
TJ is kind of the genesis of this idea, but the idea that I think there's going to be a lot of kind of market manipulation, if you will, through AI, meaning like, hey, you want to research... Say, best woodworking tools. Someone's going to be buying an ad spot. Someone's going to be buying premium training data.
They're the ones that get the big boosts in the LLMs, but LLMs don't really have to market as an advertisement because it's not really... directly an advertisement. They just had a more premium spot per se in the training data. A little bit extra learning to it. You know, it's like there's a lot of things about AI that I fear upcoming.
A lot of it just comes down to people not learning or making the trade-off where productivity is the only thing that matters. Yeah. And I don't think productivity is the only thing that matters. If you want to build something complex and difficult, productivity is not the only thing. You actually are going to have to do deep learning and kind of pursue it beyond the basics.
And so I see AI as kind of like this really cool thing. It feels like a magic trick. I remember the first time I used it, I got early access to GitHub Copilot. In fact, Nat Friedman saw my Twitch clip of me asking GitHub for it, and he sent me early access himself. It was awesome.
And when I used it, it predicted an if statement correct, and my mind was just absolutely blown because I had nothing before then. And now it's just like first time ever. And I just remember thinking, man, this is going to change programming so much. And then the more I used it, the more I just, for me personally, I kept introducing bugs. And I couldn't figure out why.
And what I realized is that I kind of developed, I wasn't co-piloting well, I was autopiloting much better. And my ability to read code versus my ability to critically think and write code, they're definitely different sets of skill levels. I don't consider as well when I just read code as opposed to when I write code. And so I struggled there. I do think that's a skill set. Yeah.
Skill issue for sure.
It all made perfect sense. I really do like that phrase, it makes it less lonely. I think there's something to that that's kind of interesting, having just some level of interaction that's not just like an LSP autocomplete.
Like having something that's actually a little bit more than just that, where it actually is kind of thinking through and you can see a different thought and you're like, oh, wow, that's a way different approach than I would have taken. Hey, that's kind of cool. I like these kind of things. And the thing is, I'm not like an AI negative person. I... I can see why people really, really like it.
I just haven't like I just every time I used Copilot for from when Nat gave me the access all the way up until about six months ago, like that's how I used it for quite some time. And I really, I really did enjoy the things I used out of it. It just never, it kind of did the opposite for me, I felt like I was more reviewing than writing. And I felt like I was more
kind of just letting things slide, or I just didn't really think too heavily about stuff. And it just I wasn't as engaged. And so I'm like, Okay, so something's kind of wrong here. And that's just like a me personal thing. So I recognize that is not how someone should approach these things. That's not a good reason for why you should or should not use AI.
Like, I just don't think that that's right, because I could probably correct that and figure out a better way to do it. I've been meaning to have another AI round. And so I've been thinking about like, maybe I just need to spend like two weeks in cursor, and just like fully embrace what does it mean to be somebody like this? And, and what can I do with this, like, these new powers?
Have they improved to the point where they're actually good? And I mean, for me, cause like a lot of the decisions I make, a lot of the little functions I'm writing, it's not cause I'm trying to write this function to solve this problem.
It's cause I'm writing these functions or this set, not just to solve this problem, but because I know in about another 2000 lines of code of building all these other things, I'm gonna need to start doing this next activity So it's like I'm trying to like really try to chess move myself into the exact things that as I let things go faster, I kind of fall apart on that chess move.
And again, skill issues for on my behalf. And I mean, in the truest sense of the word, where it's like I'm making a critique because I don't use it well enough.
Thank you. Thank you.
And so I 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 much. 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.
Thank you. Thank you. Thank you.
But if I had to go learn Kubernetes, I'd go learn it in...
Thank you. Thank you. Thank you.
Thank you. Thank you.
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 of that, it doesn't just disappear, right? It's all the kind of backbone of being able to operate something at scale.
,,,,,,, So, yeah, I'll give you that one. But it's just like, I don't think it has anything in the near term. There's been no computer improvement up to this date that did not result in more jobs.
Right now, I don't think we are anywhere near natural language being possible because it's ambiguous. And I think what we'll end up seeing as people push really hard into this, you're going to see some sort of like pseudo-lang, which is going to be a language for AIs in which you prompt, which is going to be less ambiguous, right? People keep striving towards the less ambiguous state.
Like you really don't, if you think about it, if you're just writing a mom and pa like website, people that do PHP that are doing WordPress and all that, they're gonna build something, they're gonna hand it off to, I don't know, Linode, DigitalOcean, some company, they don't really need a really complicated build, deployment, all this.
And at that point, you're just programming. You're just programming yet another evolution into a higher order language. And perhaps that is a future in which people will have a more terse, language, I'm just not sure how much more terse it can get.
Yeah, I mean, all I see is that if you say natural language can be used in the pipeline, you've just made that many more people can become programmers, which means that much more software will eventually be created, which means there's that much more software that will need to be maintained, and just becomes a real big snowballing effect.
To some extent, right? Because no matter how much we want to say how good AI is, there comes a point where there exists a bug, there exists a large piece of software in which to describe the change requires just like pages and pages of description to the point where it is significantly just faster or easier for someone to just whip something out. Like there's definitely a balance there.
It's not like a perfect trade-off. And so I still don't, I think people need to quit worrying and think about how they can integrate it and try, like prove it to themselves. Do they actually make themselves irrelevant? And if you truly make yourself irrelevant, I would challenge you that you're already, like you're just doing something that, was just slightly too complicated to automate.
If you're only writing just straight up crud apps from back end to front end and like simple table displays, like, yeah, maybe we just couldn't quite automate that away. And now we just have something that can just do that a little bit better. So now that's automated the way, but that's not really programming. That's almost like building Legos at that point where the design's already set.
You just simply have to move piece from bag into correct position.
I think that the bigger the project you can manage, the bigger the thing you can build, the more understanding both down and up the stack you can go, the more valuable you become. Because if you understand how to build something in the front end, okay, well now you kick off some LLM task of some sort that's gonna go off and make a change to the front end.
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.
Okay, while it's doing that, you can go and kick off something in the CLI tool. You can go and you can go kick off something somewhere else. And as these things come back with results, you can review the results, make sure it's the way you want it, Change it, commit it, go to the next.
Like you only become more, you know, as you said in the end, more productive if we reach this state where it's truly able to do that.
And also potentially that a lot of people use. There's this one thing that just really frustrates me, and this is kind of going into the Devin category, which is that I want an intern that cares. Yeah. You don't get that out of an LLM. It does not care. Meaning that I don't want it just to make a UI for me that displays these icons like I asked. I want it to care. I want it to think about it.
I want it to present to me and be like, oh, yeah, yeah, that's great. And then me to make changes. And then later on, it's like, actually, you know what? I really rethought about this. And actually, it'd be way better if we change. You know, like it doesn't actually care about the craft. You know, but when you work with an intern or you work with somebody else, they care.
When they factor something, they actually go over and go, oh, yeah, this is actually kind of bad. I'm going to come back to that. They finish this, they go back over and they make this even better, right? They like actually care about the thing itself. It's a completely different experience.
I just want something that also cares, that wants to make the thing better, not just simply accomplish the task. And I know I'm asking way too much. That's not, you know, now we're getting into like Blade Runner level AI. I just want something that's, it just feels like I'm missing that. Where it's just like, it will complete the task automatically.
to whatever level it understood what I was prompting, but it just doesn't, it doesn't actually care about it.
I mean, first off, the people that run Devin are extremely nice. I want that to be understood. I don't have some sort of upsetness against them or anything like that. Second, Devin is just, it's kind of like the full, it's like the full package when it comes to programming.
So it's going to have, you're going to give it a task and a repo, and it's going to go through, it's going to try to understand the repo and the task,
make the change to the repo by exploring it, then actually make a commit to GitHub and explain what it did so that you can have like, you know, so hopefully you have this whole offline thing, which is the other part of this AI part that I actually really like, where it's just like,
go fix this thing, then I can just go and unbroken fix this one thing and come back and go, okay, good enough merge, boom. You know, like I want that kind of running, being able to complete things.
I think the ideal solution is that you can start giving it small bugs and it goes and fixes these bugs and you can just come back to these backlog tickets that no one ever does and it actually starts going through these backlog tickets and it's actually a really amazing experience. So I love the idea. Right, I think we can all agree that that sounds great. Yeah.
But every time I've done it, and I've asked it for many, and I try to keep narrowing down the problems, the more narrow the problem, the better it does. So if I'm like, just add one singular icon, and when it gets clicked, I want you to do this, just console, click me. Like, just at least create me an SVG and place it so it's nicely placed.
And they're essential. It's a very incredible, like, vertical of job. And obviously, I'm using a very broad term to describe it. I'm sure like a bunch, you know, because making sure stuff doesn't go down, you could also say that's like an SRE term. right? Site reliability engineer, whatever, you know, the ones that wear the bomber jackets at Google.
The more narrow the task, the more likely it's to be successful. Mm-hmm. Um, there's like a certain level of specifying where you specify too much. It just like, can't do it. If you specify too little, it just does weird things. So it's kind of like this very kind of fun, unique way you have to play the balance game.
But so far, every time I do these things, I always end up going, gosh, you know what? I should just get better at tailwind and write it myself. Because I always go back and I just rewrite it. And then it's just like, dang it, what am I saving at the end? I feel like I'm not saving anything yet. And, you know, it's just like this. I want it so bad.
Like, I actually want AI to be great because then I can really go fast. I mean, I can go amazing fast. But then I always just go, gosh, I should just learn Tailwind myself to, like, the nth degree and just go fast.
Yeah.
Yeah. I mean, it'd be great if they could. I mean, the more it can do that, the better, right? Because as far as I can tell, I mean, correct me where I'm wrong on this, current state debugging is really, it looks at the code, it looks at the bug problem, and just kind of tries to text predict where it's most likely accurate, and then just tries to fix that spot.
And so it's like, it's likely this spot, you said admin panel, it's slightly off, this, this, this, it's probably this location, which could actually be a really great way to do search, right?
Let me do semantic searching, point to me where this is, because maybe that is a really great way to navigate large code bases is like smart, intelligent search, as opposed to trying to make it do the thing, ask it to just help you do the thing in like pinpointing problems. I'd love to see more of that because that's for me is like the exciting part.
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 engineers, 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.
And there's this really great article by creator or maintainer of curl. It's the I and LLM stands for intelligence. And he writes curl and maintains curl. Curl has been inundated with security problems and all this. And it's all from LLMs being like, oh, I found a security flaw. here's the security flaw, details it out in the code. And he's just like, okay, how did you reproduce that?
Show me, because if you look at the code right here, that's actually an impossible situation you're speaking of. And it's just like going in these circles and security right now is being inundated. These bug bounty programs are being inundated by LLM submitted responses because they can't actually, you know, analyze the code beyond... Just like basic text prediction.
Oh, this is a stir copy stir copies commonly referred, you know, blah, blah, blah, blah, boom, there you go. Here's the bug. And it's just like, no, that's actually impossible, because the if statement right beforehand, leaves the function if the string is too long. So it's like, we don't even run into this case, it's impossible what you're saying. So debugging is very interesting.
I think there's this whole idea I call a denial of attention. I think there's an entire attack vector that's going to be happening. We're using LLMs to generate fake bug reports, fake all these things to just actually... Effectively to demotivate and hurt open source maintainers.
Polykill was the first bug that kind of had this experience, is this denial of attention where an active malicious maintainer just hounded the owner.
And then a white knight came out and offered to buy some stuff from under them. And when they bought it, they actually replaced it with a malicious piece of code and then used it. So there's like this whole security world that's developing around using these in a very aggressive format.
That's really surprising that that many people just have no plan in looking into AI. Like as much as I don't like using it for coding, I hope one day I can use it more, right? And so it's like, to me, I'm always looking for the next thing. I'm just surprised that people are that, I guess, obstinate for it.
There's DevOps. Is it real? I'm not sure. Okay. Did Vercel kill DevOps?
Obviously, the second one, the AI tool sentiment, it must be only the users who responded to the top two of that first one, just given the amount of respondents.
Maybe speed up learning is like a subcategory of fun, right? If you're able to learn more and be able to become better, to me, that sounds good.
My time using Copilot, there was certainly a level of wonder that would happen for quite some time where it's just amazing what it can do.
I'm just super impressed by what it can do, even though I don't use it. It's amazing to me that we have something that can even get that close. Yeah.
I would say that you have to be very green to think that you should highly trust an AI output. You should be very skeptical.
It does seem a little distrust. You should definitely be in the somewhat. You should always assume that there's something wrong, and then from there you can go and challenge it.
I would argue that people don't have a good grasp of what complex is in programming.
If you say write to me, you know, write me Quicksort, some people think Quicksort's super complex. But I would argue that that's actually probably the simplest thing you could ask an AI to do, right? Things that are so well documented. It's going to do a great job at that.
Yeah.
You've... Oh, I worked at Netflix, by the way.
But you can't do that with coding. It's like, it's right or it's wrong. There's not a variation of interpretation for what a crab is. It's like, no, that statement's just, you cannot make that statement. You know, it's very bounded in what it can express. And I could see why artists, like that's a very frustrating point. And then who gets rewarded for all that?
You know, obviously, and then there's like the whole thing with coding and licenses. How much of it is GPL licenses do you think they've scraped and used as training data? GPL forces open source. What are you going to do with that one? That means your model might need to be open source. Open AI may have to get forced open all their previous stuff if there's any hint of GPL.
There's an unspoken, it's a real wild west. Cause like you could imagine that weapon if, you know, I always use Europe because they tend to have like maybe the most consumer protection laws out there. You could imagine what happened if a law came down that said that if you used a model that produced GPL potential code, you have to open source.
Like how many companies are going to be like, oh my gosh, right? Like you have one year to get rid of all code that was generated. That's potentially GPL source from a model like that could, you could imagine just the sheer panic that's going to happen, right? It'd be a fire sale of code.
I am going to try to answer that question, I guess the best I can. Which I think that if you're entering into the tech world, One of the hardest pieces of advice that I took a long time to learn was I became enamored and addicted. Obviously, we talked about that program for way too many hours.
Forgetting to spend the time I needed with my wife, with my friends, all that stuff, like totally wrapping myself up into one activity. I think... though it made me who I am, was probably an unhealthy activity and probably not a wise activity.
And so the best advice I can give is that you've got to develop the love, the skill, the desire for whether that's just only using AI agents, programming yourself, using Zig or programming JavaScript, whatever, you know, that flavor is that's going to get you coming back every single day.
Correct. Almost as much as I mentioned Neovim.
getting the reps in the gym, if you will, for programming, but also knowing how to value what is valuable and not getting lost in the sauce where you're just so stuck on trying to make the next greatest startup that you sacrifice your health, you sacrifice your relationships, or even worse, you sacrifice your own morals to take certain shortcuts that you probably shouldn't be taking in life to be able to achieve these things.
Because, you know, I'm sure there's hundreds of horror stories you could hear where people definitely shortcutted their morals for
I still want my kids to learn how to program, if I can answer that, if that's a good enough answer. Yeah, that's a really powerful answer, yeah. are a decade younger than a young person trying to learn how to program right now. And so if I want, you know, I'm hoping that my kid can run and build whatever he wants in Roblox. I'm showing him Chad Gippity and be like, all right, let's ask questions.
How do we do this? It's still extremely confusing for him to do all these things. And so it's like, Let's do this. I want him to learn and be effective. And maybe one day he has to throw away all those skills in 20 years. But I bet you that whatever skills he threw away or whatever hard skills he had to throw away an entirely new field that none of us have thought about.
Just like if you would have asked somebody in the 70s, you know, about social networks, they'd be like, what the heck are you even talking about? Like things will exist in the future that are going to be massively different and crazy and exciting.
Just entertainment for all. The brave new world of our world. Well, I think entertainment...
I didn't know you played a lot of video games. Because when I asked you specifically, should I play World of Warcraft or do Advent of Code, you're like, Advent of Code. Advent of Code.
Yeah. Yeah.
You're not the first person who has specifically called out Civilization. Yeah. I've had more than one person also very high up in the tech world be like, Civilization is my downfall. If I get near that game, I'm done. Yep. I've never even played the game now. It makes me be like, dude, I gotta give this a try. That sounds crazy.
that you could give advice on so you started out with schedulicity yeah that was my first uh full-time when i had the government contracting one before that that wasn't quite full-time it was in c it was a lot of fun and then building my own startup for quite some time so if you count either those as full-time then those would be the full-time but schedulicity was the official on the docks so is there some value to jumping around like
I think there's a lot to that because not every job you're going to get is going to be great. Now, your first job you could get could make you think you hate programming. It happened. I did an internship at a place. I keep on, like, surprising you with more kind of things I did in the past. Did an internship at a... Fuck. You did so many things. It's incredible.
At a place called, like, Total Information Management System. Remember when I talked about that hours ago about healthcare and that and industrial shipping and all that? It was a C-sharp shop. It was so bad that after I did that, I went and changed my major to mechanical engineering for a semester in college. Oh, boy.
I thought I... Okay, actually, I like computer science. I hate programming. So, you know, just because you've had a job doesn't mean it's going to be the one. And the thing is, here's the best part, though. If you get a job and you like it and you want to do it and it's exciting, you don't need to change. Right? I think a lot of people are like, Oh, I got to find the next thing.
I've been here for two years, like this kind of this, like, you got to move around mindset. I don't think you have to move around. I don't think it hurts your career. Because if anything, you'll gain more responsibility. And you'll be able to talk with way more authority.
And the next time you interview, you're going to be way more into like, oh, yeah, I had to get these x people and these x people to be able to do all this stuff. And it's like, you can talk with much more authority if you stay at a place longer. And that's nothing but benefits in my book.
It's only if you stay at a place because you're afraid or you don't want to, you know, you already have something that works for you and you just never want to change. And you're just like, I get to go in and just be completely mindless. I think if you go mindless for a couple of years, you'll find yourself. That's like the only real danger. You just come out with nothing at all.
Yeah, and money could get at the end. That's the best part is when you don't strive for the money, sometimes the money just shows up anyways.
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. And it's kind of just earwormed me for a large portion of my life.
There could be something very, very exciting about that in some sense, especially if you're building your own thing. I can imagine that would be very exciting. Like if I was Amazon, Jeff Bezos building Amazon, one could imagine that those early years were probably very rough. and the amount of hours he probably put in were very, very rough.
But I will say that there's this kind of unique aspect in our culture where we kind of make this as an equal trade-off between family or work. Like, oh, you do or you don't have to have kids. And my only kind of real notion with that one is that you will never know your capacity for love until you have kids. Like, you just don't know. And some people are like, oh, yeah, but I love my dog.
It's just like, I loved my dogs too. And then I had kids and now my dogs are, they're all right. Like I like them. Yeah. I could come home and I pet Indy and I'm like, Indy. And then I'm just like, okay, bye Indy. Right? Like it just, I can't even describe the difference between the two. Yeah. Cause they're not, it's not even the same.
And so it's very, that trade-off you're making is no one can tell you what it's like. Cause there's a real reality that's right now. And I'm sure I'm 100% positive. This is with my wife as well, where if right now we got news that said, You have some medical procedure where if we do this, you will die, but your kid will live. There's not a question in my soul that I wouldn't do that.
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 the 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 starting at a very young age.
If I could look into the future and if I had to die right now knowing that my kids would have a better life, they would be happier, they'd be more fulfilled and all those things. I guarantee you either my wife or I would take that every single time. It's just like you will never be able to say that about most things. People will jokingly say that until it's actually on the line.
But it's like with that, you just have this ferociousness. I can break out in sweat thinking about somebody fictionally pushing my kid to the ground. Like actually get, you know, real adrenal responses flowing through my body. So it's just like such a different world and it's hard to explain. And you could never have convinced me when I was young that it'd be this big. Yeah. Yeah.
I thought I knew. I didn't know. Yeah.
I would argue that it definitely changed a lot of my life and how I approach problems and everything in a very different way.
We haven't technically covered it.
All right, go ahead. Go ahead. Okay, the only thing I'll say is that I don't like that Microsoft pretends to be the good guy when what they really wanted to get you addicted to their products to get you to use their products as much as possible so they can extract as much money out of you. Well, in this world, are there really good guys? That's a great point. I would argue NeoVim is a great guy.
There's no way they can make money. Justin Keyes is the benevolent dictator, and he thinks deeply about the product and tries to make it the best as possible. Whereas something like Microsoft, they made VS Code as a loss leader. Copilot's probably operating on a loss leader. These things are all getting you so tied into GitHub, remote workspaces, CI, Copilot.
Like you've become this trapped in permanent person. And if that price rises, the switching cost is so great at some point that you'll never be able to switch. That's my only fear is that Microsoft was once accused of EEE and it feels like they're EEEing again.
I can side with you on that one. It is a good product. VS Code is a good product.
Don't put that on the, but it was fine. You know, they did a great job.
I love that, by the way.
When I was seven years old, my dad died. That was kind of a really tough period of life. 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.
Yeah, that one's confusing. It just seems great.
really powerful decision and sometimes these companies because they have a lot of cash can make the right do the right thing yeah it's a really positive way to look at it and i think that's that's really nice but we should always be skeptical yeah i mean because at the end of the day companies they're not good they're not bad right they're they're morally neutral it's the people that are running them the decisions those people make that are really where the bad or the good comes from
Oh, no, you don't know. I've never milked a cow.
Almost been killed by a cow, but never milked a cow. Did you ever ride a bull?
All right. Why male models? Okay, so I can explain that one. I will say something like, I really dislike the color purple because the color purple makes me upset. I don't know, just something very benign. But then someone right afterwards will be like, but why don't you?
like the color purple right and it's just be like it's just like derek zoolander it's just like i get done on a five minute talk about it and then the next question is like but seriously why though it's just like why male models yeah so that's the zoolander reference when there's a long explanation why male models and uh he he agrees and then forgets yeah uh what is ligma
You know, I've died by Ligma quite a few times. Ligma, so do you know the origin story of Ligma? No. So Ninja, famous streamer, someone got him with Ligma, said like, oh, something like, have you heard about Ligma? And he was like, no. And he's like, oh, Ligma balls, right? And then after that, Ninja got like so hurt
by getting had by that, that he started banning anyone in chat who said the word Ligma or something like that. And so then it'd be, you know, if you don't embrace the meme, you get destroyed. No, of course, gets destroyed. And so then the whole goal is that can people get me with Ligma? TJ did iLadies. He's like, oh, did you hear that eGirls got renamed to iLadies?
And I just didn't even see it coming. And I was just like, what? And he's like, iLadies, nuts on your face. And then it's just like, oh my gosh. And then a pirate software has also got me like, oh, have you heard about Google SEMA? Which SEMA is a real product by Google. Oh, my God. Thank you very much. Thank you.
It was like the first time I said that word in like 17 years or something. I 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, played video games on the Internet.
Thank you. Thank you. Thank you very much. Thank you very much. Thank you. I don't know. Thank you very much. Thank you. Thank you very much.
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 C-like language.
Thank you very much. Thank you very much.
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, 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. I wouldn't say I had a great time during high school. 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 and I started getting into drugs. And along with that, he exposed me to pot. So at eight years old, I was smoking some marijuana 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. 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 you 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 quindalar ran if you will for those that know will of time will appreciate all that uh
For those that don't, very confusing, I understand. Not the Amazon movie show. 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 broken 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 squigglies 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 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 on a razor where it's like, if I go either way, I'm going to fall off.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you.
Thank you. desire or your own want. It's not something that is deeply needed. There's no need for porn. It's purely a want-based activity or a lust, however you want, whatever word you can fill in there. And it is purely an objectifying activity. Someone else is on display for your own enjoyment. And so I think you carry this around.
I do think that the women that I dated during high school or the women after high school and college, I looked at them as a means to an end. I think porn greatly kind of shifted that kind of perspective in my head that I did not give the value that was desired to another person. It really devalues humanity just in general is my perspective of it. And that makes people into commodities.
And I don't think people are commodities. I think everyone has value. And so during that, for me, that's kind of like the great effect of porn. is that, you know, it's just consumerism gone wild or materialism, maybe you could ask, argue gone wild. And it's extremely hard to quit, just like you said, because I can look at porn and then I can go out to lunch. You know, no one's going to know.
No one's going to have any ideas. Like it's a very private, it can be very short session. It doesn't have to be something that takes like, you know, you can't take acid and go out to lunch, right? You're going to be, you're going to, your whole day is going to be a very different day. And so there's, it's very quick, easy, accessible.
And then obviously there's like all the, like the science and stuff.
you know statistics like men make worse decisions for some period of time after looking or being exposed to sexualized images there's the whole dopamine effect that's just like you constantly need more and more dopamine that's why people typically don't just watch five minutes of porn and call it a day that's like you know the hundred tab joke that's always made on the internet it's because you it's just this this constant dopamine cycle you're constantly doing and
All that stuff is great to say. And I'm sure statistics and science and all that stuff is really great arguments for some amount of people. But for me, it just comes down to like, is it really a good thing to do? Like, is it really actually something we want is to value people in such a profane or kind of just like disregarding way?
Like, I just really think it's just bad for the soul, even if all the stats said it was great for you. I still say it's actually bad.
And both of those are great. It's objectively better to have, like, I would say that there's no universe that exists or there should be no argument possible that exists that a guy who has meaningless sex has a better or a more meaningful life than say me and my wife who've been together for 15 years. We have a very, like I can depend on her in all circumstances.
Whereas if you live that other life, it, Sure, it could feel great, but there's no meaning to it. There's no actual real value to it.
I mean, I think you're right that our society puts a lot of emphasis on getting laid. And I'm sure that's true among any group of males throughout any point in history. I'm sure that's a very common joke that's never actually, like, never stopped at any point. So I'm sure that exists, but... And there's probably some truth to the sense that after you've, you know, who was it?
Jim Carrey, I hope that everyone can get rich so they realize that money solves none of your problems. Yeah. Like the realization that this thing that society told you is hyper important is actually not the important part. Like it is a very important, it's a great sign that your relationship is healthy.
Like if me and my wife were to have no sex at all for months on end, like something's gone wrong.
which means what you know we are no longer like on the same plane something you know but it's not also a good identifier just because you're having a lot of sex doesn't mean you're having a good relationship and so it's kind of like a unique kind of um i forget the the right term here but it's a unique way at looking at the problems and our society puts so much emphasis and maybe that's why porn was so hard to quit but i my guess is just all the dopamine effect that it is uh
But for me, the most important part and the thing that actually has real reward is having just my wife. I do not look at... I desperately try not to look at any other woman. I'm hopefully not going to get caught Mark Zuckerberg at the White House like that. I don't look at porn.
My wife has complete confidence in me that there is not going to be a situation in which she has to question me in any kind of sense. And that builds a much more deeply... I would argue a very deep relationship because the trust is that much bigger. I think the deepness of the relationship is probably proportional to the trust you have in each other.
It's very hard to have a deep relationship with no trust.
It's always worth it. The risk is always worth it in some sense. Obviously, everyone has a different kind of life they have to filter through their actions with, right? Because the person that has no, say, social following or anything, their risk-reward profile could just be local impact, which could be just as damning or harming to them.
And so it's always worth the risk, though, in my personal opinion, because finding my wife has been... Obviously the most impactful or changing thing in my life. So, or second most, I'd argue that one night with God would probably be the most impactful thing that led to everything else. But then the wife would be the next most impactful. I mean, I'm like cleaning up after myself and stuff now.
Changed man. I'm a changed man.
I think it just felt like I just, there was no line that I wasn't willing to cross. Like everything was fine. And just like, it just all of a sudden, just in that moment, it's just like I had a, I guess, some sort of deep fear and understanding like, I am going down a path. Is this really the path you want to go down? And I don't know what the result of that path would be or anything like that.
I don't tend to speculate on things I don't understand. I just know that in that moment, I had the option. And I just chose, I didn't want it anymore, right? It's kind of mixed in this whole thing where it's just like, I had no value. I wrapped up all my meaning or value in having sex or getting laid.
I had, you know, all that stuff, all the things we just talked about, like that was where all my worth was. And that is just such a, like a terrible place to have your worth. And, It's just I kind of all came to a point. And I can't tell you the day of the week. I can't tell you anything other than it was nighttime. And I was in South Hedges in Montana State University. Go Bobcats.
That's the sign that we do at football games. Don't worry about it. But that's all I can really tell you. Because that night was no more or less special than some other night. It's just the specialness was... I got at least... a chance to make a choice.
For me to overcome it, I had to realize that I was taking something away from my future wife. Some people would be like, oh, well, you just, you know, once you get a girlfriend, then you can stop. And it's just like, no, because you never stopped the problem. You don't stop a problem by replacing it. And so I didn't have a girlfriend, didn't have all that.
I just realized that I was truly taking away from something from my future wife. And I didn't even know my current wife at that time. I didn't, she was not in the picture. I'm not even sure if she was at Montana State University at that point. And so it's just, that's, once I made that realization, I think it went from my head to my heart, which they say is the greatest distance in the universe.
I finally like got it. And that's really where things change. So if The ability to say what's going to help you change and all that, I don't think there's silver bullets.
If someone could offer you a drug, I forget who says this phrase, but there's this really interesting phrase that goes something like, he was a very depressed man, and he was struggling with suicide, and he kind of writes about this in this memoir. And he goes to these doctors, and the doctors effectively say, well, here's antidepressants. It's going to help you.
And he says that, well, the problem was is that scientists told me that I could just touch my brain and make myself happy. And that's it. Like they could reach in, they could configure some stuff and I'll be happy. He's like, for me, it was a lot like going out into a field and being able to take a drug to see the rain. I could look out, see the rain. It would fall down. It'd be silvery.
It'd be beautiful. But all the crop would still die because there's not actually any rain. I had to discover how to be happy myself. And so for me, it's like the reason why I look at porn is because I was unhappy. I was trying to find meaning. I was trying to find value in something, right? Something that was supposed to finally give me this ultimate satisfaction. And it just does not.
No matter how hard and no matter how much you think it will, there is no escapade. There is no pornography that will ever give you that satisfaction you're looking for. That's the reason why it's addicting. And that's kind of like my call to why you shouldn't do it, but how to get out of it. I only got out of it by realizing.
Yeah. I definitely can't say how long it will take a better life, but for me, there's no way in the universe I could have had the relationship that I have without first making those steps. Cause I couldn't value, uh, like I couldn't value my wife in the way that was proper for who she was. I would have valued her through the index or the lens that I currently was looking through. So. Gotta ask.
What an intro to this topic.
What's meth like? That's a great intro. You are very correct in the sense that there is, at least when it comes to hallucinogens, there is a wild variance to what you're going to experience. And there is no guarantee. There's no, you know, just because you buy the product doesn't mean you're going to have a good time, right? There's a lot of... Personally, I find that stuff to be very...
I believe in the spiritual realm, right? Like I believe demons and angels exist. I believe God exists. And that kind of whole realm is like, I don't know what it opens you up to, but it's much, much different experience. Now, some people will be like, oh, it's just a bunch of chemicals in your brain. They all get mixed up.
LSD just takes all of your pathways and they all go, you know, they all get kind of scrambled up in your brain. And it's just like, yeah, the experiences are profound. I had some really bizarre experiences very cool, very awful. I've had all the experiences in the mall. I can just tell you that I personally always say the same thing. It's like choices that I made, I can never take back.
I would never take that away from myself because I don't know if I would be who I am today without all those experiences going up to it. But if you have not had that experience, I'm on your team, or at least partially on your team, maybe more severely. I don't think you need those experiences. I don't think they're going to... You don't have to put yourself through that
to make good decisions or to realize that people have value, right? you can, you don't have to do that. So as far as like, what is meth like? Meth is like, if you've ever done cocaine, cocaine starts off with like a 15 minute dance party. Just like, it's just so intense. It's like so great. And then it just followed up with like, like a five hour, like just feeling wiggly. Right.
I don't know how else to describe it. A meth is like that, except for I didn't get as much dance party or any dance party, but instead I just got that part for like 12 hours. Yeah. So did a lot of skateboarding. Did a lot of, you know, running around.
So, I mean, this is just like a very interesting kind of area, which is that not... Universally, you can't say that. Often you'll find that there's kind of these two...
groups of drug addicts there's those that like the the opioids and those that like the uppers they typically don't like there's there's very few people in the drug world that do both they're really just kind of like find their side and they go for it so will is meth a thing that everybody's going to enjoy well categorically as you can see and just like how people experience drug addiction no uh
But for me, it's just like I had a really it kind of like feeds into like the ADHD nature of like this, like, because, you know, you kind of high energy, you're kind of like always in the moment. So it's just like, you're in the moment, but it's just like, oh, I'm in the moment, you know, like, it's like, everything's just so intense, you know, like, you just want to really be in the moment.
And so it's just experiencing that constantly. Yeah. And so was that great? Well, some people, you know, my wife always tells me this, like being like nervous or I forget the anxiety of a situation can also be the same thing as like thrill. I forget the exact way. She's probably super disappointed that I messed this up.
But it's like you could perceive those two experiences in very different lights. Some people, you know, get in front of a crowd. It's like thrilling. Some people get in front of it and it's just like the worst experience of their lifetime. They would actually literally rather die, which is a crazy thing to think about. then stand up and speak and so for me meth was that kind of thrilling side
But at the same time, it still didn't quite give me that thing I wanted. Whatever I was looking for, I'd use it to help try to get that thing I want. But it was never giving me that thing I wanted.
That's like a YouTube policy, by the way, that you have to say. By the way, whatever you do, do not do illegal activity. But I had great experience. But whatever you do, don't do it.
Diet Coke is great. That's his funniest line, which is you would hate me if I drank, which I just like to me that tickles me like to no end. Just like, oh, my gosh, that is such a funny line.
I am on your team. All of the reasons why I used drugs and all that was some level of escapism. I'm sure that would be the archetype or the box I'd put that into. Or the pursuit of trying to feel something that cannot come from them. It's like trying to find meaning in your job. You can find satisfaction in what you do. Like that is a very good thing.
You can find satisfaction and be happy with what you've created. You can be thrilled by the experience, but you cannot find, I doubt you can find purpose. You know, maybe some people in specific jobs, you know, like this obviously have very broad strokes I'm painting with. Like if you're an EMT and you save someone's life, maybe, you know, there could be purpose in that whole experience, right?
So I'm not saying all things, but like as programming goes, most programmers, you cannot just simply find your purpose. And same with drugs, like you cannot find that thing you're looking for, but they are a very great distraction. Mm-hmm. And then at some point, that distraction comes with a heavy cost. I think Dr. Faust would probably know the best about the heavy cost.
But it's just you're making one trade for another. And at some point, the bill comes due. And that bill can be very, very large.
I'll paint it in kind of a more clear picture, a very fast speed run of it, is that I took pre-calculus, failed. I took pre-calculus again, failed. Took pre-calculus again and got a C. So I took it three times. Then I took calc over the summer. So calc one. In that one, At the end, the final, the final was a two-hour final.
I finished it in 30 minutes, and that is the highest score in all of the school. And I proceeded to be the highest score in all calculus and Diffie Q. I was the only person out of 400 people to finish the Diffie Q final, and I got the highest grade. And so I was like, I got really good. So I somehow went from really bad to really good. And so my only, the thing that I did is that I had to win.
It was not a option. It was not like, oh, you know, this would be really great. It's like, I will not graduate. I will not finish my stuff if I cannot do this. And so every single day I got up, I went to my, however many hour class it was. Right after that, I went straight to the math learning center, did those problems. When I got home, I just got the book and it had the odd answers in the back.
And I would try to walk through the problems over and over and over and over again until I absolutely got it. And it just became this thing where I just simple rote memory took over.
And the ability to just effectively have the times table, but for calculus, all stuck in my head, inverse trig substitution, trig substitution, doing Taylor-McClaren series, like all those things kind of just over and over and over and over again. Eventually, they became easy. It became very easy. It's just that I had to cram it in there.
And some people, you know, you hear these stories where they barely show up to class and they get A's. I've never been that person. I've always been the person that has to sit down, read through everything. And I'm bad at abstract concepts. I like the concrete into the abstract, not the abstract into the concrete. Very bad at talking about things theoretically, then trying to apply them.
But if I can do it once... literally, then it's really easy for me to go into the abstract. And so it's just like, for me, it just, I had, there's no substitute for the hours. So if you, if I were to give advice, it's just that you have to have time in the saddle. Hour after hour will make you slowly better. And at first it's crushing, it's defeating, and it's not fun because you are bad at it.
But then at some point, you're just not bad at it if you can just do it long enough. And you'll start getting okay at it. And then at some point, you might even get good at it. And when you get good at something, it feels amazing. There's like an exploratory thing.
Like if you've ever played a musical instrument, you stop having to think about all the little teeny things you have to do to be able to play something correctly. And you start thinking about how you can explore that space. It's like a completely different problem. Same with programming. Programming has an identical kind of feel to it.
It's just like you'll cross that barrier and it becomes magical as opposed to a chore.
Everything's come really hard. Yeah. I do not. I've had no free lunches. Everything's just been a lot of pain and struggle.
Yeah, I don't just dislike it. I hate that phrase.
The reason why I dislike that is that there is a kind of a hidden suggestion there, which is that you already know what smarter is. So just do that, that actually things should be easy. You should just not have to like try that hard. You should just do the quick, easy, obvious path and boom, it's done. It's like, I've never experienced that in anything I've done.
Everything is actually really hard. And most of the time, I don't even know what I'm doing. So therefore, I don't even know what smart looks like. And so for me, the only way I can learn how to work smart is by working very, very hard and knowing that there's no shortcuts. And then when I finally figure out what smart is, when I work smart and work hard, it is that much better.
There's a lot of these phrases that just drive me nuts in our society.
Just work smart, dog. Why are you putting in all those hours? Yeah.
I think I should make an addendum to the phrase. I think the phrase should be, work hard, get smart. Nice.
That's what it should be. Yeah. Agreed. Okay. That was a tangent of a tangent. Can I say one more phrase, cultural phrase that I absolutely hate? Yes. The journey is better than the destination. Right? Everyone's heard this, right? Just take one second to apply what that means. That means forever, starting from now, you are only going towards a place that's worse.
Like that literally is what it means. Enjoy the journey. Celebrate the destination. That's like that should be what it would be. But no, people say these phrases are everywhere. There's these very shallow phrases that have no logical bounds to them. You're just like, what does that? Why would the journey ever be better than the destination? Because you're always this.
I think this might even be a C.S. Lewis quote is that C.S. Lewis was like, no, this is terrible. The journey is not, in fact, better than the destination.
I feel that one so, so much being in California for a few years. That is painful.
Oh my gosh, I want that.
Hey, hi, this is the primogen. You know, one thing that I forgot to mention in this podcast, which feels just so foolish to me for forgetting, is just what a big role my mom played in my life. She had to work 18 hours a day after my dad died. She really made our house be able to survive. I always looked up to her and I always thought her amazing.
And she really was the reason why when I decided to get my butt kicked back in gear, She's just someone who I looked to as like an internal kind of inspiration for me to continue to keep on going because I really wanted to make her proud. And all those years of just high energy effort, I really wanted to make sure that she knew that I was just so dang appreciative for it.
So, hey, I just wanted to say thank you. Love you, mom.
By the way.
Yeah, so I kind of alluded to it earlier that I wanted to do my own startup. So for, I forget how long it was, one or two years or two and a half years, built a startup, PHP, jQuery, everyone's favorite languages all put together. You can solve math stuff with jQuery. So I just was like totally into just nonstop doing that. This is like the height of Stack Overflow.
I was asking really dumb questions on Stack Overflow, like what is more Pythonic? And then you get a bunch of upvotes and try to steal a bunch of karma away. Like all the fun stuff to do. Good times. And I was just like so into it, breathing. And I just breathe it in, breathe it out. And that's what I do all day, every day. And so it's just like nonstop building of a startup.
Ultimately, that startup failed. And so I had to go get a real job. Can you say what the startup was? Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. They gave me my PlayStation 3. My boss said, go learn some code. Come back to me in a couple of days and tell me what you've learned. Then I'm going to start giving you bugs to fix. Wait, wait. PlayStation 3, what are you talking about? Well, I was on the TV team.
I had to go plug in a PlayStation and start launching programs onto the PlayStation 3 and figure out how to work Netflix on a television device.
Yeah, not as many TVs had Netflix, let alone what they called their Darwin app, which is their new application. So if you bought a Vizio earlier... earlier that year, you'd get their older one there. It's called Plus UI. You get their older version. And so not many had the newer version. We no longer supported Plus or we never actively developed on Plus. We only did stuff on Darwin.
And so I had to learn that whole stack. The back end or the middle end, the middle layer between the actual back end and the front end was written in Groovy. And as I went around, Groovy is, if you're not familiar with Jenkins, then you've probably never interacted with Groovy. But Groovy is a JVM language. It's a very interesting language, but here's how it got started at Netflix.
All right, so the AI is kind of lying to you. Groovy is not a powerful, great language. That statement makes it seem way cooler than it actually is. You will meet one out of 100 people that have touched Groovy that said, oh, yeah, Groovy's great.
The other 99 will be like, heavens forbid you ever have to touch that language.
So when I got there, nobody, not a single soul at Netflix, there's 40 some engineers, had any idea how Groovy pretty much worked. Somehow people just hacked together these scripts and put them all on there and it worked. And it was all, this was before there was a Groovy arcs, port. We wrote our own version called WX. It was a nightmare. Observables, all these things.
I remember one time they told me that, oh yeah, you know, with RX, it's really easy. You just say what you need to do. It maps out and boom, boom, boom, boom. Everything will run multi-thread and all that. And I was like, oh wow, really? So all I did was go like observable.sleep1.com. because I just wanted to see it sleep and then do the next thing.
And it turns out when a thread sleeps itself, no thread can wake it up. And I just turned off all of staging because I ran it like 10 times like, oh, it's not responding. Oh, it's not responding. Oh, now it's not even coming back. Broke all of staging for everybody.
So no developer could work for the rest of the afternoon because I locked up all the instances because it turns out, no, it was in fact not multi-threaded. Every assumption we've been told is a lie. No one had any idea what they were doing. It was a wild time. And so I just simply naturally gravitated towards that because I'm good at printf debugging. I'm good at doing those things.
So I was like, here, I'll just figure this out here. I will do this. So I had to rewrite how we do the data structure on the front end for the TV. from what is called a lolomo, list of list of movies, into loloromo, which is a list of list of recommendation objects for a movie. Why would we need to do that? Think about this. You have two lists.
One has live free, die hard Bruce Willis because you love Bruce Willis. The other one has live free, die hard because you want tough men doing tough jobs. Well, during those days, we'd only have one way we could show evidence why you wanted it. So we couldn't say, oh, because you liked this other movie. You'd go to that one and say the same thing.
So we had to kind of add one level of indirection where we could decorate the video with the recommendation information.
Yeah, so you can't hang it off the video because obviously then it would be the same for everything that shows that same video. That's amazing. I had to do all this, and I wrote it in Groovy, and I just did it. And people were like, how did you write this in Groovy? And I was just like, well, I read the language reference for a day and then programmed it well. What do you mean?
It was a very radical language, shall we say. And so I just simply became the person that knew these things. They just give me more and more jobs with that. And so that's kind of how I excelled, being the person that was willing to do the thing that no one else was.
The reason why I've always just been good at print dev debugging, because one of my first kind of side quest jobs that I got was writing robots for the government when I was still at school. And so I'd kind of do this contractually for so many hours. so many hours a week. And my boss, Hunter Lloyd, great professor, by the way, he just said, hey, here's your computer. Here's the robot.
Here's how you plug it in. Here's how you run the code. Can you write the flash driver, the ethernet driver? Can you write the planetary pancake motor? Here's some manuals. I'm missing some. Just figure it out. I'll be back. So that was government work for me. So I was like, okay, I'll figure all these things out. And I figured them all out.
And the only way to really get anything out of the machine was to print. And so it's like, I had to become really good at printing my way through problems. And so that kind of became this like skill, I guess I adopted is that I can just kind of print after bug. my way through a lot of these problems.
Obviously, I'm not a game developer, probably a different world, probably should use... I think John Carmack was on here and talked how great the debugger is. Different world. Because when I was at Netflix, there's machines that exist somewhere where on AWS, I'm not logged into them. I don't even know how to log into them. I'm not even sure if I have credentials to log into them.
They run once somewhere, and I have to figure out what happened and why it's happening. So it's like, I'm going to become... This is like, this is what I've trained for. I'm a print after bugging champion. So it's just like, I could just run through these things really quickly and figure out why they're happening the way they're happening.
Well, I had the code, so it's like I can kind of blueprint what's happening. Like, I don't understand the services or anything that's happening, but you can start guessing pretty quick as to what's going wrong.
I have a very great story about that. This is what I think has shaped me the most about my perspective of other devs. There's this dev, and he always just wrote things in just what I thought was such a bizarre and weird way. And this had to do with Falcor, so our data fetching library for Netflix. This would run on mobile, so I had to write in Objective-C.
It had to run on television, and it had to also run on web. So it ran on everything. And me and one other person were responsible for this thing working. And the request side where we'd had to de-dupe the information that we already have, the requests that were pending, and the new data.
So I had to figure all that out based on what someone's requesting and then just only optimally request the stuff that we don't have. He wrote it in such a goofy way. And I'm thinking, man, this guy is just, what a goofball. So I delete it all. And I start writing. And I'm like, look at how much nicer this is. It's looking so good. I'm like, ooh. There's that one edge case.
Okay, I can see why he wrote it this one way. That's not a big deal, though. The rest of my code is really great. By the end of it, I'm like, I literally almost line for line just reproduced what he already wrote. It's like slightly different towards my style, but I just wrote the same code. I'm like, I'm an idiot. I am the idiot in this situation because it was already a solved problem.
I just didn't take the time to learn what he did. Instead, I relearned what he did by rewriting the entire thing.
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 data structures. And the teacher that was teaching, Ray Babcock, he was talking about linked lists. Now, you have to learn Java at Montana State University when I went. And so...
I highly recommend starting from scratch if you want to understand a concept. You don't know how an HTTP server works? Create a TCP socket, learn how to parse HTTP. It'll become very easy and you'll go, this is the reason why whenever I get a request, I have to await the text. I now understand why the text is for whatever reason not there. I get it. I now understand it.
And so you kind of gain these new perspectives just by simply parsing something out.
Yeah, yeah.
I'd be glad to. So this Falcor. So there's this Falcor business, right? And I kind of, I did discover the bug before anybody else. And I did report it to security. And, and it was so bad. It actually got its own name, repulsive grizzly attack.
And they even give examples of how to do it. Effectively, what it means is that there is a request that targets both memory and CPU and will destroy. There you go. Look at how Netflix, the next one down was the article that was actually written. I don't get mentioned, which is a little bit upsetting considering I was the one that discovered it and told everybody how bad it was.
Anyways, and had the right to fix for it or the first fix. So this is how it works. is that you can do something pretty similar, I believe with GraphQL as well, it has the same kind of danger, any of these kind of RPC request as much or as little of the data as you would like frameworks, are vulnerable to this kind of attack. So with Falcor, what you do is you give it an array.
An array is called a path, and that's the path to the data. But sometimes you don't want to have to write out, I want row zero or list zero or row zero, column zero, title. I want row zero, column zero, description. You don't want to have to write out all that. So instead, you could just be like, I want rows zero through 10, columns zero through 10 titles and descriptions.
So you can write in a very compact, nice little format and it'll give you all that data. It'll go to the server, the server will fill that all in and give it to you. Oh, dang it. List three, it only had three videos in it. So what happens when I try to re-request the data? Well, I need a way to be able to tell my system that you'd have requested the data and there's nothing there.
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.
So this is called like a, call this like a boxed value. So it's gonna be like type something, value, there's nothing there. We've already requested it and there's nothing there. It's like a Sentinel value, if you will, a boxed value.
We have this little special flag we'd pass called materialize, meaning that when you ask for a path, we will make sure we fill it out so we don't actually erase anything. And at the very end, we'll say, okay, the thing does, the request you've made has already been made and there's nothing there.
Well, what happens if I request rows zero through 10,000, columns through 10,000, one more item through 10,000, and then a whole bunch of properties, and then ask it to materialize? Well, I'm about to go create billions of objects in the JVM. And what happens to the machine? It stops running. And then if we try to JSON, even if it could create them all, we then ask it that JSON serialize.
It's not going to do it. Like it's impossible. And so that was the attack vector is a simple while loop would have taken down and held down Netflix. for a very long time, because one request would kill one machine on AWS. And so that means it would just turn it all off. And this was on the website, this was on TV, this was on mobile, like this was profound.
And here's the worst part, it was in production for years. So we couldn't even roll it back. There was no like, oh, crap, let's just roll back to two weeks ago. And we'll kind of fix for and figure out no, it's like we could roll back to 2011. Like, that's our option. It's 2011 and that's it. So we had to figure out a way forward and all that.
And so it was like, the amount of problems that would have happened if someone would have discovered this is unstatable.
Yeah, the UI, like you couldn't perform any actions in the UI, you'd surprisingly could still stream video, but you would never be able to get to a video to stream because every action you would take would be completely shut down. And so it wasn't a DDoS because you didn't need a bunch of computers to try to overwhelm the system by making a bunch of requests, one request, one machine.
If we had 50 machines serving the millions of requests, it only take 50 requests to shut down the entire UI.
Yeah, it's, I mean, this is why people use Cloudflare. I think DHH said it best, which is like, we have our website, and we have a strong bodyguard on the outside. So Cloudflare has a bunch of utilities all built in.
Because, you know, obviously, this is why everyone hates all these Bluetooth devices that connect to the internet, because they just turn into attack vectors where people use those to DOS. or DDoS other sites. And so you don't need something sophisticated. You just need a bunch of requests to come in and you can take down websites.
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, 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 so that's why these fronts are really good at kind of discovering where these problems are. But DDoS is a bit different because it doesn't have to be overwhelming by using resources with a whole bunch of requests. It really just means simply that there's a denial of service attack.
One of them could be there's a regex attack that existed where Cloudflare actually did it to itself and shut itself down, which is there's a regex expansion attack where given the right kind of regex, if you know someone's running a specific regex, you can actually provide input that is maximally bad. And that thing goes to like super processing. It takes 10 seconds to process a single request.
Then you only need to make hundreds of requests and you shut down the whole service. It's not like you need some giant machinery to make 1 trillion requests. You only need just some small amount to completely destroy a service. And so there's, the web is an extremely difficult place to do it correct. This is super fascinating.
I assume there's probably a huge number of just really simple ones, script kitties, right? Just people trying to just do things. And then there's a huge amount of like social engineering that just goes in where hacking is done, not with a computer, but just by, you know, one of the classic ones, Kevin Mitnick had this one in his book, which was,
You'd call up somebody pretending to be like, Charlene, we're doing some auditing, and I think your PIN's out of date on file. Is it 2323 still? And they're like, no, it's 4747. You're like, oh, thanks, Sharon. You know, boom, you just hacked them, right? Like the classic. People love correcting bad information. This is like a standard. So there's all these ways people hack. And so...
My assumption is that there are really great white hat hackers. There's really great black hat hackers. But the vulnerability space, the harp, the thing is, is that
discovering a vulnerability and you don't let anyone know the white hat hacker still has to make that same discovery yeah and that's where i think the real thing is that black hat hacking in some sense has a fundamentally easier job or at least a job in which they can take advantage of for much longer periods of time one's the process of discovering who's breaking the system the other one's trying to figure out how to break the system and it seems like most software is held together by toothpicks and glue yeah and there is a lot of dangers in every piece
We're back to a beautiful mind, aren't we?
You're not wrong though with the attack factor, especially in the day of AI. Like one thing that I don't think a lot of people are talking about as we integrate more and more AI is that prompt injection is like an extremely hard thing to defend against because it's not really clear how you defend against it. If it's just a, you know, at the end of the day, word calculator make word come out,
And I just remember being just so blown away because 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.
If you can figure out the proper word calculator input, it might just break its bounds and start doing something it's not supposed to do. And there's a whole future where there's all these products that are going to be vulnerable to things they never thought about. It's one thing where you forget an edge case while you're programming.
Now you have to guess what people might be able to think of making something that has access to a system be able to do. And you don't have a way to reason about it. Its reasoning came from Reddit and other words that it's read and how to put things together. Like this is a very, it's a massive space that's going to be happening. It's why I'm personally thinking, don't give too many powers yet.
Like we don't know the attacks that are about to happen.
I broke production quite a few times. I've broken productions for so many stupid reasons. One time I broke production because... I came up in the PHP and PHP static means static for the lifetime of the PHP and PHP was the lifetime of every request, right? That's why PHP was so inefficient, was that every request was its own like instance, and therefore static memory was for the lifetime.
I guess I never put that together. And so I had some objects that I made static because I was like, oh, I just need this for the lifetime of the request. And lo and behold, those weren't lifetime requests. a whole bunch of bad data got all over the place.
People were showing up saying they were from all these different countries and everything was all wrong because I just, whoopsie daisies, I just made a whole conundrum with that. So that was one time I did it.
Another time is I took down, if you were on the homepage on the website waiting for Lady Gaga's video to come out and you were watching the countdown go down, if it reached zero, the billboard would freeze and it wouldn't work. If you refreshed, it would work, but the reveal...
The big reveal, I screwed that up and my boss got real upset and so did other people in Hollywood got upset about that one. That was like a my bad. Sorry, Jeff Wagner again. I remember that one. I remember that one specifically one time I released a bug where again on the billboard, if you pressed add to my list, I accidentally programmed in an infinite loop.
And it just, your whole webpage would just freeze.
That one seems really easy looking back on it. And there was, we actually, during those days, we had manual QA that are supposed to go through everything. So I didn't feel as bad because my manual QA counterpart also missed it. Like we all missed it, but it was just so simple. Just press that button. Boom. It just completely freezes the website.
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 I just didn't understand, like, in my head, static was like, oh, this is for the life. Like, I was just so locked into the PHP world at that time that I didn't. I just made a, just a, just such a, like looking back on it, it's so obvious, but during the time it was, it's hard.
It's obviously much easier the smaller your organization is. I think no one would argue that sentiment. If it's just you working on a singular project, it is obviously much easier for you to push directly to production because you are the only one working. You know all the ins and outs. And if something were to break, you would discover it. So to me, that makes sense.
I think the way he operates is perfect for what he does. You couldn't take what he does and move it to, say, Microsoft or Netflix or Google, because that would obviously it would just be a disaster just due to the amount of people all pushing to production. And so I mean, I personally love that.
And so I just sat there and I watched, I had the exact same experience in Heaven's Forbid by a 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.
I think that you have to you have to gauge both the application you're building and its complexity and what you're pushing and how many people are working on it. I think those all go into how you can kind of do that. Because not all applications are created equal either.
Like that application I was making with zooming and scrolling where we had all of our own everything, it was a very deep, like heavy logic app. And that was regardless of what was happening on the website. Most of the code was library code. And that becomes way harder if you don't have a good test suite and stuff to kind of run before you push it out.
Because when you squeeze that ball, you know, different things come popping out in different areas. And that's like, that's very, that's a very harder problem than, say, if you're doing more of like a heavy visual one, because a heavy visual one, you're affecting just this one area's visual stuff, and you can test it. And like, that's normally the end of it.
Whereas, you know, so it depends on like the coupling and everything. So I mean, I love his approach, by the way, I have such mad respect for anyone that operates that way, because it I think is a great way. It just is so good. Because it kind of breaks this notion that tech Twitter has that, oh, we got to use all these expensive services, you need to use all these kind of things.
Because if you don't use all this kind of stuff, if you're not using the latest version of react, if you're not using the latest version of this, you're going to simply, you know, you're simply not going to make it as a startup, it's impossible. And it's just like, No, no, that's not software. Like most of software isn't the new stuff.
Most of software is old, crappy software that someone has to maintain. And it actually is really, really great and has lots of really hard problems. And if you look at it differently, it's actually fantastic.
All great stuff. I'm just surprised he still uses jQuery, just given the fact that at this point on the modern web, everything is, I mean, you have document query selector and add event listener click, right? It pretty much has everything you already need. It has DOM content load. Like all the reasons I used jQuery back in the day was adding a click on a button was like hard.
You had to deal with IE7, IE8, IE9, right? Like those are hard differences. Whereas now it's just so easy. I'm just surprised it's even that.
Not all tools are great at solving all problems. And so what you think is really... The problem is you run into this kind of trade-off, which is you have some tool belt that you're very adept with. You know all the ins and outs. There's no unknown unknowns, but there's no surprises in this. You know what you're building. You know what you're getting into. You will go through...
And you'll be able to solve the problem. But if you ever use a different language or a different experience, you can find that some things are able to represent states way easier in a way more efficient way. And you can solve problems really efficiently in some versus the other. And so it's like, if you don't take the time to explore as well,
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.
You could be missing out on something that makes you twice as good on this one specific problem, like subset. And so I kind of value being able to look at all problems. And so I don't want to get stuck on one thing, though I see why people do, which is for the efficiency sake.
For me, the thing that I find vastly complicated and I can't imagine the engineering hours is how do you even create an edge in that situation? And what I mean by an edge, I mean like... When people say this phrase, if you're unexperienced, an edge is where you deliver data to be you want that edge to be as close to the customer as possible, because that's where the data lives.
And then the communication between the customer and what you're doing is really, really small. Obviously, the speed of light adds up the amount of hops adds up the amount of services that you have to remotely call adds up, they all add up and they all add inefficiencies to the system. So something like YouTube, they want to be able to serve that data as quick as possible.
But their data changes constantly. And relevance is almost directly tied with the newness of the item. So it's like, how do you even cash these things out? How are you doing this? So they must have such an incredible caching network that I can't even, I can't even fathom what it takes to do that. That just to me, it's just so impressive. A million view hours in how many different
resolutions with how much data, what is a million view hours? Is it 4K million view hours along with 1080p, along with 720p, along with 1440p? Like that number is an insane number.
it's a really tough problem because you have to think like, what is the cash hit rate on this? Because there's so much, because the problem now actually comes down to space. Like space actually becomes a real problem. Like how many hundreds of petabytes do they have that they have to like, okay, what do we cash? And where do we cash this? Right?
Like the number, I mean, I think in the terms of like gigabytes, like, or maybe megabytes. Like they have to think in probably versions of bytes I don't even know the name for, right? It's like such a different problem. And that's why I said Netflix. Netflix has a much easier job when it comes to caching. So if you've never looked it up, it's called OCA.
And that, we know what videos we're releasing. We know what videos are hot in specific areas. It's a very limited set. We're not going to all of a sudden get, oopsies, we got a million new view hours, right? We don't even have to worry about that as a problem. And so it's like, okay, we know Stranger Things season five is about to drop.
We're going to pre-cash Stranger Things season five in every single OCA across the world because that thing's about to get hammered, right? And so it's like, it's able to do such a different kind of decision-making than what you have to do with something like YouTube.
And then Twitch is even more wild because now you're actually ingesting video and trying to make it go out all at the exact same time for all video. And you have to transform that video from whatever format and whatever the bit rate is into something that's more efficient in a system like that. Hats off to Twitch engineering because that's some serious work.
It's the large team, right? That's the fundamental problem. When you get into YouTube size, there is the team slash organization that deals with data warehousing. There's the team slash organization that deals with delivery. There's a team slash organization that's like the middle layer, how you even, you know, they're going to be like the little microsurfaces to talk to these places.
Then you have this front-end engineer. So like for a small feature... You have to get middle team. You have to get back end team. You have to get all these things. Quick example, Netflix. Are you familiar with the dystopian Black Mirror?
Okay. Season one, episode one. Do you know season one, episode one? Everyone who watches Black Mirror typically knows this episode.
Forgive my language, but they call it the pig fucker episode. Oh, yeah, of course. Once you've seen the episode, you will then know this episode. Well, when Netflix adopted it, I got pulled into a room. There's like a VP, a VP, a product designer, a VP, and they said, hey, we're about to release our own version of Black Mirror, season three, I think, at that time.
We need episode one, season one to not be the first thing people see. So let's just reverse the season order. That required me, I had like 20 engineers I had to gather together to be able to have this happen. And that's just the problem of big companies is that eventually every little thing has to become its own team. And so even small, there's no such thing as a small feature.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
Thank you. Thank you.
Thank you.
Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you. Thank you.
What was the thing? What was the one that taught you? Because I think we all probably, you probably did factorial, where you just do a quick factorial of it. It just doesn't hit home. What was the thing that kind of made it hit home?
How do you not remember your first? It was magic.
You're probably pretty used to the recursion.
Yeah, multiple things there. One, hey, we love you, Lex. So don't let the things get you down. Thank you. Thank you. I love you too. Thank you. Hey, a little bonding moment here going on. But, you know, one thing I really miss.
The tension is a little tense here.
It's just the one thing I really miss is just even when I hated how people did it, just seeing how other people solved things. Right. Like, it's really amazing. Just just like the raw creative power so many people have. And just being like, oh, wow, like I would have never done it this way. Crazy. Right. Like, wow, I just this is awesome.
And you kind of internally process this and you're like, oh, I now have a new little tool in my tool belt. You know, because at some point it's really hard to find a mentor. When you're first young and you're just starting out programming, I mean, anyone with a couple years of experience will be not just a little bit better than you, but like infinitely better than you.
It's like it feels like crazy how much better people are. And so you have to like get mentors and you learn from people. And then as you get better, that amount of availability gets really small. And so it's something that I really do miss is the kind of like forced hard problem solving together.
It just also makes everything much nicer. You know, it's really it really stinks to work with someone that's combative and negative. Like, I don't mind combativeness if it's like I'm trying to figure out what's like what's best to do right now versus combativeness just because you're a negative person and things have to be this one particular way.
Because if they're not this one particular way, it's the end of the world. And like, that's actually really hard for me to work with. Yeah.
The origin story of the Primogen name was... Are you familiar with a video game called Turok? Nintendo 64. So Turok had Turok 1 and then Turok 2. Turok 2 was a brutally hard game. This is back when first-person shooters, they would only give you a certain amount of health and you had to go discover health and get that health. And you had to beat the whole game without effectively dying.
That's like the first version right there. That's like Turok 1. And Turok 2.
So in 1998. There, you can see it right there.
The notable difficulty, it was very, very, very difficult. Okay. And so I spent, when I got it, it came in a black box.
cartridge not like your standard gray nintendo 64 the black cartridge is badass game right and i got it and i put it in and i played and i played every day for like 10 hours a day for a month straight and i beat it and it was like such an incredible great experience and the last leader of turak 2 is called the primogen
And so when I was a kid, when you're in like fifth grade, that's like super cool. Like named after the bad guy. And so like for a long time on any internet thing, like grail online that I mentioned earlier, then it was the primogen. It was great. And then, you know, I became an adult eventually. And it's just like, okay, you know, I'm an adult.
My name is Michael Paulson underscore, you know, that's what I was on the internet for a long time was that. And I remember it was like 2017, 2018, somewhere in there, um, I remember just how bad the tech world had kind of become. It was just like this super pretentious place, tons of dick measuring, just everything that just was the worst. Ken Wheeler got canceled over playing the circle game.
It was just like, it... It's so hard to describe to people that weren't there, but it was just the worst place to be. Tech was extremely unfun. It was extremely awful. Everything was just so... It wasn't academic because it was research. It was like... We're building the most sophisticated things and this is for the smart people and everyone else is the dumb people.
Don't worry, we'll design for you, dummy. We'll show you how to make the perfect architecture. And I remember changing my Twitter handle because I got so upset and just went back to my video game name because I was like, I want things to be fun. I want this to stop. And so when I started streaming tech, my goal became to destroy whatever that tech mentality was because it includes nobody.
Everyone thinks that they're the smart people and they design for the dummies. And it's just like, no. I want tech to be this place where people feel like they can be creative and excited and actually build something. And if you're new, it's okay to be dumb and ask dumb questions. Learn from your dumbness. No one's expecting you to be smart. Pick whatever you want.
actually do something and have fun and build like your crazy ideas. Oh, you're going to reinvent the wheel, reinvent the wheel, understand what you're doing, learn it really good and like interact and stuff. And it's just so different than what was out there.
And that the name Arnold Schwarzenegger talks about this thing where when he first started acting, his name was like the thing that people hated. As he once said, you have a strange voice, you have a strange body, and your name, your name's unpronounceable. No one's going to schnitzel, no one's going to remember that. And he said, but now the name is the strong part.
And for me, I've always felt akin to that, though my name's not nearly as cool, nor am I as popular as Arnold, nor am I as tough or good-looking or successful. But nonetheless, it's just the name represented this counterculture-like movement within myself in which I just...
hated what was there and i wanted to defeat it and so this has like been the thing and now people remember me so well because of how weird my name is and so it's just like i for whatever reason it became its own thing and so that's kind of the now i would never change it and back then i would never change it because it was my rage against the machine moment if you will yeah i love that as a symbol of rage against the machine and the rage being fun yeah
I just want people to be creative and have fun again. It's okay.
Well, the original, original mustache is that it was no shave November back before it became Movember. It was no shave November back in the day. And after no shave November, you had all this hair. And so what's the natural thing you got to do? You got to sport a mustache for a day, right?
So whenever I'd forget to, you know, not shave for a long time, and then I'd let it start growing out really big, I just... go oh this is kind of funny i'll have a mustache and so one day when i was streaming it's just one of those times i just didn't shave and then i started just letting it go and then i got kind of a beard and then i just had a mustache and when i did it
People were just like, okay, it's mustache time. And I was just like, okay, it feels like it's like a lifestyle decision, right? It's like, this is the fun times. And so all of a sudden it was just like exciting to have a mustache. And I shaved it off and I was like, oh, okay. But then, you know, part of me is like, you know, there's this weird energy that comes from just having a mustache.
So I was like, I'm going back. Told my wife, forgive her. She was very not as thrilled about my decisions to have a mustache long term, but I just decided to have it back. And it's just like it was the right thing. It's always been the energy that I had with the mustache. It was always been there. It just never was visible until later on, it feels like.
I clearly was not willing to sacrifice not having one, so.
So I've kind of done a bunch of different ways to go through this learning process. And I've tried a lot of different ones. Something that is obviously successful is just start building something. Just put your hands on the keyboard. You know, like, especially if you already know how to program, you're like, okay, I'm now using Zig. How do I do a main function so I can just run the program?
Okay, now I know how to build. Okay, how do I do an if statement? What does it look like? Okay, how do I do declare my own functions? How do I do modules, right? You just kind of like Google your way through it, if you will, to get to the end product and build something. It's a great way to do things because I find that repetition, like rote learning is obviously the best way to do this.
You have to kind of go over it a bunch and you can definitely get out and build a lot of stuff with that. I like that initial kind of get used to things. But on top of it, I find that By doing that, you also fall into like traps. You kind of Google and you try to solve a problem in the language based on all of your previous experience. And so you don't have what makes that language special.
You kind of have what all the other languages make special. And so you end up kind of not really being able to use it very effectively, but you can certainly kind of learn it and get kind of good at it. And so the second approach I've been doing lately, and this has been inspired by the creator of Ghosty, Mitchell Hashimoto, is to just start by reading the language reference, the whole thing.
And so lately I've been just kind of going through and just reading the entire manual for these languages. Like Zig, I'm almost done with that one. You know, it's like eight to 10 hours of just sitting down reading and I'll whip out my computer and kind of practice a couple of the things from the actual docs. And that way I can learn all the things.
So then when I start building again, I remember, okay, I know there's a thing over here. Let me go reread about it because now I have it indexed in my brain somewhere that it will kind of remember. And so I don't think there's like a right or wrong way. I mean, at the end of the day, the right way is always that you have to build something eventually. You cannot just read about it.
You have to put your hands on the keyboard. You have to build something out. And then once you do that, that's where you really discover what makes it painful or what makes it great. And if you don't have the breadth of what the language offers, you just may make it painful by simply being bad at it. What exactly are you reading? Language reference. Language reference.
So it just goes through every feature top to bottom, right? Yeah. Every way it's described, all the different things. I think Zigs is, you know, it's a decent size, but it's not just simply read the words. You want to internalize each concept as well. So it takes a long time. So I'm a slow reader.
If you don't know what an if statement is, that's not a good way to learn. To me, the best way to learn that is really hands on the keyboard and building extremely simple things and slowly growing in complexity. Because understanding what a class and methods and instances versus the blueprint, which is the class versus functions versus modules versus all that stuff. That just takes time to learn.
And so that's a completely different style of learning.
This is where I have both the hopeful and the doomer take at the exact same time. Yeah. And it's the same thing with Google or Stack Overflow. It's all the same kind of take, which is it's just making things more democratized in some sense.
I get to ask questions in probably the most personal possible way with my own voice and my own words, and it's able to produce out answers and kind of hopefully help guide me. Now, regardless of just say the errors and the incorrectnesses of it, like ultimately just using it as a learning tool and being able to just... formulate and read answers in your own voice, I think is super powerful.
And I think it's super amazing. But the part that I think is going to be really difficult is that we don't value remembering things anymore as a society. Like since the internet came about, I can just look that up. I can just look that up. No need to like, you don't need to memorize your times tables, right? You can just use a calculator. You can just do all that.
I remember I just was sitting on the airplane and I watched someone do the world's most simple addition and subtraction like 10 times on their phone. And like, why are you not just... Like, you should already know these, you should be able to do these things. And I realized that we kind of offload our brains, right? Oh, I don't need to know these things, because I can look them up.
And that's not a bad answer. In some sense, I can understand that, like, I don't need to remember every last thing. But then it also makes me realize that you kind of develop this learned helplessness. that a new error comes up. I'll just ask the AI. AI says, oh, okay, I got to fix this line. I fixed the line. You didn't actually learn anything.
You kind of just used it as a quick means to get something out and move on. And so you sacrifice knowledge for speed, which is a great thing in some, like we have to make those trade-offs all the time in engineering. Sometimes you have to move fast at the sacrifice of knowledge, and I'm totally on board for that.
But I worry that what we'll create is an entire generation of incompetent programmers who can do some amount of things well, but anything that is unique, bespoke, or requires some extra little elbow grease might become very difficult. It might cause a whole chasm where juniors remain juniors forever. And I don't want to see that. I want to see people grow.
I want to see people, you know, actually be able to take this as a craftsmanship thing. And so that's kind of what I, that's like both my hope and my worry is, is that AI, I think, can do both, really.
Because if you could ask whatever question you want and you don't have to rely on, say, a book to give you that exact answer, and if the book just said it wrong and you can't understand it, it's just like, sorry, you don't get to learn what this is, like recursion for me. I spent way too much time until someone gave me the right problem to understand recursion.
You could imagine AI could have solved that for me way faster because it could have gave me the right problem and walked me through much better. But what happened if I just always have recursion solved by them and not actually learn it myself?
At some point, you have to take off the training wheels. Because I think what you're really spotting is the difference between reading and writing code. Like I can read a lot of languages very well. I can see what's happening. I can understand it. But like, I would not be very good at writing it.
I can understand a lot of things about C++ and I can read it, but I'm just not that, because I just don't, I haven't done it in so long. I can't remember all, or all the semicolons and colons and like, you know, you do public and private and how should you name and convey, like, you know, all those things kind of,
Oh, man, mine is I have. Well, first off, mine was in Java. So 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 fresh maker. Yeah. And so it's just like I'm in this very cold. That's nice. Thank you.
add all together and then you're just like oh i'm really bad at writing it though i can read it and so there's like this there's a skill gap chasm that exists between those two all right well let me talk about the various languages
You don't like them? No, no. You got to remember because, I mean, you're a data guy. You know about biases in data. What does Stack Overflow naturally bias towards?
I hear you, but who fills out a Stack Overflow survey? Someone who participates on Stack Overflow. Who's participating on Stack Overflow? Largely very, very new people and that one guy that loves answering questions. And so I'm not sure if Stack Overflow is a great place to get data. It could be a very biased set of data.
I mean, that's who's using Stack Overflow.
JavaScript, HTML, Python, SQL.
Squeal, I think is the correct way. Squeal. I did sequel because I didn't, you know, I didn't know the audience. I don't know if they can handle the truth. Okay. Which is it squeal. Squeal of joy, squeal. Squeal light, my squeal, Postgres squeal.
It's such a ridiculous, I mean, can you believe that that was a real conversation that I had?
It largely kind of aligns with the world you'd expect, but like assembly. Why is assembly more popular than Ruby? Who is writing just assembly by – no one writes assembly by hand other than, like, maybe that one guy that's developing TLS 1.3 and hand-rolling a cryptography algorithm to be the fastest possible algorithm.
Yeah. And Swift and Ruby being less popular than assembly seems ridiculous. But nonetheless, okay, so you get my ideas behind that. But as far as top five languages go, that's probably too broad because you could just name so many. I think you should probably archetype it by what do you want to do.
So if you want to get into game development, perhaps C sharp C plus plus could be good choices, or JavaScript and doing canvas games. I could see that also working. But you know, you got to, you're limited by doing JavaScript, obviously, because you can't do as much because the language is just not fast enough to do as much. So it's like a good thing to remember.
If you're going to be doing back end stuff, you know, if you want a job, if you're looking for a job, maybe C sharp slash Java is or JavaScript, or Go would be great choices. If you're looking to do embedded, you probably want to do C, C++, like that would probably be a good choice. And so you kind of have to, I think you have to first determine what do you really want to get out.
I'm in this cold, rigid environment with my Microsoft keyboard programming away in Java, and 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 die, tell and die, tell learn Java. And it has a section recursion.
Can I say something that's going to make a lot of people angry? Yeah, sure. I think the first language people should learn if they have no idea about anything is JavaScript.
Oh, because people just, I'm, first off, I'm not supposed to say anything nice about JavaScript.
Yeah. No, JavaScript's a beautiful language and it has a lot of things that are very great for it. And one of them is that you can express anything with very little effort. And so someone that's new, I think it's really great to be able to draw a box and move a box. Like that's great. You get to see it visually.
I think that's one thing that's really great about JavaScript is that you can do that. Then you can go, okay, I want to learn about the backend. I'm going to make a request. Now you can write a quick backend in it. Now you're starting to get familiar with programming a little bit. I can save this to a database. I can bring it down. I can put it on a screen and I can animate it all around.
And I can even put it on a canvas and render it in 2d or 3d. So it's like, there's so much variety of what you can do with JavaScript. It's a great way to get introduced into programming. But then at some point you have to go, okay, I now need to learn more about this whole thing.
You can even do embedded. They actually have, like there's, Wes Boss is building his Roomba or something and programming it with JavaScript and React, which is just the world's worst language to choose for embedded, but you can still do it. Yeah.
So that's a great one. It seems like Python, CUDA stuff, and C++ would be a dynamite in that because a lot of these Python libraries I assumed are just, you're just smuggling in C++ underneath the hood or C. Okay, so JavaScript...
Python's a great one too. You can get quite far with it, but you can't write the front end. So what happened if you love the front end, right? What happened if you really just want to design things and you just didn't know that? Well, it's okay. So for that, JavaScript. But Python's a good choice because you can't do the ML stuff in JavaScript nearly as easy.
Do we call HTML and CSS as programming languages? I think there's like some technical definition that it is if you put it up. If you use this certain amalgamation of CSS plus HTML, it actually has like it can be a Turing complete language. Yeah. But I mean, for practical purposes, no. HTML is not a language. Yeah. you know, I for me less, yes, the Turing test is a good one.
But for those that are just not wanting to be as academic, if I can't write a function in an if statement, I don't feel like that's I don't, if I can't loop if and function, I don't feel like that's a good, that's a programming language. Although modern HTML has a lot of features, it's crazy how much it has, but it's more of a specification than anything else.
I specify it to be a pop up, I specified to have this kind of like accessibility, this kind of look, this kind of, you know, Under these conditions, look like this, transform like this, move down here.
Okay. Bash is kind of one of those ones where it's like, do you really like it? I like it up until I need an array. Oh, as a programming language, no.